.foyer{color:#fff;-webkit-user-select:none;user-select:none;background:#0b1026;position:fixed;inset:0;overflow:hidden}.foyer-viewport{touch-action:none;position:absolute;inset:0;overflow:hidden}.foyer-viewport.is-panning{cursor:grabbing}.foyer-scene{will-change:transform, opacity;transition:filter .5s;position:absolute;inset:0}.mode-day .foyer-scene{filter:brightness(1.2)saturate(.78)contrast(.92)}.foyer-img{object-fit:cover;width:100%;height:100%;transition:opacity .5s,transform .5s;position:absolute;inset:0}.mode-night .foyer-img-day{opacity:0;transform:rotate(-4deg)scale(1.06)}.mode-day .foyer-img-night{opacity:0;transform:rotate(4deg)scale(1.06)}.foyer-layer{pointer-events:none;transition:opacity .5s,transform .5s;position:absolute;inset:0}.mode-night .foyer-layer-day{opacity:0;transform:rotate(-4deg)scale(1.06)}.mode-day .foyer-layer-night{opacity:0;transform:rotate(4deg)scale(1.06)}.foyer-sway{object-fit:cover;transform-origin:50% 96%;width:100%;height:100%;animation:foyer-sway var(--swaydur,6.5s) ease-in-out var(--swaydelay,0s) infinite alternate;will-change:transform;position:absolute;inset:0}@keyframes foyer-sway{0%{transform:rotate(-.18deg)translate(-1.5px)}to{transform:rotate(.18deg)translate(1.5px)}}.foyer-tint{pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.foyer-tint-day{opacity:0;background:radial-gradient(190px 130px at 11.5% 84%,#fff4def2,#fff4de00 72%),radial-gradient(380px 220px at 52% 73%,#fff1d8e0,#fff1d800 74%),radial-gradient(180px 120px at 85.5% 92%,#fff4def2,#fff4de00 72%),linear-gradient(#94c8eceb 0%,#bee0f0cc 34%,#fec9 58%,#fff2dc99 100%)}.mode-day .foyer-tint-day{opacity:1}.foyer-tint-night{opacity:1;background:radial-gradient(120% 90% at 50% 108%,#0a081e00 46%,#0a081e38 100%)}.mode-day .foyer-tint-night{opacity:0}.foyer-stars{pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.mode-day .foyer-stars{opacity:0}.foyer-star{opacity:calc(var(--peak) * .25);animation:foyer-twinkle var(--dur) ease-in-out var(--delay) infinite alternate;background:#fff4d6;border-radius:50%;position:absolute;box-shadow:0 0 6px 1px #fff0c88c}@keyframes foyer-twinkle{0%{opacity:calc(var(--peak) * .18)}to{opacity:var(--peak)}}.foyer-star.is-bright{box-shadow:0 0 10px 2px #fff0c8cc}.foyer-clouds{pointer-events:none;height:52%;transition:opacity .5s;position:absolute;inset:0 0 auto;overflow:hidden}.mode-night .foyer-clouds{opacity:0}.foyer-cloud{filter:blur(7px);width:420px;height:110px;animation:foyer-cloud-drift var(--dur,100s) linear var(--delay,0s) infinite;will-change:transform;position:absolute}.foyer-cloud span{background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 18px 10px #ffffff59}@keyframes foyer-cloud-drift{0%{transform:translateX(-40vw) scale(var(--s,1))}to{transform:translateX(120vw) scale(var(--s,1))}}.mode-day .foyer-ui .foyer-hud{color:#ffe9ad;text-shadow:0 1px 6px #603e089e;background:#ffde9629;border-color:#ffd882c7;box-shadow:0 2px 18px #60461438,inset 0 0 12px #ffe8aa2e}.mode-day .foyer-ui .foyer-hud:hover{background:#ffe4a04d;border-color:#ffd06ef2}.foyer-fire{pointer-events:none;filter:blur(10px);mix-blend-mode:screen;opacity:.8;animation:foyer-breathe var(--dur) ease-in-out var(--delay) infinite alternate;background:radial-gradient(closest-side,#ffb2608c,#ff8c3c2e 55%,#0000 78%);transition:opacity .5s;position:absolute}.mode-day .foyer-fire{opacity:0;animation:none}@keyframes foyer-breathe{0%{opacity:.5;transform:scale(.94)}to{opacity:.95;transform:scale(1.06)}}.foyer-ripple{z-index:4;pointer-events:none;border:2px solid #ffcd82cc;border-radius:50%;width:38px;height:38px;margin:-19px 0 0 -19px;animation:.6s ease-out forwards foyer-ripple;position:absolute;box-shadow:inset 0 0 12px #ffbe6e59}@keyframes foyer-ripple{0%{opacity:.85;transform:scale(.55)}to{opacity:0;transform:scale(1.5)}}.foyer-ui{pointer-events:none;position:absolute;inset:0}.foyer-chip{pointer-events:auto;-webkit-backdrop-filter:blur(8px)saturate(1.15);color:#fdf9f0;letter-spacing:.04em;text-shadow:0 1px 6px #0a102873;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff61;border-radius:999px;align-items:baseline;gap:.5em;padding:.5em 1.1em;font-size:14px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;display:inline-flex;position:absolute;box-shadow:0 2px 18px #10183847,inset 0 0 12px #ffffff14}.foyer-chip small{opacity:.78;letter-spacing:.08em;font-size:11px}.foyer-chip:hover{background:#fff4e033;border-color:#ffd796c7;transform:translateY(-1px);box-shadow:0 4px 26px #ffbe6e4d,inset 0 0 14px #ffe6b41f}.foyer-chip:focus-visible{outline-offset:3px;outline:2px solid #ffcd82f2}.foyer-chip[disabled]{opacity:.6;cursor:default}.foyer-hot{pointer-events:auto;cursor:pointer;background:0 0;border:none;padding:0;position:absolute}.foyer-hot-glow{opacity:0;border-radius:26px;transition:opacity .35s;position:absolute;inset:0}.foyer-hot:hover .foyer-hot-glow,.foyer-hot:focus-visible .foyer-hot-glow{opacity:.55}.foyer-hot:focus-visible{outline-offset:2px;outline:2px solid #ffcd82f2}.foyer-hot-cap{-webkit-backdrop-filter:blur(6px);color:#ffe9b8;letter-spacing:.14em;text-shadow:0 1px 5px #0a102880;white-space:nowrap;opacity:0;background:#141a326b;border:1px solid #ffffff59;border-radius:999px;padding:.3em .95em;font-size:12.5px;transition:opacity .35s,transform .35s;position:absolute;top:14px;left:50%;transform:translate(-50%)translateY(5px)}.foyer-hot:hover .foyer-hot-cap,.foyer-hot:focus-visible .foyer-hot-cap{opacity:1;transform:translate(-50%)translateY(0)}.foyer.kb-nav .foyer-hot:focus .foyer-hot-glow{opacity:.55}.foyer.kb-nav .foyer-hot:focus .foyer-hot-cap{opacity:1;transform:translate(-50%)translateY(0)}.foyer.kb-nav .foyer-hot:focus,.foyer.kb-nav .foyer-hud:focus{outline-offset:2px;outline:2px solid #ffcd82f2}.foyer-hud{pointer-events:auto;-webkit-backdrop-filter:blur(8px)saturate(1.15);color:#fdf9f0;text-shadow:0 1px 6px #0a102873;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff59;border-radius:50%;place-items:center;width:44px;height:44px;font-size:19px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;display:grid;position:absolute;box-shadow:0 2px 16px #10183842,inset 0 0 10px #ffffff14}.foyer-hud:hover{background:#fff4e033;border-color:#ffd796c7;transform:translateY(-1px);box-shadow:0 4px 22px #ffbe6e4d,inset 0 0 12px #ffe6b41f}.foyer-hud:focus-visible{outline-offset:3px;outline:2px solid #ffcd82f2}.foyer.has-day-asset .foyer-tint-day{opacity:0}.foyer.has-day-asset.mode-day .foyer-scene{filter:none}.foyer.is-hidden .foyer-star,.foyer.is-hidden .foyer-fire{animation-play-state:paused}.foyer-overlay{z-index:50;place-items:center;transition:opacity .25s;animation:.25s ease-out foyer-overlay-in;display:grid;position:fixed;inset:0}.foyer-overlay.is-closing{opacity:0}.foyer-overlay.is-still{animation:none}@keyframes foyer-overlay-in{0%{opacity:0}to{opacity:1}}.foyer-overlay-bg{object-fit:cover;filter:blur(14px)brightness(.72);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.08)}.foyer-overlay-tint{background:linear-gradient(180deg, color-mix(in srgb, var(--gate) 26%, transparent), color-mix(in srgb, var(--gate) 8%, transparent) 55%, #080a1a8c), radial-gradient(90% 70% at 50% 42%, #080a1a2e, #080a1a99);position:absolute;inset:0}.foyer-card{border:1px solid color-mix(in srgb, var(--gate) 55%, #fff6);-webkit-backdrop-filter:blur(16px)saturate(1.2);max-width:min(520px,86vw);box-shadow:0 18px 60px #04081880, inset 0 0 30px color-mix(in srgb, var(--gate) 12%, transparent);text-align:center;background:#10142c94;border-radius:22px;padding:44px 48px 36px;position:relative}.foyer-card-glyph{color:var(--gate);text-shadow:0 0 24px color-mix(in srgb, var(--gate) 65%, transparent);font-size:40px}.foyer-card h1{letter-spacing:.06em;margin:10px 0 4px;font-family:Georgia,Noto Serif SC,serif;font-size:26px;font-weight:600}.foyer-card-who{color:#fdf6e8b8;letter-spacing:.08em;margin:0 0 18px;font-size:13px}.foyer-card-status{border:1px solid color-mix(in srgb, var(--gate) 45%, transparent);background:color-mix(in srgb, var(--gate) 14%, transparent);letter-spacing:.12em;border-radius:999px;margin:0 0 10px;padding:.35em 1em;font-size:13px;display:inline-block}.foyer-card-note{color:#fdf6e88c;margin:0 0 26px;font-size:12px}.foyer-card-exit{position:static}@media (prefers-reduced-motion:reduce){.foyer-star,.foyer-fire,.foyer-cloud,.foyer-sway{animation:none}.foyer-star{opacity:calc(var(--peak) * .5)}.foyer-fire{opacity:.7}.foyer-ripple{animation-duration:.3s}.foyer-img,.foyer-tint,.foyer-stars,.foyer-clouds,.foyer-layer{transition-duration:.2s}.mode-night .foyer-img-day,.mode-day .foyer-img-night{transform:none}.foyer-overlay{animation:none}}
