: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)}*{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}.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}.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)}.dialogue-card{min-height:130px;padding:var(--space-3)}}@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}.calibration-ticket{min-width:0;width:100%}}@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}}
