/* A text terminal for a small, independent internet. No fonts, images or UI icons. */
:root{color-scheme:dark;--bg:#101512;--panel:#151c18;--ink:#d6dfcc;--muted:#91a38e;--edge:#3a4c3e;--accent:#b3c895;--signal:#88b7b6;--warm:#c7af7b;--button:var(--accent);--button-ink:var(--bg)}

html[data-theme=light]{color-scheme:light;--bg:#eeeee1;--panel:#e5e8da;--ink:#263728;--muted:#556550;--edge:#a7b3a0;--accent:#52643c;--signal:#396c6b;--warm:#765b24}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:calc(14px * var(--display-scale))/1.65 ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;min-height:100vh}main{width:min(100% - 36px,760px);margin:auto}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;color:var(--ink)}button,input,select{font:inherit}button,select{cursor:pointer;color:var(--accent);background:var(--bg);border:1px solid var(--edge);border-radius:0;padding:8px 11px;min-height:36px}button:hover{background:var(--panel)}button:disabled{opacity:.45;cursor:default}input{background:var(--bg);color:var(--ink);border:1px solid var(--edge);padding:9px 11px;min-width:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}summary{cursor:pointer;list-style:none;padding:5px 0}summary::-webkit-details-marker{display:none}summary::before{content:'+ ';color:var(--signal)}details[open]>summary::before{content:'- '}h1,h2,h3{font:inherit;color:var(--ink);letter-spacing:0}h1{font-size:calc(22px * var(--display-scale));line-height:1.4}h2{font-size:calc(17px * var(--display-scale))}h3{font-size:calc(15px * var(--display-scale))}
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px dashed var(--edge);padding:18px 0 12px;font-size:calc(12px * var(--display-scale))}.wordmark{color:var(--accent)}.wordmark>span{display:block;color:var(--muted);font-size:calc(10px * var(--display-scale));padding-left:4ch}.appearance{position:relative;font-size:calc(11px * var(--display-scale))}.appearance>div{position:absolute;right:0;z-index:3;background:var(--bg);border:1px dashed var(--edge);padding:13px;min-width:220px}.appearance label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.appearance select{width:110px}
.hero{text-align:center;padding:24px 0 0}.ascii-logo{font:clamp(9px,2.1vw,14px)/1.16 ui-monospace,Consolas,monospace;letter-spacing:0;color:var(--accent);text-align:left;width:max-content;max-width:100%;margin:0 auto 10px;white-space:pre}.terminal-intro{font-size:calc(12px * var(--display-scale));color:var(--ink);margin:12px 0 20px}.terminal-rule{font-size:calc(11px * var(--display-scale));color:var(--edge);margin:0;white-space:pre}figure{max-width:480px;margin:12px auto 10px;position:relative}figure pre{font:calc(12px * var(--display-scale))/1.2 ui-monospace,Consolas,monospace;white-space:pre;text-align:left;width:max-content;max-width:100%;margin:0 auto 12px;color:var(--muted);overflow:hidden}.star,.sky-mark{color:var(--accent)}.sky-ground{color:var(--signal)}figcaption{color:var(--signal);font-size:calc(10px * var(--display-scale))}.sky-local{max-width:520px;margin:0 auto 22px}.sky-local>p{font-size:calc(11px * var(--display-scale));color:var(--muted);margin:4px 0}#sky-weather{color:var(--ink)}.sky-local details{font-size:calc(10px * var(--display-scale));text-align:left;margin:8px auto;color:var(--muted)}.sky-local summary{text-align:center}.sky-local details[open]{border:1px dashed var(--edge);padding:10px 13px}.sky-local details p{line-height:1.65}#sky-location label{display:block;margin:6px 0}#sky-location>div{display:flex;gap:8px}#sky-city{flex:1}#sky-auto{margin-top:8px}.sky-local button{font-size:calc(11px * var(--display-scale));padding:7px 10px}
.search{display:flex;gap:8px;max-width:620px;margin:auto;border-top:1px dashed var(--edge);border-bottom:1px dashed var(--edge);padding:10px 0}.search::before{content:'>';align-self:center;color:var(--signal);padding:0 2px}.search input{flex:1;border:0;padding:9px 6px;font-size:calc(14px * var(--display-scale))}.search input::placeholder{color:var(--muted)}.search button{font-size:calc(12px * var(--display-scale))}.index-note{text-align:center;font-size:calc(10px * var(--display-scale));color:var(--muted);margin:10px 0 18px}.index-note span{white-space:nowrap}.explore{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;font-size:calc(11px * var(--display-scale))}.curiosity{max-width:620px;margin:28px auto 0;border-top:1px dashed var(--edge);padding:15px 0 0}.eyebrow{font-size:calc(10px * var(--display-scale));color:var(--signal);letter-spacing:.04em}.curiosity h2{font-size:calc(13px * var(--display-scale));color:var(--accent);margin:7px 0}.curiosity>p:not(.eyebrow){font-size:calc(12px * var(--display-scale));color:var(--muted);margin:7px 0}.curiosity>a{font-size:calc(10px * var(--display-scale))}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px dashed var(--edge);padding:17px 0 24px;margin-top:30px;font-size:calc(11px * var(--display-scale));color:var(--muted)}
.compact{margin:26px 0 20px}.results,.reader-page{max-width:680px;margin:26px auto 0}.results p{font-size:calc(13px * var(--display-scale));color:var(--muted);margin:7px 0}.results h2{margin-top:25px}.results .result-link{font-size:calc(14px * var(--display-scale));margin-top:24px}.result-link::before{content:'=> ';color:var(--signal)}.results .result-link+p{font-size:calc(11px * var(--display-scale));overflow-wrap:anywhere}.results a,.reader-page a{overflow-wrap:anywhere}.excerpt{font:calc(12px * var(--display-scale))/1.5 ui-monospace,monospace;color:var(--signal);white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-left:1px dashed var(--edge)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* The reader is another terminal pane. No zoom, blur, flashes or screen motion. */
body.reader-open{overflow:hidden}#gemspace{padding:0;width:min(940px,calc(100vw - 30px));max-width:none;height:min(880px,calc(100dvh - 30px));max-height:none;border:1px solid var(--edge);border-radius:0;background:var(--bg);color:var(--ink)}#gemspace::backdrop{background:#080c0bcc}.portal-frame{height:100%;display:flex;flex-direction:column}.portal-toolbar{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px dashed var(--edge)}.portal-toolbar>div{flex:1;min-width:0}.portal-toolbar .eyebrow{font-size:calc(9px * var(--display-scale))}#portal-address{font-size:calc(11px * var(--display-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0 0;color:var(--muted)}.portal-toolbar button,.portal-footer button{font-size:calc(11px * var(--display-scale));padding:7px 10px;min-height:34px}.portal-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px clamp(16px,4vw,42px)}.portal-footer{margin:0;padding:12px 16px;align-items:center;gap:10px 16px;font-size:calc(10px * var(--display-scale))}.portal-footer>div{margin-left:auto;display:flex;align-items:center;gap:15px}.portal-footer>details{width:100%}.portal-footer details p{overflow-wrap:anywhere;max-width:750px}.capsule-document{font:calc(14px * var(--display-scale))/1.75 ui-monospace,Consolas,monospace;outline:none;overflow-wrap:anywhere}.capsule-document h1{font-size:calc(21px * var(--display-scale));line-height:1.45;margin:8px 0 22px}.capsule-document h2{font-size:calc(17px * var(--display-scale));margin:25px 0 12px}.capsule-document h3{font-size:calc(15px * var(--display-scale))}.capsule-document p,.capsule-document .capsule-link{margin:12px 0}.capsule-link a>span:first-child{margin-right:7px;color:var(--signal)}.link-kind{font-size:calc(10px * var(--display-scale));color:var(--muted);margin-left:7px}.capsule-document blockquote{border-left:1px dashed var(--edge);padding-left:15px;margin:15px 0;color:var(--muted)}.capsule-art{white-space:pre;overflow:auto;font:calc(12px * var(--display-scale))/1.4 ui-monospace,Consolas,monospace;color:var(--signal);padding:12px 0}.capsule-plain{white-space:pre-wrap;overflow-wrap:anywhere;font:calc(13px * var(--display-scale))/1.7 ui-monospace,monospace}.capsule-image{max-width:100%;height:auto;display:block;margin:auto}.reader-input label{display:block;margin:12px 0}.reader-input>div{display:flex;gap:8px}.reader-input input:not([type=hidden]){flex:1}.reader-note{font-size:calc(11px * var(--display-scale))!important;color:var(--muted)}.reader-address{padding:12px 0;border-top:1px dashed var(--edge);border-bottom:1px dashed var(--edge);margin:20px 0}.reader-address>span{font-size:calc(10px * var(--display-scale));color:var(--signal)}.reader-address p{font-size:calc(12px * var(--display-scale));overflow-wrap:anywhere}.reader-address a{font-size:calc(11px * var(--display-scale))}#portal-crossing{text-align:center;padding:45px 0 25px}#portal-crossing h2{font-size:calc(16px * var(--display-scale))}#portal-crossing p{font-size:calc(12px * var(--display-scale));color:var(--muted)}.portal-orbit{font:calc(14px * var(--display-scale))/1.4 ui-monospace,monospace;color:var(--accent);width:max-content;margin:0 auto 24px;text-align:left}
@media(max-width:500px){main{width:calc(100% - 28px)}nav{padding-top:13px}.wordmark>span{font-size:calc(9px * var(--display-scale))}.hero{padding-top:20px}figure pre{font-size:calc(11px * var(--display-scale))}.terminal-intro{font-size:calc(10px * var(--display-scale))}.terminal-rule{font-size:calc(10px * var(--display-scale))}.search input{font-size:calc(12px * var(--display-scale));width:90px}.search button{font-size:calc(11px * var(--display-scale));padding:8px}.index-note span{display:block}.explore{gap:12px;font-size:calc(10px * var(--display-scale))}footer{font-size:calc(10px * var(--display-scale))}#gemspace{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.portal-toolbar{padding:10px;gap:8px}.portal-toolbar button{padding:6px 8px;font-size:calc(10px * var(--display-scale))}.portal-scroll{padding:18px 14px}.portal-footer{padding:10px}.portal-footer>div{margin-left:0}.capsule-document{font-size:calc(13px * var(--display-scale))}.capsule-document h1{font-size:calc(19px * var(--display-scale))}.reader-input>div{flex-wrap:wrap}}
/* Region and daylight are independent of the visitor's dark/light preference. */
#daily-art[data-daylight=day]{color:var(--muted)}#daily-art[data-daylight=day] .sky-mark{color:#c5ad77}html[data-theme=light] #daily-art[data-daylight=day] .sky-mark{color:#826322}
#daily-art[data-weather=rain] .sky-fall,#daily-art[data-weather=ice] .sky-fall{color:#82b8d3}#daily-art[data-weather=snow] .sky-fall{color:#b7d0df}#daily-art[data-weather=hail] .sky-fall{color:#bfb5dc}html[data-theme=light] #daily-art .sky-fall{color:#326e91}
.sky-fall{display:inline-block;animation:sky-rain 2.4s linear infinite}.sky-phase-1{animation-delay:-.8s}.sky-phase-2{animation-delay:-1.6s}[data-weather=snow] .sky-fall{animation-name:sky-snow;animation-duration:4.8s}[data-weather=hail] .sky-fall{animation-duration:1.8s}#daily-art[data-motion=off] .sky-fall{animation:none}
@keyframes sky-rain{0%{transform:translate(1px,-2px);opacity:.45}50%{opacity:.9}100%{transform:translate(-1px,3px);opacity:.45}}@keyframes sky-snow{0%{transform:translate(-1px,-2px);opacity:.6}50%{transform:translate(1px,1px);opacity:.95}100%{transform:translate(-1px,3px);opacity:.6}}
/* Hide the obsolete badge in cached HTML during an asset update. */
.sky-notice-mark{display:none!important}.sky-motion-control{display:flex;align-items:center;gap:7px;margin:12px 0}.sky-motion-control input{accent-color:var(--accent)}#regional-notices{margin:8px auto 12px}#notices-list>p{padding:8px 0;border-bottom:1px solid var(--edge)}#notices-list span{display:block;margin-top:5px;font-size:calc(11px * var(--display-scale));overflow-wrap:anywhere}#notices-coverage{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.sky-fall{animation:none!important}}
.daily-trail{max-width:620px;margin:26px auto 0;border-top:1px dashed var(--edge);padding-top:12px}.daily-trail h3{font-size:calc(12px * var(--display-scale));color:var(--signal);margin:4px 0 10px}.daily-trail p{font-size:calc(11px * var(--display-scale));color:var(--muted);margin:5px 0}.daily-trail .result-link{font-size:calc(12px * var(--display-scale));margin-top:15px}.daily-trail>p:last-child{font-size:calc(10px * var(--display-scale));margin-top:15px}
/* Compact home: readable controls, weather beside regional details, optional depth. */
nav{padding:10px 0}.wordmark{font-size:calc(11px * var(--display-scale))}.wordmark>span{display:none}.hero{padding-top:10px}.gemspace-title{font-size:calc(28px * var(--display-scale));letter-spacing:.04em;font-weight:500;color:var(--accent);margin:4px 0}.terminal-intro{font-size:calc(12px * var(--display-scale));margin:1px 0 12px}.terminal-rule{margin:10px 0 0;font-size:calc(11px * var(--display-scale));color:var(--muted)}.search{padding:6px 0}.index-note{margin:6px 0 8px;font-size:calc(11px * var(--display-scale))}.weather-window{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:center;margin:8px 0 10px}figure{margin:0;min-width:0}figure pre{font-size:calc(12px * var(--display-scale));line-height:1.16;margin-bottom:6px}.sky-local{margin:0;min-width:0;text-align:left}.sky-local>p{font-size:calc(12px * var(--display-scale))}.sky-local summary{text-align:left;font-size:calc(11px * var(--display-scale))}.sky-local details{font-size:calc(11px * var(--display-scale))}.curiosity{margin-top:14px;padding-top:8px;font-size:calc(12px * var(--display-scale))}.curiosity summary{display:flex;flex-wrap:wrap;gap:5px 10px}.curiosity summary::before{content:'+ '}.curiosity[open]>summary::before{content:'- '}.curiosity #curiosity-date{color:var(--signal);font-size:calc(11px * var(--display-scale))}.curiosity #curiosity-title{color:var(--accent);font-size:calc(12px * var(--display-scale))}.curiosity>p{font-size:calc(12px * var(--display-scale))}.daily-trail{margin-top:12px;padding-top:9px}.daily-trail h2{font-size:calc(12px * var(--display-scale));color:var(--signal);margin:0 0 9px}.trail-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.trail-links article{font-size:calc(12px * var(--display-scale))}.trail-links article>a{display:block;overflow-wrap:anywhere}.trail-links p{font-size:calc(11px * var(--display-scale));margin:2px 0}.trail-links details{font-size:calc(11px * var(--display-scale));color:var(--muted)}.trail-links summary{padding:2px 0}.explore{font-size:calc(11px * var(--display-scale));gap:20px}footer{margin-top:14px;padding:10px 0 14px;font-size:calc(11px * var(--display-scale))}
.sky-sun{color:#e1c46c}.sky-moon{color:#dfe5eb;text-shadow:0 0 7px #b8d5ec35}.sky-cloud{color:#e0e2df}.sky-star{color:#a8bbd0}.sky-rain{color:#84bad6}.sky-snow{color:#dae5ec}.sky-hail{color:#bfcce0}.sky-lightning{color:#dfc887}html[data-theme=light] .sky-sun{color:#987000}html[data-theme=light] .sky-moon{color:#566e81;text-shadow:none}html[data-theme=light] .sky-cloud{color:#5d675f}html[data-theme=light] .sky-star{color:#597887}html[data-theme=light] .sky-rain,html[data-theme=light] .sky-snow,html[data-theme=light] .sky-hail{color:#396a83}html[data-theme=light] .sky-lightning{color:#836619}
@keyframes sky-rain{0%{transform:translate(1px,-5px);opacity:.25}30%{opacity:1}80%{opacity:.8}100%{transform:translate(-2px,9px);opacity:0}}@keyframes sky-snow{0%{transform:translate(-2px,-3px);opacity:.3}40%{opacity:1}70%{transform:translate(2px,5px);opacity:.8}100%{transform:translate(0,10px);opacity:0}}
@media(max-width:620px){.weather-window{grid-template-columns:1fr;gap:7px}.sky-local{text-align:center}.sky-local summary{text-align:center}.sky-local details[open]{text-align:left}.weather-window figure pre{font-size:calc(11px * var(--display-scale))}.gemspace-title{font-size:calc(25px * var(--display-scale))}.terminal-intro{font-size:calc(11px * var(--display-scale))}.index-note span{display:none}.sky-local>p{font-size:calc(11px * var(--display-scale))}.sky-local details{margin:4px 0}.trail-links{gap:10px}.trail-links article{font-size:calc(11px * var(--display-scale))}.trail-links p{font-size:calc(10px * var(--display-scale))}.trail-links details{font-size:calc(10px * var(--display-scale))}.curiosity #curiosity-title{font-size:calc(11px * var(--display-scale))}.curiosity summary{gap:3px 8px}footer{font-size:calc(10px * var(--display-scale))}.terminal-rule{font-size:calc(10px * var(--display-scale))}}
@media(max-width:620px){footer{padding-bottom:8px;margin-top:10px}.hero{padding-top:6px}.weather-window{margin-top:5px;margin-bottom:7px}}
#daily-art{min-height:15.08em}

/* Reader-selected magnification. Controls stay in viewport coordinates. */
:root{--display-scale:1;scrollbar-gutter:stable;overflow-y:scroll}
html[data-size="115"]{--display-scale:1.15}html[data-size="130"]{--display-scale:1.3}html[data-size="150"]{--display-scale:1.5}html[data-size="175"]{--display-scale:1.75}html[data-size="200"]{--display-scale:2}
nav,.appearance,.portal-toolbar,.portal-footer{--display-scale:1}
nav{min-height:49px;padding-right:110px}
.appearance{position:fixed;top:10px;right:18px;z-index:10;font-size:12px}
.appearance>summary{background:var(--bg);border:1px solid var(--edge);padding:7px 10px;min-height:36px}
.appearance>div{width:270px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 66px);overflow:auto;background:var(--panel);border:1px solid var(--edge);box-shadow:0 12px 32px #0003;padding:16px;font-size:12px}
.appearance select{width:128px;background:var(--bg);font-size:12px}
.size-setting{border-top:1px solid var(--edge);margin-top:15px;padding-top:14px}
.size-buttons{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px;margin:10px 0}
.size-buttons button{height:40px;padding:0;font-size:20px}.size-buttons output{text-align:center;font-size:14px;font-variant-numeric:tabular-nums}
#size-reset{width:100%;font-size:12px}
figure{overflow:auto;max-width:100%}figure pre,#daily-art{max-width:none;overflow:visible}figcaption{position:sticky;left:0;white-space:normal}
#daily-art{min-height:0}.weather-window{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
#sky-moon{color:var(--signal);font-size:calc(11px * var(--display-scale));margin-top:8px}
.sky-cloud-shade{color:#9caaa8}.sky-ground{color:var(--signal)}html[data-theme=light] .sky-cloud-shade{color:#788277}
.daily-trail{margin-top:22px;padding-top:15px}.daily-trail h2{font-size:calc(16px * var(--display-scale));color:var(--accent)}.daily-trail .trail-intro{margin:0 0 15px;font-size:calc(11px * var(--display-scale))}.trail-links article>a{font-size:calc(13px * var(--display-scale))}
.capsule-image{width:auto;max-width:100%;zoom:var(--display-scale)}.portal-scroll{overflow:auto}
.terminal-rule{white-space:normal;overflow-wrap:anywhere}

html[data-size="150"] .weather-window,html[data-size="175"] .weather-window,html[data-size="200"] .weather-window{grid-template-columns:1fr}
@media(max-width:620px){.weather-window{grid-template-columns:1fr}.appearance{right:14px}.daily-trail h2{font-size:calc(15px * var(--display-scale))}}
@media(max-width:620px){html:not([data-size="100"]) .trail-links{grid-template-columns:1fr;gap:16px}}

.privacy-links{display:inline-flex;flex-direction:column;align-items:flex-start;gap:7px}.privacy-links .observatory-link{font-size:11px;color:var(--muted);line-height:1.5}.privacy-links .observatory-link:hover,.privacy-links .observatory-link:focus-visible{color:var(--accent);text-decoration:underline}
/* Dominant tint + its 180-degree RGB/HSL complement + a distinct third hue. */
html[data-tint=violet]{--bg:#151019;--panel:#201726;--ink:#e4dfe7;--muted:#b9afc0;--edge:#7c5d92;--accent:#c289ec;--signal:#a6e977;--warm:#e7958d;--accent-soft:#33253e;--signal-soft:#303030;--warm-soft:#382632;}
html[data-theme=light][data-tint=violet]{--bg:#f5f3f7;--panel:#ebe6ef;--ink:#2c2532;--muted:#564a5e;--edge:#745889;--accent:#64199a;--signal:#32610f;--warm:#8b271d;--accent-soft:#dbcde5;--signal-soft:#d5d7d4;--warm-soft:#dfcfd6;}
html[data-tint=tide]{--bg:#101917;--panel:#172623;--ink:#dfe7e6;--muted:#afc0bd;--edge:#5d9289;--accent:#89ecdb;--signal:#ec8999;--warm:#e7d88d;--accent-soft:#253e39;--signal-soft:#30302f;--warm-soft:#303b30;}
html[data-theme=light][data-tint=tide]{--bg:#f3f7f6;--panel:#e6efee;--ink:#253230;--muted:#4a5e5b;--edge:#588981;--accent:#106557;--signal:#91182c;--warm:#655815;--accent-soft:#ccdfdc;--signal-soft:#dcd5d7;--warm-soft:#d7ded4;}
html[data-tint=amber]{--bg:#191610;--panel:#262117;--ink:#e7e4df;--muted:#c0baaf;--edge:#92815d;--accent:#eccb89;--signal:#80a3ea;--warm:#e78dd8;--accent-soft:#3e3525;--signal-soft:#303030;--warm-soft:#3d2e2e;}
html[data-theme=light][data-tint=amber]{--bg:#f7f6f3;--panel:#efece6;--ink:#322e25;--muted:#5e584a;--edge:#897858;--accent:#725313;--signal:#184091;--warm:#8b1d79;--accent-soft:#e1dacd;--signal-soft:#d5d7dc;--warm-soft:#e3d3d9;}
html[data-tint=rose]{--bg:#191012;--panel:#26171b;--ink:#e7dfe1;--muted:#c0afb3;--edge:#925d6b;--accent:#ec89a1;--signal:#77e9cc;--warm:#d1e78d;--accent-soft:#3e252b;--signal-soft:#303030;--warm-soft:#3b3029;}
html[data-theme=light][data-tint=rose]{--bg:#f7f3f4;--panel:#efe6e8;--ink:#322528;--muted:#5e4a4f;--edge:#895864;--accent:#9a1939;--signal:#10604c;--warm:#4b5d14;--accent-soft:#e5cdd3;--signal-soft:#d4d7d6;--warm-soft:#dcd6cf;}
html[data-tint=glacier]{--bg:#101519;--panel:#172026;--ink:#dfe4e7;--muted:#afb9c0;--edge:#5d7c92;--accent:#89c2ec;--signal:#e9a677;--warm:#df8de7;--accent-soft:#25333e;--signal-soft:#303030;--warm-soft:#2f2d3d;}
html[data-theme=light][data-tint=glacier]{--bg:#f3f5f7;--panel:#e6ebef;--ink:#252c32;--muted:#4a565e;--edge:#587489;--accent:#175b8c;--signal:#884617;--warm:#821d8b;--accent-soft:#cddae4;--signal-soft:#dcd8d5;--warm-soft:#dad2e3;}
html[data-tint=moss]{--bg:#141910;--panel:#1d2617;--ink:#e2e7df;--muted:#b6c0af;--edge:#73925d;--accent:#b2ec89;--signal:#c792ed;--warm:#e7958d;--accent-soft:#2f3e25;--signal-soft:#303130;--warm-soft:#353325;}
html[data-theme=light][data-tint=moss]{--bg:#f4f7f3;--panel:#eaefe6;--ink:#2a3225;--muted:#525e4a;--edge:#6c8958;--accent:#346510;--signal:#5e1891;--warm:#8b271d;--accent-soft:#d4dfcc;--signal-soft:#d9d5dc;--warm-soft:#dfd7ce;}
html[data-tint=slate]{--bg:#101319;--panel:#171c26;--ink:#dfe2e7;--muted:#afb5c0;--edge:#5d6f92;--accent:#9fb1d6;--signal:#e9c377;--warm:#8de7c9;--accent-soft:#272e3b;--signal-soft:#303030;--warm-soft:#25343a;}
html[data-theme=light][data-tint=slate]{--bg:#f3f4f7;--panel:#e6e9ef;--ink:#252932;--muted:#4a515e;--edge:#586889;--accent:#364d7d;--signal:#725212;--warm:#15654b;--accent-soft:#d1d6e1;--signal-soft:#d9d7d5;--warm-soft:#cddadc;}
/* Give the three colors visible areas and a clear hierarchy. */
.gemspace-title{color:var(--accent);font-size:calc(30px * var(--display-scale));margin-top:12px}
.gemspace-title::after{content:'';display:block;width:144px;height:3px;margin:12px auto;background:linear-gradient(to right,var(--accent) 0 60%,var(--signal) 60% 85%,var(--warm) 85% 100%)}
.terminal-intro{color:var(--warm);margin-bottom:18px}
.search{border-top:0;border-bottom:1px solid var(--accent);padding:8px 0}
.search button{background:var(--signal);color:var(--bg);border-color:var(--signal);font-weight:600}
.search button:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.search::before,.terminal-rule{color:var(--signal)}
.weather-window{background:var(--panel);border:1px solid var(--edge);border-left:3px solid var(--accent);padding:16px;gap:20px;margin:14px 0}
.sky-local summary{color:var(--accent)}
#sky-moon,figcaption,.sky-ground{color:var(--warm)}
.explore a:first-child{color:var(--signal)}.explore a:last-child{color:var(--warm)}
.curiosity #curiosity-date{color:var(--warm)}.curiosity #curiosity-title{color:var(--accent)}
.daily-trail{max-width:none;border-top:1px solid var(--edge);margin-top:22px;padding-top:16px}
.daily-trail h2{color:var(--signal);font-size:calc(18px * var(--display-scale))}
.daily-trail .trail-intro{color:var(--muted);margin-bottom:14px}
.trail-links{gap:12px}.trail-links article{--card-color:var(--accent);--card-bg:var(--accent-soft);padding:12px;border-left:3px solid var(--card-color);background:var(--card-bg)}
.trail-links article:nth-child(2){--card-color:var(--signal);--card-bg:var(--signal-soft)}
.trail-links article:nth-child(3){--card-color:var(--warm);--card-bg:var(--warm-soft)}
.trail-links article>a,.trail-links summary{color:var(--card-color)}
.trail-links article>p{color:var(--ink);margin:5px 0}.trail-links details p{color:var(--muted)}
.appearance>summary{border-color:var(--accent)}.appearance label{color:var(--ink)}
.results h2,.results h3,.capsule-document h2,.reader-page h2{color:var(--signal)}
.results .result-link+p,.link-kind,.reader-address>span,.portal-footer #portal-state,.portal-toolbar .eyebrow{color:var(--warm)}
.capsule-document h3,.reader-page h3{color:var(--warm)}
@media(max-width:620px){.gemspace-title{font-size:calc(25px * var(--display-scale))}.weather-window{padding:12px 8px;gap:10px}.trail-links{grid-template-columns:1fr;gap:10px}.trail-links article{padding:10px 12px}.daily-trail h2{font-size:calc(16px * var(--display-scale))}}

/* The home key and reader controls keep their physical size at every text level. */
.wordmark{font-size:15px;letter-spacing:.06em;font-weight:600;border:1px solid var(--edge);padding:3px 10px;box-shadow:2px 2px 0 var(--edge)}
.wordmark:hover{border-color:var(--accent);text-decoration:none}
.reader-size{--display-scale:1;display:flex;flex:none;align-items:center;justify-content:flex-end;gap:6px;height:50px;padding:4px 12px;border-bottom:1px dashed var(--edge);font:12px/1 ui-monospace,Consolas,monospace;background:var(--panel)}
.reader-size[hidden]{display:none}.reader-size>span{margin-right:4px;color:var(--muted)}
.reader-size button{flex:none;width:40px;height:40px;min-height:40px;padding:0;font:20px/1 ui-monospace,Consolas,monospace;touch-action:manipulation}
.reader-size #reader-size-reset{width:64px;font-size:12px;font-variant-numeric:tabular-nums}
.portal-toolbar,.portal-footer{flex-shrink:0}

/* Pocket-sized weather scene; dim crater texture separates shadow from sunlight. */
.sky-moon-shadow{color:#8798ae}.sky-moon{color:#f1e6bd;text-shadow:none}
html[data-theme=light] .sky-moon-shadow{color:#6b7482}html[data-theme=light] .sky-moon{color:#745415}
.weather-window{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:10px 12px;gap:12px}
@media(max-width:620px){.weather-window{grid-template-columns:1fr;padding:9px 8px;gap:8px}}

/* Results: terminal cards, highlighted matches, signal meters and places to wander next. */
.results{max-width:720px}
.results .search-summary{margin:16px 0 4px}
.results .scan-line{margin:0;font-size:calc(12px * var(--display-scale));color:var(--muted)}.scan-line b{color:var(--ink);font-weight:600}.scan-line .radar{color:var(--signal);margin-right:8px}.scan-line span{color:var(--muted)}
.results .spell{margin:10px 0;padding:8px 12px;border-left:3px solid var(--warm);background:var(--warm-soft);color:var(--ink);font-size:calc(13px * var(--display-scale))}.spell b{color:var(--accent)}.results .spell span{color:var(--muted)}
.results .also{margin:5px 0;font-size:calc(11px * var(--display-scale));color:var(--muted)}
.hits{list-style:none;margin:14px 0 0;padding:0}
.hit{position:relative;margin:0 0 12px;padding:12px 14px 10px;background:var(--panel);border:1px solid transparent;border-left:3px solid var(--edge)}
.hit:hover,.hit:focus-within{border-color:var(--edge);border-left-color:var(--accent)}
.hit.top{border-left-color:var(--signal);margin-top:18px}
.hit-head{display:flex;gap:10px;align-items:baseline}
.sigil{flex:none;min-width:3ch;font-size:calc(11px * var(--display-scale));color:var(--accent)}.tone-1 .sigil{color:var(--signal)}.tone-2 .sigil{color:var(--warm)}
.hit-title{font-size:calc(15px * var(--display-scale));line-height:1.45;color:var(--accent);overflow-wrap:anywhere}
.hit-title mark{background:var(--accent-soft);color:var(--ink);padding:0 2px}
.results .hit-url{margin:3px 0 0 calc(3ch + 10px);font-size:calc(11px * var(--display-scale));color:var(--muted);overflow-wrap:anywhere}.hit-url a{color:var(--warm)}
.results .hit-snippet{margin:8px 0;font-size:calc(12.5px * var(--display-scale));line-height:1.65;color:var(--ink);overflow-wrap:anywhere}
.hit-snippet mark{background:transparent;color:var(--ink);font-weight:600;box-shadow:inset 0 -2px var(--signal)}
.results .missing{margin:4px 0;font-size:calc(11px * var(--display-scale));color:var(--muted)}.missing s{color:var(--warm);margin-right:6px}
.results .hit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px;margin:4px 0 0;font-size:calc(10.5px * var(--display-scale))}
.tag{padding:0 6px;border:1px solid var(--edge);color:var(--muted);white-space:nowrap;line-height:1.7}
a.tag{color:var(--signal);border-style:dashed}a.tag:hover{border-color:var(--signal);text-decoration:none}
.tag.kind{color:var(--warm);border-color:var(--warm)}.tag.offline{color:var(--warm);border-style:dotted}
.meter{white-space:nowrap;color:var(--edge);margin-right:3px}.meter b{color:var(--signal);font-weight:600}
.top-pick{position:absolute;top:-10px;right:12px;padding:0 8px;background:var(--signal);color:var(--bg);font-size:calc(10px * var(--display-scale));line-height:1.8}
.capsule-card{margin:14px 0;padding:12px 14px;border:1px dashed var(--signal);background:var(--signal-soft)}.capsule-card .eyebrow{display:block;margin-bottom:4px}.results .capsule-card p{margin:5px 0;font-size:calc(11px * var(--display-scale));color:var(--ink)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0;font-size:calc(12px * var(--display-scale))}.pager span{color:var(--muted)}
.wander{margin:18px 0 0;padding-top:12px;border-top:1px dashed var(--edge)}.results .wander h2{font-size:calc(12px * var(--display-scale));margin:0 0 8px;color:var(--signal);letter-spacing:.04em}
.results .chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.chip{padding:3px 10px;border:1px solid var(--edge);background:var(--bg);color:var(--accent);font-size:calc(12px * var(--display-scale))}.chip:hover{border-color:var(--accent);text-decoration:none;color:var(--accent)}.chip small{color:var(--muted);margin-left:4px}
.results .more-ways{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;font-size:calc(11px * var(--display-scale))}
.tips{margin:12px 0 0;font-size:calc(11px * var(--display-scale));color:var(--muted)}.results .tips p{font-size:calc(11px * var(--display-scale))}.tips code{color:var(--accent);margin-right:6px}
.no-signal{text-align:center;padding:14px 0}.no-signal pre{display:inline-block;text-align:left;color:var(--signal);font:calc(13px * var(--display-scale))/1.25 ui-monospace,Consolas,monospace;margin:6px auto}
.results .no-signal p{color:var(--ink);font-size:calc(13px * var(--display-scale))}.no-signal ul{display:inline-block;text-align:left;color:var(--muted);font-size:calc(12px * var(--display-scale))}.no-signal code{color:var(--accent)}
@media(max-width:620px){.hit{padding:10px 11px 9px}.hit-title{font-size:calc(14px * var(--display-scale))}.results .hit-url{margin-left:0}.sigil{display:none}.top-pick{right:8px}}

/* Clouds sit in front of the sun or moon; what peeks out is softened, never hidden. */
.sky-bird{color:var(--muted)}
.sky-building{color:var(--muted)}.sky-water{color:#77baca}.sky-leaf{color:#91b57e}.sky-window{color:#d5b972}.sky-fog{color:#a1b2b9}.sky-wind{color:#97bbc1}
html[data-theme=light] .sky-water{color:#326c80}html[data-theme=light] .sky-leaf{color:#466b37}html[data-theme=light] .sky-window{color:#8b6728}html[data-theme=light] .sky-fog{color:#65777e}html[data-theme=light] .sky-wind{color:#416f78}
#sky-landscape{font-size:calc(10px * var(--display-scale));color:var(--muted);margin:4px 0 0}
#sky-landscape a{display:inline-block;white-space:nowrap}
.sky-cloud,.sky-cloud-shade,.sky-fog,.sky-wind,.sky-bird{display:inline-block}
.sky-cloud,.sky-cloud-shade{animation:sky-drift 14s ease-in-out infinite alternate}
.sky-fog{animation:sky-fog-drift 9s ease-in-out infinite alternate}.sky-wind{animation:sky-breeze 4s ease-in-out infinite}
.sky-star{animation:sky-twinkle 7s ease-in-out infinite alternate}.sky-window{animation:sky-window-light 19s ease-in-out infinite}.sky-water{animation:sky-ripple 8s ease-in-out infinite alternate}
.sky-star.sky-phase-1,.sky-window.sky-phase-1,.sky-water.sky-phase-1{animation-delay:-5s}.sky-star.sky-phase-2,.sky-window.sky-phase-2,.sky-water.sky-phase-2{animation-delay:-11s}
@keyframes sky-drift{from{transform:translateX(-.7px)}to{transform:translateX(1.2px)}}
@keyframes sky-fog-drift{from{transform:translateX(-2px);opacity:.65}to{transform:translateX(3px);opacity:.9}}
@keyframes sky-breeze{0%{transform:translateX(-3px);opacity:.25}50%{opacity:.8}100%{transform:translateX(4px);opacity:.25}}
@keyframes sky-twinkle{from{opacity:.5}to{opacity:1}}
@keyframes sky-window-light{0%,35%,100%{opacity:.9}45%,80%{opacity:.3}}
@keyframes sky-ripple{from{opacity:.6}to{opacity:1}}
#daily-art[data-motion=off] span{animation:none!important}
@media(prefers-reduced-motion:reduce){#daily-art span{animation:none!important}}
#daily-art[data-weather=cloud] .sky-sun,#daily-art[data-weather=fog] .sky-sun{color:#cdb67a}
#daily-art:is([data-weather=rain],[data-weather=snow],[data-weather=storm],[data-weather=ice],[data-weather=hail]) .sky-sun{color:#b9a66f}
#daily-art:is([data-weather=rain],[data-weather=storm],[data-weather=hail],[data-weather=ice]) .sky-cloud{color:#b5bcc0}
html[data-theme=light] #daily-art:is([data-weather=cloud],[data-weather=fog],[data-weather=rain],[data-weather=snow],[data-weather=storm],[data-weather=ice],[data-weather=hail]) .sky-sun{color:#8a6a10}
html[data-theme=light] #daily-art:is([data-weather=rain],[data-weather=storm],[data-weather=hail],[data-weather=ice]) .sky-cloud{color:#4d5650}

/* Material colors belong to the landscape, not the surrounding UI tint. */
#daily-art{--stone:#b5bac3;--stone-light:#d0d4dc;--earth:#c0a48b;--bark:#c4996e;--foliage:#91ce78;--foliage-light:#b3df89;--bird:#c9a57e;--bird-dark:#a8afb9;--bird-light:#eee9df}
html[data-theme=light] #daily-art{--stone:#535a64;--stone-light:#666c74;--earth:#79543a;--bark:#805028;--foliage:#336b29;--foliage-light:#47782c;--bird:#724628;--bird-dark:#30363d;--bird-light:#6c6257}
#daily-art .sky-rock,#daily-art .sky-building{color:var(--stone)}
#daily-art .sky-rock.sky-phase-1{color:var(--stone-light)}
#daily-art .sky-moon{color:#e7edf6}#daily-art .sky-moon-shadow{color:#8997ad}
html[data-theme=light] #daily-art .sky-moon{color:#4d596c}html[data-theme=light] #daily-art .sky-moon-shadow{color:#697486}
#daily-art .sky-cloud{color:#d8dde3}#daily-art .sky-cloud-shade{color:#9ba6b4}
html[data-theme=light] #daily-art .sky-cloud{color:#57616c}html[data-theme=light] #daily-art .sky-cloud-shade{color:#74808c}
#daily-art .sky-ground{color:var(--earth)}#daily-art .sky-bark{color:var(--bark)}
#daily-art .sky-leaf{color:var(--foliage);display:inline-block;transform-origin:50% 100%;animation:sky-leaf-sway 5.7s ease-in-out infinite}
#daily-art .sky-leaf.sky-phase-1{color:var(--foliage-light);animation-delay:-1.9s}
#daily-art .sky-leaf.sky-phase-2{animation-delay:-3.8s}
#daily-art[data-wind=breezy] .sky-leaf{animation-duration:4.1s}
#daily-art .sky-bird{color:var(--bird);animation:sky-bird-glide 8s ease-in-out infinite}
#daily-art .sky-bird.sky-phase-1{color:var(--bird-dark);animation-delay:-2.7s}
#daily-art .sky-bird.sky-phase-2{color:var(--bird-light);animation-delay:-5.3s}
#daily-art .sky-ray{display:inline-block;animation:sky-ray-glint 3.6s linear infinite;animation-delay:var(--ray-delay,0s)}
#daily-art:not([data-weather=clear]):not([data-weather=partly]) .sky-ray{animation:none;opacity:.8}
#daily-art:not([data-daylight=day]) .sky-ray{animation:none}
#daily-art .sky-water{display:inline-block;width:1ch;color:#77baca;animation:sky-water-flow 4.2s ease-in-out infinite;animation-delay:var(--water-delay,0s)}
html[data-theme=light] #daily-art .sky-water{color:#326c80}
#daily-art .sky-water.sky-phase-1{color:#a0d6db}
html[data-theme=light] #daily-art .sky-water.sky-phase-1{color:#235b70}
#daily-art[data-daylight=night] .sky-water.sky-phase-1{color:#b6c9df}
html[data-theme=light] #daily-art[data-daylight=night] .sky-water.sky-phase-1{color:#4b617c}
@keyframes sky-leaf-sway{0%,100%{transform:translateX(-.8px) rotate(-5deg)}50%{transform:translateX(1.1px) rotate(6deg)}}
@keyframes sky-bird-glide{0%,100%{transform:translate(-1px,0)}50%{transform:translate(1.5px,-1px)}}
/* Like precipitation, each ray travels and fades, but outwards from the sun.
   The disc stays fixed; only visible sunny-day ray cells participate. */
@keyframes sky-ray-glint{0%{opacity:.2;transform:translate(0,0)}30%{opacity:1}75%{opacity:.6}100%{opacity:.12;transform:translate(var(--ray-x,0px),var(--ray-y,-3px))}}
/* Phase offsets carry crests along the mapped waterline; never move its banks. */
@keyframes sky-water-flow{0%,100%{opacity:.55;transform:translateY(.8px)}35%{opacity:1;transform:translateY(-1.2px)}65%{opacity:.8;transform:translateY(-.3px)}}
#daily-art .sky-cosmos{color:var(--accent);animation:sky-cosmos-light 9s ease-in-out infinite}
#daily-art .sky-cosmos.sky-phase-1{color:var(--signal);animation-delay:-3s}
#daily-art .sky-cosmos.sky-phase-2{color:var(--warm);animation-delay:-6s}
@keyframes sky-cosmos-light{0%,100%{opacity:.8}50%{opacity:1}}

/* Uneven, independently phased stellar breaths, not a synchronized blink.
   Existing scene masks decide whether stars are visible through cloud cover. */
#daily-art .sky-star{animation:sky-stellar-breath var(--star-period,12s) ease-in-out infinite;animation-delay:var(--star-delay,0s)}
@keyframes sky-stellar-breath{0%,100%{opacity:var(--star-low,.3)}13%{opacity:var(--star-high,.9)}29%{opacity:.55}46%{opacity:var(--star-low,.3)}57%{opacity:.65}69%{opacity:.4}84%{opacity:var(--star-high,.9)}}
#daily-art .sky-cloud,#daily-art .sky-cloud-shade{animation-duration:var(--cloud-period,18s);animation-delay:var(--cloud-delay,0s)}

/* Tiny sky stories use existing ASCII cells; the canvas never grows or shifts. */
#daily-art [data-moment]{display:inline-block;width:1ch;opacity:var(--moment-light,1);transition:color .6s,opacity .16s}
#daily-art [data-moment=starlight]{color:#dce8fa;text-shadow:0 0 5px #a2c6f544}
#daily-art [data-moment=sparkle]{color:#b2cef2;text-shadow:0 0 4px #a2c6f530}
#daily-art [data-moment=comet-head]{color:#fff0c9;text-shadow:0 0 6px #efc98570;animation:none}
#daily-art [data-moment=comet-tail]{color:#94c9e2;animation:none}
#daily-art [data-moment=snow-crystal]{color:#e0edf4}
#daily-art [data-moment=rain-ring]{color:#b3d8e5}
html[data-theme=light] #daily-art [data-moment=starlight],html[data-theme=light] #daily-art [data-moment=sparkle]{color:#3b6284;text-shadow:none}
html[data-theme=light] #daily-art [data-moment=comet-head]{color:#826012;text-shadow:none}
html[data-theme=light] #daily-art [data-moment=comet-tail]{color:#306b89}
html[data-theme=light] #daily-art [data-moment=snow-crystal],html[data-theme=light] #daily-art [data-moment=rain-ring]{color:#34667d}
#daily-art .sky-fall{animation-delay:var(--fall-delay,0s);animation-duration:var(--fall-period,2.4s)}
#daily-art[data-weather=snow] .sky-fall{animation-duration:var(--fall-period,5s)}
#daily-art[data-motion=off] [data-moment]{transition:none}
@media(prefers-reduced-motion:reduce){#daily-art [data-moment]{transition:none}}

/* Regional sunset light belongs to the scene, independent of the chosen UI tint.
   Both mode palettes are supplied together, so switching themes stays immediate. */
#daily-art[data-sunlight] .sky-cloud{color:var(--sky-cloud-dark,#d8dde3)}
#daily-art[data-sunlight] .sky-cloud-shade{color:var(--sky-shade-dark,#9ba6b4)}
html[data-theme=light] #daily-art[data-sunlight] .sky-cloud{color:var(--sky-cloud-light,#57616c)}
html[data-theme=light] #daily-art[data-sunlight] .sky-cloud-shade{color:var(--sky-shade-light,#74808c)}
#daily-art[data-sunlight]:not([data-sunlight=neutral]) .sky-water{color:var(--sky-water-dark,#77baca)}
html[data-theme=light] #daily-art[data-sunlight]:not([data-sunlight=neutral]) .sky-water{color:var(--sky-water-light,#326c80)}
#daily-art[data-sunlight] .sky-water[data-moment=water-glint]{color:var(--sky-glint-dark,#f5d99b);text-shadow:0 0 3px #f5d99b25}
html[data-theme=light] #daily-art[data-sunlight] .sky-water[data-moment=water-glint]{color:var(--sky-glint-light,#846016);text-shadow:none}
#daily-art[data-sunlight] .sky-water[data-moment=rain-ring]{color:#b3d8e5}
html[data-theme=light] #daily-art[data-sunlight] .sky-water[data-moment=rain-ring]{color:#34667d}
#daily-art .sky-leaf[class]{animation-name:sky-crown-sway;animation-delay:var(--leaf-delay,0s)}
@keyframes sky-crown-sway{0%,100%{transform:translateX(calc(-1 * var(--leaf-travel,1px)))}50%{transform:translateX(var(--leaf-travel,1px))}}
#daily-art .sky-bird[data-moment=flock]{animation:sky-flock-glide 8s ease-in-out infinite;animation-delay:0s}
@keyframes sky-flock-glide{0%,100%{transform:translate(-.8px,0)}50%{transform:translate(.8px,-.7px)}}
#daily-art [data-moment=plane]{color:var(--bird);animation:none}
#daily-art [data-moment=saucer]{color:#b9c2df;animation:none}
#daily-art [data-moment=saucer-light]{color:#a6dec3;animation:none;text-shadow:0 0 3px #a6dec330}
html[data-theme=light] #daily-art [data-moment=saucer]{color:#5f587e}
html[data-theme=light] #daily-art [data-moment=saucer-light]{color:#356c62;text-shadow:none}
/* Keep the single-line wordmark inside narrow screens at enlarged text sizes. */
@media(max-width:620px){.gemspace-title{font-size:min(calc(25px * var(--display-scale)),calc((100vw - 48px)/6.6))}}

/* Notice text belongs to one operable disclosure, in normal flow. A fixed
   marker column keeps wrapped lines aligned with the label at every size. */
#notices-summary{display:grid;grid-template-columns:1ch minmax(0,1fr);column-gap:.6ch;align-items:start;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
#notices-summary::before{content:'+';grid-column:1;grid-row:1}
#regional-notices[open]>#notices-summary::before{content:'−'}

/* A quiet secondary action beside the weather's source and time. */
#sky-refresh{font-size:calc(10px * var(--display-scale));line-height:1.4;min-height:24px;padding:1px 2px;border:0;background:transparent;color:var(--muted)}
#sky-refresh:hover:not(:disabled),#sky-refresh:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}

/* Reversible result organization, usable without scripting. */
.result-view,.quality-kinds{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.7rem 0}
.result-view strong{font-weight:600}.quality-summary{font-size:.82em;opacity:.8}
.quality-kinds .chip{font-size:.8em}.quality-kinds{gap:.35rem .75rem}

.quality-note{white-space:normal;overflow-wrap:anywhere;max-width:100%}

/* Seasonal miniatures share the weather canvas's font and display sizing.
   Their small, stable shapes never obscure weather or regional geography. */
#sky-festival{margin-top:12px;padding-top:9px;border-top:1px dashed var(--edge)}
#sky-festival[hidden]{display:none}
#sky-festival-caption{font-size:calc(10px * var(--display-scale));color:var(--muted);margin:4px 0;overflow-wrap:anywhere}
.sky-festival-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:12px 0}
.sky-festival-control select{max-width:100%;font-size:inherit;padding:5px 7px}
#sky-festival-art .festival-a{color:var(--festival-dark-0)}
#sky-festival-art .festival-b{color:var(--festival-dark-1)}
#sky-festival-art .festival-c{color:var(--festival-dark-2)}
html[data-theme=light] #sky-festival-art .festival-a{color:var(--festival-light-0)}
html[data-theme=light] #sky-festival-art .festival-b{color:var(--festival-light-1)}
html[data-theme=light] #sky-festival-art .festival-c{color:var(--festival-light-2)}
#sky-festival-art[data-motion=on] .festival-c{animation:festival-glow 5s ease-in-out infinite}
@keyframes festival-glow{0%,100%{opacity:1}50%{opacity:.85}}
@media(prefers-reduced-motion:reduce){#sky-festival-art .festival-c{animation:none!important}}
#daily-art .sky-icefield{color:#c5e2e9}
html[data-theme=light] #daily-art .sky-icefield{color:#3a697a}
