:root{color-scheme:dark;--ink: #17131d;--ink-soft: #241d2c;--paper: #f2e6ce;--paper-muted: #c6b69f;--rose: #e78375;--rose-deep: #9b4753;--teal: #6ed1c5;--gold: #f0bf6d;--line: rgba(242,230,206,.18);--shadow: 0 18px 60px rgba(6,4,10,.34);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%;background:var(--ink);color:var(--paper)}body{overflow-x:hidden}button{font:inherit}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#app-shell{position:relative;min-height:100vh;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 8%,#34263a 0,var(--ink) 46%,#100d14 100%)}#game-canvas{position:fixed;inset:0;z-index:-3;width:100%;height:100%;display:block}#app-shell:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#0c08122e,#0c0812ad 70%,#0c0812eb)}.topbar,.hud,.memory-card,.stage-overlay,.command-deck{position:relative;z-index:2}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(18px,4vw,64px) 12px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);color:var(--gold);font-size:17px;transform:rotate(45deg)}.brand-mark:first-letter{transform:rotate(-45deg)}.eyebrow{display:block;margin:0 0 3px;color:var(--paper-muted);font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.2;text-transform:uppercase}h1,h2,p{margin:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.2vw,29px);font-weight:500;letter-spacing:.04em}.top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.icon-button,.secondary-button,.primary-button{border:1px solid var(--line);border-radius:2px;color:var(--paper);background:#211827bf;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.icon-button{padding:7px 9px;font-size:11px}.icon-button:hover,.secondary-button:hover{border-color:var(--gold);background:#432d3ce6;transform:translateY(-1px)}.icon-button[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}.seed-pill{display:inline-flex;align-items:center;min-height:29px;padding:0 9px;border:1px solid var(--line);color:var(--paper-muted);font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.hud{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.65fr;gap:10px;width:min(1120px,calc(100% - 36px));margin:0 auto 12px}.hud-card{min-height:67px;padding:12px 14px;border:1px solid var(--line);background:#1a1420b3;box-shadow:var(--shadow);backdrop-filter:blur(6px)}.hud-card strong{display:block;margin-bottom:3px;color:var(--paper);font:19px/1 Georgia,Times New Roman,serif;letter-spacing:.05em}.hud-card>span:last-child{color:var(--paper-muted);font-size:11px}.meter{height:4px;margin-top:8px;overflow:hidden;background:#f2e6ce1f}.meter i{display:block;width:62%;height:100%;background:linear-gradient(90deg,var(--rose),var(--gold));transition:width .3s ease}.phase-card strong{color:var(--teal)}.memory-card{width:min(1120px,calc(100% - 36px));margin:0 auto 12px;padding:9px 14px;border-left:2px solid var(--rose);background:#1a14208a}.memory-card p{color:var(--paper-muted);font-size:12px;line-height:1.4}.stage-overlay{min-height:40px;width:min(1120px,calc(100% - 36px));margin:0 auto 8px;pointer-events:none}.stage-ribbon{display:flex;align-items:center;gap:10px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.14em}.stage-ribbon i{display:block;flex:1;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}.propagation-readout{margin-top:6px;color:var(--paper-muted);font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.toast{min-height:20px;margin-top:5px;color:var(--teal);font-size:12px;opacity:0;transition:opacity .2s}.toast.show{opacity:1}.command-deck{width:min(1120px,calc(100% - 36px));margin:0 auto 36px;padding:18px;border:1px solid var(--line);background:linear-gradient(135deg,#221a2aeb,#14101be0);box-shadow:var(--shadow);backdrop-filter:blur(11px)}.deck-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid var(--line)}h2{font:21px/1.15 Georgia,Times New Roman,serif;font-weight:500;letter-spacing:.02em}.deck-status{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--paper-muted);font-size:11px}.deck-status span:first-child{color:var(--teal)}.target-strip{display:flex;align-items:center;gap:8px;min-height:53px;padding:10px 0 13px}.target-strip .target-label{margin-right:7px;color:var(--paper-muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.target-sigil,.strip-slot,.gesture-button,.glyph-button{display:grid;place-items:center;border:1px solid var(--line);color:var(--paper);background:#0c091157}.target-sigil{width:39px;height:39px;color:var(--gold);border-color:#f0bf6d75;font-size:19px}.strip-section,.rows-section{padding-top:14px}.section-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--paper-muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.section-label span:last-child{color:#c6b69fb8;font-weight:500;letter-spacing:.04em;text-transform:none}.gesture-palette{display:grid;grid-template-columns:repeat(6,minmax(42px,1fr));gap:7px}.gesture-button{position:relative;min-height:54px;padding:6px 4px;cursor:grab;user-select:none;transition:border-color .18s,background .18s,transform .18s}.gesture-button:hover,.gesture-button.selected{border-color:var(--teal);background:#4b89853b;transform:translateY(-1px)}.gesture-button:active{cursor:grabbing}.gesture-button[data-dragging=true]{border-color:var(--gold);background:#f0bf6d33;transform:scale(1.03)}.gesture-button b{display:block;color:var(--gold);font:21px/1 Georgia,serif}.gesture-button small{display:block;margin-top:5px;color:var(--paper-muted);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.gesture-button kbd{position:absolute;top:4px;left:5px;color:var(--paper-muted);font:9px ui-monospace,monospace}.message-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.sequence-tools{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--paper-muted);font-size:10px}.sequence-tools span{margin-right:auto}.sequence-tools .secondary-button{min-height:29px;padding:0 8px;font-size:9px}.sequence-tools .secondary-button:disabled{cursor:not-allowed;opacity:.4}.strip-slot{position:relative;min-height:65px;border-style:dashed;border-color:#f2e6ce42;cursor:pointer;transition:border-color .18s,background .18s}.strip-slot.selected{border:1px solid var(--teal);background:#6ed1c51f;box-shadow:inset 0 0 0 1px #6ed1c533}.strip-slot.filled{border-style:solid}.strip-slot b{color:var(--gold);font:26px/1 Georgia,serif}.strip-slot small{margin-top:5px;color:var(--paper-muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.strip-slot .slot-number{position:absolute;top:5px;left:7px;color:var(--paper-muted);font:9px ui-monospace,monospace}.row-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.row-card{min-width:0;padding:10px;border:1px solid var(--line);background:#09070d52;cursor:pointer;transition:border-color .18s,background .18s}.row-card:hover,.row-card.selected{border-color:var(--teal);background:#6ed1c517}.row-card.rival{border-color:#e7837580}.row-card.panic{box-shadow:inset 0 -2px 0 var(--rose)}.row-card h3{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:0 0 7px;color:var(--paper);font:14px/1 Georgia,serif;font-weight:500}.row-card h3 small{color:var(--paper-muted);font:9px ui-monospace,monospace;text-transform:uppercase}.row-source{display:flex;flex-wrap:wrap;gap:4px;min-height:24px;margin-bottom:8px}.source-button{padding:4px 6px;border:1px solid rgba(242,230,206,.18);color:var(--paper-muted);background:transparent;cursor:pointer;font:9px ui-monospace,monospace}.source-button.active{border-color:var(--gold);color:var(--gold)}.glyph-row{display:flex;gap:4px}.glyph-button{width:28px;height:30px;padding:0;cursor:pointer;color:var(--paper-muted);font:16px/1 Georgia,serif}.glyph-button:hover,.glyph-button.selected{border-color:var(--gold);color:var(--gold)}.glyph-button.rival{color:var(--rose)}.row-meta{display:flex;justify-content:space-between;gap:6px;margin-top:8px;color:var(--paper-muted);font-size:9px}.row-meta strong{color:var(--paper);font-weight:600}.action-dock{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.legend{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--paper-muted);font-size:10px}kbd{padding:2px 4px;border:1px solid var(--line);color:var(--paper);background:#0003;font:10px ui-monospace,monospace}.dock-actions{display:flex;gap:8px;flex-shrink:0}.primary-button,.secondary-button{min-height:39px;padding:0 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.primary-button{border-color:var(--teal);color:var(--ink);background:var(--teal)}.primary-button:hover{background:#9be3d8;transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0a070ebd;backdrop-filter:blur(7px)}.modal[hidden]{display:none}.modal-panel{width:min(520px,100%);padding:25px;border:1px solid var(--line);background:#211a2a;box-shadow:var(--shadow)}.modal-panel h2{margin-bottom:14px}.modal-panel p,.modal-panel li{color:var(--paper-muted);font-size:13px;line-height:1.6}.modal-panel ul{margin:0 0 18px;padding-left:18px}.modal-panel strong{color:var(--paper)}@media(max-width:840px){.topbar{align-items:flex-start;flex-direction:column}.top-actions{justify-content:flex-start}.hud,.row-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.hud,.memory-card,.stage-overlay,.command-deck{width:min(100% - 20px,1120px)}.hud{grid-template-columns:repeat(2,1fr)}.hud-card{min-height:61px;padding:10px}.hud-card strong{font-size:16px}.command-deck{padding:12px}.deck-heading,.action-dock{align-items:flex-start;flex-direction:column}.deck-status{align-items:flex-start}.gesture-palette{grid-template-columns:repeat(3,1fr)}.gesture-button{min-height:47px}.row-cards{grid-template-columns:1fr 1fr}.legend{gap:6px 9px}.dock-actions{width:100%}.dock-actions button{flex:1}.target-strip{gap:5px}.target-sigil{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}:root{--panel-strong: rgba(26, 20, 32, .92);--line: rgba(242,230,206,.24)}.hud-card,.memory-card,.stage-overlay,.command-deck{background:var(--panel-strong);backdrop-filter:blur(14px) saturate(1.1)}.hud-card,.memory-card{border-color:#f2e6ce38}.eyebrow{color:#d3c1a8}@media(min-width:841px){.command-deck{padding:20px}.gesture-button,.strip-slot,.row-card{min-width:0}.legend,.section-label{color:#c6b69f}}@media(max-width:840px){.topbar{gap:12px;padding:16px 18px 10px}.brand-lockup{min-width:0}.top-actions{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.seed-pill{min-width:0;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{min-width:0;min-height:40px;padding:6px 7px;font-size:10px}.hud,.memory-card,.stage-overlay,.command-deck{width:min(100% - 24px,1120px)}.hud-card{min-width:0}.stage-ribbon{min-width:0;font-size:9px;white-space:normal}.propagation-readout,.toast{overflow-wrap:anywhere}}@media(max-width:560px){.topbar{padding:14px 10px 8px}.brand-mark{flex:0 0 30px;width:30px;height:30px}.brand-lockup{gap:9px}h1{font-size:23px}.eyebrow{font-size:9px}.top-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.top-actions .seed-pill{grid-column:1 / -1;min-height:32px}.icon-button{min-height:40px}.hud,.memory-card,.stage-overlay,.command-deck{width:min(100% - 16px,1120px)}.hud{gap:6px}.hud-card{min-height:64px;padding:9px}.hud-card strong{font-size:17px}.hud-card>span:last-child{font-size:10px;line-height:1.25}.memory-card{padding:8px 10px}.memory-card p{font-size:11px}.stage-overlay{margin-bottom:6px}.command-deck{margin-bottom:max(14px,env(safe-area-inset-bottom));padding:10px}.deck-heading{gap:8px}.deck-status{font-size:10px}.section-label{flex-wrap:wrap;font-size:9px}.gesture-palette{gap:4px}.gesture-button{min-height:48px;padding-inline:3px}.message-strip{gap:4px}.strip-slot{min-height:62px}.sequence-tools{flex-wrap:wrap}.row-cards{gap:5px}.row-card{padding:8px}.row-card h3{font-size:13px}.row-card h3 small,.row-meta{font-size:8px}.source-button{min-height:32px}.glyph-button{width:26px;height:34px}.action-dock{gap:10px}.legend{font-size:9px}.dock-actions{display:grid;grid-template-columns:1fr;width:100%}.dock-actions button{width:100%;min-height:44px}.modal{padding:10px}.modal-panel{max-height:calc(100dvh - 20px);overflow:auto;padding:20px 16px}.modal-panel h2{font-size:24px}.modal-panel p,.modal-panel li{font-size:12px}}.hud,.memory-card,.stage-overlay,.command-deck{width:min(980px,calc(100% - 36px))}.hud{gap:6px}.hud-card{min-height:52px;padding:8px 10px;background:#1a142094;box-shadow:none;backdrop-filter:blur(5px)}.memory-card{padding:6px 10px;background:#1a142070}.memory-card p{font-size:11px}.stage-overlay{min-height:32px}.command-deck{padding:14px 16px;background:linear-gradient(135deg,#221a2ad6,#14101bd1);box-shadow:0 14px 42px #06040a47}.strip-slot.next{border-color:var(--teal);box-shadow:0 0 0 1px #6ed1c52e,0 0 18px #6ed1c51f}body[data-phase=propagating] .command-deck{border-color:#6ed1c580}body[data-phase=review] .command-deck{border-color:#f0bf6d80}body[data-phase=win] .command-deck,body[data-phase=fail] .command-deck{border-color:#e783756b}.row-card.escalated{box-shadow:inset 0 2px var(--gold)}.row-card.escalated h3 small{color:var(--gold)}.title-mode .hud,.title-mode .memory-card,.title-mode .stage-overlay{display:none}.title-mode .command-deck{width:min(560px,calc(100% - 36px));margin:0 auto max(24px,env(safe-area-inset-bottom));padding:16px 18px;background:#1a1420c7}.title-mode .command-deck .target-strip,.title-mode .command-deck .strip-section,.title-mode .command-deck .rows-section,.title-mode .command-deck .legend,.title-mode .deck-status{display:none}.title-mode .deck-heading{padding-bottom:0;border-bottom:0}.title-mode .action-dock{margin-top:14px;padding-top:0;border-top:0}.title-mode .dock-actions{margin-left:auto}.epilogue{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin-bottom:16px;padding:10px 12px;border-left:2px solid var(--teal);background:#6ed1c514}.epilogue-label{color:var(--teal);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.epilogue p{color:var(--paper-muted)}@media(max-width:560px){.title-mode .command-deck{width:min(100% - 16px,560px);padding:12px}.title-mode .action-dock{margin-top:10px}.epilogue{grid-template-columns:1fr;gap:2px}.epilogue p{margin-bottom:6px}}.command-deck{padding:11px 14px;background:linear-gradient(135deg,#221a2aad,#14101bb3);box-shadow:0 10px 30px #06040a38}.deck-heading{padding-bottom:9px}.strip-section,.rows-section{padding-top:10px}.section-label{margin-bottom:6px}.gesture-button{min-height:48px}.strip-slot{min-height:58px}.row-card{padding:8px}.glyph-button{height:28px}body[data-phase=propagating] .hud{opacity:.5}body[data-phase=propagating] .memory-card{opacity:.58}body[data-phase=propagating] .command-deck{padding:9px 12px;background:#1d16268a;box-shadow:0 8px 24px #06040a2e}body[data-phase=propagating] .command-deck .strip-section,body[data-phase=propagating] .command-deck .rows-section,body[data-phase=propagating] .command-deck .legend{display:none}body[data-phase=propagating] .command-deck .target-strip{min-height:40px;padding:5px 0 7px}body[data-phase=propagating] .command-deck .action-dock{margin-top:7px;padding-top:7px}body[data-phase=propagating] .command-deck .deck-heading{padding-bottom:6px}@media(max-width:560px){.command-deck{padding:9px 10px}.gesture-button{min-height:46px}.strip-slot{min-height:56px}.row-card{padding:7px}body[data-phase=propagating] .command-deck{padding:8px 9px}}
