:root{color-scheme:dark;--bg:#131615;--surface:#1b1f1d;--surface-2:#232924;--ink:#efeee8;--muted:#9ca59d;--faint:#707b72;--line:rgba(219,227,215,.13);--accent:#bac9a8;--accent-strong:#cad8b9;--accent-soft:rgba(186,201,168,.09);--serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Segoe UI',Arial,sans-serif;--shadow:0 30px 100px rgba(0,0,0,.24)}
html[data-theme=light]{color-scheme:light;--bg:#f1eee7;--surface:#f8f6f0;--surface-2:#e9e7de;--ink:#292f29;--muted:#656d62;--faint:#818779;--line:rgba(61,72,52,.16);--accent:#59694b;--accent-strong:#3e5331;--accent-soft:rgba(89,105,75,.09);--shadow:0 30px 100px rgba(50,40,20,.13)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--sans)}body{background:var(--bg);color:var(--ink);transition:background .5s,color .5s;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button,input,select{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p,figure,blockquote{margin:0}button svg{pointer-events:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--bg)}
.icon{width:20px;height:20px;display:inline-flex;flex:none;align-items:center;justify-content:center}.icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.backdrop{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1;background:var(--bg)}.ambient{position:absolute;inset:-15%;background:radial-gradient(ellipse at 17% 90%,rgba(137,149,106,.12),transparent 44%),radial-gradient(ellipse at 83% 70%,rgba(141,111,86,.055),transparent 43%);animation:atmosphere 70s ease-in-out infinite alternate}.wallpaper{position:absolute;inset:-2%;background-position:center;background-size:cover;opacity:0;transition:opacity .6s}.photo-shade{position:absolute;inset:0;display:none;background:rgba(0,0,0,var(--photo-dim,.65))}body[data-background=plain] .ambient,body[data-background=photo] .ambient{display:none}body[data-background=photo] .wallpaper{opacity:1}body[data-background=photo] .photo-shade{display:block}html[data-theme=light] .ambient{opacity:.45}
.app-shell{max-width:1920px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;padding:38px 52px 18px}.topbar{display:flex;align-items:center;gap:30px;min-height:35px}.wordmark{font-size:25px;font-weight:500;letter-spacing:-1px;display:flex;gap:12px;align-items:center}.brand-point{color:var(--accent)}.brand-symbol{width:24px;height:24px;border:1px solid var(--accent);border-radius:50%;position:relative}.brand-symbol:after{content:'';height:13px;width:1px;background:var(--accent);position:absolute;top:5px;left:11px;transform:rotate(35deg)}.brand-tagline{font-size:12px;letter-spacing:.025em;color:var(--muted);padding-top:3px}.greeting{margin-left:auto;display:flex;gap:9px;align-items:center;font-size:12px;letter-spacing:.015em;color:var(--muted)}.greeting .icon{width:16px;height:16px;color:var(--accent)}
.main-stage{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:48px 16px 58px;min-height:460px;animation:drift 100s ease-in-out infinite alternate}.date-label{color:var(--muted);font-size:11px;letter-spacing:.19em;text-transform:uppercase;margin-bottom:11px}.clock-line{display:flex;justify-content:center;align-items:baseline;gap:13px}.clock{font-size:clamp(110px,12.1vw,183px);font-weight:250;letter-spacing:-.065em;line-height:1.06;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';display:block;margin-left:-.025em}.clock-colon{display:inline-block;transform:translateY(-.045em);font-weight:200;padding:0 .025em;opacity:.63}.clock-seconds{font-size:23px;letter-spacing:-.05em;color:var(--muted);font-variant-numeric:tabular-nums;min-width:28px}.thought-block{margin-top:47px;width:100%;max-width:1000px}.thought-eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--accent)}.thought-eyebrow h1{font-size:10px;letter-spacing:.19em;text-transform:uppercase;font-weight:500}.tiny-line{width:24px;height:1px;background:currentColor;opacity:.5}.quote-wrap{margin:23px auto 0;min-height:115px;display:flex;flex-direction:column;justify-content:center;transition:opacity .25s,transform .25s;max-width:870px}.quote-wrap.is-changing{opacity:0;transform:translateY(7px)}.quote-intro{font-size:12px;letter-spacing:.035em;color:var(--muted);margin-bottom:10px}.quote-wrap blockquote{font-family:var(--serif);font-size:clamp(27px,3.1vw,44px);font-weight:400;line-height:1.27;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}.phrase-meta{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--muted);letter-spacing:.075em;margin-top:24px;min-height:15px}.status-dot{height:4px;width:4px;background:var(--accent);border-radius:50%;display:inline-block}.manual-label{border-left:1px solid var(--line);padding-left:8px;color:var(--accent)}body.no-clock .main-stage{min-height:460px}body.no-clock .thought-block{margin-top:0}body.no-clock .quote-wrap{max-width:1080px}body.no-clock .quote-wrap blockquote{font-size:clamp(32px,4.4vw,62px)}body.no-clock .clock-block{display:none}
.goal-strip{max-width:1180px;width:100%;margin:0 auto 20px;padding:26px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;gap:56px;align-items:center}.section-label{display:block;text-transform:uppercase;letter-spacing:.15em;font-weight:500;font-size:9px;color:var(--muted);margin-bottom:9px}.goal-heading h2{font-size:19px;font-weight:400;letter-spacing:-.035em;line-height:1.35;max-width:300px;overflow-wrap:break-word}.countdown{display:flex;gap:24px;align-items:center}.countdown>div{text-align:center;display:flex;flex-direction:column;gap:6px;min-width:40px}.countdown strong{font-size:28px;font-weight:300;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.countdown>div>span{font-size:9px;letter-spacing:.08em;color:var(--muted)}.count-separator{font-size:20px;font-weight:200;color:var(--faint);opacity:.5;margin-top:-15px}.goal-progress{width:100%;max-width:282px;justify-self:end}.progress-labels{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted)}#progress-value{color:var(--accent);font-variant-numeric:tabular-nums}.progress-track{height:2px;background:var(--line);margin-top:11px;overflow:hidden;border-radius:4px}#progress-fill{height:100%;background:var(--accent);width:0;transition:width 1s;max-width:100%}.goal-date{color:var(--faint);font-size:9px;margin-top:9px;text-align:right}.bottom-bar{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;min-height:48px;width:100%;margin:0 auto}.collection-link,.mode-link{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;padding:0;font-size:11px;color:var(--muted);text-align:left}.collection-link{justify-self:start}.collection-link>.icon,.mode-link>.icon{width:17px;height:17px}.count-badge{font-size:9px;color:var(--faint);margin-left:7px}.mode-link{justify-self:end;justify-content:flex-end}.collection-link:hover,.mode-link:hover{color:var(--ink)}.toolbar{display:flex;align-items:center;gap:7px}.icon-button{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);background:transparent;transition:background .2s,color .2s,transform .2s}.icon-button:hover{color:var(--ink);background:var(--accent-soft)}.icon-button:active{transform:scale(.93)}.icon-button[aria-pressed=true]{color:var(--accent)}.icon-button[aria-pressed=true] .icon svg{fill:var(--accent-soft)}.toolbar-separator{height:17px;width:1px;background:var(--line);margin:0 6px}.chrome{transition:opacity .7s,transform .7s}.is-idle:not(.has-panel) .chrome{opacity:0;pointer-events:none;transform:translateY(4px)}@media(hover:hover){.is-idle:not(.has-panel){cursor:none}}
.panel{color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:24px;max-height:calc(100dvh - 48px);width:540px;max-width:calc(100vw - 32px);padding:0;box-shadow:var(--shadow);overflow:hidden;margin:auto}.panel[open]{display:flex;flex-direction:column;animation:panel-in .24s ease-out}.panel::backdrop{background:rgba(6,10,7,.66);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.panel-head{display:flex;justify-content:space-between;gap:20px;padding:28px 28px 22px;flex-shrink:0;border-bottom:1px solid var(--line)}.panel-head .section-label{color:var(--accent);font-size:9px;letter-spacing:.17em;margin-bottom:11px}.panel-head h2{font-family:var(--serif);font-size:34px;letter-spacing:-.035em;font-weight:400;line-height:1.1}.close-button{margin:-7px -9px 0 0}#settings-form{display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-content{overflow-y:auto;padding:27px 28px 20px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}fieldset{border:0;margin:0 0 28px;padding:0 0 27px;border-bottom:1px solid var(--line);min-width:0}fieldset:last-of-type{margin-bottom:18px}legend{font-size:13px;letter-spacing:-.01em;padding:0;font-weight:500;margin-bottom:9px}.field-note{font-size:11px;line-height:1.65;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.choice-card{padding:16px 13px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;position:relative;display:grid;grid-template-columns:1fr auto;gap:7px;background:transparent;transition:border-color .2s,background .2s}.choice-card>input{position:absolute;opacity:0;width:1px;height:1px}.choice-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice-card:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.choice-card .icon{color:var(--accent);width:19px;height:19px;grid-column:1/-1;margin-bottom:4px}.choice-card strong{font-size:12px;font-weight:500;grid-column:1/-1}.choice-card small{font-size:10px;color:var(--muted);line-height:1.4;grid-column:1/-1}.choice-card:has(input:checked):after{content:'';position:absolute;right:13px;top:17px;width:6px;height:6px;background:var(--accent);border-radius:50%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.form-row label,.stacked-label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:11px}.stacked-label{margin-top:16px}input[type=text],input[type=time],input[type=datetime-local],input[type=search],select{display:block;width:100%;max-width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:12px;min-height:41px}input::placeholder{color:var(--faint)}select{padding-right:24px}.schedule-note{margin-top:13px}.segmented{display:flex;gap:5px;background:var(--bg);padding:5px;border-radius:10px;margin-top:10px}.segmented>label{display:flex;align-items:center;justify-content:center;gap:7px;position:relative;flex:1;border-radius:7px;padding:10px 6px;font-size:11px;color:var(--muted);cursor:pointer}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented .icon{height:15px;width:15px}.segmented>label:has(input:checked){background:var(--surface-2);color:var(--ink)}.segmented>label:has(input:focus-visible){outline:2px solid var(--accent)}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:21px;font-size:12px}.toggle-row small{display:block;max-width:340px;font-size:10px;color:var(--muted);line-height:1.55;margin-top:5px}.toggle-row input{appearance:none;-webkit-appearance:none;width:34px;height:20px;border-radius:20px;background:var(--faint);position:relative;cursor:pointer;flex-shrink:0;margin:0;transition:background .2s;border:1px solid transparent}.toggle-row input:before{content:'';height:12px;width:12px;position:absolute;top:3px;left:3px;border-radius:50%;background:var(--bg);transition:transform .2s}.toggle-row input:checked{background:var(--accent)}.toggle-row input:checked:before{transform:translateX(14px)}.photo-fields{padding:15px 0 0}.file-control{border:1px dashed var(--faint);border-radius:8px;padding:15px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);cursor:pointer;position:relative}.file-control input,.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.file-control:focus-within,.file-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}input[type=range]{width:100%;accent-color:var(--accent)}.photo-fields .field-note{margin-top:12px}.privacy-note{display:flex;align-items:start;gap:10px;font-size:10px;line-height:1.7;color:var(--muted)}.privacy-note .icon{width:16px;height:16px;color:var(--accent);margin-top:2px}.keyboard-note{font-size:9px;line-height:2.2;margin-top:20px;color:var(--faint)}kbd{font:9px var(--sans);border:1px solid var(--line);border-radius:3px;padding:2px 4px;margin:0 3px 0 8px}kbd:first-child{margin-left:0}.panel-footer{display:flex;gap:16px;align-items:center;justify-content:flex-end;padding:17px 28px;border-top:1px solid var(--line);flex-shrink:0;flex-wrap:wrap;background:var(--surface)}.primary-button{background:var(--accent);color:var(--bg);border-radius:8px;min-height:43px;padding:12px 17px;font-size:11px;font-weight:500;display:flex;gap:15px;align-items:center;justify-content:center}.primary-button .icon{width:16px;height:16px}.primary-button:hover{background:var(--accent-strong)}.text-button{font-size:11px;padding:10px 0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:7px;min-height:40px}.text-button:hover{color:var(--ink)}.text-button .icon{width:15px;height:15px}.form-error{width:100%;font-size:11px;color:#f2a995;line-height:1.5}html[data-theme=light] .form-error{color:#a7412a}#wake-support{margin-top:12px}
.library-panel{width:850px;height:760px}.library-subtitle{margin-top:10px;font-size:11px;color:var(--muted)}.library-tools{padding:19px 28px 0;flex-shrink:0}.search-field{display:flex;align-items:center;position:relative}.search-field>.icon{position:absolute;left:12px;width:16px;height:16px;color:var(--muted)}.search-field input{padding-left:38px;background:var(--bg);height:43px}.library-tabs{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;border-bottom:1px solid var(--line)}.library-tabs>div{display:flex;gap:23px}.tab-button{display:flex;align-items:center;gap:7px;background:transparent;color:var(--muted);font-size:11px;padding:11px 0 13px;border-bottom:2px solid transparent;min-height:44px}.tab-button.active{color:var(--ink);border-bottom-color:var(--accent)}.tab-button>span:not(.icon){font-size:9px;color:var(--faint);margin-left:1px}.tab-button>.icon{width:13px;height:13px}.result-count{font-size:9px;color:var(--faint)}.library-list-wrap{overflow:auto;padding:0 28px 18px;flex:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.phrase-row{border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:28px 1fr auto;gap:16px;align-items:center}.phrase-number{font-size:9px;font-variant-numeric:tabular-nums;color:var(--faint);align-self:start;margin-top:7px}.phrase-content{font-family:var(--serif);font-size:19px;line-height:1.45;overflow-wrap:anywhere}.phrase-actions{display:flex;gap:2px}.phrase-actions .icon-button{width:36px;height:36px}.phrase-actions .icon{width:16px;height:16px}.phrase-row.is-current .phrase-content{color:var(--accent)}.empty-state{font-family:var(--serif);font-size:23px;text-align:center;padding:55px 14px;line-height:1.5;color:var(--muted)}.secondary-button{background:var(--accent-soft);color:var(--accent);padding:12px 18px;font-size:11px;border-radius:8px;min-height:42px;display:flex;align-items:center;gap:10px}.more-button{margin:23px auto 0}.more-button>.icon{width:14px;height:14px}.library-footer{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:13px 28px;border-top:1px solid var(--line);flex-shrink:0}.file-button{position:relative;cursor:pointer}.local-note{color:var(--faint);font-size:9px;margin-left:auto}.toast{position:fixed;z-index:100;bottom:95px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 40px);padding:13px 21px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font-size:12px;box-shadow:var(--shadow);line-height:1.5;text-align:center;animation:toast-in .2s ease-out}.noscript{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);padding:40px;text-align:center;font-size:20px;z-index:101}
@keyframes atmosphere{to{transform:translate(4%,2%) scale(1.08)}}@keyframes drift{0%{transform:translate(-3px,-3px)}50%{transform:translate(2px,3px)}100%{transform:translate(3px,-2px)}}@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;bottom:88px}to{opacity:1;bottom:95px}}body.no-motion *,body.no-motion *:before,body.no-motion *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1800px){.app-shell{padding:50px 80px 30px}.clock{font-size:202px}.thought-block{margin-top:62px}.quote-wrap blockquote{font-size:50px}.quote-wrap{max-width:1030px}.thought-block{max-width:1150px}.goal-strip{margin-bottom:30px;padding:32px 0}.topbar .wordmark{font-size:27px}}
@media(max-width:1050px){.app-shell{padding:28px 32px 18px}.main-stage{padding-top:45px;padding-bottom:45px}.goal-strip{gap:28px}.countdown{gap:16px}.goal-progress{max-width:220px}.goal-heading h2{font-size:17px}.clock{font-size:150px}.quote-wrap blockquote{font-size:36px}.quote-wrap{max-width:740px}.thought-block{margin-top:36px}.goal-strip{grid-template-columns:1fr auto 1fr}.progress-labels{font-size:9px}.brand-tagline{display:none}}
@media(max-width:740px){.app-shell{padding:25px 24px max(15px,env(safe-area-inset-bottom));min-height:100svh}.wordmark{font-size:23px;gap:10px}.brand-symbol{height:21px;width:21px}.brand-symbol:after{height:11px;top:4px;left:9px}.greeting{font-size:10px;gap:7px}.greeting .icon{width:14px;height:14px}.main-stage{padding:40px 0;min-height:410px}.date-label{font-size:9px;letter-spacing:.15em;margin-bottom:12px}.clock{font-size:clamp(100px,20vw,142px)}.clock-seconds{font-size:17px;min-width:20px}.clock-line{gap:8px}.thought-block{margin-top:34px}.thought-eyebrow h1{font-size:9px;letter-spacing:.13em}.tiny-line{width:18px}.quote-wrap{margin-top:20px;min-height:108px;max-width:580px}.quote-wrap blockquote{font-size:clamp(26px,5.7vw,36px);line-height:1.3}.quote-intro{font-size:11px;margin-bottom:9px}.phrase-meta{margin-top:19px;font-size:9px;letter-spacing:.025em}.goal-strip{grid-template-columns:1fr auto;gap:19px 15px;padding:20px 0 17px;margin-bottom:12px;max-width:580px}.goal-progress{grid-column:1/-1;max-width:none}.goal-date{display:none}.progress-labels{font-size:9px}.progress-track{margin-top:8px}.section-label{font-size:8px;letter-spacing:.13em;margin-bottom:7px}.goal-heading h2{font-size:17px}.countdown{gap:13px}.countdown>div{gap:4px;min-width:28px}.countdown strong{font-size:23px}.countdown>div>span{font-size:8px}.count-separator{font-size:17px;margin-top:-12px}.bottom-bar{display:flex;justify-content:space-between;gap:4px}.collection-link{font-size:10px;gap:7px}.collection-link>.icon{width:16px;height:16px}.count-badge{display:none}.mode-link{display:none}.toolbar{gap:0}.toolbar-separator{margin:0 4px}.toolbar .icon-button{height:42px;width:40px}.toolbar .icon{width:18px;height:18px}.panel{max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);border-radius:20px}.panel-head{padding:24px 21px 21px}.panel-content{padding:23px 21px 20px}.panel-footer{padding:15px 21px;gap:20px}.panel-head h2{font-size:31px}.library-tools{padding:17px 21px 0}.library-list-wrap{padding:0 21px 18px}.library-footer{padding:11px 21px;gap:15px}.local-note{display:none}.phrase-row{gap:9px;grid-template-columns:22px 1fr auto;padding:16px 0}.phrase-content{font-size:17px}.phrase-actions{flex-direction:column;gap:0}.phrase-actions .icon-button{width:36px;height:36px}.phrase-number{font-size:8px}.result-count{font-size:8px}.library-tabs>div{gap:18px}.choice-card small{font-size:9px}.keyboard-note{display:none}}
@media(max-width:380px){.app-shell{padding-left:18px;padding-right:18px}.greeting{font-size:9px}.toolbar .icon-button{width:36px}.toolbar-separator{margin:0 2px}.collection-link{font-size:9px}.goal-strip{gap:16px 10px}.countdown{gap:9px}.quote-wrap blockquote{font-size:25px}.phrase-meta{font-size:8px}.thought-eyebrow h1{font-size:8px}.clock{font-size:100px}.main-stage{min-height:370px;padding:32px 0}.panel-content{padding-left:17px;padding-right:17px}.mode-grid{gap:7px}.choice-card{padding:13px 10px}.choice-card strong{font-size:11px}}
@media(max-height:760px) and (min-width:741px){.app-shell{padding-top:23px;padding-bottom:12px}.main-stage{padding:25px 0 29px;min-height:325px}.clock{font-size:125px}.thought-block{margin-top:25px}.quote-wrap{min-height:90px;margin-top:17px}.quote-wrap blockquote{font-size:34px}.phrase-meta{margin-top:17px}.goal-strip{padding:20px 0;margin-bottom:12px}.goal-heading h2{font-size:17px}}
@media(max-height:700px) and (max-width:740px){.app-shell{padding-top:18px}.main-stage{min-height:330px;padding:26px 0}.clock{font-size:96px}.thought-block{margin-top:25px}.quote-wrap{min-height:85px;margin-top:15px}.quote-wrap blockquote{font-size:26px}.phrase-meta{margin-top:15px}.goal-strip{padding:15px 0;margin-bottom:6px}.date-label{margin-bottom:7px}}
@media(max-height:480px) and (orientation:landscape){.app-shell{padding:15px 25px 10px;min-height:100svh}.topbar{min-height:24px}.main-stage{display:grid;grid-template-columns:1fr 1.6fr;gap:30px;min-height:205px;padding:25px 0}.thought-block{margin-top:0}.clock{font-size:90px}.quote-wrap blockquote{font-size:25px}.quote-wrap{min-height:60px}.phrase-meta{margin-top:12px}.goal-strip{display:none}.bottom-bar{min-height:40px}.date-label{font-size:8px}.no-clock .main-stage{display:flex;min-height:200px}.panel{max-height:calc(100dvh - 14px)}.panel-head{padding-top:15px;padding-bottom:14px}.panel-head h2{font-size:27px}}
@media(max-width:740px){.toolbar .icon-button{width:44px;height:44px}}
@media(max-width:380px){#copy-phrase{display:none}}
@media(max-height:600px) and (max-width:740px) and (orientation:portrait){.main-stage{min-height:250px;padding:18px 0}.clock{font-size:76px}.thought-block{margin-top:19px}.quote-wrap{margin-top:13px;min-height:72px}.quote-wrap blockquote{font-size:23px}.phrase-meta{margin-top:13px}.date-label{font-size:8px}.goal-strip{padding:12px 0}.goal-heading h2{font-size:15px}.countdown strong{font-size:21px}}

/* Original composition, restrained enhancements. This is not the 2.3 stylesheet. */
:root{--text-scale:1}body{isolation:isolate}.backdrop{z-index:-1}.app-shell{max-width:1920px}
.top-context{margin-left:auto;display:flex;align-items:flex-end;flex-direction:column;gap:8px}.greeting{margin-left:0}.weather-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;white-space:nowrap}.weather-line .icon{width:19px;height:19px;color:var(--accent)}.weather-line small{font-size:10px;opacity:.8}.weather-line [data-weather=rain]{animation:weather-sway 4s ease-in-out infinite}.weather-line [data-weather=sun]{animation:weather-turn 55s linear infinite}.topbar{min-height:40px}
.clock{font-size:calc(clamp(140px,13.2vw,202px)*var(--text-scale));line-height:1.02}.clock-seconds{font-size:27px}.thought-block{max-width:1100px}.quote-wrap{max-width:1020px;min-height:120px}.quote-wrap blockquote{font-size:calc(clamp(38px,3.5vw,52px)*var(--text-scale));line-height:1.25;word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}.quote-intro{font-size:14px}.date-label{font-size:13px}.thought-eyebrow h1{font-size:12px}.phrase-meta{font-size:12px;letter-spacing:.035em}.section-label{font-size:11px}.goal-heading h2{font-size:21px}.countdown strong{font-size:32px}.countdown>div>span{font-size:11px}.progress-labels{font-size:12px}.goal-date{font-size:11px}.collection-link,.mode-link{font-size:13px}.count-badge{font-size:11px}.goal-strip{gap:36px}.main-stage{padding:34px 16px 38px;animation:none}.thought-block{margin-top:32px}
body.no-clock .quote-wrap blockquote{font-size:calc(clamp(38px,4.6vw,65px)*var(--text-scale))}
/* Full words reserve their final geometry during character-by-character revelation. */
.typed-word{display:inline-block;white-space:nowrap;position:relative}.typed-char{opacity:0;transition:opacity .08s linear}.typed-char.is-ink{opacity:1}#quote-text.is-typing .typed-char.is-ink:last-child{color:var(--ink)}
.solar-line{display:grid;grid-template-columns:auto 160px auto;column-gap:15px;row-gap:4px;align-items:center;justify-content:center;margin-top:26px;position:relative;max-width:100%;color:var(--muted)}.solar-time{display:flex;align-items:baseline;gap:9px}.solar-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.solar-time time{font-size:15px;letter-spacing:.025em;font-variant-numeric:tabular-nums;color:var(--ink)}.solar-path{height:32px}.solar-path svg{width:100%;height:100%;overflow:visible}.solar-base{stroke:var(--line);stroke-width:1;fill:none}.solar-arc{stroke:var(--accent);stroke-width:.8;fill:none;opacity:.35;stroke-dasharray:1 3}#solar-marker{fill:var(--accent);transition:transform 55s linear,opacity 2s}.solar-halo{fill:var(--accent);opacity:.12}.solar-note{grid-column:1/-1;font-size:10px;letter-spacing:.025em;opacity:.7;min-height:0}.solar-note:empty{display:none}.solar-line[data-day=false] .solar-arc{opacity:.18}
/* Double buffered, decoded images: a failed request never erases a working photo. */
.wallpaper,.wallpaper-next{inset:-2%;opacity:0!important;transition:opacity 2.4s ease;background-size:cover;background-position:center}.wallpaper.photo-active{opacity:1!important}body:not([data-background=photo]) .wallpaper{opacity:0!important}.photo-drift .wallpaper.photo-active{animation:photo-float 90s ease-in-out infinite alternate}.photo-shade{background:linear-gradient(180deg,rgba(0,0,0,calc(var(--photo-dim,.55) + .08)),rgba(0,0,0,var(--photo-dim,.55)) 58%,rgba(0,0,0,calc(var(--photo-dim,.55) + .08)))}
body[data-background=photo] .app-shell{--ink:#f8f6ef;--muted:#d8dcd5;--faint:#bbc4b6;--accent:#d4dfbf;--line:rgba(234,240,225,.22);--accent-soft:rgba(234,240,225,.12);color:var(--ink)}
.breathing-light{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 80%,rgba(186,201,168,.09),transparent 70%);pointer-events:none}.has-breath .breathing-light{animation:slow-breath 20s ease-in-out infinite}
.celestial-transition{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2}.celestial-transition.play{animation:sky-fade 6.5s ease-in-out}.transition-horizon{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 30%,rgba(225,183,101,.14),transparent 60%)}.celestial-transition[data-scene=dark] .transition-horizon{background:radial-gradient(ellipse at 78% 30%,rgba(120,159,176,.12),transparent 60%)}
@keyframes sky-fade{0%,100%{opacity:0}25%,65%{opacity:1}}@keyframes sky-passage{from{transform:translate(-45px,65px) scale(.85)}to{transform:translate(30px,-30px) scale(1)}}@keyframes photo-float{from{transform:scale(1)}to{transform:scale(1.04) translate(.3%,-.3%)}}@keyframes slow-breath{0%,100%{opacity:.18}50%{opacity:.75}}@keyframes weather-turn{to{transform:rotate(360deg)}}@keyframes weather-sway{50%{transform:translateY(1.5px)}}
/* Bigger labels and touch targets, still using the original paper / ink language. */
.panel{width:600px}.panel-head h2{font-size:37px}.panel-head .section-label{font-size:11px}legend{font-size:17px}.field-note{font-size:13px}.form-row label,.stacked-label{font-size:13px}.choice-card strong{font-size:14px}.choice-card small{font-size:12px}.segmented>label{font-size:14px;min-height:45px}.toggle-row{font-size:14px}.toggle-row small{font-size:12px;max-width:395px}.toggle-row input{width:40px;height:24px}.toggle-row input:before{width:16px;height:16px}.toggle-row input:checked:before{transform:translateX(16px)}
input[type=text],input[type=time],input[type=date],input[type=datetime-local],input[type=search],input[type=number],select{font-size:16px;min-height:46px}input[type=number]{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:11px 12px;appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}.primary-button,.secondary-button,.text-button{font-size:13px;min-height:44px}.primary-button{padding:12px 18px}.file-control{font-size:14px}.privacy-note{font-size:12px}.form-error{font-size:13px}.keyboard-note{font-size:11px}kbd{font-size:11px}.panel-footer{gap:20px}.panel-content fieldset{margin-bottom:28px;padding-bottom:28px}.location-current{display:flex;align-items:center;gap:12px;padding:16px 0 8px}.location-current>.icon{color:var(--accent);width:22px;height:22px}.location-current>div{flex:1;min-width:0}.location-current strong{font-size:14px;font-weight:500}.location-current small{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}.location-search{display:flex;gap:10px;margin-top:15px}.location-search input{flex:1;min-width:0}.city-results{font-size:13px;line-height:1.6;color:var(--muted);margin-top:6px}.city-result{display:block;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:13px 14px;text-align:left;font-size:14px;margin-top:5px}.city-result:hover{background:var(--accent-soft)}.coordinates{margin:8px 0 16px}.coordinates summary,.manual-picker summary{color:var(--muted);cursor:pointer;font-size:13px;padding:8px 0}.source-note{margin-top:18px;font-size:11px}.source-note a{text-decoration:underline;text-underline-offset:3px}
input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;min-height:30px}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:4px;background:var(--faint)}input[type=range]::-webkit-slider-thumb{appearance:none;height:18px;width:18px;border:3px solid var(--surface);border-radius:50%;background:var(--accent);margin-top:-7px;box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-track{height:3px;background:var(--faint)}input[type=range]::-moz-range-thumb{height:14px;width:14px;border:2px solid var(--surface);border-radius:50%;background:var(--accent)}
.library-panel{width:860px}.library-subtitle{font-size:13px}.tab-button{font-size:13px}.phrase-content{font-size:21px}.phrase-number,.result-count,.local-note{font-size:11px}.phrase-actions .icon-button{height:42px;width:42px}
/* The actual dropdown/calendar contents are custom, not just their outside border. */
.custom-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:46px;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:11px 13px;color:var(--ink);font-size:15px;text-align:left}.custom-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-chevron{font-family:var(--sans);font-size:19px;line-height:1;color:var(--accent);flex-shrink:0;transform:translateY(-2px)}.custom-trigger:hover{border-color:var(--faint)}.custom-trigger[aria-expanded=true]{border-color:var(--accent)}
.control-popup{padding:18px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:20px;width:360px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.control-popup[open]{animation:panel-in .18s ease-out}.control-popup::backdrop{background:rgba(5,9,6,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.control-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.control-head .section-label{font-size:11px;line-height:1.6;margin:0}.control-close{background:transparent;color:var(--muted);font-size:26px;width:40px;height:40px;border-radius:50%;flex:none}.control-close:hover{background:var(--accent-soft)}.custom-options{display:grid;gap:3px;max-height:310px;overflow:auto;scrollbar-width:thin}.custom-option{background:transparent;padding:12px 14px;text-align:left;min-height:46px;border-radius:9px;font-size:15px;border:1px solid transparent;display:flex;justify-content:space-between;align-items:center}.custom-option:hover,.custom-option:focus-visible{background:var(--accent-soft)}.custom-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--line)}.custom-option[aria-selected=true]:after{content:'\2713';font-size:14px}.custom-number{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.custom-number label{font-size:12px;color:var(--muted);display:grid;gap:7px}.custom-number .form-error{grid-column:1/-1}.control-popup input{border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:10px;font-size:16px;min-width:0;width:100%;min-height:44px}.date-popup{width:408px}.calendar-nav{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:8px}.calendar-arrow{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);font-size:25px;color:var(--accent)}.calendar-month{background:transparent;font-family:var(--serif);font-size:23px;color:var(--ink);min-height:44px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-weekdays{font-size:11px;color:var(--muted);text-align:center;padding:8px 0 7px}.calendar-day{height:43px;background:transparent;border:1px solid transparent;border-radius:10px;font-size:15px;color:var(--ink)}.calendar-day:hover,.calendar-day:focus-visible{background:var(--accent-soft)}.calendar-day[aria-current=date]{border-color:var(--line)}.calendar-day[aria-selected=true]{background:var(--accent);color:var(--bg)}.month-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.month-menu label{grid-column:1/-1;display:flex;align-items:center;gap:15px;font-size:13px}.month-choice{background:var(--accent-soft);padding:10px 5px;color:var(--accent);border-radius:7px;font-size:13px}.time-part{padding-top:13px;margin-top:10px;border-top:1px solid var(--line)}.time-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.time-column-wrap>.section-label{font-size:10px;margin-bottom:6px}.time-column{height:122px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--faint) transparent;background:var(--bg);border-radius:10px;padding:5px;scroll-snap-type:y proximity}.time-option{scroll-snap-align:center;background:transparent;display:block;width:100%;border-radius:7px;min-height:40px;color:var(--muted);font-size:18px;font-variant-numeric:tabular-nums}.time-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.time-option:hover{background:var(--surface-2)}.control-footer{display:flex;justify-content:space-between;gap:14px;margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.manual-picker{margin-top:8px}.manual-picker input{margin-top:8px}.date-popup>.form-error{margin-top:8px}
#boot-retry{color:inherit;background:transparent;border:1px solid currentColor;border-radius:8px;padding:12px 20px}
@media(min-width:1800px){.app-shell{padding-top:42px}.main-stage{padding-top:40px;padding-bottom:45px}.thought-block{margin-top:45px}.quote-wrap{max-width:1140px}.quote-wrap blockquote{font-size:calc(56px*var(--text-scale))}.solar-line{margin-top:32px;grid-template-columns:auto 180px auto}.solar-label{font-size:12px}.solar-time time{font-size:17px}}
@media(min-width:741px) and (max-width:1150px){.app-shell{padding:28px 34px 18px}.clock{font-size:calc(clamp(150px,16vw,180px)*var(--text-scale))}.quote-wrap blockquote{font-size:calc(clamp(38px,4.5vw,46px)*var(--text-scale))}.quote-wrap{max-width:900px}.thought-block{margin-top:30px}.date-label{font-size:12px}.goal-strip{gap:22px}.countdown{gap:18px}.goal-progress{max-width:240px}.progress-labels{font-size:11px}.countdown strong{font-size:30px}.goal-heading h2{font-size:20px}.brand-tagline{display:none}.section-label{font-size:10px}.toolbar{gap:5px}.collection-link,.mode-link{font-size:12px}}
@media(min-width:741px) and (max-height:820px){.app-shell{padding-top:24px;padding-bottom:12px}.main-stage{padding:24px 12px;min-height:360px}.clock{font-size:calc(clamp(140px,12vw,167px)*var(--text-scale))}.thought-block{margin-top:24px}.quote-wrap{margin-top:19px;min-height:105px}.quote-wrap blockquote{font-size:calc(clamp(38px,3.35vw,47px)*var(--text-scale))}.phrase-meta{margin-top:16px;font-size:11px}.solar-line{margin-top:17px}.goal-strip{padding:19px 0;margin-bottom:12px}.date-label{margin-bottom:7px;font-size:12px}.thought-eyebrow h1{font-size:11px}}
@media(max-width:740px){.app-shell{padding:24px 22px max(15px,env(safe-area-inset-bottom))}.top-context{gap:7px}.greeting{font-size:11px}.weather-line{font-size:10px;gap:5px}.weather-line .icon{width:15px;height:15px}.weather-line small{font-size:9px}.clock{font-size:calc(clamp(100px,22vw,153px)*var(--text-scale))}.clock-seconds{font-size:20px}.date-label{font-size:10px;letter-spacing:.11em}.main-stage{padding:34px 0;min-height:425px}.thought-block{margin-top:28px}.thought-eyebrow h1{font-size:10px;letter-spacing:.1em}.quote-wrap{min-height:112px;margin-top:20px}.quote-wrap blockquote{font-size:calc(clamp(28px,6.4vw,39px)*var(--text-scale));line-height:1.28}.quote-intro{font-size:12px}.phrase-meta{font-size:10px;margin-top:17px;gap:6px}.solar-line{grid-template-columns:auto 82px auto;column-gap:10px;margin-top:24px}.solar-time{gap:5px;flex-direction:column;align-items:center}.solar-label{font-size:9px}.solar-time time{font-size:13px}.solar-note{font-size:9px}.solar-path{height:26px}.goal-strip{gap:15px;padding:19px 0 15px}.goal-heading h2{font-size:18px}.countdown strong{font-size:25px}.countdown>div>span{font-size:9px}.progress-labels{font-size:10px}.section-label{font-size:9px}.collection-link{font-size:11px}.toolbar .icon-button{width:42px;height:44px}.toolbar{gap:0}.toolbar-separator{margin:0 3px}.goal-strip .countdown{gap:13px}.panel{width:600px}.panel-head h2{font-size:32px}.panel-head{padding:24px 21px 19px}.panel-content{padding:23px 20px}.panel-head .section-label{font-size:10px}.panel-footer{padding:14px 20px}.choice-card{padding:14px 12px}.choice-card strong{font-size:13px}.choice-card small{font-size:11px}.field-note{font-size:12px}.toggle-row{font-size:13px}.toggle-row small{font-size:11px}.form-row{gap:10px}.custom-trigger{font-size:14px;padding:10px}.privacy-note{font-size:11px}.library-panel{width:850px}.library-subtitle{font-size:12px}.phrase-content{font-size:19px}.phrase-actions .icon-button{height:42px;width:38px}.primary-button,.secondary-button,.text-button{font-size:12px}.wordmark{font-size:24px}.coordinates summary{font-size:12px}.source-note{font-size:11px}}
@media(max-width:380px){.app-shell{padding-left:17px;padding-right:17px}.toolbar .icon-button{width:40px}.collection-link{font-size:10px}.weather-line{font-size:9px}.clock{font-size:calc(101px*var(--text-scale))}.quote-wrap blockquote{font-size:calc(28px*var(--text-scale))}.solar-line{column-gap:7px;grid-template-columns:auto 76px auto}}
@media(max-height:700px) and (max-width:740px) and (orientation:portrait){.app-shell{padding-top:18px}.main-stage{min-height:340px;padding:22px 0}.clock{font-size:calc(96px*var(--text-scale))}.thought-block{margin-top:22px}.quote-wrap{min-height:105px;margin-top:17px}.solar-line{margin-top:17px}.quote-wrap blockquote{font-size:calc(28px*var(--text-scale))}.goal-strip{padding:14px 0}.date-label{font-size:9px}.phrase-meta{font-size:9px}}
@media(max-height:500px) and (orientation:landscape){.app-shell{padding:14px 24px 10px}.main-stage{display:grid;grid-template-columns:1fr 1.7fr;gap:10px 28px;min-height:225px;padding:20px 0}.thought-block{margin:0}.clock{font-size:calc(98px*var(--text-scale))}.quote-wrap{min-height:70px;margin-top:12px}.quote-wrap blockquote{font-size:calc(29px*var(--text-scale))}.thought-eyebrow h1{font-size:10px}.date-label{font-size:9px}.phrase-meta{font-size:9px;margin-top:12px}.solar-line{grid-column:1/-1;margin-top:5px;grid-template-columns:auto 96px auto}.solar-time{flex-direction:row;gap:7px}.solar-note{display:none}.goal-strip{display:none}.bottom-bar{min-height:42px}.no-clock .main-stage{display:flex}.control-popup{max-height:calc(100dvh - 14px)}.panel{max-height:calc(100dvh - 14px)}.topbar{min-height:30px}.weather-line{font-size:11px}.date-popup .calendar-day{height:36px}}
@media(prefers-reduced-motion:reduce){.wallpaper,.typed-char,#solar-marker{transition:none!important}.celestial-transition,.breathing-light{animation:none!important}.celestial-transition{display:none}}
/* Short portrait phones retain complete longer original quotes without scrolling. */
@media(max-height:700px) and (max-width:740px) and (orientation:portrait){.main-stage{padding:16px 0}.clock{font-size:calc(90px*var(--text-scale))}.thought-block{margin-top:18px}.quote-wrap{margin-top:13px}.phrase-meta{margin-top:12px}.solar-line{margin-top:10px}.goal-strip{padding:11px 0}}
.build-note{display:block;margin-top:17px;color:var(--faint);font-size:10px;letter-spacing:.05em}

/* Istante Original 1.2: original composition, quiet motion and a little music. */
.icon svg.material-icon,.material-icon{fill:currentColor!important;stroke:none!important;stroke-width:0!important;width:100%;height:100%;display:block}
.custom-chevron{display:inline-flex;width:19px;height:19px;flex:none}.calendar-arrow svg,.control-close svg{width:22px;height:22px;margin:auto}.control-close{display:grid;place-items:center}.custom-option[aria-selected=true]::after{content:'';height:7px;width:12px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin:0 4px 4px 12px;flex:none}
.segmented{flex-wrap:wrap}.segmented label{min-width:100px;flex:1 1 auto}.segmented:has(#solar-theme-choice:not([hidden])){row-gap:3px}
/* The text itself keeps its correct letters, including when the ink makes a typo. */
#quote-text .typed-char{color:transparent!important;position:relative;display:inline-block;transition:none;isolation:isolate}#quote-text .typed-char::before{content:attr(data-glyph);position:absolute;inset:0 auto auto 0;color:var(--ink);line-height:inherit;white-space:pre}#quote-text .typed-char.is-cursor::after{content:'';position:absolute;left:100%;top:.14em;width:1.5px;height:.89em;background:var(--accent);opacity:.75;animation:ink-caret .95s steps(1) infinite}#quote-text:not(.is-typing) .typed-char::after{display:none}@keyframes ink-caret{0%,55%{opacity:.7}56%,100%{opacity:.12}}
/* One line of context, not a dashboard. No greeting in the header. */
.environment-line{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:30px;flex-wrap:wrap;max-width:100%;color:var(--muted)}
.environment-line .solar-line{display:grid;grid-template-columns:auto 75px auto;column-gap:12px;margin:0;align-items:center;position:relative;row-gap:0}
.environment-line .solar-time{display:flex;flex-direction:row;align-items:center;gap:7px}.environment-line .solar-time>.icon{width:16px;height:16px;opacity:.7;color:var(--accent)}.environment-line .solar-label{font-size:11px;letter-spacing:0;text-transform:none}.environment-line .solar-time time{font-size:13px;color:var(--muted)}.environment-line .solar-path{height:29px;align-self:center}.environment-line .solar-note{display:none}.environment-line .solar-arc{stroke-dasharray:none;opacity:.35}.environment-line .solar-base{opacity:.35}
.environment-line .weather-line{font-size:14px;gap:9px;font-variant-numeric:tabular-nums;white-space:nowrap}.environment-line .weather-line .icon{width:19px;height:19px;animation:none}.environment-line #weather-text{color:var(--ink)}.environment-line #weather-place{font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.environment-line #weather-place:empty{display:none}.environment-line .weather-line:not([hidden])+.solar-line:not([hidden]){border-left:1px solid var(--line);padding-left:25px}.environment-line .weather-line small{font-size:10px}
/* Mini live radio, tucked into the top-right corner. */
.topbar{position:relative;z-index:6}.radio-mini{margin-left:auto;display:flex;align-items:center;gap:10px;position:relative;flex-shrink:0}.radio-play{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);border:1px solid var(--line);color:var(--accent);transition:background .2s,transform .2s}.radio-play:hover{background:var(--surface-2);transform:scale(1.04)}.radio-play .icon{width:20px;height:20px}.radio-disclosure{background:transparent;text-align:left;display:flex;flex-direction:column;gap:5px;padding:5px 0;min-width:123px;min-height:44px}.radio-kicker{font-size:11px;letter-spacing:.12em;color:var(--ink);display:flex;align-items:center;gap:8px;text-transform:uppercase}#radio-status{font-size:11px;color:var(--muted);letter-spacing:.01em;max-width:165px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.radio-expand{width:30px;height:40px}.radio-expand .icon{width:18px;height:18px}.radio-eq{display:flex;align-items:flex-end;gap:2px;height:10px;opacity:.3}.radio-eq i{width:2px;height:3px;background:var(--accent);border-radius:2px}.radio-eq i:nth-child(2){height:7px}.radio-eq i:nth-child(3){height:5px}.radio-mini[data-state=playing] .radio-eq{opacity:.9}.radio-mini[data-state=playing] .radio-eq i{animation:radio-bars 1s ease-in-out infinite alternate}.radio-mini[data-state=playing] .radio-eq i:nth-child(2){animation-delay:-.6s}.radio-mini[data-state=playing] .radio-eq i:nth-child(3){animation-delay:-.3s}.radio-mini[data-state=loading] .radio-play{animation:radio-loading 1.6s ease-in-out infinite}.radio-mini.is-open .radio-expand{transform:rotate(180deg)}@keyframes radio-bars{from{height:2px}to{height:10px}}@keyframes radio-loading{50%{opacity:.4}}
.radio-panel{position:absolute;right:0;top:calc(100% + 16px);width:354px;max-width:calc(100vw - 34px);padding:24px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;z-index:30;text-align:left}.radio-panel-head{display:flex;gap:12px;align-items:center;margin-bottom:22px}.radio-panel-head>.icon{width:25px;height:25px;color:var(--accent)}.radio-panel-head .section-label{font-size:8px;margin-bottom:6px;letter-spacing:.1em}.radio-panel h2{font:23px var(--serif);letter-spacing:-.025em}.radio-panel-head .icon-button{margin-left:auto;width:32px;height:32px}.radio-panel .stacked-label{font-size:12px}.radio-panel .custom-trigger{min-height:45px;font-size:13px}.radio-panel .field-note{font-size:11px;line-height:1.5}.radio-volume{display:flex;align-items:center;gap:10px;margin:16px 0}.radio-volume input{min-width:0;flex:1;width:auto}.radio-volume .icon-button{width:32px;height:36px}#radio-volume-value{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:33px;text-align:right}.radio-source{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin-top:19px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}.radio-source a{display:inline-flex;align-items:center;gap:6px;color:var(--accent)}.radio-source .icon{width:12px;height:12px}.radio-panel input[type=range]{height:24px;accent-color:var(--accent)}
body[data-background=photo] .radio-panel{--ink:#efeee8;--muted:#9ca59d;--accent:#bac9a8;--surface:#1b1f1d;--bg:#131615;--line:rgba(219,227,215,.13);--surface-2:#232924;--accent-soft:rgba(186,201,168,.09);background:var(--surface)}
/* Ambient effects stay behind all controls and words, above the photo shading. */
.ambient-fx{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden;--fx-intensity:.35;--fx-speed:1;--fx-hue:204;--fx-saturation:35%;--sun-x:50%}
.fx-halos,.fx-aurora,.fx-weather-light,.fx-clouds,#fx-canvas{position:absolute;inset:0;pointer-events:none}.fx-halos,.fx-aurora,.fx-weather-light,.fx-clouds{opacity:0;transition:opacity 4s ease}.ambient-fx[data-effect=halos] .fx-halos{opacity:var(--fx-intensity)}.fx-halos i{position:absolute;display:block;width:75vw;height:75vw;max-height:900px;max-width:1000px;border-radius:50%;background:radial-gradient(ellipse,hsla(var(--fx-hue),var(--fx-saturation),58%,.38),transparent 66%);animation:halo-drift calc(38s * var(--fx-speed)) ease-in-out infinite alternate}.fx-halos i:first-child{left:-35%;top:7%}.fx-halos i:nth-child(2){right:-33%;bottom:-40%;animation-delay:-18s;background:radial-gradient(ellipse,hsla(calc(var(--fx-hue) + 28),30%,60%,.36),transparent 68%)}.fx-halos i:nth-child(3){left:var(--sun-x);top:-70%;animation-delay:-8s;width:60vw;height:80vw}
.fx-aurora{inset:-35%;transform:rotate(-12deg);background:radial-gradient(ellipse at 8% 20%,hsla(var(--fx-hue),38%,49%,.24),transparent 28%),radial-gradient(ellipse at 92% 80%,hsla(calc(var(--fx-hue) + 35),38%,51%,.28),transparent 30%);animation:aurora-drift calc(36s * var(--fx-speed)) ease-in-out infinite alternate}.ambient-fx[data-effect=aurora] .fx-aurora{opacity:var(--fx-intensity)}
.fx-weather-light{background:radial-gradient(ellipse at var(--sun-x) -12%,rgba(239,199,121,.2),transparent 58%)}.ambient-fx[data-weather=sun] .fx-weather-light{opacity:var(--fx-intensity);animation:weather-glow 22s ease-in-out infinite}.ambient-fx[data-weather=clear-night] .fx-weather-light{background:radial-gradient(ellipse at 87% -15%,rgba(169,195,223,.16),transparent 57%);opacity:var(--fx-intensity)}
.fx-clouds{inset:-15%;background:radial-gradient(ellipse at 4% 28%,rgba(146,158,162,.19),transparent 27%),radial-gradient(ellipse at 92% 68%,rgba(146,158,162,.15),transparent 26%);animation:cloud-passage calc(52s * var(--fx-speed)) ease-in-out infinite alternate}.ambient-fx:is([data-weather=clouds],[data-weather=storm],[data-weather=fog]) .fx-clouds{opacity:var(--fx-intensity)}.ambient-fx[data-weather=fog] .fx-clouds{background:linear-gradient(165deg,transparent 20%,rgba(148,163,162,.08),transparent 80%)}.ambient-fx[data-weather=storm] .fx-weather-light{opacity:0;background:radial-gradient(ellipse at 95% 5%,rgba(192,208,224,.22),transparent 45%);animation:storm-glimmer 29s ease-in-out infinite}
@keyframes halo-drift{from{transform:translate(-3%,4%) scale(.95)}to{transform:translate(10%,-8%) scale(1.1)}}@keyframes aurora-drift{from{transform:translate(-3%,1%) rotate(-12deg)}to{transform:translate(3%,-2%) rotate(7deg)}}@keyframes cloud-passage{from{transform:translateX(-4%)}to{transform:translateX(4%)}}@keyframes weather-glow{50%{opacity:calc(var(--fx-intensity) * .5)}}@keyframes storm-glimmer{0%,66%,100%{opacity:0}79%{opacity:calc(var(--fx-intensity) * .4)}}
.fx-paused *{animation-play-state:paused!important}.no-motion .radio-eq i,.no-motion .radio-play{animation:none!important}
@media(min-width:1800px){.environment-line{margin-top:35px;gap:30px}.environment-line .solar-line{grid-template-columns:auto 90px auto}.environment-line .solar-time time{font-size:14px}.environment-line .solar-label{font-size:12px}.radio-kicker{font-size:12px}#radio-status{font-size:12px}}
@media(min-width:741px) and (max-height:820px){.environment-line{margin-top:19px}.environment-line .solar-line{margin-top:0}}
@media(max-width:1150px){.radio-disclosure{min-width:113px}.brand-tagline{display:none}}
@media(max-width:740px){.topbar{gap:15px}.radio-mini{gap:7px}.radio-play{width:36px;height:36px}.radio-disclosure{min-width:97px}.radio-kicker{font-size:9px;letter-spacing:.1em}#radio-status{font-size:10px;max-width:120px}.radio-expand{width:26px}.radio-panel{right:0;top:calc(100% + 12px);width:320px;padding:22px}.environment-line{margin-top:24px;gap:12px;row-gap:8px}.environment-line .solar-line{grid-template-columns:auto 35px auto;gap:5px;margin:0}.environment-line .solar-time{gap:5px}.environment-line .solar-label{font-size:10px}.environment-line .solar-time time{font-size:12px}.environment-line .solar-time>.icon{display:none}.environment-line .solar-path{height:23px}.environment-line .weather-line{gap:6px;font-size:12px}.environment-line .weather-line .icon{width:16px;height:16px}.environment-line #weather-place{display:none}.environment-line .weather-line:not([hidden])+.solar-line:not([hidden]){padding-left:12px}.environment-line .weather-line small{font-size:9px}.fx-halos i{width:125vw;height:140vw}.fx-halos i:first-child{left:-83%}.fx-halos i:nth-child(2){right:-75%}.fx-halos i:nth-child(3){top:-30%}.radio-panel-head .section-label{font-size:8px}}
@media(max-width:380px){.radio-expand{display:none}.radio-mini{gap:6px}.radio-kicker{font-size:9px}.radio-panel{right:0}.environment-line{gap:9px}.environment-line .weather-line:not([hidden])+.solar-line:not([hidden]){padding-left:9px}.environment-line .solar-line{grid-template-columns:auto 30px auto}}
@media(max-height:700px) and (max-width:740px) and (orientation:portrait){.environment-line{margin-top:13px}}
@media(max-height:500px) and (orientation:landscape){.environment-line{grid-column:1/-1;margin-top:0;gap:18px}.environment-line .solar-line{margin:0;grid-template-columns:auto 60px auto}.environment-line .solar-time{flex-direction:row}.radio-panel{max-height:calc(100dvh - 86px);overflow-y:auto}.radio-play{height:34px;width:34px}.radio-kicker{font-size:10px}.topbar{min-height:38px}.main-stage{min-height:213px}.environment-line .weather-line{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ambient-fx{display:none!important}.radio-eq i,.radio-play,#quote-text .typed-char::after{animation:none!important}}
/* ===== 3.1.0: one cohesive interface, no runtime style dependencies ===== */
*,*::before,*::after{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none}
html{scrollbar-gutter:stable}body{position:relative;isolation:isolate}.backdrop{z-index:0}.app-shell{position:relative;z-index:1}.toast{z-index:100}.backdrop .ambient{z-index:0}.backdrop .wallpaper{z-index:1}.backdrop .photo-shade{z-index:2}.backdrop .ambient-fx{z-index:3}.backdrop .celestial-transition{z-index:4}
.moment-greeting{font:italic 19px/1.35 var(--serif);letter-spacing:.01em;color:var(--accent);margin:0 0 13px;text-align:center}.clock-block{position:relative}.date-label{margin-top:0}
/* The solar choice is the fourth equal option, never a full-width extra row. */
.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex-wrap:nowrap}.segmented:has(#solar-theme-choice:not([hidden])){grid-template-columns:repeat(4,minmax(0,1fr))}.segmented>label,.segmented label#solar-theme-choice{min-width:0;flex:initial;flex-basis:auto;border:0;padding:10px 4px;font-size:12px;gap:5px;white-space:nowrap}.segmented .icon{flex-shrink:0}.theme-option-name{min-width:0}
/* Consistent circular radio targets, including touch and narrow screens. */
.radio-expand.icon-button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:50%;aspect-ratio:1;border:1px solid var(--line);background:transparent}.radio-expand.icon-button:hover{background:var(--accent-soft)}.radio-mini.is-open .radio-expand{transform:none}.radio-mini.is-open .radio-expand .icon{transform:rotate(180deg)}.radio-expand .icon{transition:transform .25s}.radio-volume .icon-button,.radio-panel-head .icon-button{aspect-ratio:1;width:36px;height:36px;min-width:36px;padding:0;border-radius:50%}
.radio-panel{width:380px;max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}.radio-panel .custom-trigger{height:auto;text-align:left}.radio-panel .custom-value{white-space:normal;line-height:1.5}.radio-source{flex-wrap:wrap}
/* Accordion summaries make the settings useful before anything is expanded. */
#settings-dialog .panel-content{padding-top:4px}.settings-section{border-bottom:1px solid var(--line)}.settings-section:last-of-type{border-bottom:0}.settings-section>summary{display:flex;align-items:center;gap:16px;min-height:76px;padding:16px 2px;cursor:pointer;list-style:none;color:var(--ink)}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary::marker{content:''}.section-icon{width:23px;height:23px;flex:0 0 23px;color:var(--accent)}.section-heading{min-width:0;flex:1;display:grid;gap:6px}.section-heading strong{font-size:15px;font-weight:500;letter-spacing:.01em}.section-heading small{font-size:12px;line-height:1.45;color:var(--muted);font-weight:400}.section-chevron{width:18px;height:18px;color:var(--muted);transition:transform .2s}.settings-section[open]>summary .section-chevron{transform:rotate(180deg)}.settings-section[open]>summary{color:var(--accent)}.settings-section>summary:hover .section-heading strong{color:var(--accent)}.settings-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.settings-section-body{padding:2px 0 18px}.settings-section-body>fieldset{margin:0!important;padding:12px 0 18px!important;border:0}.settings-section-body>fieldset:last-child{padding-bottom:0!important}.settings-section-body>fieldset>legend{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.settings-section-body>fieldset:only-child>legend{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}.settings-section-body .field-note{font-size:12px;line-height:1.6}.settings-section-body .toggle-row{padding-block:13px}.settings-section-body .segmented{margin-top:0}.build-note{display:block;margin:18px 0 10px;color:var(--faint);font-size:11px}.privacy-note{padding-top:14px;margin-top:14px}.keyboard-note{margin-bottom:0}
.custom-options{overscroll-behavior:contain}.custom-option{white-space:normal;text-align:left;line-height:1.5}.custom-option .station-no{font-size:11px;letter-spacing:.04em;color:var(--faint);margin-right:10px}.select-empty{font-size:13px;padding:12px 20px;color:var(--muted)}
/* Visible, softly colored atmosphere. All timing values are concrete seconds. */
.ambient-fx{overflow:hidden;isolation:isolate;contain:paint;--fx-intensity:.45;--fx-hue:193;--fx-hue-alt:231;--fx-saturation:40%}.fx-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fx-halos,.fx-aurora,.fx-weather-light,.fx-clouds{transition:opacity 1s ease}.fx-halos i{width:75%;height:95%;max-width:none;max-height:none;background:radial-gradient(ellipse,hsla(var(--fx-hue),var(--fx-saturation),62%,.64) 0%,hsla(var(--fx-hue),var(--fx-saturation),52%,.19) 35%,transparent 70%);animation:halo-drift var(--halo-duration,28s) ease-in-out infinite alternate;will-change:transform}.fx-halos i:first-child{left:-26%;top:-12%}.fx-halos i:nth-child(2){right:-25%;bottom:-28%;background:radial-gradient(ellipse,hsla(var(--fx-hue-alt),45%,58%,.60),transparent 70%);animation-delay:-13s}.fx-halos i:nth-child(3){left:calc(var(--sun-x) - 20%);top:-62%;width:60%;height:100%;animation-delay:-7s}.fx-aurora{inset:-12%;background:radial-gradient(ellipse at 10% 30%,hsla(var(--fx-hue),55%,58%,.52),transparent 40%),radial-gradient(ellipse at 87% 78%,hsla(var(--fx-hue-alt),48%,59%,.49),transparent 45%);animation:aurora-drift var(--aurora-duration,30s) ease-in-out infinite alternate}.fx-clouds{background:radial-gradient(ellipse at 8% 22%,rgba(162,184,189,.40),transparent 35%),radial-gradient(ellipse at 92% 70%,rgba(146,169,174,.35),transparent 35%);animation:cloud-passage var(--cloud-duration,42s) ease-in-out infinite alternate}.fx-weather-light{background:radial-gradient(ellipse at var(--sun-x) -2%,rgba(240,196,112,.6),transparent 64%)}.ambient-fx[data-weather=fog] .fx-clouds{background:linear-gradient(160deg,transparent 14%,rgba(165,184,185,.3),transparent 85%)}.ambient-fx[data-weather=storm] .fx-weather-light{background:radial-gradient(ellipse at 90% 10%,rgba(193,217,226,.48),transparent 65%);animation:storm-glimmer 20s ease-in-out infinite}
.effects-preview{position:relative;isolation:isolate;border:1px solid var(--line);border-radius:14px;height:205px;margin:20px 0 10px;overflow:hidden;background:var(--bg)}.effects-preview .ambient-fx{z-index:0}.effects-preview-caption{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;pointer-events:none}.effects-preview .section-label{font-size:9px;letter-spacing:.15em}.preview-word{font:italic 25px var(--serif);color:var(--ink)}#effects-status{min-height:36px}
@media(max-width:740px){.moment-greeting{font-size:17px;margin-bottom:10px}.radio-mini{gap:6px}.radio-disclosure{min-width:85px}.radio-status{max-width:110px}.radio-expand.icon-button{flex-basis:36px;width:36px;height:36px;min-height:36px;min-width:36px}.radio-panel{max-height:calc(100dvh - 100px)}.settings-section>summary{min-height:73px;gap:12px}.section-heading strong{font-size:14px}.section-heading small{font-size:11px}.segmented>label,.segmented label#solar-theme-choice{font-size:11px;gap:4px;flex-direction:column}.theme-option-name{white-space:normal;line-height:1.25;text-align:center}.segmented .icon{width:18px;height:18px}.fx-halos i{width:105%;height:80%}.fx-halos i:first-child{left:-42%;top:0}.fx-halos i:nth-child(2){right:-40%;bottom:-5%}.fx-halos i:nth-child(3){top:-65%;left:25%}}
@media(max-width:380px){.wordmark{font-size:24px}.brand-symbol{width:14px;height:14px}.radio-disclosure{min-width:0}.radio-kicker{font-size:8px}#radio-status{max-width:90px}.radio-expand.icon-button{display:grid}.radio-panel{right:0;width:285px;max-width:calc(100vw - 28px)}}
@media(max-height:500px) and (orientation:landscape){.moment-greeting{font-size:15px;margin-bottom:8px}.main-stage{min-height:245px}.radio-panel{max-height:calc(100dvh - 86px)}}
@media(prefers-reduced-motion:reduce){.ambient-fx:not([hidden]){display:block!important}.ambient-fx *{animation-play-state:paused!important;transition:none!important}.section-chevron,.radio-expand .icon{transition:none}.radio-eq i{animation:none!important}}

/* Interface motion and ambient animation are intentionally separate switches. */
body.no-motion .ambient-fx .fx-halos i{animation:halo-drift var(--halo-duration,28s) ease-in-out infinite alternate!important}
body.no-motion .ambient-fx .fx-aurora{animation:aurora-drift var(--aurora-duration,30s) ease-in-out infinite alternate!important}
body.no-motion .ambient-fx .fx-clouds{animation:cloud-passage var(--cloud-duration,42s) ease-in-out infinite alternate!important}
body.no-motion .ambient-fx .fx-weather-light{animation:weather-glow 22s ease-in-out infinite!important}
body.no-motion .ambient-fx[data-weather=storm] .fx-weather-light{animation:storm-glimmer 20s ease-in-out infinite!important}
body.no-motion .ambient-fx.fx-paused *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body.no-motion .ambient-fx *{animation-play-state:paused!important}}
/* A paused layer must also beat the explicit no-motion animation shorthands. */
body.no-motion .ambient-fx.fx-paused .fx-halos i,
body.no-motion .ambient-fx.fx-paused .fx-aurora,
body.no-motion .ambient-fx.fx-paused .fx-clouds,
body.no-motion .ambient-fx.fx-paused .fx-weather-light,
body.no-motion .ambient-fx.fx-paused[data-weather=storm] .fx-weather-light{animation-play-state:paused!important}
