@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #07070b;--bg-2: #0d0d14;--surface: #111118;--surface-2: #171722;--line: #22222e;--line-2: #2d2d3b;--ink: #ececf1;--ink-2: #b8b8c6;--muted: #8b8b99;--faint: #55556a;--calm: #5ad4ff;--calm-deep: #1f6f99;--warm: #ff8fc8;--amused: #ffd34d;--sad: #5b6fd6;--sad-deep: #2a3380;--angry: #ff3b30;--furious: #ff1f0f;--defensive: #9a1030;--hot-core: #fff4e8;--p-affirm: #ff8fc8;--p-evaluate: #ffd34d;--p-plan: #5ad4ff;--p-defend: #ff3b30;--p-mourn: #5b6fd6;--radius: 14px;--radius-pill: 999px;--shadow: 0 20px 60px rgba(0, 0, 0, .55);--font-display: "Space Grotesk Variable", "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--app-max: 480px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--bg);-webkit-text-size-adjust:100%;color-scheme:dark}body{font-family:var(--font-display);color:var(--ink);background:radial-gradient(1200px 900px at 50% -10%,#12121c 0%,var(--bg) 60%);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}input,textarea{font:inherit;color:inherit}a{color:inherit}.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-pill);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;letter-spacing:.01em;transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease}.btn:hover{background:var(--surface-2);border-color:var(--muted)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-primary:hover{background:#fff;border-color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--ink);background:#ffffff0a;border-color:var(--line)}.btn-danger{border-color:var(--defensive);color:#ff8a9a}.btn-danger:hover{background:#9a103040}.btn-sm{padding:7px 14px;font-size:13px}.input{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-pill);padding:11px 16px;color:var(--ink);outline:none;min-width:0;transition:border-color .15s ease}.input:focus{border-color:var(--muted)}.input::placeholder{color:var(--faint)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink);padding:12px 18px;border-radius:var(--radius-pill);box-shadow:var(--shadow);z-index:200;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.logo-mark{--u: 20px;position:relative;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * .32);height:calc(var(--u) * 3.2);width:calc(var(--u) * 6);filter:drop-shadow(0 0 calc(var(--u) * .7) rgba(90,212,255,.35))}.logo-mark .shard{width:var(--u);border-radius:999px;background:var(--calm);animation:logo-breathe 3.2s ease-in-out infinite;transform-origin:50% 100%}.logo-mark .s1{height:calc(var(--u) * 1.5);animation-delay:0s}.logo-mark .s2{height:calc(var(--u) * 2.3);animation-delay:.25s}.logo-mark .s3{height:calc(var(--u) * 2.8);animation-delay:.5s}.logo-mark .s4{height:calc(var(--u) * 2.3);animation-delay:.75s}.logo-mark .s5{height:calc(var(--u) * 1.5);animation-delay:1s}.logo-mark .core{position:absolute;bottom:calc(var(--u) * -.9);width:calc(var(--u) * .6);height:calc(var(--u) * .6);border-radius:999px;background:var(--hot-core);opacity:.85}@keyframes logo-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.08)}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020206b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:150}.dialog{width:min(380px,100%);padding:22px 22px 16px}.dialog h2{margin:0 0 8px;font-size:17px;font-weight:600}.dialog p{margin:0 0 18px;color:var(--ink-2);font-size:14px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.landing{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.landing-stack{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:420px}.wordmark{margin:10px 0 0;font-family:var(--font-mono);font-weight:500;font-size:30px;letter-spacing:.08em;color:var(--ink);-webkit-user-select:none;user-select:none}.tagline{margin:-6px 0 6px;color:var(--muted);font-size:15px}.landing-actions{display:flex;gap:10px}.demo-note{color:var(--faint)}.admin-link{margin-top:6px}.admin-form{display:flex;gap:8px;margin-top:10px}.login-form{display:flex;gap:8px;margin-top:10px;width:min(320px,100%)}.login-form .input{flex:1;min-width:0}.login-error{margin:0;color:#ff6b5e;font-size:14px}.landing-links{display:flex;gap:6px;margin-top:6px}.bench{min-height:100%;display:flex;flex-direction:column;gap:14px;padding:14px 18px 32px;max-width:1400px;margin:0 auto}.bench-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bench-head .title{display:flex;flex-direction:column;gap:2px}.bench-nav{margin-left:auto;display:flex;gap:6px}.bench .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.bench .empty h3{margin:0 0 6px}.bench code{font-family:var(--font-mono);font-size:12px;background:var(--bg-2);padding:1px 6px;border-radius:6px}.run-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.run-card{cursor:pointer}.run-card:hover{border-color:var(--line-2)}.run-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mini-cells{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}.square-wrap{display:flex;flex-direction:column;gap:10px}.square-meta{display:flex;gap:14px;flex-wrap:wrap}.square{border-collapse:separate;border-spacing:8px;width:100%}.square th.mode{text-align:left;font-size:15px;text-transform:lowercase}.square th.mode .small{display:block;font-weight:400;font-family:var(--font-mono);font-size:11px}.square th.model{text-align:left;white-space:nowrap;font-family:var(--font-mono);font-weight:500;font-size:13px;width:1%;padding-right:6px}.square td.cell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;vertical-align:top;min-width:260px}.cell-main{display:flex;align-items:baseline;gap:10px}.cell-main .rate{font-size:34px;font-weight:600;letter-spacing:-.02em}.cell-stats{margin:10px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 14px;font-size:12px}.cell-stats div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding:2px 0}.cell-stats dt{color:var(--muted)}.cell-stats dd{margin:0}.warn{color:#ffd34d}.bad{color:#ff8a9a}.hist{display:flex;align-items:flex-end;gap:2px;height:22px;margin-top:10px}.hist span{flex:1;min-height:1px;border-radius:2px 2px 0 0;opacity:.8}.priority-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.priority-row .prio{display:flex;gap:12px;align-items:center;padding:8px 12px}.priority-row .self{margin-left:auto}.groups{display:flex;flex-direction:column;gap:12px}.group-nav{display:flex;gap:4px;flex-wrap:wrap}.group-nav .tab{padding:6px 12px;border-radius:var(--radius-pill);color:var(--muted);font-size:13px;border:1px solid var(--line)}.group-nav .tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.group-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.group-head h3{margin:0;text-transform:lowercase}table.tests{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}table.tests th{text-align:left;color:var(--muted);font-weight:500;font-size:11px;padding:6px 8px;border-bottom:1px solid var(--line)}table.tests td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}table.tests td.name{display:flex;flex-direction:column;gap:2px}table.tests td.name a{color:var(--ink)}.mode-tag{font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--line-2)}.mode-tag.soul{border-color:var(--p-affirm);color:var(--p-affirm)}.mode-tag.flat{border-color:var(--calm);color:var(--calm)}.score{font-family:var(--font-mono);margin-right:8px}.dots{display:inline-flex;gap:3px;vertical-align:middle}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--line-2)}.dot.pass{background:#5ad46b}.dot.fail{background:#ff5f6d}.dot.setup_failed{background:#8b8b99}.dot.error{background:#000;border:1px solid #ff5f6d}.crumbs a{color:var(--muted)}.test-view h2,.episode h2{margin:4px 0 2px}.case-def h4,.cell-card h4,.ep-side h4,.ep-transcript h4,.setup-failed h4{margin:8px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.def-cols{display:grid;grid-template-columns:1fr 2fr;gap:18px}.steps{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.cells-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px;margin-top:12px}.cell-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.run-links{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.run-link{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:var(--radius-pill);border:1px solid var(--line-2);color:var(--ink-2)}.run-link.pass{border-color:#5ad46b}.run-link.fail{border-color:#ff5f6d}.run-link.control{opacity:.8}.assertions,.verdicts{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.assertion,.verdict{padding:8px 10px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line)}.assertion.na,.verdict.na{opacity:.55}.verdict.pass{border-color:#5ad46b80}.verdict.fail{border-color:#ff5f6d99}.assertion-head,.verdict-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.assertion-head .label,.verdict-head .label{flex:1;min-width:200px}.rate-sm{font-size:12px}.assertion-runs{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.p-pill{font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--line-2);color:var(--ink-2)}.p-pill.pass{border-color:#5ad46b}.p-pill.fail{border-color:#ff5f6d}.p-pill.marginal{border-style:dashed}.ep-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status{font-family:var(--font-mono);font-size:12px;padding:2px 10px;border-radius:var(--radius-pill);border:1px solid var(--line-2)}.status.setup_failed{color:#ffd34d}.status.error{color:#ff8a9a}.ep-cols{display:grid;grid-template-columns:3fr 2fr;gap:16px}@media (max-width: 900px){.ep-cols,.def-cols{grid-template-columns:1fr}}.ep-turns{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.ep-turns.setup{opacity:.75}.ep-turn{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.ep-turn .who{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-bottom:4px}.ep-turn p{margin:0;line-height:1.5}.ep-turn .thought{color:var(--muted);font-style:italic;font-size:13px;margin-bottom:4px}.ep-turn.user{border-color:var(--line-2)}.ep-turn.narrator{background:transparent;border-style:dashed;font-size:13px}.ep-turn.forced{border-left:3px solid var(--muted)}.turn-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;font-size:12px}.turn-tags .act{color:var(--muted)}.bar-row{display:flex;align-items:center;gap:10px;margin-top:6px}.bench .bar{position:relative;flex:1;height:8px;background:var(--bg);border-radius:4px;overflow:visible}.bench .bar-fill{display:block;height:100%;border-radius:4px}.bench .threshold{position:absolute;top:-3px;width:2px;height:14px;background:var(--ink)}.outcome.pass{color:#5ad46b}.outcome.fail{color:#ff5f6d}.detail{margin:6px 0 0;font-size:11px;white-space:pre-wrap;color:var(--muted)}.detail.bad{color:#ff8a9a}.atts li,.ep-side .plain li{margin-bottom:3px}.setup-failed{border-color:#ffd34d55}.gate{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{width:min(420px,100%);padding:26px;display:flex;flex-direction:column;gap:12px}.gate-card h2{margin:0}.gate-card form{display:flex;gap:8px}.gate-card .input{flex:1}.error{color:#ff8a9a;margin:0;font-size:14px}.brain{min-height:100%;display:flex;flex-direction:column;padding:14px 18px 24px;gap:12px;max-width:1400px;margin:0 auto}.brain.loading{align-items:center;justify-content:center}.brain-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brain-head .title{display:flex;flex-direction:column;gap:2px}.tabs{display:flex;gap:4px;margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);padding:3px}.tab{padding:6px 14px;border-radius:var(--radius-pill);color:var(--muted);font-size:13px;text-transform:lowercase}.tab.active{background:var(--ink);color:var(--bg)}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar .inline{display:flex;gap:6px}.toolbar .input{width:260px;max-width:60vw}.toolbar .grow{flex:1}.check{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.garden-wrap,.live-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}@media (max-width: 900px){.garden-wrap,.live-wrap{grid-template-columns:1fr}}.garden{width:100%;aspect-ratio:900 / 640;background:radial-gradient(600px 420px at 50% 50%,#0f0f18 0%,var(--bg) 100%);border:1px solid var(--line);border-radius:var(--radius);touch-action:none;-webkit-user-select:none;user-select:none}.garden .link{stroke:var(--line-2);stroke-width:1.4}.garden .link-conflicts{stroke:var(--p-defend);stroke-dasharray:6 5;stroke-opacity:.7}.garden .link-threatens{stroke:var(--p-evaluate);stroke-dasharray:2 5;stroke-opacity:.8}.garden .node{cursor:grab;transition:opacity .3s ease}.garden .node.dormant{opacity:.35}.garden .node .label{fill:var(--ink-2);font-family:var(--font-mono);font-size:11px;pointer-events:none}.garden .node.selected .label{fill:var(--ink);font-weight:500}.garden .root-ring{fill:none;stroke:var(--line-2);stroke-width:1}.garden .node.selected .root-ring,.garden .node.selected>circle:not(.root-ring):not(.honeymoon){stroke:var(--ink)}.garden .honeymoon{fill:none;stroke:var(--ink);stroke-opacity:.35;stroke-width:1}.garden .node.pulse>circle{animation:node-pulse 1.4s ease-out}@keyframes node-pulse{0%{stroke-width:10;stroke-opacity:.9}to{stroke-width:1.5;stroke-opacity:1}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow:auto}.panel h3{margin:0;font-size:18px;line-height:1.25}.panel h4{margin:8px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.panel-head{display:flex;gap:6px;flex-wrap:wrap}.chip{font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2)}.chip-protective{border-color:var(--defensive);color:#ff8a9a}.fantasy{margin:0;color:var(--ink-2);font-style:italic;line-height:1.45}.numbers{margin:0;display:grid;grid-template-columns:90px 1fr;row-gap:6px;column-gap:10px;align-items:center;font-size:13px}.numbers .row{display:contents}.numbers .row.dominant dt{color:var(--ink);font-weight:600}.numbers dt{color:var(--muted)}.numbers dd{margin:0;display:flex;align-items:center;gap:8px}.bar{flex:1;height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:3px;transition:width .4s ease}.plain{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px}.edge-tag{font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--muted)}.edge-conflicts{color:var(--p-defend)}.edge-threatens{color:var(--p-evaluate)}.evidence{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.evidence li{display:grid;grid-template-columns:48px 70px 1fr;gap:8px;align-items:baseline;color:var(--ink-2)}.delta.up{color:var(--calm)}.delta.down{color:var(--angry)}.src{color:var(--faint)}.legend{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--muted)}.legend-item i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.muted{color:var(--muted)}.small{font-size:12px}.mood-chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);color:#08080c;font-family:var(--font-mono);font-size:12px;font-weight:500}.timeline{display:flex;flex-direction:column;gap:12px}.beats{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.beats li{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}.beats li.lived{opacity:.55}.beats li.next{border-color:var(--calm);color:var(--ink)}.beats .when{color:var(--muted)}.beat{line-height:1.45;margin:0}.beats-editor{display:flex;flex-direction:column;gap:8px}.beat-edit{padding:10px;display:grid;grid-template-columns:130px 1fr auto;gap:8px;align-items:start}.beat-edit textarea{border-radius:10px;resize:vertical}.paste{padding:12px;display:flex;gap:8px;align-items:flex-start}.paste textarea{flex:1;border-radius:10px;resize:vertical}.last-step{padding:14px}.last-step h4,.appraisal h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.appraisal{display:flex;flex-direction:column;gap:8px}.felt{margin:0;color:var(--ink);font-style:italic}.mood-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.changes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13px}.changes li{display:grid;grid-template-columns:52px 1fr;gap:8px}.changes li.new span:last-child{color:var(--ink)}.raw pre{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:11px;white-space:pre-wrap;max-height:320px;overflow:auto}.memories{display:flex;flex-direction:column;gap:12px}.memory-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.memory-list li{padding:12px}.memory-list p{margin:6px 0 0;line-height:1.45}.memory-list .meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px}.kind-life{color:var(--p-mourn)}.kind-user_fact{color:var(--calm)}.kind-reflection{color:var(--p-evaluate)}.live{display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto}.turns{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.turn{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer}.turn-user{border-color:var(--line-2)}.turn-head{display:flex;align-items:center;gap:8px;font-size:12px}.turn .who{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.turn .thought{margin:6px 0 0;color:var(--muted);font-style:italic;font-size:13px}.turn .text{margin:6px 0 0;line-height:1.45}.turn-detail{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.turn-detail details pre{background:var(--bg-2);border-radius:10px;padding:10px;font-size:11px;white-space:pre-wrap;max-height:320px;overflow:auto}.turn-detail summary{cursor:pointer;color:var(--muted);font-size:12px}.mood-now{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feelings{font-style:italic}.chip.levity{border-color:#ffd34d;color:#ffd34d}.inner-life{display:flex;flex-direction:column;gap:4px;font-size:13px}.inner-life p{margin:0;line-height:1.45}.turn .act{color:var(--muted)}.turn .feelings{font-size:11px}.people{display:flex;flex-direction:column;gap:12px}.person-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.person{padding:14px;display:flex;flex-direction:column;gap:8px}.person-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.person .story{margin:0;line-height:1.45}.person h4{margin:4px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.wounds li{display:flex;gap:8px;font-size:13px}.bar.signed{position:relative}.bar.signed .bar-mid{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line-2)}.memory.forgotten{opacity:.55}.memory.superseded p{text-decoration:line-through;text-decoration-color:var(--muted)}.memory .was{margin:4px 0 0;font-style:italic}.mem-bars{margin-top:8px;display:grid;grid-template-columns:auto 1fr auto 1fr auto auto auto;align-items:center;gap:6px;font-size:11px}.mem-bars .bar{min-width:40px}.params{display:flex;flex-direction:column;gap:10px}.params-group{padding:12px 14px}.params-group h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.params-grid{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px;font-size:12px}.params-grid .row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding:2px 0}.params-grid dt{color:var(--muted)}.params-grid dd{margin:0}.blob{--u: 34px;--blob-color: var(--calm);--blob-glow: 20px;--blob-glow-color: rgba(90, 212, 255, .5);position:relative;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * .32);height:calc(var(--u) * 3.4);width:calc(var(--u) * 6.4);will-change:transform;filter:drop-shadow(0 0 var(--blob-glow) var(--blob-glow-color));transition:opacity .6s ease}.blob .shard{width:var(--u);height:var(--u);border-radius:999px;background:var(--blob-color);will-change:height,transform;transform-origin:50% 100%;transition:background .5s ease}.blob .core{position:absolute;bottom:calc(var(--u) * -.9);left:50%;margin-left:calc(var(--u) * -.3);width:calc(var(--u) * .6);height:calc(var(--u) * .6);border-radius:999px;background:var(--hot-core);will-change:transform}.session{position:relative;min-height:100%;display:flex;flex-direction:column;max-width:var(--app-max);margin:0 auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:radial-gradient(460px 360px at 50% 36%,var(--tint) 0%,transparent 70%);transition:background .6s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.vignette{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 180px rgba(255,31,15,calc(var(--vignette) * .55));opacity:var(--vignette);transition:opacity .3s ease;z-index:0}.session-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px}.mood-label{color:var(--muted)}.session-head .btn.on{color:var(--calm);border-color:var(--calm-deep)}.stage{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center;min-height:60vh}.blob-stage{height:180px;display:flex;align-items:center;justify-content:center}.line-area{min-height:5.4em;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:420px}.line{margin:0;font-size:24px;line-height:1.35;font-weight:500;animation:line-in .35s ease}.line.prev{font-size:15px;color:var(--muted);opacity:.6}.line.thinking,.line.idle{color:var(--muted);font-weight:400}.line.idle{font-size:13px}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.you{margin:0;font-size:17px;color:var(--ink-2);max-width:420px;line-height:1.45}.you .who{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.you .who.cut{display:inline;margin-left:8px;color:var(--angry)}.you .tentative{opacity:.45}.you.final{color:var(--ink)}.you.dim{opacity:.45;font-size:14px}.hint{color:var(--faint);font-size:11px;margin:0}.composer{position:relative;z-index:2;display:flex;gap:8px;margin-bottom:8px}.composer .input{flex:1}.live-wave{width:100%;display:block;opacity:.9}
