:root{--color-paper: #ffffff;--color-ink: #221c4e;--color-ink-soft: #5a5478;--color-mist: #f4f2fc;--color-line: #e4e1f2;--color-glow-pink: #ff3d8a;--color-glow-pink-soft: #ffe3ef;--color-glow-aqua: #16c8b5;--color-glow-aqua-soft: #ddf6f3;--color-glow-aqua-deep: #0e7f73;--color-spark-amber: #ffb520;--color-spark-amber-soft: #fff1d6;--color-ink-raised: #2c2560;--color-ink-line: #3b3374;--color-on-ink: #d6d2ec;--color-on-ink-soft: #bdb7dc;--color-on-ink-faint: #8b84b8;--color-class-verdant: #55b04b;--color-class-feral: #a3703f;--color-class-ember: #f4633a;--color-class-gale: #7cc5ce;--color-class-tidal: #2e9bd6;--color-class-alloy: #8b8fa3;--color-class-lunar: #8fa0c4;--color-class-umbral: #6b4fa1;--font-display: "Baloo 2", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--font-data: "Space Grotesk", ui-monospace, monospace;--font-hand: "Gochi Hand", "Baloo 2", cursive;--text-display-xl: 72px;--text-display: 56px;--text-h1: 40px;--text-h2: 28px;--text-h3: 20px;--text-body-lg: 18px;--text-body: 16px;--text-label: 13px;--font-weight-display: 800;--font-weight-heading: 700;--font-weight-semibold: 600;--font-weight-body: 400;--tracking-tight: -.02em;--tracking-caps: .08em;--leading-display: 105%;--leading-heading: 120%;--leading-body: 155%;--container-content: 1120px;--container-narrow: 720px;--gutter: 96px;--spacing-section: 120px;--spacing-block: 48px;--spacing-element: 24px;--spacing-tight: 12px;--radius-pill: 999px;--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px}@media(max-width:900px){:root{--text-display-xl: 44px;--text-display: 34px;--text-h1: 28px;--text-h2: 22px;--gutter: 24px;--spacing-section: 72px;--spacing-block: 32px}}.panels{color-scheme:dark;--bg: #0b0e14;--panel: #141926;--panel-soft: #1a2131;--ink: #e7edf7;--ink-muted: #9aa7bd;--accent: #5fb98a;--accent-warm: #d9a441;--line: #263042}@keyframes hero-pulse{50%{opacity:.35}}.card{background:var(--panel);border:1px solid var(--line);border-radius:.9rem;padding:1.1rem 1.25rem}.card h2{margin:0 0 .6rem;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-warm)}.status{border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--line))}.member-list,.replay-facts{margin:.5rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.replay-facts strong{color:var(--accent)}.muted{color:var(--ink-muted)}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.account-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.account-head h2{margin:0}.badge{border-radius:999px;padding:.2rem .65rem;font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line)}.badge-live{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.badge-local{color:var(--accent-warm);border-color:color-mix(in srgb,var(--accent-warm) 45%,var(--line))}button{font:inherit;color:var(--ink);background:var(--panel-soft);border:1px solid var(--line);border-radius:.5rem;padding:.55rem 1.1rem;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.6;cursor:progress}button.primary{background:var(--accent);border-color:var(--accent);color:#0b0e14;font-weight:600}button:focus-visible{outline:2px solid var(--accent-warm);outline-offset:2px}.account-facts{margin:.75rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem}.account-facts dt{color:var(--ink-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.account-facts dd{margin:.15rem 0 0}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em;overflow-wrap:anywhere}.custody{background:var(--panel-soft);border:1px solid var(--line);border-left:3px solid var(--accent-warm);border-radius:.5rem;padding:.85rem 1rem;margin:0 0 1rem}.custody h3{margin:0 0 .35rem;font-size:1rem}.custody p{margin:0;font-size:.9rem}.auth-error{color:#f0a3a3;background:#b43c3c1f;border:1px solid rgba(180,60,60,.35);border-radius:.5rem;padding:.6rem .85rem}.auth-loading{padding:0 1.25rem}.battle-status{margin:.75rem 0}.board{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0 1rem}.board-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.tile{min-height:4.25rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel-soft);padding:.35rem;display:flex;align-items:center}.tile.lattice{border-color:color-mix(in srgb,var(--accent-warm) 35%,var(--line));background:color-mix(in srgb,var(--accent-warm) 6%,var(--panel-soft))}.chip-creature{width:100%;display:flex;flex-direction:column;gap:.2rem;font-size:.8rem}.chip-name{font-weight:600;overflow-wrap:anywhere}.chip-creature.friendly .chip-name{color:var(--accent)}.chip-creature.hostile .chip-name{color:#e08d8d}.hp-bar{display:block;height:.3rem;border-radius:999px;background:#2a3346;overflow:hidden}.hp-fill{display:block;height:100%;background:var(--accent)}.chip-creature.hostile .hp-fill{background:#e08d8d}.chip-hp{color:var(--ink-muted);font-size:.7rem}.planner-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.planner-head h3{margin:.5rem 0}.focus-budget{color:var(--ink-muted);font-size:.85rem}.focus-budget.over{color:#f0a3a3}.plan-row{border:1px solid var(--line);border-radius:.5rem;padding:.5rem .85rem .85rem;margin:0 0 .6rem;display:flex;flex-wrap:wrap;gap:.75rem}.plan-row legend{color:var(--accent);font-weight:600;padding:0 .35rem}.plan-row label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--ink-muted)}.plan-row select,.plan-row input{font:inherit;font-size:.9rem;color:var(--ink);background:var(--panel-soft);border:1px solid var(--line);border-radius:.4rem;padding:.35rem .5rem}.plan-row input[type=number]{width:4.5rem}.replay-lines{margin:.5rem 0 1rem;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.replay h3{margin:.75rem 0 0}.replay button{margin-right:.5rem}@media(max-width:480px){.shell{padding:1rem .9rem 2.25rem}}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}h1,h2,h3{font-family:var(--font-display);margin:0}p{margin:0}a{color:inherit}.display-xl,.display{font-weight:var(--font-weight-display);letter-spacing:var(--tracking-tight);line-height:var(--leading-display);text-wrap:balance}.display-xl{font-size:var(--text-display-xl)}.display{font-size:var(--text-display)}.eyebrow{font-family:var(--font-data);font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-caps);text-transform:uppercase;line-height:16px}.eyebrow-pink{color:var(--color-glow-pink)}.eyebrow-aqua{color:var(--color-glow-aqua)}.lede{font-size:var(--text-body-lg);line-height:var(--leading-body);color:var(--color-ink-soft);max-width:62ch;text-wrap:pretty}.lede-on-ink{color:var(--color-on-ink-soft)}.hand{font-family:var(--font-hand);font-size:var(--text-h3);line-height:var(--spacing-element)}.hand-aqua{color:var(--color-glow-aqua);rotate:-2deg;transform-origin:left center}.hand-pink{color:var(--color-glow-pink)}.caption{font-size:var(--text-label);line-height:16px;color:var(--color-ink-soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:var(--font-weight-heading);font-size:var(--text-body-lg);line-height:22px;padding:18px 36px;border:2px solid transparent;border-radius:var(--radius-pill);text-decoration:none;cursor:pointer;transition:translate .12s ease,box-shadow .12s ease}.button-sm{font-size:var(--text-body);line-height:20px;padding:var(--spacing-tight) var(--spacing-element)}.button-lg{font-size:var(--text-h3);padding:20px 44px}.button-pink{background:var(--color-glow-pink);color:var(--color-paper);box-shadow:4px 4px 0 var(--color-ink)}.button-sm.button-pink{box-shadow:3px 3px 0 var(--color-ink)}.button-aqua-shadow{box-shadow:4px 4px 0 var(--color-glow-aqua)}.button-outline{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-ink)}.button:hover{translate:-2px -2px}.button-pink:hover{box-shadow:6px 6px 0 var(--color-ink)}.button-aqua-shadow:hover{box-shadow:6px 6px 0 var(--color-glow-aqua)}.button:focus-visible,.nav-link:focus-visible,.cabinet-link:focus-visible{outline:3px solid var(--color-glow-aqua);outline-offset:3px}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-element);padding:var(--spacing-element) var(--gutter);max-width:calc(var(--container-content) + var(--gutter) * 2);margin:0 auto}.nav-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.nav-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-glow-pink);color:var(--color-paper);font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:var(--text-h3)}.nav-wordmark{font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:24px;line-height:30px}.nav-links{display:flex;align-items:center;gap:32px}.nav-link{font-weight:var(--font-weight-heading);text-decoration:none}.nav-link:hover{color:var(--color-glow-pink)}.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:center;gap:64px;padding:40px var(--gutter) var(--spacing-section);max-width:calc(var(--container-content) + var(--gutter) * 2);margin:0 auto}.hero-copy{display:flex;flex-direction:column;gap:var(--spacing-element)}.cabinet-wrap{display:flex;flex-direction:column;gap:var(--spacing-tight)}.cabinet{border:3px solid var(--color-ink);border-radius:var(--radius-lg);background:var(--color-ink);box-shadow:10px 10px 0 var(--color-glow-pink);overflow:hidden}.cabinet-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-tight);padding:10px 16px;background:var(--color-ink)}.cabinet-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-data);font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-glow-aqua)}.live-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--color-glow-aqua);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}.cabinet-title{font-family:var(--font-data);font-size:11px;letter-spacing:var(--tracking-caps);color:var(--color-on-ink-faint)}.cabinet-screen{position:relative;aspect-ratio:4 / 3;background:#0d0a24}.cabinet-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.cabinet-glass{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-tight);pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,color-mix(in srgb,#0d0a24 78%,transparent),color-mix(in srgb,#0d0a24 55%,transparent) 45%,color-mix(in srgb,#0d0a24 18%,transparent))}.cabinet-glass .play-button{pointer-events:auto}.cabinet-joined{box-shadow:10px 10px 0 var(--color-glow-aqua)}.cabinet-status{font-family:var(--font-data);font-size:12px;color:var(--color-on-ink-faint)}.cabinet-base-links{display:inline-flex;gap:var(--spacing-element)}.play-button{font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:26px;line-height:1;display:inline-flex;align-items:center;gap:14px;padding:22px 48px;border:3px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-glow-pink);color:var(--color-paper);box-shadow:6px 6px 0 var(--color-ink);cursor:pointer;transition:translate .12s ease,box-shadow .12s ease}.play-button:hover{translate:-2px -2px;box-shadow:9px 9px 0 var(--color-ink)}.play-button:focus-visible{outline:3px solid var(--color-glow-aqua);outline-offset:4px}.play-button-glyph{font-size:20px}.play-note{font-family:var(--font-data);font-size:12px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-paper);padding:6px 14px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-ink) 82%,transparent)}.cabinet-base{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-tight);flex-wrap:wrap;padding:12px 16px;background:var(--color-ink);border-top:1px solid var(--color-ink-line)}.cabinet-link{font-family:var(--font-data);font-size:12px;color:var(--color-on-ink-soft);text-decoration:none}.cabinet-link:hover{color:var(--color-glow-aqua)}.section{padding:var(--spacing-section) var(--gutter)}.section+.section:not(.section-ink):not(.section-blush){padding-top:calc(var(--spacing-section) / 2)}.section:not(.section-ink):not(.section-blush):has(+.section:not(.section-ink):not(.section-blush)){padding-bottom:calc(var(--spacing-section) / 2)}.section>*{max-width:var(--container-content);margin-inline:auto}.section-ink{background:var(--color-ink);color:var(--color-paper)}.section-blush{background:var(--color-glow-pink-soft)}.section-head{display:flex;flex-direction:column;gap:16px;margin-bottom:var(--spacing-block)}.section-ink .display{color:var(--color-paper)}.section-ink .lede,.section-ink .caption,.section-ink .fine-print{color:var(--color-on-ink-soft)}.pillar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-element)}.pillar{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:var(--radius-lg);background:var(--color-ink-raised)}.pillar-title{font-size:var(--text-h3);font-weight:var(--font-weight-heading);line-height:var(--spacing-element)}.pillar-title-aqua{color:var(--color-glow-aqua)}.pillar-title-pink{color:var(--color-glow-pink)}.pillar-title-amber{color:var(--color-spark-amber)}.pillar-body{color:var(--color-on-ink)}.receipt{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding:14px 16px;border:1px solid var(--color-ink-line);border-radius:var(--radius-sm);background:var(--color-ink)}.receipt-line{font-weight:var(--font-weight-semibold);line-height:20px;color:var(--color-paper)}.receipt-line-mono{font-family:var(--font-data);font-weight:500}.receipt-stamp{font-family:var(--font-data);font-size:11px;letter-spacing:var(--tracking-caps);text-transform:uppercase;line-height:14px}.receipt-stamp-aqua{color:var(--color-glow-aqua)}.receipt-stamp-pink{color:var(--color-glow-pink)}.receipt-stamp-amber{color:var(--color-spark-amber)}.section-split{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:72px;max-width:calc(var(--container-content) + var(--gutter) * 2);margin-inline:auto}.section-split>*{max-width:none}.split-copy{display:flex;flex-direction:column;gap:20px}.genome-panel{display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:var(--radius-lg);background:var(--color-mist)}.genome-chip{align-self:flex-start;font-family:var(--font-data);font-weight:500;line-height:20px;padding:8px 14px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper)}.genome-rows{display:flex;flex-direction:column;gap:10px;margin:0}.genome-row{display:flex;align-items:baseline;gap:var(--spacing-tight)}.genome-row dt{flex:0 0 110px;font-family:var(--font-data);font-size:var(--text-label);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-ink-soft)}.genome-row dd{margin:0;font-weight:var(--font-weight-semibold);line-height:20px}.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--spacing-element)}.species-card{display:flex;flex-direction:column;gap:var(--spacing-tight);padding:14px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-paper)}.species-portrait{display:grid;place-items:center;height:210px;border-radius:var(--radius-md);background:var(--color-ink)}.species-portrait img{height:200px;width:auto;object-fit:contain}.species-identity{display:flex;flex-direction:column;gap:8px;padding-inline:4px}.species-name{font-size:26px;font-weight:var(--font-weight-display);line-height:var(--leading-display)}.species-tags{display:flex;gap:6px}.tag{font-family:var(--font-data);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;line-height:14px;padding:4px 10px;border-radius:var(--radius-pill)}.tag-class{color:var(--color-paper)}.tag-role{font-weight:500;background:var(--color-mist);color:var(--color-ink-soft)}.stat-rows{display:flex;flex-direction:column;gap:6px;margin:0;padding-inline:4px}.stat-row{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;gap:8px}.stat-row dt{font-family:var(--font-data);font-size:11px;font-weight:500;line-height:14px;color:var(--color-ink-soft);cursor:help}.stat-row dd{margin:0}.stat-track{height:6px;border-radius:var(--radius-pill);background:var(--color-mist);overflow:hidden}.stat-fill{display:block;height:100%;border-radius:var(--radius-pill)}.stat-value{font-family:var(--font-data);font-size:12px;font-weight:var(--font-weight-semibold);line-height:16px;text-align:right}.species-passive{display:flex;flex-direction:column;gap:2px;padding:10px var(--spacing-tight);border-radius:var(--radius-sm)}.passive-name{font-family:var(--font-data);font-size:var(--text-label);font-weight:var(--font-weight-semibold);line-height:16px}.passive-effect{font-size:var(--text-label);line-height:145%;color:var(--color-ink-soft)}.species-footer{display:flex;flex-direction:column;gap:2px;padding:0 4px 4px;margin-top:auto}.species-saying{font-size:var(--text-body);line-height:20px;color:var(--color-ink)}.species-donor{font-family:var(--font-data);font-size:11px;line-height:14px;color:var(--color-ink-soft)}.echo-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.parent-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:220px;flex:0 0 auto;padding:var(--spacing-element);border:2px solid var(--color-ink);border-radius:var(--radius-lg);background:var(--color-paper)}.parent-sigil{display:grid;place-items:center;width:88px;height:88px;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:48px}.parent-sigil-aqua{background:var(--color-glow-aqua-soft);color:var(--color-glow-aqua)}.parent-sigil-amber{background:var(--color-spark-amber-soft);color:var(--color-spark-amber)}.parent-sigil-pink{width:64px;height:64px;font-size:var(--text-h2);background:var(--color-glow-pink-soft);color:var(--color-glow-pink)}.parent-name{font-size:var(--text-h3);font-weight:var(--font-weight-heading);line-height:var(--spacing-element)}.parent-line{font-family:var(--font-data);font-size:var(--text-label);line-height:16px;color:var(--color-ink-soft)}.echo-operator{font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:var(--text-h1);color:var(--color-glow-pink)}.echo-card{display:flex;flex-direction:column;gap:14px;flex:1 1 340px;padding:28px;border:2px solid var(--color-glow-pink);border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:6px 6px 0 var(--color-glow-pink)}.echo-head{display:flex;align-items:center;gap:var(--spacing-tight)}.inherited-memory{margin:0;display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:2px solid var(--color-glow-aqua);border-radius:4px 20px 20px;background:var(--color-glow-aqua-soft)}.inherited-memory p{font-weight:var(--font-weight-semibold);color:var(--color-ink)}.inherited-memory cite{font-family:var(--font-data);font-size:11px;font-style:normal;letter-spacing:var(--tracking-caps);text-transform:uppercase;line-height:14px;color:var(--color-glow-aqua-deep)}.fine-print{font-size:var(--text-label);line-height:16px;color:var(--color-ink-soft);margin-top:var(--spacing-block)}.section-closing{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-element);text-align:center}.closing-heading,.closing-lede{text-align:center}.closing-lede{max-width:560px}.disclaimers{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-element);margin-top:32px;font-size:var(--text-label);line-height:16px;color:var(--color-on-ink-faint)}@media(max-width:900px){.hero,.section-split{grid-template-columns:minmax(0,1fr);gap:var(--spacing-block)}.nav-links{gap:16px}.nav-link{display:none}.play-button{font-size:20px;padding:16px 32px}.echo-row{justify-content:center}.echo-operator{width:100%;text-align:center}}.practice-panels{display:flex;flex-direction:column;gap:var(--spacing-element)}.practice-panels .card{border-radius:var(--radius-lg)}
