/* Ways enhancements are local to the public directory, its app and entry pages. */
[hidden]{display:none!important}
button{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
.front-door .site-header{position:relative;inset:auto;background:var(--night);gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.header-tools{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.theme-choice{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--panel,#1b2230);font:12px system-ui,sans-serif}
.theme-choice button{border:0;background:transparent;color:var(--muted);min-width:44px;min-height:44px;border-radius:999px;padding:0 12px;cursor:pointer}
.theme-choice button[aria-pressed="true"]{background:var(--mint);color:var(--night)}
.app-link{display:inline-flex;min-height:44px;align-items:center;gap:.5rem;font:12px system-ui,sans-serif;text-decoration:none;color:var(--copper)}
.front-door .invitation{min-height:min(660px,75svh)}
.connection-note{margin:0;padding:1rem 5%;background:var(--panel,#202a34);border-bottom:1px solid var(--line);font:13px/1.6 system-ui,sans-serif;color:var(--ink)}
.app-panel{display:flex;gap:1.5rem;align-items:center;padding:1.5rem;border:1px solid var(--line);border-radius:18px;background:var(--panel,#1b2230);margin:1.5rem 0}
.app-panel img{width:64px;height:64px;border-radius:16px;flex:none}
.app-panel h1{font:1.5rem/1.2 Georgia,serif;font-weight:400;margin:0 0 .6rem}
.app-panel p{font:13px/1.65 system-ui,sans-serif;color:var(--muted);margin:.5rem 0}
.app-panel details{font:12px/1.65 system-ui,sans-serif;color:var(--muted)}
.app-panel summary{min-height:44px;padding:.5rem 0}
.action-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.25rem;border:1px solid var(--mint);border-radius:999px;background:var(--mint);color:var(--night);font:500 13px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer;gap:.5rem}
.action-button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
.action-button:disabled{opacity:.55;cursor:default}
.entry-page .site-header{position:relative;inset:auto;background:var(--night);flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--line)}
.entry-main{max-width:900px;margin:auto;padding:4rem 6% 5rem}
.entry-main h1{font-size:clamp(2.5rem,7vw,5rem);max-width:12em}
.entry-lead{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.75;color:var(--muted);max-width:38em}
.entry-box{border:1px solid var(--line);border-radius:18px;padding:1.5rem;margin:2rem 0;background:var(--panel,#1b2230)}
.entry-box h2{font-size:1.5rem;font-weight:400;margin:0 0 .8rem}
.entry-box p{font:14px/1.8 system-ui,sans-serif;color:var(--muted)}
.entry-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0}
.entry-note{font:12px/1.8 system-ui,sans-serif;color:var(--muted)}
.offline-mark{display:block;width:72px;height:72px;border-radius:18px;margin:0 0 2rem}
.room-story .story-cover{background:linear-gradient(140deg,#243041,#383128)}
[aria-disabled="true"]{cursor:not-allowed}
.game-card a[aria-disabled="true"],.story-card a[aria-disabled="true"],.world-card a[aria-disabled="true"]{opacity:.6}
.theme-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:root[data-theme="day"]{color-scheme:light;--night:#f6f1e8;--panel:#fffaf2;--plum:#e2d8d2;--mint:#305e51;--copper:#8b492d;--astral:#375b80;--ink:#26322e;--muted:#53615b;--line:#43524740}
[data-theme="day"] .invitation:after{background:linear-gradient(90deg,#f6f1e800 10%,#f6f1e866 42%,#f6f1e8ed 83%),linear-gradient(0deg,var(--night),transparent 30%)}
[data-theme="day"] .invitation-copy>p:not(.eyebrow){color:#40564a}
[data-theme="day"] .game-card{background:linear-gradient(180deg,#fffaf2,#ebe6dd)}
[data-theme="day"] .story-card{background:linear-gradient(130deg,#fff7eb,#eceae1)}
[data-theme="day"] .world-card{background:linear-gradient(135deg,#f8fbf3,#ede9e3)}
[data-theme="day"] .story-cover{background:radial-gradient(ellipse at 50% 20%,#ead8cd,#d5d8d1 75%)}
[data-theme="day"] .dom-story .story-cover{background:radial-gradient(ellipse at 50% 20%,#e5e7c8,#cbd8d9 75%)}
[data-theme="day"] .room-story .story-cover{background:linear-gradient(140deg,#cbd5d6,#e9deca)}
[data-theme="day"] .cover-number{color:#6e422e}
[data-theme="day"] .cover-orbit{border-color:#8b492d66;box-shadow:0 0 0 22px #8b492d09,0 0 0 58px #8b492d06}
[data-theme="day"] .star-one{color:#b7d9c6}[data-theme="day"] .star-three{color:#dda986}
@media(max-width:900px){.header-tools{gap:.6rem}.front-door .door-nav{gap:1rem}.front-door .site-header{padding:1rem 5%}.theme-choice button{padding:0 9px}.wordmark{gap:.6rem}}
@media(max-width:720px){.front-door .site-header{padding:.8rem 6%}.front-door .door-nav{gap:1.1rem}.header-tools{width:100%;justify-content:space-between}.front-door .invitation{min-height:620px;min-height:78svh}.front-door .invitation-copy{padding-top:6rem}.theme-choice{margin-left:auto}.app-panel{align-items:flex-start;padding:1.25rem;gap:1rem}.app-panel img{width:44px;height:44px;border-radius:12px}.app-panel h1{font-size:1.3rem}.entry-main{padding-top:2.5rem}.entry-page .wordmark span{display:none}.entry-page .header-tools{width:auto;margin-left:auto}.entry-actions{gap:.75rem}.entry-actions>a{width:100%}[data-theme="day"] .invitation:after{background:linear-gradient(0deg,var(--night) 8%,#f6f1e8f0 32%,#f6f1e85a 65%,#f6f1e822 85%)}}
@media(max-width:370px){.front-door .door-nav{gap:.7rem;font-size:11px}.theme-choice button{font-size:11px;padding:0 8px}.app-link{font-size:11px}.app-panel{display:block}.app-panel img{margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.ways-app .invitation{display:none}.ways-app .games{padding-top:1rem}.ways-app .app-panel{margin-top:.5rem}

.front-door .door-nav a{min-width:44px;justify-content:center}
.ways-app .app-link{display:none}
@media(max-width:720px){.ways-app .site-header{display:grid;grid-template-columns:auto 1fr;gap:.3rem}.ways-app .header-tools{width:auto;justify-content:flex-end}.ways-app .door-nav{grid-column:1/-1;justify-content:space-between}}

/* Shared public first-visit choices. */
.start-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.start-trail a{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid currentColor;border-radius:12px;text-decoration:none;color:inherit;min-height:100px}.start-trail a:focus-visible{outline:3px solid currentColor;outline-offset:4px}.start-trail span{font-size:14px;line-height:1.5}.start-trail strong{font-size:17px}@media(max-width:700px){.start-trail{grid-template-columns:1fr}}

/* Ways history contains only closed doorway IDs and times; controls stay reachable on narrow screens. */
.ways-history-toggle{display:flex;align-items:center;gap:.65rem;min-height:44px;color:var(--ink);cursor:pointer}
.ways-history-toggle input{width:20px;height:20px;flex:none;accent-color:var(--mint)}
.ways-history ol{margin:.75rem 0;padding-left:1.5rem;max-height:18rem;overflow:auto;overscroll-behavior:contain}
.ways-history li{padding:.4rem 0;color:var(--ink);font:13px/1.6 system-ui,sans-serif}
.ways-history li a{display:block;min-height:30px;color:var(--copper);text-underline-offset:3px}
.ways-history time{display:block;color:var(--muted);font-size:12px}
.ways-history-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.ways-history-import{position:relative;overflow:hidden}
.ways-history-import input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.ways-history-import:focus-within{outline:3px solid var(--mint);outline-offset:4px}
.ways-history-note{max-width:48em}
.entry-box .ways-history summary{min-height:44px;cursor:pointer;color:var(--ink);font:500 16px/1.5 system-ui,sans-serif}
@media(max-width:720px){.ways-app .app-panel{display:block}.ways-app .app-panel>img{margin-bottom:1rem}.ways-history-actions{flex-direction:column;align-items:stretch}.ways-history-actions .action-button{width:100%}.ways-history li a{min-height:44px}}
