:root{--ink:#131a26;--ink-dim:#4c566a;--ink-faint:#7b8599;--edge:#131a261a;--edge-strong:#131a2629;--paper:#ffffffde;--paper-solid:#fff;--accent:#2563eb;--good:#15803d;--mid:#b45309;--bad:#be123c;--tint:#d9e8fc;--radius:18px;--shadow:0 20px 48px -24px #1e2f506b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#f4f7fc;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55}.backdrop{z-index:0;background:radial-gradient(78% 58% at 50% 34%, var(--tint), transparent 72%), radial-gradient(58% 48% at 88% 96%, #ddd6fe6b, transparent 74%), #f4f7fc;transition:background .9s;position:fixed;inset:0}.scene,.scene *{pointer-events:none}.scene{inset:0;position:absolute!important}.shell{z-index:1;min-height:100dvh;padding:calc(21.5vh - 1.9rem + env(safe-area-inset-top,0px)) 18px calc(40px + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:flex-start;align-items:center;gap:18px;display:flex;position:relative}.masthead{text-align:center;justify-items:center;gap:14px;margin-bottom:clamp(38px,6.5vh,74px);display:grid}.masthead h1{letter-spacing:-.035em;color:var(--ink);margin:0;font-size:clamp(2.3rem,7vw,3.6rem);font-weight:700;line-height:1.05}@supports ((-webkit-background-clip:text) or (background-clip:text)){.masthead h1,.arch-head h2{background:linear-gradient(118deg,#0b1220 0%,#1e3a8a 48%,#4338ca 100%);color:#0000;-webkit-background-clip:text;background-clip:text}}.masthead p{border:1px solid var(--edge);-webkit-backdrop-filter:blur(12px)saturate(120%);max-width:100%;color:var(--ink-dim);letter-spacing:.15em;text-transform:uppercase;background:#ffffffbd;border-radius:999px;align-items:center;gap:9px;margin:0;padding:7px 16px;font-size:clamp(.64rem,1.6vw,.74rem);font-weight:600;display:inline-flex;box-shadow:0 6px 18px -12px #1e2f508c}.panel{background:var(--paper);-webkit-backdrop-filter:blur(18px)saturate(115%);border:1px solid var(--edge);border-radius:var(--radius);width:min(100%,44rem);box-shadow:var(--shadow);gap:18px;padding:clamp(18px,4vw,28px);animation:.42s cubic-bezier(.22,1,.36,1) both rise;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem;display:flex}.question{letter-spacing:-.01em;margin:0;font-size:clamp(1.1rem,2.8vw,1.4rem);font-weight:500;line-height:1.45}.muted{color:var(--ink-dim);margin:0;font-size:.9rem}.chip{border:1px solid var(--edge-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);background:#131a2608;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;display:inline-flex}.chip[data-level=easy]{color:#0369a1;background:#bae6fd6b;border-color:#0369a14d}.chip[data-level=medium]{color:#6d28d9;background:#ddd6fe6b;border-color:#6d28d94d}.chip[data-level=hard]{color:#a21caf;background:#f5d0fe6b;border-color:#a21caf4d}.track{gap:5px;display:flex}.track span{background:#131a261f;border-radius:2px;flex:1;height:3px;transition:background .4s}.track span[data-state=done]{background:var(--accent)}.track span[data-state=current]{background:#2563eb59}label{color:var(--ink-dim);gap:7px;font-size:.82rem;display:grid}input[type=text],input[type=password],textarea,select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--edge-strong);background:#fff;border-radius:12px;padding:11px 13px;transition:border-color .16s,box-shadow .16s}textarea{resize:vertical;min-height:118px;line-height:1.55}textarea::placeholder{color:var(--ink-faint)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:hover,textarea:hover{border-color:#131a264d}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-dim) 50%), linear-gradient(135deg, var(--ink-dim) 50%, transparent 50%);background-position:calc(100% - 18px) 51%,calc(100% - 13px) 51%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.segmented{border:1px solid var(--edge-strong);background:#131a260a;border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--ink-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 10px;font-size:.88rem;transition:background .18s,color .18s}.segmented button[aria-pressed=true]{background:var(--paper-solid);color:var(--ink);box-shadow:0 1px 3px #1e2f5029}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions .spacer{flex:1}button{font:inherit;cursor:pointer}.primary,.ghost,.quiet{border-radius:12px;padding:11px 18px;font-size:.92rem;font-weight:500;transition:transform .14s,background .18s,border-color .18s,opacity .18s}.primary{color:#f8fbff;background:linear-gradient(135deg,#60a5fa,#2563eb 60%,#1d4ed8);border:0;box-shadow:0 8px 20px -10px #2563ebb3}.ghost{border:1px solid var(--edge-strong);background:var(--paper-solid);color:var(--ink)}.quiet{color:var(--ink-faint);background:0 0;border:0;padding-inline:10px}.primary:hover:not(:disabled),.ghost:hover:not(:disabled){transform:translateY(-1px)}.quiet:hover:not(:disabled){color:var(--ink)}button:disabled{opacity:.42;cursor:not-allowed;transform:none}.verdict{align-items:center;gap:14px;display:flex}.score-block{flex:none;justify-items:center;gap:5px;display:grid}.score-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:.62rem;font-weight:600}.score-ring{--value:0;background:conic-gradient(var(--ring) calc(var(--value) * 360deg), #131a261a 0);border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-size:.95rem;font-weight:600;display:grid;position:relative}.score-ring:after{content:"";background:var(--paper-solid);border-radius:50%;position:absolute;inset:5px}.score-ring span{z-index:1;position:relative}.score-ring[data-score="2"]{--ring:var(--good);color:var(--good)}.score-ring[data-score="1"]{--ring:var(--mid);color:var(--mid)}.score-ring[data-score="0"]{--ring:var(--bad);color:var(--bad)}.note{border-left:2px solid var(--edge-strong);gap:5px;padding-left:14px;display:grid}.note dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}.note dd{color:var(--ink);margin:0;font-size:.95rem}.tags{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--edge);background:#131a2606;border-radius:13px;padding:13px 15px}.stat dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}.stat dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:1.5rem;font-weight:600}.phase{color:var(--ink-dim);align-items:center;gap:11px;font-size:.9rem;display:flex}.pip{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.7s ease-out infinite ping;box-shadow:0 0 #2563eb80}@keyframes ping{70%{box-shadow:0 0 0 11px #2563eb00}to{box-shadow:0 0 #2563eb00}}.notice-slot{width:min(100%,44rem)}.notice{color:#9f1239;background:#fff1f2eb;border:1px solid #be123c47;border-radius:13px;gap:10px;padding:13px 15px;font-size:.9rem;display:grid}.notice pre{white-space:pre-wrap;word-break:break-word;font:inherit;margin:0}.notice .muted{color:#9f1239}.footnote{color:var(--ink-faint);text-align:center;max-width:44rem;font-size:.78rem}.footnote code{color:var(--ink-dim);font-size:.95em}.footnote button{font:inherit;color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline;transition:color .16s}.footnote button:hover:not(:disabled){color:var(--ink)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.architecture{z-index:1;width:min(100%,62rem);padding:0 18px calc(110px + env(safe-area-inset-bottom,0px));margin:0 auto;scroll-margin-top:20px;position:relative}.architecture:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#f4f7fc00 0,#f4f7fced 100px,#f4f7fcfb 190px);width:100vw;position:absolute;top:-90px;bottom:0;left:50%;transform:translate(-50%)}.arch-head{text-align:center;gap:8px;margin-bottom:40px;display:grid}.arch-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,4.6vw,2.7rem);font-weight:680}.graph-scroll{margin:0 -18px 16px;padding:0 18px 4px;overflow-x:auto}.graph{width:100%;min-width:700px;height:auto;display:block}.edges path{fill:none;stroke:#aeb9cb;stroke-width:1.6px;stroke-linecap:round}.edge-head{fill:#aeb9cb}.edge-labels text{fill:var(--ink-faint);letter-spacing:.07em;text-transform:uppercase;text-anchor:middle;font-size:10.5px;font-weight:600}.edge-labels text.to-left{text-anchor:end}.edge-labels text.to-right{text-anchor:start}.edge-labels rect{fill:#f4f7fc}.group-box{fill:#dbeafe4d;stroke:#2563eb38;stroke-width:1.2px;stroke-dasharray:5 5}.group-label{fill:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:600}.node>rect{fill:#fff;stroke:#131a2624;stroke-width:1.4px}.node-title{fill:var(--ink);font-size:14px;font-weight:650}.node-sub{fill:var(--ink-dim);font-size:11.5px}.node.tool .node-title{font-size:12.5px}.node.tool .node-sub{font-size:11px}.node-mono{fill:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600}.node.tool{cursor:pointer}.node.tool>rect{transition:fill .16s,stroke .16s}.node.tool:hover>rect{stroke:#2563eb73}.node.tool.is-selected>rect{fill:#eff6ff;stroke:#2563eb;stroke-width:2px}.node.tool:focus{outline:none}.node.tool:focus-visible>rect{stroke:#2563eb;stroke-width:2.6px}.orb-glow{fill:#3b82f629}.orb-spec{fill:#ffffffb8}.glyph rect{fill:#eef2f7;stroke:#131a2629;stroke-width:1.2px}.glyph text{fill:var(--ink-dim);text-anchor:middle;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700}.legend{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:9px;margin:2px 0 20px;font-size:.9rem;display:flex}.legend strong{color:var(--ink);font-weight:600}.legend-gap{width:12px}.legend-orb,.legend-glyph{width:13px;height:13px;display:inline-block}.legend-orb{background:radial-gradient(circle at 34% 28%,#bae6fd,#38bdf8 42%,#3b82f6);border-radius:50%}.legend-glyph{background:#eef2f7;border:1px solid #131a2629;border-radius:4px}.inner-panel{border:1px solid var(--edge);-webkit-backdrop-filter:blur(12px);background:#ffffffb8;border-radius:14px;padding:14px 16px 6px}.inner-panel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inner-caption{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 4px;font-size:.72rem}.inner-caption code{letter-spacing:0;text-transform:none;color:#1d4ed8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em}.graph.inner{min-width:620px}.node-kicker{fill:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;text-anchor:middle;font-size:9.5px;font-weight:600}.node-fields{fill:var(--ink-dim);text-anchor:middle;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.chip-node>rect{fill:#f1f5fae6;stroke:#131a2629;stroke-dasharray:4 4}.edges path.retry{stroke:#c3b5e6;stroke-dasharray:5 4}.scroll-cue{color:var(--ink-dim);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:10px;margin-top:auto;padding-top:32px;font-size:1.18rem;font-weight:600;text-decoration:none;transition:color .18s;display:inline-flex}.scroll-cue:hover,.scroll-cue:focus-visible{color:var(--accent)}.scroll-cue span{font-size:1.3rem;animation:2.2s ease-in-out infinite nudge}@keyframes nudge{50%{transform:translateY(3px)}}.scale{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.scale li{border:1px solid var(--edge);background:var(--paper-solid);color:var(--ink-faint);border-radius:999px;align-items:center;gap:7px;padding:5px 13px 5px 6px;font-size:.83rem;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.scale-value{font-variant-numeric:tabular-nums;width:21px;height:21px;color:var(--ink-dim);background:#131a2612;border-radius:50%;place-items:center;font-size:.76rem;font-weight:700;display:inline-grid}.scale li[data-active]{font-weight:600}.scale li[data-active][data-score="0"]{color:var(--bad);background:#fff1f2cc;border-color:#be123c59}.scale li[data-active][data-score="1"]{color:var(--mid);background:#fff7edcc;border-color:#b4530959}.scale li[data-active][data-score="2"]{color:var(--good);background:#f0fdf4d9;border-color:#15803d59}.scale li[data-active] .scale-value{color:#fff;background:currentColor}.scale li[data-active][data-score="0"] .scale-value{background:var(--bad)}.scale li[data-active][data-score="1"] .scale-value{background:var(--mid)}.scale li[data-active][data-score="2"] .scale-value{background:var(--good)}
