@font-face{font-family:Circle;src:local('Arial')}@font-face{font-family:Bebas;src:url('assets/display.ttf?v=5f668aa48b684ff1');font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#201d35;font-family:Circle,Arial,sans-serif;color:var(--text,#444)}body{--nav-height:64px;--safe-bottom:env(safe-area-inset-bottom,0px)}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:0;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #31b8c9;outline-offset:-3px}h1,h2,p{margin:0}a{color:#3b91b6;text-decoration:none}main{min-height:calc(100dvh - var(--nav-height) - var(--safe-bottom))}.view[hidden],[hidden]{display:none!important}.day-page{height:calc(100dvh - var(--nav-height) - var(--safe-bottom));min-height:520px;position:relative;color:white;background-image:var(--scene-overlay,linear-gradient(180deg,#002e5718,#001a3622 45%,#07182c55)),var(--day-bg,url('assets/day-9.svg?v=5f668aa48b684ff1'));background-position:center;background-size:cover;text-shadow:0 1px 5px #12334d55;overflow:hidden}.day-content{height:100%;max-width:620px;margin:auto;position:relative}.day-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 0;font-size:13px}.day-top>:last-child{text-align:right}.day-top button{color:#e9dc80;background:none;padding:0;font-size:14px}.day-date{position:absolute;left:50%;top:5.7%;transform:translateX(-50%);display:grid;justify-items:center}#dayNumber{font:104px/1 Bebas,sans-serif}#dayMonth{font:21px/1.15 Bebas,sans-serif;text-transform:uppercase}.moon-disc{position:absolute;right:6%;top:7%;width:62px;height:62px;filter:drop-shadow(0 0 10px #d9e5fb25)}.moon-disc svg{width:100%;height:100%}.lunar-state{position:absolute;left:17px;top:21%;display:grid;gap:6px;font-size:17px}.lunar-state small{font-size:12px;color:#f6faff}.day-controls{position:absolute;top:32%;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 10px}.day-controls>button:not(.zodiac){background:none;color:#f9fcff;font:46px/1 Arial,sans-serif;padding:8px 12px}.zodiac{width:118px;height:118px;border:1.5px solid #f4f7fbcc;background:none;border-radius:50%;display:grid;place-items:center;padding:18px}.zodiac img{width:78px;height:78px;filter:brightness(0) invert(1)}.day-readings{position:absolute;left:17px;right:17px;top:54%;font-size:18px;line-height:1.6}.planet-reading{display:flex;align-items:baseline;gap:11px}.planet-reading>span{font-size:23px;width:22px;text-align:center}.planet-reading small{font-size:11px;margin-left:7px;opacity:.85}.day-label{font-size:10px;letter-spacing:.3px;opacity:.85}.day-events{margin-top:15px}.phase-event{display:flex;gap:10px;font-size:14px;line-height:1.9}.phase-event .event-symbol{width:18px;text-align:center;font-size:19px}.phase-event time{font-size:12px;min-width:99px}.day-bottom{position:absolute;bottom:10px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.day-demo{font-size:10px;opacity:.8}.day-bottom button{display:flex;gap:5px;background:none;color:white;padding:5px 0}.retro-dot{width:27px;height:27px;border-radius:50%;background:#508d63;display:grid;place-items:center;font-size:17px}.retro-dot:nth-child(2){background:#ba51a7}.retro-dot:nth-child(3){background:#6d75ac}.retro-dot:nth-child(4){background:#58a99b}.retro-dot:nth-child(5){background:#bb9e42}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;width:100%;height:calc(var(--nav-height) + var(--safe-bottom));background:#201d35;display:flex;justify-content:center;padding-bottom:var(--safe-bottom);box-shadow:0 -1px 0 #ffffff22}.bottom-nav button{background:none;color:#dedde6;opacity:.6;flex:1;max-width:124px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;padding:7px 1px}.bottom-nav button img{width:23px;height:23px;object-fit:contain;filter:brightness(0) invert(1)}.bottom-nav button.active{opacity:1}.bottom-nav button:hover{background:#ffffff0d}.light-page{min-height:calc(100dvh - var(--nav-height) - var(--safe-bottom));padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 20px);background:var(--surface,#fff)}.page-header{height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;background:#201d35;color:#f6f5fa;display:flex;align-items:center;justify-content:center;gap:7px;font-size:16px}.page-header h1{font-weight:400;font-size:17px}.page-header button{background:none;color:inherit;padding:8px 0}.panel-body{max-width:720px;margin:0 auto;padding:0 16px}.month-bar{height:61px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e6e8}.month-bar h1{font-weight:400;font-size:18px;text-transform:capitalize}.month-bar button{background:none;color:#aaa;font:32px/1 Arial,sans-serif;width:42px;height:44px}.calendar-card{margin-top:12px}.weekdays,#calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{padding:10px 0 16px;color:#777;font-size:13px;text-align:center}#calendarGrid{border-top:1px solid #d4d4d8;border-left:1px solid #d4d4d8}#calendarGrid>button,#calendarGrid>.empty-cell{position:relative;border-right:1px solid #d4d4d8;border-bottom:1px solid #d4d4d8;min-height:64px;background:var(--surface,#fff);padding:11px 2px 16px;text-align:center;font:19px Arial,sans-serif}#calendarGrid>button.selected{background:#a5eef1}#calendarGrid>button:hover{background:#e4f6f7}#calendarGrid>button .phase-symbol{position:absolute;top:4px;right:4px;color:#85858b;font-size:12px}#calendarGrid .phase-strip{position:absolute;bottom:0;left:0;right:0;height:5px}#calendarGrid>.empty-cell{background:var(--surface-soft,#fafafa)}.phase-0{background:#f0a8d6}.phase-1{background:#f3d89a}.phase-2{background:#a2e9eb}.phase-3{background:#cce3b6}.calendar-legend{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin-top:18px;font-size:12px;color:#6b6b73}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:13px;height:7px;display:inline-block}.muted{font-size:12px;color:#888;line-height:1.6;margin:18px 0}.date-field{display:flex;align-items:center;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--line,#eee);font-size:14px}input,select{background:var(--surface,#fff);color:var(--text,#56565e);border:1px solid #ddd;padding:8px 7px;border-radius:3px;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left}th{color:#888;font-size:11px;font-weight:400;background:var(--surface-soft,#f4f4f5)}th,td{padding:13px 6px;border-bottom:1px solid var(--line,#eee)}td{font-size:14px;white-space:nowrap}.table-wrap{overflow-x:auto}.retro{color:#9c679a}.list-heading{font-size:12px;color:#999;background:var(--surface-soft,#f0f0f1);margin:20px -16px 0;padding:8px 16px}.list-row{display:flex;gap:12px;align-items:center;width:100%;min-height:56px;padding:13px 0;background:var(--surface,#fff);text-align:left;border-bottom:1px solid #e9e9eb;color:var(--text,#555);font-size:14px}.list-row:hover{background:#f7f7f9}.row-icon{width:24px;text-align:center;font-size:22px;color:#999}.list-row>span:nth-child(2){flex:1}.list-row small{display:block;font-size:11px;color:#999;margin-top:3px}.chevron{color:#bbb;font:25px Arial,sans-serif}.setting-row{display:grid;grid-template-columns:25px 1fr minmax(110px,auto);align-items:center;gap:10px;min-height:70px;border-bottom:1px solid var(--line,#eee);font-size:13px}.setting-row>img{width:22px;opacity:.5}.setting-row select,.setting-row input{font-size:12px;min-width:0;width:100%;border:0;text-align:right}.about{display:flex;align-items:center;gap:15px;padding:20px 0 0;font-size:18px}.about img{width:48px;height:48px;border-radius:10px}.about small{display:block;color:#999;font-size:11px;margin-top:3px}.status:empty{display:none}.status{position:fixed;z-index:30;bottom:calc(var(--nav-height) + var(--safe-bottom) + 12px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);margin:0;padding:10px 14px;background:#262333e8;color:white;font-size:12px;box-shadow:0 2px 8px #0002;border-radius:4px;pointer-events:none}dialog{padding:0;border:0;border-radius:0;max-width:560px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;color:var(--text,#555);background:var(--surface,#fff);box-shadow:0 8px 35px #0004}dialog::backdrop{background:#11112288}.dialog-header{background:#201d35;color:white;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;position:sticky;top:0}.dialog-header h2{font-size:17px;font-weight:400}.close{font-size:28px;line-height:1;background:none;color:white;padding:0 4px}.dialog-body{padding:20px;font-size:14px;line-height:1.65}.dialog-body p{margin-bottom:15px}.year-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line,#eee)}.year-option b{font:31px Bebas,Arial,sans-serif;color:#37334d}.year-option small{display:block;font-size:11px;color:#999}.year-option button{background:#e8f6f7;color:#328d98;padding:10px;font-size:12px}.text-button{background:none;color:#5f85a2;padding:14px 0;font-size:12px}@media(min-aspect-ratio:6/5){.day-page{background-image:var(--scene-overlay,linear-gradient(180deg,#002e5722,#05162e55)),var(--wide-bg,url('assets/wide-9.svg?v=5f668aa48b684ff1'))}.day-content{max-width:720px}.day-readings{left:45px;right:45px}.day-controls{padding:0 37px}.day-top{padding-left:45px;padding-right:45px}.moon-disc{right:10%}.day-bottom{left:45px;right:45px}}@media(max-height:680px){.day-page{min-height:460px}#dayNumber{font-size:86px}#dayMonth{font-size:18px}.day-controls{top:31%}.zodiac{width:94px;height:94px;padding:15px}.zodiac img{width:60px;height:60px}.day-readings{top:53%;font-size:15px;line-height:1.4}.planet-reading>span{font-size:19px}.day-events{margin-top:8px}.phase-event{font-size:12px;line-height:1.5}.phase-event .event-symbol{font-size:15px}.lunar-state{font-size:14px}.moon-disc{width:50px;height:50px}#calendarGrid>button,#calendarGrid>.empty-cell{min-height:52px}}@media(min-width:760px){#calendarGrid>button,#calendarGrid>.empty-cell{min-height:75px}.panel-body{padding-left:24px;padding-right:24px}.list-heading{margin-left:-24px;margin-right:-24px;padding-left:24px}}
/* Exact yearly events; original fullscreen arrangement is retained. */
.lunar-state{top:20%;gap:3px}.lunar-state>span{font-size:11px}.lunar-state>small{font-size:10px;opacity:.85}.lunar-days{display:flex;gap:15px;margin-bottom:4px}.lunar-day{background:none;color:white;padding:0;text-align:left;display:grid;gap:1px}.lunar-day strong{font:29px/1 Bebas,sans-serif}.lunar-day span{font-size:9px}.lunar-day small{font-size:9px}.day-readings{top:52%;bottom:65px;display:flex;flex-direction:column;overflow:hidden}.event-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;flex-shrink:0;margin-bottom:8px}.event-heading button{background:none;color:white;font-size:11px;padding:5px 0}.exact-events{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff55 transparent}.exact-event{display:flex;align-items:center;gap:10px;background:none;color:inherit;width:100%;text-align:left;padding:5px 2px;font-size:18px;line-height:1.25}.exact-event time{font-size:16px;min-width:45px;font-variant-numeric:tabular-nums}.exact-event .event-code{letter-spacing:3px}.exact-event .event-description{font-size:11px;opacity:.9;margin-left:auto}.exact-event.last-aspect{color:#f2df8a}.exact-event.minor{opacity:.7}.voc-button{font-size:12px;white-space:pre-line;line-height:1.5;text-align:right;max-width:60%;justify-content:flex-end}.no-events{font-size:12px;line-height:1.6;opacity:.8}.calendar-events{position:absolute;top:4px;left:4px;font-size:9px;color:#8a8a91}.voc-cell-mark{position:absolute;bottom:7px;left:4px;right:4px;height:3px;background:#b5a5d0}.voc-mark{background:#b5a5d0}.setting-row input[type=checkbox]{width:20px;height:20px;justify-self:end;accent-color:#5c8f98}.setting-row small{text-align:right;color:#888;font-size:11px}.event-section-title{font-size:12px;color:#888;margin:17px 0 5px}.dialog-body .exact-event{color:var(--text,#494453);padding:10px 0;border-bottom:1px solid var(--line,#eee)}.dialog-body .exact-event.last-aspect{color:#937a26}.dialog-body .exact-event .event-code{font-size:17px;letter-spacing:1px}.dialog-body .exact-event time{font-size:14px}.dialog-body .exact-event .event-description{font-size:10px}.calc-method{font-size:11px;color:#888;margin-top:15px;line-height:1.6}@media(max-height:680px){.lunar-state{top:20%}.lunar-days{gap:12px;margin-bottom:1px}.lunar-day strong{font-size:22px}.lunar-day small{font-size:8px}.lunar-state>span,.lunar-state>small{display:none}.day-readings{top:52%;bottom:47px}.exact-event{font-size:16px;padding:4px 2px}.exact-event time{font-size:14px}.event-heading{margin-bottom:2px}.voc-button{font-size:10px}.day-bottom{bottom:6px}.retro-dot{width:24px;height:24px}}
/* Native date fields need room for localized segments and the calendar button. */
input[type=date],.setting-row input[type=date]{font-family:system-ui,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:normal;inline-size:180px;min-inline-size:180px;max-inline-size:100%;text-align:start;color-scheme:light;padding:8px 10px;box-sizing:border-box}
.date-control{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;inline-size:180px;min-inline-size:180px;min-height:40px;padding:8px 10px;font:14px/1.4 system-ui,'Segoe UI',Arial,sans-serif;color:var(--text,#56565e);text-align:left;background:var(--surface,#fff);white-space:nowrap}
.date-control>img{width:17px;height:17px;opacity:.65;object-fit:contain}
.date-control input[type=date]{position:absolute;inset:0;z-index:1;opacity:0;inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
.date-control:focus-within{outline:3px solid #31b8c9;outline-offset:-3px}
/* Mobile QA: preserve the APK layout while keeping every control readable. */
td abbr{text-decoration:none}
.bottom-nav button{min-width:0;font:10px/1.3 system-ui,'Segoe UI',Arial,sans-serif;gap:5px}
.bottom-nav button span{white-space:nowrap}
.close{flex:0 0 44px;min-width:44px;min-height:44px;display:grid;place-items:center}
.dialog-header{gap:8px;padding:8px 12px}
.dialog-header h2{min-width:0;overflow-wrap:anywhere}
.dialog-body{overflow-wrap:anywhere}
body:has(dialog[open]){overflow:hidden}
.day-top button{min-height:44px;min-width:44px;margin:-10px 0}
.lunar-day{min-height:44px;min-width:48px}
.exact-event{min-height:44px;flex-shrink:0}
.event-heading button{min-height:44px;padding:10px 0}
.event-heading{margin-bottom:0}
.day-bottom button{min-height:44px;align-items:center}
.setting-row{grid-template-columns:25px minmax(0,1fr) auto}
.setting-row select{max-width:145px;min-height:44px}
.setting-row:has(input[type=checkbox]){grid-template-columns:25px minmax(0,1fr) 44px}
.setting-row input[type=checkbox]{width:24px;height:24px;margin:10px;justify-self:center}
.setting-row:has(input[type=checkbox]) label{display:flex;align-items:center;min-height:56px}
.date-control{min-height:44px}
@media(max-width:420px){
 .bottom-nav button{font-size:9px}
 .panel-body{padding-left:12px;padding-right:12px}
 .list-heading{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
 .setting-row{gap:8px;font-size:13px}
 .setting-row select{max-width:120px}
 .date-control{inline-size:158px;min-inline-size:158px}
 .table-wrap{overflow:visible}
 table{table-layout:fixed}
 th,td{padding:12px 3px;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
 th{font-size:10px}
 td{font-size:12px}
 th:nth-child(1){width:27%}th:nth-child(2){width:28%}th:nth-child(3){width:22%}th:nth-child(4){width:23%}
 td:nth-child(3){white-space:nowrap;font-size:11px}
 td:nth-child(4){font-size:11px;word-break:normal;overflow-wrap:normal}
 .day-readings{bottom:56px}
 .day-bottom{bottom:3px}
 .exact-event{gap:7px}
 .exact-event .event-description{font-size:10px;max-width:95px;text-align:right}
 .day-top{gap:8px;padding-left:12px;padding-right:12px;font-size:11px}
 .day-top button{font-size:12px}
 .year-option{gap:8px}
 .year-option button{max-width:145px;min-height:44px}
}
@media(orientation:landscape) and (max-height:540px){
 body{--nav-height:56px}
 .day-page{height:calc(100dvh - var(--nav-height) - var(--safe-bottom));min-height:260px}
 .day-content{max-width:900px}
 .day-top{padding-left:16px;padding-right:16px}
 .day-date{left:25%;top:13%}
 #dayNumber{font-size:64px}#dayMonth{font-size:16px}
 .moon-disc{right:auto;left:36%;top:15%;width:42px;height:42px}
 .lunar-state{left:16px;top:14%}
 .lunar-state>span,.lunar-state>small{display:none}
 .lunar-days{flex-direction:column;gap:4px}
 .lunar-day strong{font-size:22px}
 .lunar-day span,.lunar-day small{font-size:8px}
 .lunar-days{gap:4px}
 #dayMonth{font-size:16px}
 .day-controls{top:49%;width:48%;padding:0 4px}
 .zodiac{width:76px;height:76px;padding:12px}.zodiac img{width:48px;height:48px}
 .day-readings{left:51%;right:16px;top:14%;bottom:53px}
 .day-bottom{left:16px;right:16px;bottom:2px}
 .voc-button{font-size:11px}
}
/* 2026 special events: light calendar and yearly matrix follow the APK. */
.open-points{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;width:100%;background:#f3f2f6;color:#49435e;text-align:left;padding:12px;font-size:14px;margin-top:12px}.open-points span{font-size:11px;color:#777}
#calendarGrid>button,#calendarGrid>.empty-cell{min-height:86px;padding-top:12px;padding-bottom:48px;font-size:19px}
.calendar-specials{position:absolute;top:34px;left:1px;right:1px;display:flex;flex-direction:column;align-items:center;gap:2px;font:10px/1.2 system-ui,'Segoe UI Symbol',sans-serif;pointer-events:none}.month-mark.eclipse{color:#a37800;font-weight:700}.month-mark.station{color:#99557e}.month-mark.ingress{color:#329aaf}.calendar-retro{position:absolute;left:3px;right:3px;bottom:12px;display:flex;gap:3px;font:10px/1 system-ui,sans-serif}.calendar-retro span{border-radius:50%;width:12px;height:12px;display:grid;place-items:center;background:currentColor}.calendar-retro span::first-letter{color:white}.retro-3{color:#80a641}.retro-4{color:#d42687}.retro-5{color:#269cc2}
.month-event-legend,.points-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font:12px/1.5 system-ui,sans-serif;margin:18px 0;color:#76717f}.month-events-title{font-size:16px;font-weight:400;border-bottom:1px solid var(--line,#eee);padding:12px 0;margin-top:12px}.month-highlight{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface,#fff);text-align:left;border-bottom:1px solid var(--line,#eee);padding:12px 0;min-height:56px;font-size:13px}.month-highlight time{flex:0 0 42px;color:#888;font-size:12px}.month-highlight small{display:block;font-size:11px}.month-highlight>span:nth-child(2){flex:1}.special-event.eclipse{color:#f8dd89}.dialog-body .special-event.eclipse{color:#9b7100}.special-event.station{font-weight:500}
.points-body{max-width:1600px;margin:auto;padding:0 16px}.points-intro{padding:20px 0 8px}.points-intro h2{font:42px/1 Bebas,sans-serif;color:#51485f}.points-intro p{font-size:13px;margin-top:10px;line-height:1.5}.points-intro .muted{margin:8px 0}.points-mode{display:flex;gap:2px;background:#eeedf1;padding:3px;max-width:440px}.points-mode button{flex:1;min-height:44px;background:transparent;font-size:13px}.points-mode button[aria-pressed=true]{background:var(--surface,#fff);color:#6d527e;box-shadow:0 1px 4px #0001}.points-map-scroll{overflow-x:auto;max-width:100%;border:1px solid #d4d2d8;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7d668b #eeedf1}#yearMap{min-width:1464px}.points-map-row{display:grid;grid-template-columns:120px repeat(12,minmax(0,1fr));border-bottom:1px dashed #d9d7dc;min-height:104px}.points-map-row:last-child{border-bottom:0}.points-map-head{min-height:40px;background:#e3e1e5;font:13px system-ui,sans-serif}.points-map-head>div{display:grid;place-items:center;border-right:1px solid #ccc}.points-label{position:sticky;left:0;z-index:2;background:#edebef;border-right:1px solid #cbc8d0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px;text-align:center;color:#65616c;font-size:11px}.points-label strong{font:28px/1 'Segoe UI Symbol',system-ui,sans-serif;color:var(--planet-color,#51485f)}.points-month-cell{position:relative;padding:30px 4px 6px;display:flex;gap:4px;flex-wrap:wrap;align-content:flex-start;justify-content:center;border-right:1px dashed #ddd9e1}.points-month-cell:has(.retro-range){background:#f3f2f4}.point-mark{display:flex;flex-direction:column;justify-content:center;gap:3px;align-items:center;min-width:45px;min-height:44px;background:none;padding:4px 2px;color:var(--planet-color);font:12px/1.2 system-ui,sans-serif}.point-mark:hover{background:#e8e4ed}.point-mark strong{font-weight:600;color:#555}.point-mark.eclipse{background:#fff9e5;border-radius:4px}.retro-range{position:absolute;top:3px;height:24px;min-height:24px;min-width:0;background:repeating-linear-gradient(0deg,transparent 0 8px,var(--planet-color) 8px 10px,transparent 10px 20px);color:var(--planet-color);font:13px system-ui,sans-serif;padding:0;text-align:center;border-left:2px solid var(--planet-color);border-right:2px solid var(--planet-color)}.points-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.points-filters label{min-width:0;display:grid;gap:6px;font-size:12px;color:#777}.points-filters select{width:100%;min-width:0;min-height:44px;font-size:13px}.points-list-month{font-size:14px;text-transform:capitalize;font-weight:400;padding:10px;background:#f1eff4;color:#777;margin:18px 0 0}.point-list-item{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 0;background:var(--surface,#fff);text-align:left;border-bottom:1px solid var(--line,#eee);font-size:13px;line-height:1.5}.point-list-item time{flex:0 0 45px;font-size:13px;color:#777}.point-list-item time small{display:block;font-size:11px}.point-list-symbol{flex:0 0 25px;color:#8f749d;font-size:23px}.point-list-item>span:nth-child(3){flex:1;min-width:0}.point-open-day{padding:12px 18px;background:#e9f6f6;color:#34838b;min-height:44px;font-size:14px}.points-body .muted{overflow-wrap:anywhere}.page-header #pointsBack{position:absolute;left:16px;min-height:44px;min-width:44px;font:30px/1 Arial,sans-serif}
@media(max-width:420px){.points-body{padding:0 12px}.month-event-legend,.points-legend{font-size:11px;gap:8px 12px}.points-filters{grid-template-columns:1fr}.point-list-item{gap:8px}.calendar-specials{font-size:9px}.calendar-events{font-size:8px}#calendarGrid>button,#calendarGrid>.empty-cell{min-height:88px}.open-points{font-size:13px}.exact-event .event-code{letter-spacing:1px}.exact-event.special-event .event-description{max-width:100px;white-space:normal}}
.calendar-retro span{color:white}.calendar-retro .retro-3{background:#80a641}.calendar-retro .retro-4{background:#d42687}.calendar-retro .retro-5{background:#269cc2}
#calendarGrid>button,#calendarGrid>.empty-cell{min-height:96px}
.retro-range{height:44px;min-height:44px;top:0}.points-month-cell{padding-top:48px}.points-map-row{min-height:124px}.points-map-head{min-height:40px}
.point-mark small{display:block;font-size:9px;line-height:1.4;white-space:nowrap;color:#777}.point-mark:has(small){min-width:76px}.retro-range{overflow:hidden}
/* A civil day can contain three lunar days around a new moon. */
.lunar-days{flex-wrap:wrap;max-width:125px}.lunar-state{max-width:125px}
/* Keep the lunar-day band below the date, including three-day civil dates. */
.lunar-state{top:25%;max-width:calc(100% - 34px)}.lunar-days{max-width:none;flex-wrap:nowrap}
@media(max-height:680px) and (orientation:portrait){.lunar-state{top:28%}.day-controls{top:40%}}
@media(orientation:landscape) and (max-height:540px){.lunar-state{top:14%;max-width:70px}.day-controls{padding-left:76px}}
.point-mark:has(small){min-width:48px;width:calc(50% - 2px)}.point-mark small{font-size:9px;letter-spacing:-.2px}
/* Independent city coordinates and IANA display time zone. */
.location-current strong{font-weight:400;font-size:16px;overflow-wrap:anywhere}.location-current>span:nth-child(2){min-width:0}.location-note{font-size:12px;color:#827b89;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.zone-search-label{display:grid;gap:8px;font-size:12px;color:#777;margin:18px 0 6px}.zone-search-label input,.city-search-form input,.manual-city input{font:16px/1.4 system-ui,sans-serif;min-width:0;min-height:44px;width:100%;padding:10px}.setting-row:has(#zone){grid-template-columns:25px minmax(0,1fr) minmax(0,175px)}.setting-row #zone{width:100%;max-width:none;font:13px system-ui,sans-serif;text-align:left}.city-search-form label{display:block;font-size:13px;margin-bottom:8px}.city-search-form>div{display:flex;gap:8px}.city-search-form button,.manual-city button{background:#e7f4f4;color:#37818a;min-height:44px;padding:10px 14px;font-size:14px}.city-search-form input{flex:1}.city-zone-option{display:flex;align-items:center;gap:10px;min-height:56px;font-size:13px;line-height:1.5;margin-top:12px}.city-zone-option input{flex:0 0 24px;width:24px;height:24px;accent-color:#578e98}.city-result{display:grid;gap:4px;min-height:72px;padding:13px 0;width:100%;text-align:left;background:var(--surface,#fff);border-bottom:1px solid var(--line,#eee);overflow-wrap:anywhere}.city-result strong{font-size:15px;font-weight:400}.city-result span{font-size:12px;color:#777;line-height:1.5}.city-result small{font:11px system-ui,sans-serif;color:#999}.manual-city{margin-top:20px}.manual-city summary{min-height:44px;font-size:13px;cursor:pointer}.manual-city form{display:grid;gap:12px}.manual-city form>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manual-city label{display:grid;min-width:0;gap:6px;font-size:12px}.manual-city #manualCityError{color:#a45262;font-size:12px}#retryCityCalculation{padding-top:4px}.day-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.day-top #city{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-top #zoneLabel{font-size:11px;white-space:nowrap}.day-top #dayWeek{font-size:11px;white-space:nowrap}
@media(max-width:420px){.setting-row:has(#zone){grid-template-columns:25px minmax(0,1fr) minmax(0,155px)}.day-top #city{max-width:100px}.day-top #dayWeek{font-size:10px}.day-top #zoneLabel{font-size:10px}}

.telegram-app body{--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-bottom,0px))}.telegram-app .day-top{padding-top:calc(12px + max(env(safe-area-inset-top,0px),var(--tg-safe-top,0px)))}.telegram-app .page-header{padding-top:max(env(safe-area-inset-top,0px),var(--tg-safe-top,0px));height:calc(52px + max(env(safe-area-inset-top,0px),var(--tg-safe-top,0px)))}

:root{color-scheme:light;--surface:#fff;--surface-soft:#f4f4f6;--text:#444;--line:#e3e3e9;--scene-overlay:linear-gradient(180deg,#002e5718,#001a3622 45%,#07182c55)}
:root[data-theme=dark]{color-scheme:dark;--surface:#191d2c;--surface-soft:#252a3c;--text:#e5e9f3;--line:#3b4259;--scene-overlay:linear-gradient(180deg,#050b2d9e,#07102799 45%,#030817d9);background:#111321}
.theme-setting{grid-template-columns:25px minmax(0,1fr) minmax(0,180px)}
#themeStatus{margin:0 0 16px;min-height:38px}
[data-theme=dark] body{background:#111321;color:var(--text)}
[data-theme=dark] .bottom-nav,[data-theme=dark] .page-header,[data-theme=dark] .dialog-header{background:#111321}
[data-theme=dark] :is(.list-row,.city-result,.month-highlight,dialog,input,select,.date-control){color:var(--text);border-color:var(--line)}
[data-theme=dark] :is(.muted,.location-note,.calc-method,.event-section-title,.weekdays,.calendar-legend,.month-event-legend,.points-legend,.setting-row small,.city-result span,.city-result small,.list-row small,.about small,.year-option small,.month-highlight time,th){color:#afb8cc}
[data-theme=dark] :is(.list-row,.city-result,.month-highlight):hover{background:#252b40}
[data-theme=dark] :is(td,th,.calendar-card,.points-map-scroll,.points-map-row,.points-month-cell,.point-list-row,.year-option){border-color:var(--line)}
[data-theme=dark] #calendarGrid>button,[data-theme=dark] #calendarGrid>.empty-cell{border-color:var(--line)}
[data-theme=dark] #calendarGrid>button.selected{background:#345b67;color:#fff}
[data-theme=dark] #calendarGrid>button:hover{background:#2c4555}
[data-theme=dark] #calendarGrid>button .phase-symbol,[data-theme=dark] .calendar-events{color:#c9d0e3}
[data-theme=dark] :is(.open-points,.points-mode,.points-map-head,.points-label){background:#252a3c;color:var(--text);border-color:var(--line)}
[data-theme=dark] .open-points span{color:#afb8cc}
[data-theme=dark] .points-intro h2,[data-theme=dark] .year-option b{color:#e4d8ee}
[data-theme=dark] .points-mode button[aria-pressed=true]{background:#42405e;color:#fff}
[data-theme=dark] .points-month-cell:has(.retro-range){background:#202536}
[data-theme=dark] .point-mark:hover{background:#33364d}
[data-theme=dark] .point-mark strong{color:#e5e9f3}
[data-theme=dark] .point-mark.eclipse{background:#403621}
[data-theme=dark] :is(.dialog-body .special-event.eclipse,.month-mark.eclipse,.dialog-body .exact-event.last-aspect){color:#efd17b}
[data-theme=dark] .month-mark.station{color:#e9a8ce}
[data-theme=dark] .month-mark.ingress,[data-theme=dark] .text-button{color:#8bcfdc}
[data-theme=dark] .retro{color:#d6a4d4}
[data-theme=dark] :is(.year-option button,.point-open-day){background:#284650;color:#c0eef1}
[data-theme=dark] .row-icon img{filter:brightness(0) invert(.8)}
@media(max-width:420px){.theme-setting{grid-template-columns:25px minmax(0,1fr) minmax(0,155px)}}

[data-theme=dark] .date-control>img{filter:invert(1)}[data-theme=dark] #calendarGrid{border-color:var(--line)}

.solar-summary{flex:0 0 auto;padding:8px 10px;margin:0 0 9px;border:1px solid #ffffff38;border-radius:8px;background:#0d183e80;color:#fff;text-shadow:0 1px 3px #0008;font:12px/1.4 Circle,Arial,sans-serif}
#solarTodayLabel{font-size:10px;opacity:.85;margin-bottom:3px}
.solar-times{display:flex;justify-content:space-between;gap:12px;font-size:13px;white-space:nowrap}
#nextThemeChange{margin-top:4px;color:#f2df8a;font-size:12px;overflow-wrap:anywhere}
[data-theme=dark] .solar-summary{background:#030817b3;border-color:#ffffff25}
@media(max-height:650px){.solar-summary{padding:5px 8px;margin-bottom:5px}.solar-times{font-size:12px}#solarTodayLabel{font-size:9px}#nextThemeChange{margin-top:2px;font-size:11px}}

@media(max-height:650px) and (orientation:portrait){.day-controls{top:37%}.lunar-state{top:27%}.day-readings{top:57%}}

#nextThemeChange{font-variant-numeric:tabular-nums}

.daylight-scale{height:6px;margin:5px 0 4px;position:relative;background:#26365b;border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff28}
.daylight-segment{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#e9b868,#fff0ab,#e9b868);border-radius:10px}
.solar-tick{position:absolute;top:-3px;height:12px;width:2px;transform:translateX(-50%);background:#ffe2a0;box-shadow:0 0 0 1px #18244288}
#solarNowMarker{position:absolute;top:-2px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:#fff;border:2px solid #45cfe5;box-shadow:0 0 5px #000a;z-index:1}
#solarCurrentTime{color:#c3f4ff;font-size:11px;font-variant-numeric:tabular-nums}
@media(max-height:650px) and (orientation:portrait){.day-controls .zodiac{width:80px;height:80px;padding:12px}.day-controls .zodiac img{width:54px;height:54px}.day-readings{top:55%}}

.solar-meta{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:3px;font-size:10px;line-height:1.4;white-space:nowrap}
.solar-meta #solarTodayLabel{margin:0;font-size:inherit}
.solar-durations{display:flex;gap:8px;color:#f7e4ad;font-variant-numeric:tabular-nums}
@media(max-height:650px){.solar-meta{font-size:9px;margin-bottom:3px}.solar-durations{gap:6px}}

/* Chart of the moment: data and astronomy come from server95. */
.sky-body{max-width:1120px;margin:auto;padding:16px 14px 90px}.sky-header{justify-content:space-between}.sky-header h1{font-size:18px;font-weight:400}.sky-header #skyCity{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:44px}
.sky-form{display:grid;gap:12px}.sky-form label{display:grid;gap:6px;font-size:12px;min-width:0}.sky-actions{display:flex;gap:8px;flex-wrap:wrap}.sky-actions button{min-height:44px;padding:8px 14px;background:#e7eff2;color:#385d70;border-radius:6px}.sky-actions #skyNow{background:#685478;color:white}.sky-options{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px}.sky-options select{width:100%;min-height:44px}.chart-date{position:relative;display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:15px system-ui,sans-serif;white-space:nowrap}.chart-date input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.chart-date:focus-within{outline:3px solid #31b8c9;outline-offset:-3px}
#skyStatus{margin:8px 0;min-height:18px}.sky-error{color:#b64f64!important}.sky-caption{font-size:13px;line-height:1.6;margin:12px 0;color:var(--text)}.sky-layout{display:grid;gap:16px}#skyWheel{display:block;width:100%;max-width:600px;margin:auto;aspect-ratio:1;overflow:visible}.sky-sign{stroke:var(--line);stroke-width:1}.sky-element-0{fill:#e6bb9d44}.sky-element-1{fill:#b3d0a344}.sky-element-2{fill:#9ebacb44}.sky-element-3{fill:#c7acd744}.sky-sign-glyph{font:27px 'Segoe UI Symbol',system-ui,sans-serif;fill:var(--text)}.sky-degree{stroke:#8d8a9a;stroke-width:1}.sky-house-line{stroke:#9a94a4;stroke-width:1;opacity:.7}.sky-house-number{font:14px system-ui,sans-serif;fill:#8c8395}.sky-aspect{stroke-width:2;opacity:.9}.sky-aspect-0{stroke:#bf9e37}.sky-aspect-60,.sky-aspect-120{stroke:#528cac}.sky-aspect-90,.sky-aspect-180{stroke:#bc6574}.sky-axis{stroke:#ad8a4d;stroke-width:1.8}.sky-axis-label{font:700 13px system-ui,sans-serif;fill:var(--text)}.sky-planet-stem{stroke:#94899e;stroke-width:1}.sky-planet-hit{fill:var(--surface);stroke:var(--line);stroke-width:1}.sky-planet-glyph{font:30px 'Segoe UI Symbol',system-ui,sans-serif;fill:var(--text)}.sky-planet-degree{font:16px system-ui,sans-serif;fill:var(--text)}.sky-planet-node{cursor:pointer}.sky-planet-node:focus .sky-planet-hit,.sky-planet-node:hover .sky-planet-hit{stroke:#35aebf;stroke-width:4}.sky-angles{font:13px/1.8 system-ui,sans-serif;overflow-wrap:anywhere}
.sky-tabs{display:flex;gap:3px;margin-bottom:8px;background:var(--surface-soft);padding:3px;border-radius:6px}.sky-tabs button{min-height:44px;flex:1;background:none;color:var(--text);font-size:13px;border-radius:4px}.sky-tabs button[aria-pressed=true]{background:#685478;color:#fff}.sky-planet-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:5px 10px;width:100%;min-height:64px;padding:12px 4px;text-align:left;background:var(--surface);border-bottom:1px solid var(--line);color:var(--text)}.sky-planet-row strong{font-size:14px;font-weight:400}.sky-planet-row>span{font:12px/1.6 system-ui,sans-serif}.sky-planet-row small{font-size:11px;color:#8b8394}.sky-planet-row:hover{background:var(--surface-soft)}.sky-aspect-row{width:100%;min-height:56px;padding:12px 4px;text-align:left;background:var(--surface);border-bottom:1px solid var(--line);color:var(--text);font:12px/1.7 system-ui,sans-serif}.sky-house-row{min-height:44px;padding:12px 4px;border-bottom:1px solid var(--line);font:13px/1.5 system-ui,sans-serif}.sky-planet-details p{margin-bottom:13px;font:13px/1.7 system-ui,sans-serif;overflow-wrap:anywhere}
[data-theme=dark] .sky-actions button{background:#293748;color:#cfebf2}[data-theme=dark] .sky-actions #skyNow{background:#685478;color:#fff}[data-theme=dark] .sky-house-number,[data-theme=dark] .sky-planet-row small{fill:#bec1cf;color:#bec1cf}[data-theme=dark] .sky-aspect-60,[data-theme=dark] .sky-aspect-120{stroke:#7db9d4}[data-theme=dark] .sky-aspect-90,[data-theme=dark] .sky-aspect-180{stroke:#e78e9b}
@media(min-width:800px){.sky-layout{grid-template-columns:1.2fr 1fr;align-items:start}.sky-form{grid-template-columns:1fr 1fr;align-items:end}.sky-options{grid-column:1/-1;max-width:460px}}

/* Birth profiles and a clearly separated outer transit ring. */
.natal-editor>summary,.natal-coordinates>summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:15px}.natal-form input:not([type=datetime-local]),.natal-search input{width:100%;min-height:44px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:14px system-ui,sans-serif}.natal-wide{grid-column:1/-1}.natal-search{display:flex;gap:8px}.natal-search button,.natal-transit-controls button{min-height:44px;padding:8px 12px;border-radius:6px;background:#e7eff2;color:#385d70}.natal-coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.natal-coordinates label{margin:8px 0}.natal-transit-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.natal-transit-controls label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.natal-transit-controls input{width:22px;height:22px}#natalWheel{display:block;width:100%;max-width:650px;margin:auto;aspect-ratio:1}.sky-transit .sky-planet-glyph,.sky-transit .sky-planet-degree{fill:#087d92}.sky-transit .sky-planet-hit{stroke:#087d92;stroke-width:2}.natal-transit-text{color:#087184}#natalStatus,#natalCaption,#natalCityName{overflow-wrap:anywhere}.natal-planet-pair{border-bottom:1px solid var(--line)}.natal-planet-pair button{border:0;min-height:56px}.natal-planet-pair button+button{padding-top:0}.natal-form .sky-options{max-width:none}[data-theme=dark] .sky-transit .sky-planet-glyph,[data-theme=dark] .sky-transit .sky-planet-degree{fill:#7bd7e8}[data-theme=dark] .sky-transit .sky-planet-hit{stroke:#7bd7e8}[data-theme=dark] .natal-transit-text{color:#7bd7e8}[data-theme=dark] .natal-search button,[data-theme=dark] .natal-transit-controls button{background:#293748;color:#cfebf2}
.natal-profile-manager{display:grid;gap:10px;margin-bottom:8px}.natal-profile-manager>label{font-size:13px}.natal-profile-manager>select{width:100%;min-width:0;min-height:44px;text-overflow:ellipsis}.natal-profile-manager button:disabled{opacity:.4;cursor:default}#natalDelete{color:#a83d53}#natalDeleteConfirm{background:#a83d53;color:white}#natalDeleteText{overflow-wrap:anywhere}[data-theme=dark] #natalDelete{color:#ffb1c0}
.natal-profile-manager .sky-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.natal-profile-manager .sky-actions button{min-width:0;padding:8px 4px;font-size:12px}.natal-profile-manager #natalUndo{grid-column:1/-1}.natal-profile-manager .location-note{margin:0}.natal-profile-manager{gap:8px}
.syn-form select{min-height:44px;width:100%;min-width:0;text-overflow:ellipsis}.syn-form button:disabled,.syn-form select:disabled{opacity:.45}#synWheel{display:block;width:100%;max-width:650px;aspect-ratio:1;margin:auto}.syn-second-house{stroke:#087d92;stroke-width:1.5}.syn-second-house-number{fill:#087d92;font:15px system-ui,sans-serif}.syn-second-axis{fill:#087d92;font:700 14px system-ui,sans-serif}.syn-aspect-button{cursor:pointer}.syn-aspect-hit{stroke:transparent;stroke-width:18;pointer-events:stroke}.syn-selected .sky-aspect,.syn-aspect-button:focus .sky-aspect{stroke-width:5;opacity:1}#synStatus,#synCaptionA,#synCaptionB{overflow-wrap:anywhere}[data-theme=dark] .syn-second-house{stroke:#7bd7e8}[data-theme=dark] .syn-second-house-number,[data-theme=dark] .syn-second-axis{fill:#7bd7e8}
.syn-mode{margin:14px 0}.syn-overview-section{margin:22px 0}.syn-overview-section>h2{font-size:19px;font-weight:400;margin:0 0 12px}.syn-overview-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;margin:10px 0}.syn-overview-card h3,.syn-reading-details h3{font-size:16px;line-height:1.5;margin:0 0 8px;font-weight:600}.syn-overview-card>p{font:14px/1.75 system-ui,sans-serif;margin:8px 0 12px}.syn-evidence{display:block;width:100%;min-height:44px;text-align:left;padding:10px 0;border-top:1px solid var(--line);background:transparent;color:#436e85;font:12px/1.6 system-ui,sans-serif;overflow-wrap:anywhere}.syn-overview-method summary{min-height:44px;padding:12px 0;cursor:pointer}.syn-reading-aspect strong,.syn-reading-aspect small{display:block}.syn-reading-aspect strong{font-size:14px;font-weight:500;margin-bottom:5px}.syn-reading-aspect small{font-size:12px}.syn-reading-details h4{font-size:14px;line-height:1.6;margin:18px 0 4px}.syn-reading-details details{border-top:1px solid var(--line);margin:14px 0}.syn-reading-details summary{padding:12px 0;min-height:44px;cursor:pointer;font-size:13px}.syn-reading-details .muted{font-size:11px;line-height:1.6}#synOverview{max-width:880px;margin:auto}#synReadingNote{font-size:12px;line-height:1.7}.syn-overview-card,.syn-reading-details{overflow-wrap:anywhere}[data-theme=dark] .syn-evidence{color:#99d4e8}
.syn-pdf-actions{margin:12px 0 6px}.syn-pdf-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;font-size:13px}.syn-pdf-actions button:disabled{opacity:.5;cursor:wait}#synPdfStatus{overflow-wrap:anywhere}

#natalPdfStatus{overflow-wrap:anywhere}
.natal-reading-mode{margin:14px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.natal-reading-mode button{min-height:48px;min-width:0;white-space:normal;padding:8px 5px;font-size:13px;line-height:1.45}.natal-reading-refresh{min-height:44px;margin:4px 0}.natal-reading-panel{max-width:880px;margin:auto;overflow-wrap:anywhere}.natal-reading-panel>h2{font-size:20px;line-height:1.5;font-weight:500;margin:20px 0 12px}.natal-reading-panel>h3{font-size:16px;font-weight:500}.natal-focus{font:14px/1.75 system-ui,sans-serif}.natal-reading-panel .location-note{line-height:1.7}#natalReadingNote{line-height:1.7;overflow-wrap:anywhere}#skyPlanetDetails button{overflow-wrap:anywhere}
.natal-reading-refresh{padding:8px 12px;border-radius:6px;background:#e7eff2;color:#385d70}[data-theme=dark] .natal-reading-refresh{background:#293748;color:#cfebf2}

.natal-reading-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.personal-transit-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.personal-transit-filters label{font-size:13px;min-width:0}.personal-transit-filters select{display:block;width:100%;min-height:44px;margin-top:6px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:8px}.personal-transit-check{display:flex;align-items:center;gap:10px;font:13px/1.6 system-ui,sans-serif;min-height:44px}.personal-transit-check input{width:22px;height:22px;flex-shrink:0}.personal-transit-title{background:transparent;color:var(--text);font:600 15px/1.6 system-ui,sans-serif;text-align:left;width:100%;min-height:44px;padding:0;overflow-wrap:anywhere}.personal-transit-exact{font:13px/1.7 system-ui,sans-serif;color:#087184}#personalTransitDialog{width:min(650px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:0;border:0;border-radius:8px;background:var(--surface);color:var(--text)}#personalTransitDialog::backdrop{background:#0008}#personalTransitDialog .sky-dialog-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px;background:#241f38;color:white}#personalTransitDialog h2{font-size:18px;line-height:1.6;margin:0}#personalTransitClose{min-width:44px;min-height:44px;font-size:24px;background:transparent;color:white}#personalTransitDetails{padding:18px}#personalTransitBuild:disabled{opacity:.5;cursor:wait}[data-theme=dark] .personal-transit-exact{color:#7bd7e8}@media(min-width:700px){.natal-reading-mode{grid-template-columns:repeat(4,minmax(0,1fr))}}

#personalPdfStatus{overflow-wrap:anywhere}

.personal-pdf-options{margin:16px 0;padding:12px;border:1px solid var(--line,#dedbe3);border-radius:8px}.personal-pdf-options summary{cursor:pointer;font-weight:600;padding:6px 0}.personal-pdf-options>label{display:block;margin-top:12px}.personal-pdf-options>select{width:100%;max-width:100%;margin-top:6px;padding:10px}.personal-pdf-options fieldset{margin:14px 0 0;padding:10px;min-width:0;border:1px solid var(--line,#dedbe3)}.personal-pdf-planets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.personal-pdf-planets label{display:flex;align-items:center;gap:8px;font-size:14px;min-height:36px}.personal-pdf-planets input{flex:0 0 auto;width:19px;height:19px}.personal-pdf-options .sky-actions button{white-space:normal}
.personal-pdf-options>select{background:var(--surface);color:var(--text);border:1px solid var(--line);min-height:44px}.personal-pdf-planets label{min-height:44px}

/* Portrait phones: reserve actual rows instead of overlapping percentage anchors.
   Keep the APK's large date, lunar details, central sign and bottom navigation. */
@media(orientation:portrait){
 .day-page{min-height:0;height:calc(100dvh - var(--nav-height) - var(--safe-bottom));overflow:hidden}
 .day-content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px minmax(100px,.85fr) 84px minmax(0,1.4fr) 44px;grid-template-areas:"top" "hero" "controls" "readings" "bottom";gap:4px;height:100%;min-height:0;padding:max(4px,env(safe-area-inset-top,0px),var(--tg-safe-top,0px)) 0 4px}
 .day-top{grid-area:top;padding:0 12px;gap:8px;min-width:0;align-self:stretch}
 .day-top button{margin:0;min-height:44px}
 .telegram-app .day-top{padding-top:0}
 .day-date{grid-area:hero;position:static;transform:none;align-self:start;justify-self:center;min-width:0}
 #dayNumber{font-size:clamp(76px,13dvh,104px);line-height:.95;font-weight:300;font-variant-numeric:tabular-nums}
 #dayMonth{font-size:18px;line-height:1.25}
 .moon-disc{grid-area:hero;position:static;align-self:start;justify-self:end;margin:5px 16px 0 0;width:50px;height:50px}
 .lunar-state{grid-area:hero;position:static;align-self:end;justify-self:start;margin-left:12px;max-width:112px;gap:3px;min-width:0}
 .lunar-days{gap:8px;max-width:112px;flex-wrap:nowrap;margin:0}
 .lunar-day{min-width:44px;min-height:44px}
 .lunar-day strong{font-size:24px;line-height:1}
 .lunar-day span,.lunar-day small{font-size:9px;white-space:nowrap}
 .lunar-state>span,.lunar-state>small{display:block;font-size:10px;line-height:1.3}
 .day-controls{grid-area:controls;position:static;width:100%;height:84px;padding:0 12px;align-self:center}
 .day-controls .zodiac{width:84px;height:84px;padding:14px}
 .day-controls .zodiac img{width:54px;height:54px}
 .day-readings{grid-area:readings;position:static;min-width:0;min-height:0;margin:0 12px;overflow:hidden;gap:0}
 .solar-summary{min-width:0;padding:6px 8px;margin-bottom:4px}
 .solar-meta{white-space:normal;flex-wrap:wrap;gap:2px 8px;font-size:10px}
 .solar-durations{gap:8px;flex-wrap:wrap}
 .solar-times{gap:5px;font-size:12px}
 #solarCurrentTime{font-size:10px}
 #nextThemeChange{font-size:11px;line-height:1.5}
 .event-heading{min-height:36px;margin:0}
 .event-heading button{min-height:36px;padding:6px 0}
 .exact-events{min-height:44px;flex:1 1 auto}
 .exact-event{min-height:44px}
 .day-bottom{grid-area:bottom;position:static;min-width:0;margin:0 12px;gap:8px;align-self:stretch}
 .day-bottom button{min-width:0;min-height:44px}
 .retro-dot{flex-shrink:0}
 .voc-button{max-width:56%;font-size:11px;overflow-wrap:anywhere}
}
/* A short browser panel is not a full-height phone. Keep the date and navigation
   visible; only the event list scrolls, never the whole day underneath them. */
body[data-view=today]{overflow:hidden}
@media(orientation:portrait) and (max-height:540px){
 .day-content{grid-template-rows:36px 96px 56px minmax(0,1fr) 36px;gap:2px;padding-top:4px}
 .day-top button,.day-bottom button{min-height:36px}
 #dayNumber{font-size:64px}
 #dayMonth{font-size:16px}
 .moon-disc{width:42px;height:42px}
 .lunar-day strong{font-size:22px}
 .day-controls{height:56px}
 .day-controls .zodiac{width:56px;height:56px;padding:8px}
 .day-controls .zodiac img{width:38px;height:38px}
 .solar-summary{padding:4px 6px;margin-bottom:2px}
 .solar-meta{font-size:9px;gap:2px}
 .solar-times{font-size:11px}
 #nextThemeChange{font-size:10px;margin-top:2px}
 .event-heading,.event-heading button{min-height:28px;font-size:10px}
 .event-heading button{padding:4px 0}
 .exact-events{min-height:0}
}
@media(orientation:portrait) and (max-width:340px){
 .day-top #city{max-width:88px}
 .day-top #dayWeek,.day-top #zoneLabel{font-size:9px}
 .moon-disc{width:42px;height:42px;margin-right:12px}
 .lunar-day strong{font-size:22px}
 .lunar-day span,.lunar-day small{font-size:8px}
 .lunar-days{gap:4px}
 #dayMonth{font-size:16px}
 .lunar-state>span,.lunar-state>small{font-size:9px}
 .solar-meta{font-size:9px}
 .solar-times{font-size:11px;gap:3px}
 .solar-durations{gap:6px}
 #nextThemeChange{font-size:10px}
}

/* Give the solar information its own readable rows on a full-height screen. */
@media(min-height:541px){
 .solar-summary{padding:10px 12px;margin-bottom:10px;line-height:1.5}
 .solar-meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px;white-space:normal;font-size:11px}
 .solar-durations{gap:16px;flex-wrap:wrap;row-gap:4px}
 .solar-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:baseline;gap:6px;font-size:13px;white-space:normal}
 .solar-times>:nth-child(2){text-align:center}
 .solar-times>:last-child{text-align:right}
 #solarCurrentTime{font-size:12px}
 .daylight-scale{margin:10px 0}
 #nextThemeChange{margin-top:0;font-size:12px;line-height:1.5}
}
@media(orientation:portrait) and (min-height:541px) and (max-height:650px){
 .day-content{grid-template-rows:44px 100px 76px minmax(0,1fr) 44px}
 .day-controls{height:76px}
 .day-controls .zodiac{width:76px;height:76px;padding:10px}
}

/* Separate the day switcher from the solar card, including its border. */
@media(orientation:portrait){
 .day-readings{margin-top:20px}
}
@media(orientation:portrait) and (max-height:540px){
 .day-content{grid-template-rows:36px 80px 56px minmax(0,1fr) 36px}
 .day-readings{margin-top:14px}
}

.hours-body{padding-bottom:90px}.hours-place{font-size:15px;margin:20px 0 12px;overflow-wrap:anywhere}.hours-date{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;margin-bottom:12px}.hours-summary{font:13px/1.8 system-ui,sans-serif;margin:16px 0;overflow-wrap:anywhere}.hours-current{font:600 14px/1.7 system-ui,sans-serif;padding:12px;background:var(--surface-soft,#f0f0f1);border-radius:8px;overflow-wrap:anywhere}.hours-current:empty{display:none}.hours-period{font-size:17px;font-weight:500;margin:24px 0 10px}.hour-row{display:grid;grid-template-columns:24px minmax(0,1fr) 100px;gap:10px;align-items:center;min-height:64px;padding:12px 8px;border-bottom:1px solid var(--line,#ddd);font:12px/1.7 system-ui,sans-serif}.hour-row>strong{font-size:14px;font-weight:500}.current-hour{background:var(--surface-soft,#ecf8fa);border-left:3px solid #31b8c9}.hours-method{margin:24px 0;font:13px/1.8 system-ui,sans-serif}.hours-method summary{min-height:44px;padding:10px 0;cursor:pointer}.hours-method p{margin:12px 0}@media(max-width:360px){.hour-row{grid-template-columns:18px minmax(0,1fr) 80px;gap:6px;padding:10px 2px}.hour-row>strong{font-size:12px}.hours-date{font-size:13px}}

/* Planetary hour readings: preserve the existing time grid, add a separate hint line. */
button.hour-row{width:100%;text-align:left;background:transparent;color:var(--text,#555);cursor:pointer;border-radius:0}button.hour-row.current-hour{background:var(--surface-soft,#ecf8fa)}.hour-hint{grid-column:2 / -1;font:12px/1.65 system-ui,sans-serif;color:var(--text,#555);opacity:.85;overflow-wrap:anywhere}.hour-row:focus-visible{outline:2px solid #16899b;outline-offset:-2px}.hour-row:hover{background:var(--surface-soft,#f0f0f1)}

/* The current hour is always tied to now, independent of the browsed calendar date. */
.home-hour{flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;width:100%;min-height:58px;margin:0 0 12px;padding:8px 10px;border:1px solid #ffffff55;border-radius:8px;background:#10203c55;color:inherit;text-align:left;font:12px/1.4 system-ui,sans-serif;cursor:pointer}.home-hour-label{grid-column:1 / -1;font-size:11px;opacity:.9}.home-hour strong{min-width:0;font-size:14px;font-weight:500;overflow-wrap:anywhere}#homeHourRemaining{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.home-hour:disabled{cursor:default;opacity:.85}.home-hour:disabled strong{grid-column:1 / -1;font-size:12px}.home-hour:focus-visible{outline:2px solid #f8df89;outline-offset:3px}.day-readings{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff55 transparent}.day-readings>.solar-summary,.day-readings>.event-heading{flex:none}.day-readings>.exact-events{flex:none;overflow:visible;min-height:44px}
@media(orientation:portrait) and (max-height:540px){.home-hour{min-height:52px;padding:6px 8px;margin-bottom:10px}.home-hour strong{font-size:13px}#homeHourRemaining{font-size:11px}}

/* One vector chevron for navigation; native controls keep native menus. */
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%23606b7a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px 16px!important;padding-right:40px!important;min-height:44px;text-align:left!important;text-overflow:ellipsis}select:focus-visible{outline:2px solid #16899b;outline-offset:2px}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%23c7d3e4' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.ui-chevron{display:inline-block;width:14px;height:14px;vertical-align:-2px;flex:0 0 14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.ui-chevron[data-direction=left]{transform:rotate(180deg)}.day-controls .ui-chevron{width:24px;height:24px}.chevron{font-size:inherit;line-height:1}.home-hour{margin-bottom:8px}.home-next{min-height:54px;margin-bottom:12px}#homeNextStart{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.home-next:disabled strong{grid-column:1 / -1}
:root[data-scene=morning]{--scene-bg:url('assets/scene-morning.svg?v=5f668aa48b684ff1')}:root[data-scene=day]{--scene-bg:url('assets/scene-day.svg?v=5f668aa48b684ff1')}:root[data-scene=evening]{--scene-bg:url('assets/scene-evening.svg?v=5f668aa48b684ff1')}:root[data-scene=night]{--scene-bg:url('assets/scene-night.svg?v=5f668aa48b684ff1')}:root[data-scene] .day-page{background-image:linear-gradient(180deg,#00000008,#04162c44),var(--scene-bg);background-size:cover;background-position:center}.home-hour,.solar-summary{background-color:#0b1e39aa}
.guide-filters{display:grid;gap:12px;margin:20px 0}.guide-filters label{display:grid;gap:6px;font-size:13px}.guide-filters input,.guide-filters select{width:100%;min-width:0;min-height:44px}.guide-group{font-size:15px;font-weight:500;margin:24px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.guide-entry{display:flex;gap:12px;align-items:center;width:100%;min-height:52px;padding:12px 0;text-align:left;background:transparent;color:var(--text);border-bottom:1px solid var(--line);font:14px/1.5 system-ui,sans-serif}.guide-entry>span:first-child{flex:1;min-width:0}.guide-entry:focus-visible{outline:2px solid #16899b;outline-offset:2px}@media(min-width:600px){.guide-filters{grid-template-columns:1fr 1fr}}

summary{list-style:none;position:relative;padding-right:32px!important}summary::-webkit-details-marker{display:none}summary::after{content:'';position:absolute;right:10px;top:calc(50% - 7px);width:14px;height:14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:rotate(90deg)}details[open]>summary::after{transform:rotate(270deg)}

.calendar-year-label,.personal-year-label{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px);align-items:center;gap:12px;font:14px/1.5 system-ui,sans-serif;margin:14px 0}.calendar-year-label select,.personal-year-label select{width:100%;min-width:0}

.reading-source{display:block;min-height:44px;padding:10px 0;color:#167a8c}.reading-context>h2{margin:24px 0 12px}.reading-context details{margin:16px 0;font:13px/1.7 system-ui,sans-serif}.reading-context details summary{min-height:44px;padding:10px 0}

.return-wheel{display:block;width:100%;max-width:650px;height:auto;margin:20px auto}.reading-context-card{margin:18px 0;padding:16px;border:1px solid var(--line,#ccd3df);border-radius:12px}

.observation-table-wrap{overflow-x:auto;max-width:100%;margin:20px 0}.observation-table{border-collapse:collapse;width:100%;font-size:14px}.observation-table th,.observation-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line,#ccd3df);vertical-align:top}.observation-table td{white-space:nowrap}.observation-table th:first-child{min-width:100px}#returnForm,#observationForm{margin-top:20px}#observationResult h2,#returnReading h2{font-size:19px;line-height:1.4}#returnForm input[type=checkbox]{width:auto}

@media(max-width:600px){.observation-table-wrap{overflow:visible}.observation-table{display:block}.observation-table tbody{display:block}.observation-table tr:first-child{display:none}.observation-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;border:1px solid #aeb9c8;border-radius:12px;padding:10px;gap:10px}.observation-table th:first-child{grid-column:1/-1;min-width:0;border:0;padding:5px;font-size:17px}.observation-table td{display:block;white-space:normal;border:0;padding:5px;font-size:15px;overflow-wrap:anywhere}.observation-table td:before{content:attr(data-label);display:block;font-size:12px;line-height:1.4;color:var(--muted,#667080);margin-bottom:5px}}

#returnForm select,#observationForm select{width:100%;min-height:44px;background:var(--surface,#fff);color:var(--text,#444);border:1px solid var(--line,#ccd3df);border-radius:6px}#returnCity,#observationCity{min-height:44px;padding:10px 14px;margin:10px 0;background:#e7eff2;color:#385d70;border-radius:6px}#returnReading p,#observationResult p{margin:10px 0;line-height:1.6}#returnStatus,#observationStatus{margin:16px 0;line-height:1.5}#returnReading h2{margin-top:24px}#observationHeading{min-width:0;line-height:1.3}#observationBack,#returnBack{flex-shrink:0}#observationResult th{background:transparent}[data-theme=dark] #returnCity,[data-theme=dark] #observationCity{background:#293748;color:#cfebf2}

/* School calendar: flowing rows, no absolute-positioned overlapping badges. */
.aspect-icon{display:inline-block;width:1em;height:1.1em;vertical-align:-.13em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.exact-event.last-aspect,.dialog-body .exact-event.last-aspect,[data-theme=dark] .exact-event.last-aspect,[data-theme=dark] .dialog-body .exact-event.last-aspect{color:#63c9f0}
#calendarGrid{align-items:stretch}#calendarGrid>button,#calendarGrid>.empty-cell{min-width:0;min-height:190px;padding:5px 2px 4px;text-align:left;overflow:hidden;vertical-align:top;font:11px/1.35 Arial,sans-serif}
.school-cell{display:flex;flex-direction:column;min-height:180px;height:100%;gap:6px}.school-cell-head{display:flex;align-items:center;justify-content:space-between;gap:2px}.school-cell-head>b{font:23px/1 Bebas,Arial,sans-serif}.school-sign{border-radius:50%;background:#e1edf2;color:#245264;padding:3px;font-size:16px;line-height:1}.school-lunar{font-size:10px;min-height:25px;overflow-wrap:anywhere;color:var(--text,#555)}.school-event{display:flex;flex-direction:column;gap:1px;min-width:0;border-top:1px solid #8882;padding-top:3px}.school-event>time{font-size:10px;font-variant-numeric:tabular-nums}.school-event>span{display:flex;align-items:center;gap:1px;flex-wrap:wrap;font-size:12px;line-height:1.3}.school-event.last-aspect{color:#1679ab}.school-cell-footer{position:relative;display:block;min-height:35px;margin-top:auto;padding-top:11px}.school-void-band{position:absolute;top:1px;height:7px;background:repeating-linear-gradient(135deg,#478ba799 0 1px,transparent 1px 3px);border-block:1px solid #478ba755}.school-void-time{display:block;text-align:right;font-size:9px;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}[data-theme=dark] .school-event.last-aspect{color:#63c9f0}[data-theme=dark] .school-sign{background:#314e61;color:#e4f4fa}
@media(min-width:600px){#calendarGrid>button{padding:8px 5px}.school-event{flex-direction:row;gap:5px;align-items:center}.school-event>time{font-size:11px}.school-lunar{font-size:11px}.school-void-time{font-size:10px}}

.school-retro{display:flex;gap:2px;flex-wrap:wrap;font-size:10px;margin-top:4px}
