:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-950:#09080c;--ink-900:#111017;--ink-850:#17151e;--ink-800:#1e1b27;--ink-700:#2a2635;--line:#f0debe1a;--line-strong:#f0debe38;--text:#f2ebdf;--text-soft:#cfc5b5;--muted:#958b7d;--gold:#d6b46e;--gold-strong:#e8c983;--gold-soft:#d6b46e24;--wine:#9b2f43;--wine-soft:#9b2f432e;--ok:#6dbf98;--ok-soft:#6dbf9824;--warn:#e6a95a;--warn-soft:#e6a95a24;--info:#8fb3e6;--info-soft:#8fb3e624;--font-display:"Didot", "Bodoni 72", "Bodoni MT", "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow:0 18px 40px -18px #000000b3;--tap:44px;--gutter:16px;--max:1120px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (width>=720px){:root{--gutter:28px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:radial-gradient(1200px 600px at 80% -10%, #9b2f4329, transparent 60%), radial-gradient(900px 500px at -10% 10%, #d6b46e14, transparent 60%), var(--ink-950);min-height:100dvh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}#root{min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;margin:0 0 .4em;font-weight:500;line-height:1.15}h1{font-size:clamp(2rem,6vw,3.4rem)}h2{font-size:clamp(1.45rem,4vw,2rem)}h3{font-size:1.2rem}p{margin:0 0 .8em}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-strong)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:16px}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}img{max-width:100%;display:block}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--max);padding-left:calc(var(--gutter) + var(--safe-left));padding-right:calc(var(--gutter) + var(--safe-right));margin:0 auto}.page{padding-top:20px;padding-bottom:calc(40px + var(--safe-bottom))}.stack{gap:var(--stack-gap,16px);flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row--between{justify-content:space-between}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;display:grid}.muted{color:var(--muted)}.soft{color:var(--text-soft)}.small{font-size:.875rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);margin:0 0 6px;font-size:.72rem;font-weight:600}.shell-header{z-index:20;-webkit-backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--line);padding-top:var(--safe-top);background:#09080cc7;position:sticky;top:0}.shell-header__bar{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.brand{color:var(--text);font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:10px;font-size:1.15rem;display:inline-flex}.brand:hover{color:var(--text)}.brand__mark{flex:none;width:28px;height:28px}.brand__area{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--gold);border-left:1px solid var(--line-strong);padding-left:10px;font-size:.72rem}.shell-nav{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 10px;gap:4px;display:flex;overflow-x:auto}.shell-nav::-webkit-scrollbar{display:none}.shell-nav a{min-height:36px;color:var(--text-soft);border:1px solid #0000;border-radius:999px;flex:none;align-items:center;padding:0 14px;font-size:.9rem;display:inline-flex}.shell-nav a.active{color:var(--ink-950);background:var(--gold)}.shell-nav a:not(.active):hover{border-color:var(--line-strong)}.shell-header__bar>.row{flex-wrap:nowrap;gap:6px}@media (width<=480px){.brand__name{display:none}}.tabbar{z-index:30;-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px max(8px, var(--safe-left)) calc(6px + var(--safe-bottom)) max(8px, var(--safe-right));background:#0e0d13eb;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{letter-spacing:.04em;min-height:50px;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.68rem;display:flex}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--gold)}.has-tabbar{padding-bottom:calc(96px + var(--safe-bottom))}.btn{min-height:var(--tap);border:1px solid var(--line-strong);background:var(--ink-800);color:var(--text);letter-spacing:.01em;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.95rem;font-weight:600;transition:transform .12s,background .2s,border-color .2s;display:inline-flex}.btn:hover{border-color:var(--gold);color:var(--text)}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{background:linear-gradient(180deg, var(--gold-strong), var(--gold));color:#1a1408;border-color:#0000}.btn--primary:hover{color:#1a1408;filter:brightness(1.05);border-color:#0000}.btn--ghost{background:0 0}.btn--danger{background:var(--wine-soft);border-color:#9b2f4399}.btn--sm{min-height:36px;padding:0 14px;font-size:.85rem}.btn--block{width:100%}.btn--lg{min-height:54px;padding:0 24px;font-size:1.02rem}.card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#1e1b27eb,#17151eeb);padding:18px}.card--flat{box-shadow:none}.card--accent{background:linear-gradient(#d6b46e14,#0000 60%),linear-gradient(#1e1b27f2,#17151ef2);border-color:#d6b46e59}.card__title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card__title h2,.card__title h3{margin:0}a.card{color:var(--text);transition:transform .2s,border-color .2s;display:block}a.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.badge{letter-spacing:.05em;text-transform:uppercase;background:var(--ink-700);height:24px;color:var(--text-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge--gold{background:var(--gold-soft);color:var(--gold-strong)}.badge--wine{background:var(--wine-soft);color:#f0a3b1}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--warn{background:var(--warn-soft);color:var(--warn)}.badge--info{background:var(--info-soft);color:var(--info)}.demo-badge{border:1px dashed #d6b46e80}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--ink-850);color:var(--text-soft);align-items:flex-start;gap:12px;padding:12px 14px;font-size:.92rem;display:flex}.notice strong{color:var(--text)}.notice--warn{background:var(--warn-soft);border-color:#e6a95a59}.notice--ok{background:var(--ok-soft);border-color:#6dbf9859}.notice--info{background:var(--info-soft);border-color:#8fb3e64d}.notice__icon{flex:none;width:20px;height:20px;margin-top:1px}.field{flex-direction:column;gap:6px;display:flex}.field__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.input,.select,.textarea{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);background:var(--ink-900);color:var(--text);border-radius:12px;padding:10px 14px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.textarea{resize:vertical;min-height:160px;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--gold);outline:none}.segmented{background:var(--ink-900);border:1px solid var(--line);border-radius:999px;flex-wrap:wrap;gap:2px;padding:4px;display:inline-flex}.segmented button{min-height:36px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:.9rem}.segmented button[aria-pressed=true]{background:var(--gold);color:#1a1408;font-weight:600}.stepper{border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.stepper button{background:var(--ink-800);cursor:pointer;border:0;border-radius:50%;width:38px;height:38px;font-size:1.2rem}.stepper button:disabled{opacity:.35}.stepper output{text-align:center;min-width:44px;font-size:1.1rem;font-weight:700}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.bullets{margin:0;padding-left:1.1em}.bullets li+li{margin-top:4px}.bullets li::marker{color:var(--gold)}.progress{background:var(--ink-700);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--wine), var(--gold));border-radius:inherit;height:100%;transition:width .4s;display:block}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);padding:16px;padding-bottom:calc(16px + var(--safe-bottom));background:#040306b8;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.dialog{background:var(--ink-850);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:22px;animation:.2s rise;box-shadow:0 30px 80px -20px #000000e6}.dialog h2{font-size:1.5rem}.dialog__actions{gap:10px;margin-top:18px;display:flex}.dialog__actions .btn{flex:1}@media (width>=720px){.dialog-backdrop{align-items:center}}.scene{background:radial-gradient(120% 80% at 50% 0,#d6b46e40,#0000 60%),linear-gradient(160deg,#2a1622,#0e0c14 70%);position:relative;overflow:hidden}.scene img,.scene video{object-fit:cover;width:100%;height:100%}.scene--fallback:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 38px,#d6b46e0d 38px 40px);position:absolute;inset:0}.locked{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--muted);background:repeating-linear-gradient(135deg,#ffffff04 0 10px,#0000 10px 20px);align-items:center;gap:14px;padding:18px;display:flex;position:relative}.locked svg{width:26px;height:26px;color:var(--gold);opacity:.7;flex:none}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.home{min-height:100dvh;padding-top:calc(24px + var(--safe-top));padding-bottom:calc(32px + var(--safe-bottom));background-blend-mode:normal, soft-light;background:radial-gradient(80% 50% at 50% 0,#d6b46e1f,#0000 70%),url(/scenes/lobby.svg) top/cover no-repeat fixed}.home__hero{text-align:center;padding-top:8vh;padding-bottom:32px;animation:.6s both rise}.home__mark{width:64px;height:64px;margin:0 auto 18px}.home__title{letter-spacing:.04em;background:linear-gradient(180deg, #fbf3e2 20%, var(--gold) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.25em;font-size:clamp(3rem,13vw,6.2rem)}.home__lede{max-width:560px;color:var(--text-soft);margin:0 auto 18px;font-size:1.05rem}.home__meta{justify-content:center}.home__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;display:grid}.xp-card{border-radius:var(--radius-lg);border:1px solid var(--line);min-height:200px;color:var(--text);background:linear-gradient(#1e1b27e0,#111017f0);flex-direction:column;gap:4px;padding:20px;transition:transform .25s,border-color .25s;animation:.5s both rise;display:flex;position:relative;overflow:hidden}.xp-card:before{content:"";opacity:0;background:radial-gradient(70% 60% at 100% 0,#d6b46e24,#0000 70%);transition:opacity .25s;position:absolute;inset:0}.xp-card:hover{color:var(--text);border-color:#d6b46e66;transform:translateY(-3px)}.xp-card:hover:before{opacity:1}.xp-card__icon{background:var(--gold-soft);width:44px;height:44px;color:var(--gold);border-radius:12px;place-items:center;margin-bottom:10px;display:grid}.xp-card__who{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.xp-card__title{font-family:var(--font-display);font-size:1.7rem}.xp-card__text{color:var(--text-soft);flex:1;font-size:.93rem}.xp-card__go{color:var(--gold);align-items:center;gap:6px;margin-top:10px;font-size:.9rem;font-weight:600;display:inline-flex}.home__footer{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:28px;display:flex}.evening-card,.story-card{padding:0;overflow:hidden}.evening-card__cover,.story-card__cover{aspect-ratio:16/7}.evening-card__body,.story-card__body{flex-direction:column;gap:6px;padding:16px 18px 18px;display:flex}.evening-card__body h3{margin:4px 0 0;font-size:1.35rem}.evening-card__body p{margin:0}.story-card__title{margin:4px 0 0;font-size:1.5rem}.story-card__body p{margin:0}.story-card--disabled{opacity:.55;filter:grayscale(.5)}.story-hero{border-radius:var(--radius-lg);border:1px solid var(--line);align-items:flex-end;min-height:380px;display:flex;position:relative;overflow:hidden}.story-hero__media{position:absolute;inset:0}.story-hero:after{content:"";background:linear-gradient(#09080c1a 0%,#09080ceb 70%);position:absolute;inset:0}.story-hero__content{z-index:1;flex-direction:column;align-items:flex-start;gap:10px;max-width:720px;padding:22px;display:flex;position:relative}.story-hero__content h1,.story-hero__content p{margin:0}.role-line{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.session-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.session-head__title{margin:8px 0 2px;font-size:clamp(1.7rem,5vw,2.4rem)}.session-head p{margin:0}.wizard{background:var(--ink-900);border:1px solid var(--line);border-radius:18px;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;display:grid}.wizard__step{min-height:46px;color:var(--text-soft);text-align:center;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:6px 8px;font-size:.86rem;line-height:1.2;display:flex}.wizard__step.active{background:var(--ink-700);color:var(--text)}.wizard__n{border:1px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:grid}.wizard__step.active .wizard__n{background:var(--gold);color:#1a1408;border-color:#0000}@media (width<=480px){.wizard__step{flex-direction:column;gap:4px;font-size:.74rem}}.person{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 14px;padding:12px 0;display:flex}.person__main{flex:220px;align-items:center;gap:10px;display:flex}.person__name{max-width:260px}.person__meta{flex:220px;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.person__pref{flex:1;max-width:260px}.add-person{flex-wrap:nowrap;margin-top:12px}.add-person .input{flex:1}.assign{border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:0 -10px;padding:12px 10px;transition:background .2s;display:flex}.assign.is-selected{background:var(--gold-soft)}.assign__who{flex-direction:column;flex:160px;min-width:0;display:flex}.assign__ctl{flex:260px;align-items:center;gap:8px;max-width:420px;display:flex}.assign__ctl .select{flex:1;min-width:0}.check-item{cursor:pointer;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.check-item>span:last-child{flex-direction:column;display:flex}.check-item__box{border:1.5px solid var(--line-strong);color:#1a1408;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;display:grid}.check-item.is-done .check-item__box{background:var(--gold);border-color:#0000}.check-item.is-done strong{color:var(--text-soft)}label.check-item:has(input:focus-visible) .check-item__box{outline:2px solid var(--gold);outline-offset:2px}.link-btn{color:var(--gold);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.mr{margin-bottom:4px;margin-right:6px}.tv-page{background:#000;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.tv-page>.tv{width:min(100vw,177.778dvh);height:min(100dvh,56.25vw)}.tv{color:#f6efe2;font-family:var(--font-display);background:#050407;position:relative;overflow:hidden;container-type:size}.tv--preview{aspect-ratio:16/9;border:1px solid var(--line-strong);border-radius:14px;width:100%}.tv__media{animation:40s ease-in-out infinite alternate tv-drift;position:absolute;inset:-4%}.tv--preview .tv__media{animation:none;inset:0}.tv__vignette{background:radial-gradient(120% 90% at 50% 45%,#0000 40%,#000000bf 100%),linear-gradient(#00000059,#0000 25% 55%,#000c);position:absolute;inset:0}.tv__grain{opacity:.08;mix-blend-mode:overlay;pointer-events:none;background-image:repeating-radial-gradient(circle at 17% 32%,#fff 0 .6px,#0000 .6px 3px);position:absolute;inset:0}.tv__bar{z-index:2;background:#000;height:11%;transition:height .8s;position:absolute;left:0;right:0}.tv__bar--top{top:0}.tv__bar--bottom{bottom:0}.tv__top{z-index:3;font-family:var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:#f6efe2bf;justify-content:space-between;align-items:center;font-size:1.6cqh;display:flex;position:absolute;top:5cqh;left:4cqw;right:4cqw}.tv--cinema .tv__top{opacity:0}.tv__demo{color:var(--gold);letter-spacing:.2em;border:1px dashed #d6b46e99;border-radius:999px;padding:.4em .9em}.tv__title{z-index:3;text-align:center;flex-direction:column;align-items:center;gap:1.4cqh;animation:2.4s cubic-bezier(.2,.7,.1,1) both tv-title;display:flex;position:absolute;bottom:18cqh;left:0;right:0}.tv--cinema .tv__title{bottom:16cqh}.tv__act{font-family:var(--font-body);letter-spacing:.6em;text-transform:uppercase;color:var(--gold);padding-left:.6em;font-size:2cqh}.tv__act-title{letter-spacing:.02em;text-shadow:0 .6cqh 4cqh #000c;margin:0;font-size:11cqh;font-weight:400;line-height:1}.tv__scene{color:#f6efe2b3;font-size:2.6cqh;font-style:italic}.tv__title:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);order:1;width:12cqw;height:1px}.tv__timer{z-index:3;font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:#f6efe2d9;font-size:3.4cqh;position:absolute;bottom:5cqh;right:4cqw}.tv--cinema .tv__timer{font-size:2.6cqh;bottom:3.4cqh}.tv__announce{z-index:4;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a080eb8;border:1px solid #d6b46e73;border-radius:1.4cqh;flex-direction:column;align-items:center;gap:.6cqh;max-width:70cqw;padding:2cqh 4cqw;font-size:3.6cqh;animation:.6s both tv-announce;display:flex;position:absolute;top:14cqh;left:50%;transform:translate(-50%)}.tv__announce-label{font-family:var(--font-body);letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-size:1.4cqh}.tv__neutral{background:radial-gradient(60% 60%,#15121b,#030204);flex-direction:column;justify-content:center;align-items:center;gap:2cqh;display:flex;position:absolute;inset:0}.tv__neutral-mark{opacity:.8;width:12cqh;height:12cqh;animation:6s ease-in-out infinite tv-breathe}.tv__neutral-name{letter-spacing:.4em;text-transform:uppercase;color:#f6efe280;font-size:3cqh}.tv-chrome{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));z-index:10;opacity:0;pointer-events:none;gap:8px;transition:opacity .4s;display:flex;position:fixed}.tv-chrome.is-visible{opacity:1;pointer-events:auto}.tv-chrome__btn{color:#fff;cursor:pointer;background:#00000080;border:1px solid #fff3;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}@keyframes tv-drift{0%{transform:scale(1)translate(0)}to{transform:scale(1.08)translate(-1.5%,-1%)}}@keyframes tv-title{0%{opacity:0;filter:blur(6px);letter-spacing:.2em;transform:translateY(2cqh)}}@keyframes tv-announce{0%{opacity:0;transform:translate(-50%,-1cqh)}}@keyframes tv-breathe{50%{opacity:.4}}.console-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.console-head__title{margin:0;font-size:clamp(1.6rem,5vw,2.2rem)}.console-head__progress{flex-direction:column;flex:0 260px;gap:6px;display:flex}.console-tabs{top:calc(57px + var(--safe-top));z-index:15;scrollbar-width:none;margin:0 calc(-1 * var(--gutter)) 16px;padding:8px var(--gutter);-webkit-backdrop-filter:blur(12px);background:#09080cd9;gap:6px;display:flex;position:sticky;overflow-x:auto}.console-tabs::-webkit-scrollbar{display:none}.console-tabs__btn{border:1px solid var(--line);background:var(--ink-850);min-height:40px;color:var(--text-soft);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:.9rem;display:inline-flex}.console-tabs__btn svg{width:18px;height:18px}.console-tabs__btn[data-mobile-active=true]{background:var(--gold);color:#1a1408;border-color:#0000;font-weight:600}.console__guide,.console__side{display:none}.console__guide.is-active,.console__side.is-active{display:block}@media (width>=1024px){.console{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.console__guide,.console__side{display:block}.console__side{top:calc(130px + var(--safe-top));border-radius:var(--radius-lg);max-height:calc(100dvh - 150px);position:sticky;overflow-y:auto}.console-tabs{-webkit-backdrop-filter:none;background:0 0;justify-content:flex-end}.console-tabs__btn.is-guide{display:none}.console-tabs__btn[data-mobile-active=true]{background:var(--ink-850);color:var(--text-soft);border-color:var(--line);font-weight:400}.console-tabs__btn[data-side-active=true]{background:var(--gold);color:#1a1408;border-color:#0000;font-weight:600}}.acts{grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.acts li{border:1px solid var(--line);color:var(--muted);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:10px 4px;display:flex}.acts__n{font-family:var(--font-display);font-size:1.3rem}.acts__t{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;line-height:1.2;overflow:hidden}.acts li.is-done{color:var(--text-soft);background:var(--ink-850)}.acts li.is-done .acts__n{color:var(--ok)}.acts li.is-current{color:var(--text);background:var(--gold-soft);border-color:#d6b46e8c}.acts li.is-current .acts__n{color:var(--gold-strong)}.act-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.act-head>div:first-child{flex:220px}.timer{background:var(--ink-850);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.timer__clock{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600;line-height:1}.timer.is-over{border-color:#e6a95a80}.timer.is-over .timer__clock{color:var(--warn)}.timer__note{color:var(--warn);flex-basis:100%;margin:0;font-size:.8rem}.timer .btn--sm{width:40px;min-height:40px;padding:0}.steps{scrollbar-width:none;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.steps__item{border:1px solid var(--line);min-height:40px;color:var(--text-soft);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:.88rem;display:inline-flex}.steps__item:disabled{cursor:default;opacity:.5}.steps__item.is-current{border-color:var(--gold);color:var(--text)}.steps__dot{background:var(--ink-700);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:grid}.steps__dot svg{width:16px;height:16px}.steps__item.is-done .steps__dot{background:var(--ok-soft);color:var(--ok)}.step-card{border-radius:var(--radius-lg);background:radial-gradient(90% 60% at 100% 0%, #d6b46e17, transparent 70%), linear-gradient(180deg, var(--ink-800), var(--ink-850));box-shadow:var(--shadow);border:1px solid #d6b46e4d;flex-direction:column;gap:14px;padding:20px;display:flex}.step-card__title{margin:0;font-size:clamp(1.6rem,5vw,2.1rem)}.step-card__label{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 4px;font-size:.72rem}.step-card__block p{margin:0;font-size:1.08rem}.read-aloud{border-left:3px solid var(--wine);background:#9b2f431a;border-radius:0 12px 12px 0;margin:0;padding:14px 16px}.read-aloud p{font-family:var(--font-display);margin:0;font-size:1.2rem;line-height:1.45}.fallback{border:1px solid var(--line);border-radius:12px;padding:10px 14px}.fallback summary{cursor:pointer;color:var(--text-soft);min-height:28px;font-weight:600}.fallback p{color:var(--text-soft);margin:8px 0 0}.step-card__next{align-items:center;gap:6px;margin:0;display:flex}.step-card__next svg{width:16px;height:16px}.action-bar{z-index:10;margin:0 calc(-1 * var(--gutter));padding:12px var(--gutter) calc(12px + var(--safe-bottom));background:linear-gradient(#0000,#09080cf2 30%);position:sticky;bottom:0}@media (width>=1024px){.action-bar{margin:0;padding:8px 0 16px}}.ev{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0;display:flex}.ev__head{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.hints{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hints li{background:var(--ink-850);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.hints__lvl{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:.72rem}.log{margin:0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--line);gap:12px;padding:8px 0;font-size:.92rem;display:flex}.log__time{color:var(--muted);font-variant-numeric:tabular-nums;min-width:44px}.cast{justify-content:space-between;padding:10px 0;display:flex}.toggle{min-height:var(--tap);cursor:pointer}.toggle input{width:22px;height:22px;accent-color:var(--gold)}.invite{min-height:100dvh;padding:calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));place-items:center;display:grid;position:relative;overflow:hidden}.invite__bg{filter:blur(2px)brightness(.55);position:fixed;inset:0;transform:scale(1.05)}.invite__card{text-align:center;-webkit-backdrop-filter:blur(10px);background:linear-gradient(#14121adb,#0c0b10f0);border:1px solid #d6b46e59;border-radius:28px;width:100%;max-width:420px;padding:32px 24px 22px;animation:.6s both rise;position:relative;box-shadow:0 40px 120px -30px #000000e6,inset 0 0 0 6px #d6b46e0d}.invite__card:before{content:"";pointer-events:none;border:1px solid #d6b46e2e;border-radius:20px;position:absolute;inset:10px}.invite__mark{width:46px;height:46px;margin:0 auto 12px}.invite__title{margin-bottom:4px;font-size:clamp(1.9rem,8vw,2.4rem)}.invite__date{color:var(--gold);font-size:.92rem}.invite__divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:80px;height:1px;margin:18px auto}.invite__role{margin:4px 0 0;font-size:1.9rem}.invite__role-title{color:var(--gold);font-style:italic;font-family:var(--font-display);margin-bottom:10px;font-size:1.1rem}.invite__card .btn{margin-top:14px}.invite__foot{justify-content:center;gap:8px;margin-top:16px}.character{text-align:center;padding:18px 0 6px}.character__monogram{width:92px;height:92px;font-family:var(--font-display);color:var(--gold-strong);background:radial-gradient(circle at 30% 30%,#d6b46e40,#9b2f4340);border:1px solid #d6b46e73;border-radius:50%;place-items:center;margin:0 auto 14px;font-size:2.8rem;display:grid;box-shadow:0 0 0 8px #d6b46e0d}.character__name{margin-bottom:2px;font-size:clamp(2rem,8vw,2.8rem)}.character__title{font-family:var(--font-display);color:var(--gold);font-size:1.15rem;font-style:italic}.character__line{max-width:420px;color:var(--text-soft);font-family:var(--font-display);margin:10px auto 0;font-size:1.15rem}.act-heading{font-size:1.25rem}.objective{align-items:baseline;gap:12px;padding:12px 0;display:flex}.kb{gap:16px;display:grid}@media (width>=720px){.kb{grid-template-columns:repeat(2,1fr)}}.kb__title{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-size:.75rem}.talk{flex-direction:column;padding:10px 0;display:flex}.evidence-line{flex-direction:column;gap:4px;padding:12px 0;display:flex}.map{grid-template-columns:repeat(2,1fr);grid-template-areas:"terrace terrace""ballroom suites""ballroom office""hall kitchen";gap:6px;display:grid}@media (width>=720px){.map{grid-template-columns:repeat(3,1fr);grid-template-areas:"terrace terrace suites""ballroom hall office""ballroom hall kitchen"}}.map__room{border:1px solid var(--line-strong);background:linear-gradient(160deg,#d6b46e12,#ffffff03);border-radius:10px;flex-direction:column;gap:2px;min-height:84px;padding:12px;display:flex}.map__room--hall{grid-area:hall}.map__room--ballroom{background:linear-gradient(160deg,#9b2f4333,#ffffff03);grid-area:ballroom}.map__room--suites{grid-area:suites}.map__room--office{grid-area:office}.map__room--terrace{background:linear-gradient(160deg,#8fb3e61f,#ffffff03);grid-area:terrace}.map__room--kitchen{grid-area:kitchen}.timeline{border-left:1px solid var(--line-strong);margin:0;padding:0 0 0 4px;list-style:none}.timeline li{gap:14px;padding:8px 0 8px 18px;display:flex;position:relative}.timeline li:before{content:"";background:var(--gold);border-radius:50%;width:9px;height:9px;position:absolute;top:16px;left:-5px}.timeline__time{font-variant-numeric:tabular-nums;color:var(--gold);min-width:48px;font-weight:600}@media (width>=900px){.has-tabbar .tabbar{border:1px solid var(--line);border-radius:20px;width:560px;padding-bottom:6px;bottom:16px;left:50%;right:auto;transform:translate(-50%)}}
