:root{--color-bg: #f8e9ed;--color-stage: #fffaf4;--color-surface-rose: #efd1d7;--color-surface-blush: #f7e0dc;--color-surface-sage: #dce4d5;--color-surface-butter: #f1e2b8;--color-ink: #4b1f2b;--color-muted: #765865;--color-accent: #a93f63;--color-accent-deep: #76223f;--color-gold: #9b7433;--color-success: #476451;--color-line: rgba(75, 31, 43, .18);--color-line-strong: rgba(75, 31, 43, .38);--color-paper-grid: rgba(117, 65, 78, .055);--font-display: "Iowan Old Style", "Palatino Linotype", Baskerville, Georgia, serif;--font-body: "Avenir Next", Avenir, "Gill Sans", "Trebuchet MS", sans-serif;--font-mono: "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--font-size-hero: clamp(3rem, 6.8vw, 5.5rem);--font-size-title: clamp(2.125rem, 4.4vw, 3.875rem);--font-size-card-title: clamp(1.125rem, 1.8vw, 1.375rem);--font-size-body: clamp(1rem, 1.4vw, 1.1875rem);--font-size-caption: .75rem;--tracking-wide: .16em;--radius-sm: 10px;--radius-md: 18px;--radius-lg: 28px;--radius-pill: 999px;--shadow-stage: 0 28px 80px rgba(75, 31, 43, .12);--shadow-photo: 0 18px 34px rgba(75, 31, 43, .16);--shadow-soft: 0 10px 28px rgba(75, 31, 43, .08);--shadow-button: 0 8px 18px rgba(118, 34, 63, .18);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-18: 72px;--duration-fast: .18s;--duration-base: .26s;--duration-scene: .48s;--ease-out: cubic-bezier(.22, 1, .36, 1);--l4-color-night: #14212b;--l4-color-blueprint: #263b49;--l4-color-paper: #f1e4c8;--l4-color-gold: #c8a968;--l4-color-gold-soft: rgba(200, 169, 104, .28);--l4-color-conflict: #85485a;--l4-color-line: rgba(228, 210, 169, .34);--l4-shadow-board: inset 0 0 70px rgba(4, 12, 18, .5), 0 18px 38px rgba(8, 15, 20, .28);--l4-radius-board: 8px;--hero-cipher-night: #171a37;--hero-cipher-indigo: #262952;--hero-cipher-raspberry: #a94e68;--hero-cipher-brass: #c7a562;--hero-cipher-cream: #fff1d7;--hero-cipher-shadow: 0 28px 80px rgba(23, 26, 55, .3);--premiere-stamp: #b78a42;--premiere-stamp-soft: rgba(183, 138, 66, .18);--premiere-danger: #8c4057;--premiere-safe: #4f6b58}*{box-sizing:border-box}html{min-width:320px;background:var(--color-bg)}body{margin:0;min-width:320px;min-height:100dvh;color:var(--color-ink);background:radial-gradient(circle at 14% 8%,var(--color-surface-butter),transparent 24%),radial-gradient(circle at 86% 88%,var(--color-surface-sage),transparent 28%),var(--color-bg);font-family:var(--font-body);font-size:var(--font-size-body)}button{min-width:48px;min-height:48px;border:0;color:inherit;font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.proposal-app{min-height:100dvh;overflow-x:clip}.rehearsal-banner{position:fixed;z-index:30;top:0;left:50%;padding:var(--space-1) var(--space-4);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--color-stage);background:var(--color-accent-deep);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;transform:translate(-50%)}.presentation-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-3);width:min(1180px,calc(100% - 48px));min-height:100dvh;margin:0 auto;padding:34px 0 var(--space-4)}.presentation-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:58px;padding:0 var(--space-2);border-bottom:1px solid var(--color-line)}.wordmark{display:grid;width:fit-content;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;line-height:1.25}.wordmark strong{font-size:13px}.journey-position{display:grid;justify-items:center;gap:2px}.journey-position span,.eyebrow,.stage-note,.mode-caption,.rail-heading{font-family:var(--font-mono);font-size:var(--font-size-caption);letter-spacing:var(--tracking-wide);text-transform:uppercase}.journey-position strong{font-family:var(--font-display);font-size:18px;font-weight:500}.system-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);color:var(--color-muted);font-size:12px}.offline-status:before{display:inline-block;width:7px;height:7px;margin-right:var(--space-2);border-radius:50%;background:var(--color-success);content:""}.text-button{min-height:44px;padding:0 var(--space-3);background:transparent;text-decoration:underline;text-underline-offset:4px}.ceremony-stage{position:relative;display:grid;min-height:0;overflow:auto;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:linear-gradient(90deg,transparent 49.9%,var(--color-paper-grid) 50%,transparent 50.1%),linear-gradient(var(--color-paper-grid) 1px,transparent 1px),var(--color-stage);background-size:auto,100% 42px,auto;box-shadow:var(--shadow-stage)}.time-axis{position:absolute;z-index:0;top:var(--space-6);bottom:var(--space-6);left:50%;width:1px;background:var(--color-line)}.time-axis:before,.time-axis:after,.time-axis span{position:absolute;left:50%;width:9px;height:9px;border:2px solid var(--color-stage);border-radius:50%;background:var(--color-gold);content:"";transform:translate(-50%)}.time-axis:before{top:0}.time-axis span{top:50%}.time-axis:after{bottom:0}.ceremony-scene{position:relative;z-index:1;display:grid;place-content:center;justify-items:center;gap:var(--space-5);width:min(980px,calc(100% - 64px));min-height:100%;margin:0 auto;padding:var(--space-8) 0;text-align:center}.ceremony-scene h1{margin:0;font-family:var(--font-display);font-size:var(--font-size-title);font-weight:500;line-height:.98;letter-spacing:-.035em}.boot-scene h1{font-size:var(--font-size-hero)}.eyebrow{margin:0;color:var(--color-accent-deep)}.scene-copy,.scene-heading>p:last-child{max-width:620px;margin:0;color:var(--color-muted);line-height:1.7}.scene-heading{display:grid;justify-items:center;gap:var(--space-2)}.stage-note{margin:0;color:var(--color-muted)}.scene-actions,.level-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.primary-button,.secondary-button,.safe-button,.immersive-toolbar button,.mode-switch button{border-radius:var(--radius-pill);transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.primary-button{padding:0 var(--space-8);color:var(--color-stage);background:var(--color-accent-deep);box-shadow:var(--shadow-button)}.secondary-button,.immersive-toolbar button{padding:0 var(--space-5);border:1px solid var(--color-line-strong);background:var(--color-stage)}.safe-button{padding:0 var(--space-6);color:var(--color-stage);background:var(--color-success)}.primary-button:hover,.secondary-button:hover,.safe-button:hover{transform:translateY(-2px)}.mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface-blush)}.mode-switch button{padding:0 var(--space-5);background:transparent}.mode-switch button[aria-pressed=true]{color:var(--color-stage);background:var(--color-accent-deep)}.level-door-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);width:100%}.level-door{display:grid;align-content:space-between;gap:var(--space-2);min-height:128px;padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-stage);text-align:left;box-shadow:var(--shadow-soft)}.level-door>span{color:var(--color-accent);font-family:var(--font-mono);font-size:12px}.level-door strong{font-family:var(--font-display);font-size:20px;font-weight:500}.level-door small{color:var(--color-muted)}.level-door.is-current{border-color:var(--color-accent);background:var(--color-surface-blush)}.level-door.is-completed{background:var(--color-surface-sage)}.level-door.is-locked{opacity:.52;box-shadow:none}.role-tickets{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.role-tickets span{display:grid;gap:var(--space-1);min-width:150px;padding:var(--space-4) var(--space-6);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-blush);font-family:var(--font-display);font-size:20px}.role-tickets small{color:var(--color-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em}.reward-card{position:relative;display:grid;gap:var(--space-3);width:min(380px,90%);padding:var(--space-8);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-sage);box-shadow:var(--shadow-photo);transform:rotate(-1.5deg)}.reward-card.is-foil{background:linear-gradient(135deg,var(--color-surface-butter),var(--color-stage),var(--color-surface-rose))}.reward-card>span,.reward-card>small{color:var(--color-gold);font-family:var(--font-mono);letter-spacing:.12em}.reward-card p{margin:0;color:var(--color-muted)}.collection-seal{display:grid;gap:var(--space-2);padding:var(--space-6) var(--space-10);border:1px solid var(--color-gold);border-radius:var(--radius-pill);color:var(--color-gold);font-family:var(--font-mono)}.memory-rail{display:grid;gap:var(--space-2);padding:var(--space-2) var(--space-3) 0}.rail-heading{display:flex;justify-content:space-between;color:var(--color-muted)}.memory-rail-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.memory-slot{display:grid;grid-template-columns:auto 1fr;gap:1px var(--space-2);min-height:64px;padding:var(--space-2) var(--space-3);border:1px dashed var(--color-line-strong);border-radius:var(--radius-sm);color:var(--color-muted);background:color-mix(in srgb,var(--color-stage) 70%,transparent)}.memory-slot.is-collected{border-style:solid;color:var(--color-ink);background:var(--color-surface-sage)}.memory-slot.is-foil{background:var(--color-surface-butter)}.memory-number{grid-row:1 / 3;color:var(--color-gold);font-family:var(--font-mono);font-size:11px}.memory-card-title{overflow:hidden;font-family:var(--font-display);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.memory-slot small{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.level-host{position:relative;display:grid;grid-template-rows:auto 1fr;gap:var(--space-4);width:100%;min-height:100dvh;padding:36px var(--space-8) var(--space-8);color:var(--color-ink);background:radial-gradient(circle at center,var(--color-stage),var(--color-surface-sage)),var(--color-stage);overflow:hidden}.level-host[data-level-theme=time-calibration]{background:radial-gradient(circle at 50% 35%,#fffaf0 0 18%,transparent 44%),linear-gradient(135deg,#d9e4de,#f2dfd8 55%,#e7d7ad)}.level-host[data-level-theme=dialogue-repair]{color:#fff8ed;background:radial-gradient(circle at 50% 20%,#704053,transparent 38%),#351d2b}.level-host[data-level-theme=dialogue-repair] .immersive-toolbar button,.level-host[data-level-theme=dialogue-repair] .level-runtime-panel{color:var(--color-ink)}.immersive-toolbar{z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4)}.immersive-toolbar span{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-align:center}.immersive-toolbar button:last-child{justify-self:end}.immersive-toolbar button:first-child{justify-self:start}.level-runtime-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-stage) 88%,transparent);box-shadow:var(--shadow-stage)}.level-game{position:relative;display:grid;align-content:center;justify-items:center;gap:var(--space-3);min-height:0;overflow:auto;padding:var(--space-5) var(--space-7);text-align:center}.game-heading{display:grid;justify-items:center;gap:var(--space-1)}.game-heading h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,3.3vw,42px);font-weight:500;line-height:1}.game-heading>p:last-child{margin:0;color:var(--color-muted);font-size:13px}.game-live-message{min-height:22px;margin:0;color:var(--color-accent-deep);font-size:13px}.game-confirm{min-width:190px}.level-runtime-panel{z-index:3;display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:76px;padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-line);background:color-mix(in srgb,var(--color-stage) 94%,transparent)}.level-runtime-panel>small{display:none}.placeholder-game{position:relative;display:grid;place-content:center;justify-items:center;gap:var(--space-4);overflow:hidden;padding:var(--space-8);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-stage) 82%,transparent);text-align:center;box-shadow:var(--shadow-stage)}.level-runtime-stage .placeholder-game{border:0;border-radius:0;box-shadow:none}.placeholder-game h1{z-index:1;margin:0;font-family:var(--font-display);font-size:var(--font-size-title);font-weight:500}.placeholder-game>p:not(.eyebrow,.level-feedback){z-index:1;max-width:680px;margin:0;color:var(--color-muted)}.placeholder-game>small{z-index:1;max-width:620px;color:var(--color-muted);font-size:11px;line-height:1.5}.placeholder-orbit{position:absolute;width:min(56vw,560px);aspect-ratio:1;border:1px solid var(--color-line);border-radius:50%;pointer-events:none}.placeholder-game>button{z-index:1}.placeholder-orbit:before,.placeholder-orbit:after{position:absolute;top:14%;right:14%;bottom:14%;left:14%;border:1px solid var(--color-line);border-radius:50%;content:""}.placeholder-orbit:after{top:32%;right:32%;bottom:32%;left:32%;background:var(--color-surface-blush)}.placeholder-orbit span{position:absolute;top:50%;left:50%;width:7px;height:7px;border-radius:50%;background:var(--color-gold)}.input-role-list{z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.input-role-surface{padding:var(--space-2) var(--space-4);border:1px solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-stage);font-size:13px;touch-action:none}.input-role-surface[data-role-claimed=true]{color:var(--color-stage);background:var(--color-accent-deep)}.runtime-readout{z-index:1;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-wide)}.level-feedback{z-index:1;min-height:48px;max-width:640px;margin:0;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);color:var(--color-accent-deep);background:var(--color-surface-butter);font-size:12px}.level-runtime-panel .level-feedback{min-height:0;max-width:280px;padding:var(--space-2) var(--space-3)}.level-runtime-panel .input-role-list{max-width:260px}.level-runtime-panel .input-role-surface{min-height:38px;padding:var(--space-1) var(--space-3);font-size:11px}.level-runtime-panel .level-controls{flex-wrap:nowrap}.level-runtime-panel .level-controls button{min-height:40px;padding:var(--space-1) var(--space-3);font-size:12px}.time-calibration-game{background:linear-gradient(90deg,transparent 49.9%,rgba(121,72,76,.12) 50%,transparent 50.1%),repeating-linear-gradient(90deg,transparent 0 72px,rgba(121,72,76,.055) 72px 73px)}.calibration-ticket{display:grid;gap:2px;min-width:310px;padding:var(--space-2) var(--space-5);border:1px dashed #a66d68;border-radius:var(--radius-sm);background:#f5e8c9;color:#5a2836;transform:rotate(-.7deg)}.calibration-ticket span,.calibration-ticket small,.calibration-dial>span,.dialogue-card span,.dialogue-card small{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em}.calibration-ticket strong{font-family:var(--font-display);font-size:20px;font-weight:500}.calibration-dials{display:grid;grid-template-columns:repeat(3,minmax(150px,190px));gap:var(--space-5)}.calibration-dial{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid rgba(90,40,54,.24);border-radius:50% 50% var(--radius-md) var(--radius-md);background:#fffaf0d6;box-shadow:inset 0 0 0 6px #e7d7ad57}.calibration-dial>span{grid-column:1 / -1;color:#7b4652}.calibration-dial>button{min-width:42px;min-height:48px;border:1px solid rgba(90,40,54,.26);border-radius:var(--radius-pill);background:#fffaf0}.dial-window{display:grid;justify-items:center;gap:2px;padding:var(--space-2) 0;border-block:1px solid #b68a76;outline:none;cursor:ew-resize;touch-action:none}.dial-window:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.dial-window strong{color:#5a2836;font-family:var(--font-display);font-size:21px;font-weight:500;white-space:nowrap}.dial-window small{color:#9c8582;font-size:10px}.inertia-spotlight-game{color:#f8ead0;background:linear-gradient(90deg,#0b141bfa,#1c2327eb 50%,#0b141bfa),repeating-linear-gradient(0deg,transparent 0 35px,rgba(236,193,117,.04) 35px 36px)}.spotlight-heading{z-index:2}.inertia-spotlight-game .eyebrow,.inertia-spotlight-game .game-heading>p:last-child,.inertia-spotlight-game .game-live-message{color:#dfbd82}.spotlight-layout{display:grid;grid-template-columns:minmax(0,1fr) 38px;grid-template-rows:34px minmax(250px,38vh);gap:var(--space-2);width:min(900px,100%)}.spotlight-axis{position:relative;border:1px solid rgba(228,191,123,.48);border-radius:var(--radius-pill);background:#080f14d1;outline:none;touch-action:none}.spotlight-axis:before{position:absolute;border-radius:var(--radius-pill);background:repeating-linear-gradient(90deg,rgba(223,189,130,.5) 0 1px,transparent 1px 10%);content:""}.spotlight-axis-horizontal{grid-column:1;grid-row:1}.spotlight-axis-horizontal:before{inset:50% 14px auto;height:1px}.spotlight-axis-vertical{grid-column:2;grid-row:2}.spotlight-axis-vertical:before{inset:14px auto 14px 50%;width:1px;background:repeating-linear-gradient(0deg,rgba(223,189,130,.5) 0 1px,transparent 1px 10%)}.spotlight-axis span{position:absolute;width:22px;height:22px;border:4px solid #422b26;border-radius:50%;background:#e7c986;box-shadow:0 0 0 3px #e7c9863d}.spotlight-axis-horizontal span{top:50%;transform:translate(-50%,-50%)}.spotlight-axis-vertical span{left:50%;transform:translate(-50%,-50%)}.spotlight-axis:focus-visible{outline:2px solid #f3d89c;outline-offset:3px}.spotlight-scene{position:relative;grid-column:1;grid-row:2;overflow:hidden;border:1px solid rgba(228,191,123,.4);border-radius:5px 5px var(--radius-md) var(--radius-md);background:radial-gradient(ellipse at 50% 105%,rgba(190,126,70,.32),transparent 55%),linear-gradient(#15252c 0,#15252c 64%,#34281f 64%,#34281f 66%,#181b1d 66%);box-shadow:inset 0 0 80px #000000b8,0 18px 36px #00000038}.scene-curtain{position:absolute;z-index:4;top:0;bottom:0;width:13%;background:repeating-linear-gradient(90deg,#653540 0,#653540 14px,#48242d 14px,#48242d 28px);box-shadow:0 0 18px #0006;pointer-events:none}.scene-curtain-left{left:0;clip-path:polygon(0 0,100% 0,75% 100%,0 100%)}.scene-curtain-right{right:0;clip-path:polygon(0 0,100% 0,100% 100%,25% 100%)}.spotlight-object{position:absolute;z-index:2;display:grid;place-items:center;gap:2px;width:72px;min-height:64px;padding:6px;border:1px solid rgba(242,214,159,.28);border-radius:50% 50% 8px 8px;color:#f7ddaa;background:#241e1ae0;transform:translate(-50%,-50%);box-shadow:0 8px 14px #00000061}.spotlight-object:disabled{opacity:1}.spotlight-object[data-found=true]{color:#39251f;background:#e9ce94;box-shadow:0 0 24px #f4cf877a}.spotlight-object>span{font-family:var(--font-display);font-size:27px}.spotlight-object small{font-family:var(--font-mono);font-size:8px;letter-spacing:.06em}.spotlight-beam{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle 72px at var(--spot-x) var(--spot-y),transparent 0 62px,rgba(1,7,11,.84) 76px);pointer-events:none}.spotlight-beam[data-assisted=true]{background:radial-gradient(circle 98px at var(--spot-x) var(--spot-y),transparent 0 86px,rgba(1,7,11,.8) 104px)}.spotlight-progress{position:absolute;z-index:5;right:var(--space-3);bottom:var(--space-3);display:flex;gap:6px}.spotlight-progress span{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(245,220,169,.6);border-radius:50%;color:#f5dca9;background:#17232a;font-family:var(--font-mono);font-size:9px}.spotlight-progress span[data-found=true]{color:#35221d;background:#e7c986}.spotlight-message{z-index:2}.spotlight-assist{z-index:2;margin:0;color:#f1d49d;font-size:11px}.dialogue-puzzle-game{color:#fff8ed;background:linear-gradient(rgba(255,248,237,.035) 1px,transparent 1px),radial-gradient(ellipse at center,#603448 0,#351d2b 72%);background-size:100% 36px,auto}.dialogue-puzzle-game .eyebrow,.dialogue-puzzle-game .game-live-message{color:#eab6a4}.dialogue-puzzle-game .game-heading>p:last-child{color:#d8c5c7}.dialogue-strip{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:var(--space-3);width:min(920px,100%);padding:var(--space-4);border-block:10px dotted rgba(245,225,188,.34)}.dialogue-card{position:relative;display:grid;align-content:space-between;justify-items:start;gap:var(--space-3);min-height:145px;padding:var(--space-4);border:1px solid rgba(255,248,237,.34);border-radius:3px;color:#4a2535;background:#f4e7d1;text-align:left;box-shadow:7px 8px #140a103d;touch-action:none}.dialogue-card:nth-child(2n){background:#ead5d5;transform:translateY(7px)}.dialogue-card.is-selected{outline:3px solid #e89a82;transform:translateY(-5px) rotate(-1deg)}.dialogue-card.is-locked{background:#d9dfcf}.dialogue-card strong{font-family:var(--font-display);font-size:20px;font-weight:500;line-height:1.25}.commit-maze-game{--l4-color-night: #14212b;--l4-color-blueprint: #263b49;--l4-color-paper: #f1e4c8;--l4-color-gold: #c8a968;--l4-color-gold-soft: rgba(200, 169, 104, .28);--l4-color-conflict: #85485a;--l4-color-line: rgba(228, 210, 169, .34);--l4-shadow-board: inset 0 0 70px rgba(4, 12, 18, .5), 0 18px 38px rgba(8, 15, 20, .28);--l4-radius-board: 8px;color:var(--l4-color-paper);background:linear-gradient(rgba(241,228,200,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(241,228,200,.025) 1px,transparent 1px),radial-gradient(ellipse at 50% 45%,var(--l4-color-blueprint),var(--l4-color-night) 72%);background-size:34px 34px,34px 34px,auto}.commit-maze-heading{z-index:2}.commit-maze-game .eyebrow,.commit-maze-game .game-live-message{color:var(--l4-color-gold)}.commit-maze-game .game-heading>p:last-child{color:color-mix(in srgb,var(--l4-color-paper) 76%,transparent)}.commit-maze-layout{display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:minmax(285px,38vh) 48px;gap:var(--space-2);width:min(930px,100%)}.commit-maze-board{position:relative;grid-column:1;grid-row:1;overflow:hidden;border:1px solid var(--l4-color-line);border-radius:var(--l4-radius-board);background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(228,210,169,.035) 24px 25px),linear-gradient(135deg,rgba(255,255,255,.035),transparent 45%),var(--l4-color-blueprint);box-shadow:var(--l4-shadow-board)}.commit-maze-board:before,.commit-maze-board:after{position:absolute;z-index:0;border:1px solid var(--l4-color-line);content:"";pointer-events:none}.commit-maze-board:before{top:12px;right:12px;bottom:12px;left:12px}.commit-maze-board:after{top:25px;right:25px;bottom:25px;left:25px;border-style:dashed;opacity:.45}.commit-route-map{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.commit-route-map polyline{fill:none;stroke:var(--l4-color-gold);stroke-width:.75;stroke-dasharray:2.5 1.5;vector-effect:non-scaling-stroke;opacity:.62}.commit-conflict-zone{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--l4-color-conflict) 82%,white);border-radius:3px;background:repeating-linear-gradient(135deg,#85485ac7 0,#85485ac7 7px,#3e232ec7 7px,#3e232ec7 14px);transform:rotate(-1deg);box-shadow:0 6px 16px #080c1247;pointer-events:none}.commit-conflict-zone span{padding:2px 5px;color:var(--l4-color-paper);background:#231319b3;font-family:var(--font-mono);font-size:7px;letter-spacing:.08em}.commit-maze-game[data-assisted=true] .commit-conflict-zone{opacity:.25;filter:grayscale(.8)}.commit-node{position:absolute;z-index:4;display:grid;justify-items:start;gap:2px;width:clamp(130px,17vw,190px);min-height:64px;padding:8px 10px;border:1px solid var(--l4-color-line);border-radius:2px 10px;color:var(--l4-color-paper);background:color-mix(in srgb,var(--l4-color-night) 86%,transparent);transform:translate(-50%,-50%);text-align:left;box-shadow:5px 6px #050c1140}.commit-node:disabled{opacity:1}.commit-node[data-state=current]{border-color:var(--l4-color-gold);box-shadow:0 0 0 4px var(--l4-color-gold-soft),5px 6px #050c1140}.commit-node[data-state=complete]{color:var(--l4-color-night);background:var(--l4-color-gold)}.commit-node[data-state=locked]{filter:saturate(.55);opacity:.68}.commit-node>span,.commit-node>small{font-family:var(--font-mono);font-size:7px;letter-spacing:.08em}.commit-node>strong{font-family:var(--font-display);font-size:clamp(13px,1.4vw,17px);font-weight:500}.commit-cursor{position:absolute;z-index:6;top:var(--cursor-y);left:var(--cursor-x);display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--l4-color-paper);border-radius:50%;background:#14212b8c;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #f1e4c821;pointer-events:none;transition:top var(--duration-fast) linear,left var(--duration-fast) linear}.commit-cursor:before,.commit-cursor:after{position:absolute;background:var(--l4-color-paper);content:""}.commit-cursor:before{width:50px;height:1px}.commit-cursor:after{width:1px;height:50px}.commit-cursor span{width:8px;height:8px;border-radius:50%;background:var(--l4-color-gold)}.commit-checkpoint-strip{position:absolute;z-index:7;right:18px;bottom:16px;display:flex;gap:6px}.commit-checkpoint-strip span{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--l4-color-line);border-radius:50%;color:var(--l4-color-paper);background:var(--l4-color-night);font-family:var(--font-mono);font-size:8px}.commit-checkpoint-strip span[data-complete=true]{color:var(--l4-color-night);background:var(--l4-color-gold)}.commit-axis{position:relative;border:1px solid var(--l4-color-line);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--l4-color-night) 92%,transparent);outline:none;touch-action:none}.commit-axis:before{position:absolute;content:""}.commit-axis-horizontal{grid-column:1;grid-row:2}.commit-axis-horizontal:before{inset:50% 18px auto;height:1px;background:repeating-linear-gradient(90deg,var(--l4-color-gold) 0 1px,transparent 1px 10%)}.commit-axis-vertical{grid-column:2;grid-row:1}.commit-axis-vertical:before{inset:18px auto 18px 50%;width:1px;background:repeating-linear-gradient(0deg,var(--l4-color-gold) 0 1px,transparent 1px 10%)}.commit-axis>span{position:absolute;width:28px;height:28px;border:5px double var(--l4-color-night);border-radius:50%;background:var(--l4-color-gold);box-shadow:0 0 0 3px var(--l4-color-gold-soft)}.commit-axis-horizontal>span{top:50%;transform:translate(-50%,-50%)}.commit-axis-vertical>span{left:50%;transform:translate(-50%,-50%)}.commit-axis:focus-visible{outline:2px solid var(--l4-color-paper);outline-offset:3px}.commit-maze-message,.commit-maze-assist{z-index:2}.commit-maze-assist{margin:0;color:var(--l4-color-paper);font-size:11px}.level-controls{z-index:1}.pause-layer{position:absolute;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:var(--space-5);padding:var(--space-8);background:color-mix(in srgb,var(--color-ink) 78%,transparent);color:var(--color-stage);text-align:center}.pause-layer p{font-family:var(--font-mono);letter-spacing:var(--tracking-wide)}.pause-layer h2{margin:0;font-family:var(--font-display);font-size:var(--font-size-title);font-weight:500}.level-safe-fallback{display:grid;place-content:center;justify-items:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-8);background:var(--color-surface-sage);text-align:center}.level-safe-fallback h1,.level-safe-fallback p,.level-safe-fallback span{margin:0}.level-safe-fallback div{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.update-notice{position:fixed;z-index:40;right:var(--space-5);bottom:var(--space-5);display:flex;align-items:center;gap:var(--space-3);max-width:min(520px,calc(100% - 40px));padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-stage);box-shadow:var(--shadow-stage)}.update-notice button{padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-blush)}.orientation-hint{display:none}.fatal-fallback{display:grid;place-content:center;gap:var(--space-4);min-height:100dvh;padding:var(--space-8);background:var(--color-stage);text-align:center}.fatal-fallback h1{font-family:var(--font-display)}.fatal-fallback button{margin:var(--space-2);padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-surface-blush)}@media (max-width: 1060px){.presentation-shell{width:calc(100% - 32px)}.level-door-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.level-door{min-height:100px}.offline-status{display:none}.level-host{padding-inline:var(--space-5)}.level-game{padding-inline:var(--space-4)}.level-runtime-panel{gap:var(--space-2)}.level-runtime-panel .input-role-list{max-width:210px}.level-runtime-panel .level-feedback{max-width:230px}.dialogue-strip{gap:var(--space-2)}.spotlight-layout{grid-template-rows:34px minmax(245px,34vh)}.dialogue-card{min-height:130px;padding:var(--space-3)}.commit-maze-layout{grid-template-rows:minmax(270px,34vh) 46px}.commit-node{width:145px}}@media (max-width: 720px){.presentation-shell{display:block;width:calc(100% - 24px);padding-bottom:var(--space-4)}.presentation-header{grid-template-columns:1fr 1fr;margin-bottom:var(--space-3)}.journey-position{display:none}.ceremony-stage{min-height:620px}.ceremony-scene{width:calc(100% - 32px)}.level-door-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-rail{margin-top:var(--space-3)}.memory-rail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.level-host{padding-inline:var(--space-3)}.immersive-toolbar{grid-template-columns:auto 1fr auto}.placeholder-game{padding-inline:var(--space-4)}.level-runtime-stage{overflow:auto}.level-runtime-panel{flex-wrap:wrap}.calibration-dials,.dialogue-strip{grid-template-columns:1fr}.spotlight-layout{grid-template-columns:minmax(0,1fr) 34px;grid-template-rows:34px 320px;min-width:580px}.commit-maze-layout{min-width:660px}.calibration-ticket{min-width:0;width:100%}}.calibration-clue-board,.dialogue-premiere-board,.spotlight-premiere-tools,.commit-route-choice,.commit-merge-finale{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:min(860px,100%);margin-inline:auto}.calibration-clue-board{flex-direction:column}.calibration-clue-board p{margin:0}.calibration-clue-board>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);width:100%}.calibration-clue-board button,.calibration-ready-grid button{min-height:48px;padding:var(--space-2) var(--space-3);border:1px dashed color-mix(in srgb,var(--premiere-stamp, #b78a42) 65%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--premiere-stamp, #b78a42) 9%,white)}.calibration-clue-board button[aria-pressed=true],.calibration-ready-grid button[aria-pressed=true]{border-style:solid;color:#fff;background:var(--color-success)}.calibration-ready-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:var(--space-3);width:min(520px,100%);margin-inline:auto}.spotlight-premiere-tools{color:#f0dbab}.spotlight-aperture{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr))}.spotlight-premiere-tools button{min-height:48px;padding-inline:var(--space-4);border:1px solid #b9985c;color:#f0dbab;background:#29333a}.spotlight-premiere-tools button[aria-pressed=true]{color:#1b2429;background:#d3b66f}.spotlight-moving-curtain{position:absolute;z-index:4;inset:8% auto 10% 35%;width:12%;border-inline:1px solid rgba(231,208,154,.35);background:repeating-linear-gradient(90deg,rgba(80,30,44,.22) 0 8px,transparent 8px 14px);pointer-events:none;animation:curtain-drift 6s ease-in-out infinite alternate}.spotlight-scene[data-flash=true] .spotlight-object[data-target=true]{filter:drop-shadow(0 0 14px #f4d785);opacity:1}@keyframes curtain-drift{to{transform:translate(170%)}}.dialogue-premiere-board{padding:var(--space-2) var(--space-4);border-block:1px dashed rgba(238,204,150,.45);color:#f1d59a}.dialogue-premiere-board span,.dialogue-premiere-board strong{font-family:var(--font-mono);letter-spacing:.12em}.dialogue-premiere-board button{min-height:48px;margin-left:auto;padding-inline:var(--space-4);border:1px solid #c59a57;color:#f6e3bc;background:#4e2232}.dialogue-strip[data-frozen=true]{outline:2px solid rgba(215,177,98,.7);outline-offset:6px}.commit-route-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.commit-route-choice p{grid-column:1 / -1;margin:0;color:#dfc98f}.commit-route-choice button{display:grid;gap:var(--space-1);min-height:64px;padding:var(--space-3);border:1px solid #c8a968;border-radius:var(--radius-sm);color:#f1e4c8;background:#263b49}.commit-route-choice button:last-child{border-color:#a86175;background:#4b2b39}.commit-merge-finale button{min-width:220px;min-height:64px;border:1px solid #c8a968;border-radius:var(--radius-md);color:#f1e4c8;background:#263b49;touch-action:none}.commit-merge-finale button:active{color:#14212b;background:#c8a968}.hero-cipher{--cipher-night: #171a37;--cipher-indigo: #262952;--cipher-raspberry: #a94e68;--cipher-brass: #c7a562;--cipher-cream: #fff1d7;position:relative;isolation:isolate;display:grid;align-content:center;justify-items:center;gap:var(--space-4);width:min(960px,100%);min-height:min(620px,calc(100dvh - 170px));padding:clamp(28px,5vw,64px);overflow:hidden;border:1px solid color-mix(in srgb,var(--cipher-brass) 48%,transparent);border-radius:var(--radius-lg);color:var(--cipher-cream);background:linear-gradient(90deg,transparent 49.8%,color-mix(in srgb,var(--cipher-brass) 25%,transparent) 50%,transparent 50.2%),radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--cipher-raspberry) 34%,transparent),transparent 38%),var(--cipher-night);box-shadow:0 28px 80px #171a374d;text-align:center}.hero-cipher:before,.hero-cipher:after{position:absolute;z-index:-1;top:0;bottom:0;width:15%;background:linear-gradient(90deg,#7d354c,var(--cipher-raspberry));content:""}.hero-cipher:before{left:0;border-radius:0 0 100%}.hero-cipher:after{right:0;border-radius:0 0 0 100%;transform:scaleX(-1)}.hero-cipher h1{max-width:760px;margin:0;color:var(--cipher-cream);font-size:clamp(32px,5vw,62px)}.hero-cipher>p{max-width:680px;margin:0;line-height:1.8}.hero-cipher .eyebrow{color:var(--cipher-brass)}.cipher-actions,.cipher-hold-grid,.cipher-answer-grid,.cipher-reveal-cards{display:grid;grid-auto-flow:column;gap:var(--space-4)}.hero-cipher label{display:grid;gap:var(--space-2);width:min(560px,100%);color:var(--cipher-brass);font-size:13px;letter-spacing:.08em;text-align:left}.hero-cipher input,.hero-cipher select{width:100%;min-height:52px;padding:0 var(--space-4);border:1px solid color-mix(in srgb,var(--cipher-brass) 48%,transparent);border-radius:var(--radius-md);color:var(--cipher-night);background:var(--cipher-cream);font:inherit;font-size:16px;font-weight:600;letter-spacing:normal;caret-color:var(--cipher-raspberry);-webkit-text-fill-color:var(--cipher-night)}.hero-cipher input::placeholder{color:color-mix(in srgb,var(--cipher-night) 58%,transparent);opacity:1;-webkit-text-fill-color:color-mix(in srgb,var(--cipher-night) 58%,transparent)}.cipher-seal,.cipher-answer-grid button,.cipher-hold-grid button{min-width:128px;min-height:64px;border:1px solid var(--cipher-brass);border-radius:var(--radius-md);color:var(--cipher-cream);background:var(--cipher-indigo)}.cipher-seal:disabled{opacity:.45}.cipher-seal[data-armed=true]{color:var(--cipher-night);background:var(--cipher-brass)}.cipher-seal-feedback{color:color-mix(in srgb,var(--cipher-cream) 78%,transparent);font-size:14px}.cipher-shield{display:grid;width:120px;aspect-ratio:1;place-items:center;border:1px solid var(--cipher-brass);border-radius:50%;color:var(--cipher-brass);font-size:42px;box-shadow:0 0 0 12px color-mix(in srgb,var(--cipher-brass) 10%,transparent)}.cipher-question-panel{display:grid;width:min(760px,100%);justify-items:center;gap:var(--space-3)}.cipher-film{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);width:100%;max-height:150px;margin:0;padding:0;overflow:auto;list-style:none}.cipher-film li{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--cipher-night);background:var(--cipher-cream);text-align:left}.cipher-film strong{color:var(--cipher-raspberry);white-space:nowrap}.cipher-guess-panel{display:flex;align-items:end;justify-content:center;gap:var(--space-3);width:100%}.cipher-guess-panel label{width:min(360px,100%)}.cipher-hold-grid button{min-width:240px;background:linear-gradient(135deg,var(--cipher-indigo),#393d75);touch-action:none}.cipher-hold-grid button:active{color:var(--cipher-night);background:var(--cipher-brass)}.cipher-assist{color:var(--cipher-cream)}.cipher-reveal-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;width:min(720px,100%)}.cipher-reveal-cards article{display:grid;gap:var(--space-2);min-height:210px;align-content:center;padding:var(--space-6);border:1px solid var(--cipher-brass);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--cipher-indigo),var(--cipher-night))}.cipher-reveal-cards strong{color:var(--cipher-brass);font-family:var(--font-display);font-size:clamp(30px,4vw,50px)}.cipher-reveal-cards p,.cipher-reveal-cards blockquote{margin:0}.cipher-reveal-cards blockquote{color:color-mix(in srgb,var(--cipher-cream) 74%,transparent);font-style:italic}.cipher-ticket{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-6);border-block:1px dashed var(--cipher-brass);color:var(--cipher-cream)}.cipher-ticket span{color:var(--cipher-brass);font-size:11px;letter-spacing:.18em}@media (max-width: 820px){.hero-cipher{min-width:680px;padding-inline:76px}.cipher-guess-panel{flex-wrap:wrap}}@media (orientation: portrait) and (min-width: 700px){.orientation-hint{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-8);color:var(--color-stage);background:color-mix(in srgb,var(--color-ink) 94%,transparent);text-align:center}.orientation-hint svg{width:48px;height:48px}.orientation-hint div{display:grid;gap:var(--space-2)}.orientation-hint button{padding:0 var(--space-6);border-radius:var(--radius-pill);background:var(--color-stage)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
