:root{--bg:#0b1016;--bg-raised:#121a23;--pane:#0f141b;--line:#243040;--text:#e6edf3;--muted:#94a3b3;--brand:#6cc3dd;--brand-deep:#3f8ba4;--pass:#34b27d;--warn:#e3b341;--fail:#e5534b;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--text);font-family:var(--sans);background:#05080b;margin:0;overflow:hidden}body{place-items:center;display:grid}.frame{background:radial-gradient(ellipse 70% 80% at 68% 45%, #1b2a38 0%, transparent 70%), radial-gradient(ellipse 60% 60% at 10% 100%, #101b26 0%, transparent 70%), var(--bg);position:relative;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{touch-action:none;display:block}.slides{transform-origin:0 0;pointer-events:none;width:1280px;height:720px;position:absolute;top:0;left:0}.slide{opacity:0;visibility:hidden;transition:opacity .42s,transform .42s,visibility 0s linear .42s;position:absolute;inset:0;transform:translateY(8px)}.slide.active{opacity:1;visibility:visible;transition:opacity .52s .12s,transform .52s .12s,visibility;transform:none}.slide button,.slide .log{pointer-events:auto}.text{width:470px;position:absolute;top:50%;left:80px;transform:translateY(-50%)}.text-top{top:56px;transform:none}.wide{position:absolute;inset:64px 80px}.kicker{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:15px;font-weight:600}h1{letter-spacing:-.02em;margin:0 0 22px;font-size:54px;font-weight:700;line-height:1.08}h2{letter-spacing:-.015em;margin:0 0 20px;font-size:38px;font-weight:700;line-height:1.15}h3{color:var(--warn);margin:26px 0 8px;font-size:22px;font-weight:600}p{color:var(--muted);margin:0 0 14px;font-size:20px;line-height:1.5}p b,li b{color:var(--text)}.nowrap{white-space:nowrap}.lead{font-size:23px}.byline{color:var(--text);margin-top:34px;font-size:16px;font-weight:500}.strong{color:var(--text);margin-top:20px;font-size:22px;font-weight:600}.hint{font-size:16px}.formula{color:var(--text);font-family:var(--mono);background:var(--bg-raised);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;padding:14px 18px;font-size:19px}.formula sub{color:var(--brand);font-size:13px}[data-step]{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(6px)}[data-step].shown{opacity:1;transform:none}.button{color:var(--text);font:600 15px var(--sans);background:var(--bg-raised);border:1px solid var(--line);cursor:pointer;border-radius:8px;margin-top:10px;padding:10px 18px}.button:hover{border-color:var(--brand)}.counter{flex-direction:column;gap:4px;margin:22px 0 10px;display:flex}.counter-big{color:var(--text);font-family:var(--mono);margin:0;font-size:30px;font-weight:600}.counter-small{color:var(--muted);font-family:var(--mono);margin:0;font-size:16px}.verdict{min-height:30px;color:var(--pass);font-weight:600}table{border-collapse:collapse;width:100%;margin:6px 0 18px;font-size:19px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:10px 0}th{color:var(--muted);font-size:14px;font-weight:500}td:not(:first-child),th:not(:first-child){text-align:right;font-family:var(--mono);font-size:17px}.swatch{border-radius:3px;width:12px;height:12px;margin-right:10px;display:inline-block}.anatomy{grid-template-columns:540px 1fr;align-items:start;gap:44px;margin-top:8px;display:grid}.file{color:var(--text);font-family:var(--mono);background:var(--pane);border:1px solid var(--line);border-radius:10px;margin:0;padding:18px 22px;font-size:14.5px;line-height:1.55}.file-name{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.file .dim{color:#6b7a8a}.file .h{color:var(--brand);font-weight:600}.file b{color:var(--warn)}.map{flex-direction:column;gap:22px;margin:8px 0 0;padding:0;list-style:none;display:flex}.map li{color:var(--muted);grid-template-columns:130px 1fr;gap:16px;font-size:19px;line-height:1.45;display:grid}.map-key{color:var(--brand);font-weight:700}.aside{margin-top:26px;font-size:17px}.agent{flex-direction:column;width:560px;display:flex;position:absolute;top:56px;bottom:56px;left:64px}.log{border:1px solid var(--line);scroll-behavior:smooth;background:#0f141beb;border-radius:10px;flex:1;padding:16px 18px;font-size:14px;overflow-y:auto}.log-prompt{color:var(--text);background:#1a2330;border-radius:8px;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:15px;display:flex}.log-prompt-mark{color:var(--brand);font-weight:700}.log-say{color:var(--text);white-space:pre-wrap;margin:10px 0;font-size:15px;line-height:1.5}.log-say code{color:var(--brand);font-family:var(--mono);font-size:13px}.log-tool{font-family:var(--mono);gap:10px;margin:8px 0 4px;font-size:13px;display:flex}.log-tool-name{color:var(--brand);font-weight:600}.log-tool-detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.log-out{color:#b8c4d0;font-family:var(--mono);white-space:pre;border-left:2px solid var(--line);background:#0b1016;border-radius:4px;margin:0 0 6px 18px;padding:8px 10px;font-size:11.5px;line-height:1.45;overflow-x:hidden}.log-check{border-left-color:var(--fail)}.log-check.log-pass{border-left-color:var(--pass)}.note{text-align:right;width:520px;position:absolute;bottom:56px;right:64px}.note p{font-size:18px}.stat{color:var(--text);font-family:var(--mono);font-size:17px}.charts{gap:40px;margin-top:4px;display:flex}.chart{overflow:visible}.chart-title{fill:var(--text);font-size:15px;font-weight:600}.chart-grid{stroke:var(--line);stroke-width:1px}.chart-tick,.chart-legend{fill:var(--muted);font-family:var(--mono);font-size:12px}.chart-legend{fill:var(--text);font-family:var(--sans);font-size:13px}.chart-threshold{stroke:var(--pass);stroke-width:1.5px;stroke-dasharray:3 4}.chart-threshold-label{fill:var(--pass);font-size:12px}.takeaway{color:var(--muted);margin:0;padding-left:22px;font-size:20px;line-height:1.5}.takeaway li{margin-bottom:12px;padding-left:6px}.takeaway li::marker{color:var(--brand);font-weight:700}.nav{color:var(--muted);font:500 13px var(--mono);opacity:.55;align-items:center;gap:8px;transition:opacity .2s;display:flex;position:absolute;bottom:12px;right:14px}.nav:hover{opacity:1}.nav button{width:30px;height:30px;color:var(--text);background:var(--bg-raised);border:1px solid var(--line);cursor:pointer;border-radius:6px;font-size:18px;line-height:1}
