/* October 2026 · A room at the edge of the woods */
:root{--bg:#f5f0e7;--panel:#fffaf2;--fg:#28372f;--dim:#686754;--line:#dbd4c2;--mine:#e9ddbc;--theirs:#fffdf7;--accent:#905328;--ok:#47795e;--moon:#b87d24;--bark:#59442c}
:root[data-theme=dark]{--bg:#142323;--panel:#1c2d2c;--fg:#f5ebd7;--dim:#bcb8a3;--line:#3b4941;--mine:#374536;--theirs:#243735;--accent:#edb878;--ok:#9abe98;--moon:#e6b15a;--bark:#c69966}
html,body{height:100%;height:100dvh}body{background:radial-gradient(ellipse at 15% 0,color-mix(in srgb,var(--moon) 9%,transparent),transparent 65%),var(--bg)}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
#sky{padding:9px max(18px,calc((100vw - 900px)/2));border:0;background:var(--bg)}#sky .clock .lbl{font-size:11px;letter-spacing:.06em}#sky .clock .tm{font-size:14px}#sky .moon .phase{font-size:19px}
header{padding:5px 10px;background:transparent;border:0;gap:8px}.avatar{width:32px;height:32px;filter:drop-shadow(0 2px 3px #071e3030)}.name{font:20px/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.02em}.presence{font-size:11px;margin-top:2px}#menuBtn{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;padding:0}
#autumnWindow{display:none!important}
#autumnWindow::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102e2cf2,#102e2c80 60%,#102e2c12);z-index:-1}
.autumn-entry{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;height:100%;border:0;background:transparent;color:#fff6df;text-align:left;padding:20px 24px 35px;font:inherit}.season-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#edcba0}.season-title{font:27px/1.15 Georgia,serif;margin:6px 0}.season-weather{font-size:13px;color:#f4e6cb}.season-arrow{position:absolute;right:22px;top:30px;font-size:26px}.season-invitation{font-size:12px;position:absolute;bottom:15px;left:24px;color:#f1d4a8}
#woodlandCanvas{position:absolute;bottom:0;left:0;width:100%;height:56px;pointer-events:none}#motionToggle{position:absolute;bottom:9px;right:10px;min-width:40px;min-height:36px;border:1px solid #eadbb350;background:#14342fc9;color:#fff1d4;border-radius:12px;font-size:15px;z-index:2}
#thread{width:100%;padding-top:8px;padding-bottom:12px;gap:12px}.msg{line-height:1.6;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);box-shadow:0 3px 12px #142c2305}.msg.them{border-radius:5px 20px 20px 20px}.msg.me{border-radius:20px 5px 20px 20px}.sys{font-size:15px;line-height:1.6;max-width:38em;color:var(--dim)}
#composer{border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);padding-top:10px}#roomTruth{font-size:12px;line-height:1.5;background:transparent;padding-bottom:10px}#box{font-size:17px;border-radius:17px;background:var(--theirs)}#send{border-radius:15px;box-shadow:0 3px 10px #40281715}#talkLabel{font-size:14px}.tools button,#shareOpen{min-height:38px}#drawer .panel{width:min(370px,92vw);background:var(--panel)}.dr-head{padding:24px 16px 16px}.dr-head .ttl{font:27px Georgia,serif}.dr-body{padding:13px 14px}.dr-item{min-height:56px;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:8px}.dr-note,.dr-pref .pl,.pair-link .pair-copy small{font-size:14px}.deck{padding:20px}.deck .n{font-size:15px}.sheet p,.plain-list{font-size:16px}.sheet-close,.sheet-head button{min-width:44px;min-height:44px}
#gate{background:linear-gradient(#122e38a6,#0c242aeb),url('/autumn-woods.jpg') center/cover;color:#fff7e5}#gate .glogo{width:116px;height:116px;filter:drop-shadow(0 12px 16px #0007)}#gate .gt{color:#f1dec2;font-size:17px}#gate .pad button{background:#ffffff0d;border-color:#ffffff30;color:#fff3de;backdrop-filter:blur(10px)}#gate .pins span{border-color:#ddb77e}#gate .pins span.on{background:#ddb77e}#gerr{color:#ffcba4}#heart{background:radial-gradient(ellipse at center,#3e4330,#142b2d)}#heart .hh{color:#ecd1a2}#heart svg path{fill:#bf754f;filter:drop-shadow(0 8px 12px #0003)}
#autumnStory{padding:0;border:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;background:var(--bg);color:var(--fg);overflow:auto;overscroll-behavior:contain}#autumnStory::backdrop{background:#112623aa}.story-nav{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:12px max(18px,calc((100vw - 960px)/2));background:var(--panel);border-bottom:1px solid var(--line)}.story-nav button,.weather-unit,.weather-retry{font:inherit;font-size:14px;color:var(--fg);background:transparent;border:1px solid var(--line);border-radius:20px;min-height:42px;padding:8px 16px}.story-nav span{font:20px Georgia,serif}.story-hero{position:relative;min-height:340px;height:48vh;max-height:550px;display:flex;align-items:flex-end;background:#264b49 url('/autumn-woods.jpg') center/cover}.story-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 5%,#102e2bab)}.story-heading{position:relative;width:min(960px,100%);margin:0 auto;padding:36px 24px;color:#fff6e0}.story-heading h1{font:clamp(40px,6vw,76px)/1.03 Georgia,serif;letter-spacing:-.035em;max-width:10em;margin:12px 0}.story-heading p{font-size:17px;max-width:30em;color:#ffecd1}.story-body{width:min(960px,100%);margin:auto;padding:30px 24px 60px}.art-caption{margin:0 0 28px;font-size:12px;color:var(--dim)}.weather-now{padding:24px 0 28px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:12px}.weather-now h2{font:28px Georgia,serif;margin:0 0 8px}.weather-value{font:48px Georgia,serif}.weather-unit{align-self:start}.weather-details{font-size:15px;color:var(--dim);margin:8px 0}.weather-updated{font-size:12px;color:var(--dim)}.forecast{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.forecast-day{padding:16px 8px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px;font-size:14px}.forecast-day strong{font-size:17px}.story-prose{max-width:650px;margin:40px auto;font:19px/1.85 Georgia,serif}.story-prose h2{font:36px/1.12 Georgia,serif;letter-spacing:-.02em;margin-bottom:18px}.story-prose .drop-cap:first-letter{float:left;font:72px/.85 Georgia,serif;color:var(--accent);padding:9px 10px 0 0}.leaf-row{display:flex;justify-content:center;gap:25px;margin:30px 0}.leaf-row svg{width:74px;height:85px;filter:drop-shadow(1px 5px 2px #75432122)}.season-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0}.season-timeline div{border-top:2px solid var(--accent);padding-top:15px;font-size:15px;line-height:1.7}.season-timeline h3{font:24px Georgia,serif;margin:0 0 10px}.story-sources{font-size:13px;line-height:1.8;color:var(--dim)}.story-sources a{color:var(--accent)}.story-signoff{font:italic 25px/1.6 Georgia,serif;text-align:center;margin-top:45px;color:var(--accent)}
@media(min-width:700px){#thread,#roomTruth,#composer{padding-left:max(24px,calc((100vw - 800px)/2));padding-right:max(24px,calc((100vw - 800px)/2))}#autumnWindow{height:164px}.season-title{font-size:32px}}
@media(max-width:420px){#sky .clock{gap:4px;flex-wrap:wrap}#sky .clock .lbl{font-size:10px}#sky{padding:7px 18px}header{padding-top:6px;padding-bottom:8px}.avatar{width:43px;height:43px}.name{font-size:27px}#autumnWindow{height:123px;margin-bottom:5px}.autumn-entry{padding:15px 17px 30px}.season-title{font-size:23px}.season-eyebrow{font-size:10px}.season-invitation{left:17px;bottom:11px;font-size:11px}.season-weather{font-size:12px}.season-timeline{gap:12px}.season-timeline h3{font-size:21px}.season-timeline div{font-size:14px}.story-body{padding:24px 20px 45px}}
@media(max-height:650px){#autumnWindow{height:86px}.season-title{font-size:20px;margin:2px 0}.season-eyebrow,.season-invitation{display:none}.avatar{width:34px;height:34px}header{padding-top:4px;padding-bottom:4px}#sky{padding-top:4px;padding-bottom:4px}.autumn-entry{padding-top:9px;padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.who{position:relative}.squirrel-art{margin:35px 0}.squirrel-art img{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:18px}.squirrel-art figcaption{font-size:12px;color:var(--dim);margin-top:9px}
#seasonGreeting{flex:none;display:flex;align-items:center;gap:6px;width:min(760px,calc(100% - 24px));margin:2px auto 4px;padding:6px 7px 6px 11px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
#seasonGreeting.hide{display:none}
.greeting-open{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--accent);font:inherit;text-align:left;padding:0}
.greeting-open span:last-child{font-size:12px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.greeting-collapse{flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--dim);font-size:16px;line-height:1}
.season-chip-mark{color:var(--accent);font-size:14px}
#seasonBtn{flex:none;display:flex;align-items:center;gap:5px;max-width:150px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--accent);font:inherit;font-size:11px;padding:5px 8px;overflow:hidden}
#seasonBtn.hide{display:none}
#seasonBtn span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Keep the animal path clear of copy, including long Welsh headings. */
.season-invitation{display:none}.autumn-entry{justify-content:flex-start;padding-top:19px;padding-bottom:50px}.season-title{padding-right:25px}.season-weather{margin-top:2px}.season-arrow{right:15px}
@media(max-width:420px){#autumnWindow{height:166px}.autumn-entry{padding:13px 17px 48px}.season-title{font-size:23px;margin:6px 0}.season-weather{max-width:calc(100% - 30px)}#seasonBtn{max-width:118px}}
@media(max-height:650px){#autumnWindow{height:96px}.autumn-entry{padding-top:8px;padding-bottom:25px}.season-title{font-size:19px;line-height:1.1;margin:2px 0}.season-weather{font-size:11px}#woodlandCanvas{height:35px}}

/* The existing welcome sheet uses the browser's modal focus boundary. */
#flashSheet{width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0}
#flashSheet:not([open]){display:none}
#flashSheet::backdrop{background:transparent}
#flashCast.hide{display:none}
