:root{--bg:#1a1714;--surface:#211d19;--surface-2:#262019;--brand-500:#f27c38;--brand-600:#db6a2e;--ink:#f3f0eb;--ink-soft:#c4bcb0;--muted:#978d80;--line:#f3f0eb1a;--line-2:#f3f0eb29;--ok:#6fcf86;--glow-brand:color-mix(in oklch, var(--brand-500) 18%, transparent);--glow-brand-strong:color-mix(in oklch, var(--brand-500) 30%, transparent);--tint-surface:color-mix(in oklch, var(--brand-500) 6%, var(--surface));--font-display:"Space Grotesk", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--maxw:1180px;--gutter:clamp(20px, 5vw, 56px);--radius:16px;--radius-sm:10px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hero h1{max-width:17ch;margin-top:20px;font-size:clamp(34px,6.4vw,66px)}.engine{border:1px solid var(--line-2);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in oklch, var(--brand-500) 4%, var(--surface)), var(--surface));margin-top:clamp(32px,5vw,56px);overflow:hidden;box-shadow:0 40px 120px -50px #000000b3,inset 0 1px #f3f0eb0a}.eng-bar{border-bottom:1px solid var(--line);background:color-mix(in oklch, var(--bg) 40%, var(--surface));font-family:var(--font-mono);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;font-size:12.5px;display:flex}.eng-dots{gap:6px;display:inline-flex}.eng-dots i{background:var(--line-2);border-radius:50%;width:11px;height:11px}.eng-live{color:var(--brand-500);align-items:center;gap:7px;font-weight:500;display:inline-flex}.eng-live b{background:var(--brand-500);width:8px;height:8px;box-shadow:0 0 0 0 var(--glow-brand-strong);border-radius:50%;animation:1.8s ease-out infinite engpulse}@keyframes engpulse{0%{box-shadow:0 0 0 0 var(--glow-brand-strong)}70%{box-shadow:0 0 0 7px color-mix(in oklch, var(--brand-500) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in oklch, var(--brand-500) 0%, transparent)}}.eng-title{color:var(--ink)}.eng-prog{color:var(--muted);align-items:center;gap:8px;margin-left:auto;display:inline-flex}.eng-prog .pnum{color:var(--ink-soft)}.eng-grid{grid-template-columns:1.55fr 1fr;min-height:440px;display:grid}.eng-main{border-right:1px solid var(--line);padding:18px 18px 22px;position:relative}.eng-side{align-content:start;gap:20px;padding:18px 18px 22px;display:grid}.eng-h{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;font-size:11px;display:flex}.eng-h svg{width:14px;height:14px;stroke:var(--brand-500)}.catalog-wrap{position:relative}.scanline{background:linear-gradient(180deg, transparent, var(--brand-500), transparent);width:2px;box-shadow:0 0 18px 3px var(--glow-brand-strong);opacity:0;z-index:4;pointer-events:none;position:absolute;top:0;bottom:0;left:0;transform:translate(0)}.scanline.run{animation:2.6s ease-in-out forwards scan}@keyframes scan{0%{opacity:0;left:0%}6%{opacity:1}94%{opacity:1}to{opacity:0;left:100%}}.catalog{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none;transition:none;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);opacity:.55;filter:saturate(.55);order:0;align-content:start;gap:8px;padding:12px 13px 13px;transition:opacity .5s,filter .5s,transform .55s cubic-bezier(.22,.61,.36,1),border-color .5s,box-shadow .5s;display:grid;position:relative;transform:translateY(0)scale(1)}.tile.scanned{opacity:1;filter:none}.tile.low{opacity:.42;filter:saturate(.35)brightness(.85)}.tile.win.scored{border-color:color-mix(in oklch, var(--brand-500) 45%, transparent);box-shadow:0 0 0 1px color-mix(in oklch, var(--brand-500) 28%, transparent), 0 18px 50px -28px var(--glow-brand-strong)}.tile-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.tile-cat{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-size:10.5px}.tile-badge{font-family:var(--font-mono);color:#1a1714;background:var(--brand-500);white-space:nowrap;opacity:0;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:500;transition:opacity .45s,transform .45s;transform:scale(.85)}.tile.win.scored .tile-badge{opacity:1;transform:none}.tile-name{color:var(--ink);min-height:2.7em;font-size:13px;line-height:1.35}.tile-metrics{gap:6px;display:grid}.metric{grid-template-columns:52px 1fr;align-items:center;gap:8px;display:grid}.m-lbl{font-family:var(--font-mono);color:var(--muted);font-size:10px}.m-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.m-bar i{border-radius:999px;width:0;height:100%;transition:width .8s cubic-bezier(.22,.61,.36,1);display:block}.m-bar.t i{background:var(--brand-500)}.m-bar.r i{background:color-mix(in oklch, var(--ink) 32%, transparent)}.tile.scanned .m-bar i{width:var(--w)}.m-val{font-family:var(--font-mono);color:var(--ink-soft);font-size:11px}.metric:last-child{grid-template-columns:52px auto}.tile-score{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding-top:8px;display:flex}.ts-lbl{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.ts-num{color:var(--ink);letter-spacing:-.02em;font-size:19px;font-weight:600}.tile.win.scored .ts-num{color:var(--brand-500)}.scatter{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(90deg, transparent calc(50% - 1px), var(--line) 50%, transparent calc(50% + 1px)), linear-gradient(0deg, transparent calc(50% - 1px), var(--line) 50%, transparent calc(50% + 1px)), var(--surface-2);width:100%;position:relative;overflow:hidden}.quad-op{background:radial-gradient(120% 120% at 100% 0%, var(--glow-brand), transparent 70%);opacity:0;width:50%;height:50%;transition:opacity .8s;position:absolute;top:0;right:0}.scatter.lit .quad-op{opacity:1}.quad-lbl{font-family:var(--font-mono);color:var(--muted);letter-spacing:.04em;font-size:9.5px;position:absolute}.quad-lbl.op{color:var(--brand-500);opacity:0;transition:opacity .8s;top:9px;right:10px}.scatter.lit .quad-lbl.op{opacity:1}.quad-lbl.x{bottom:7px;right:10px}.quad-lbl.y{top:9px;left:10px}.dot{width:9px;height:9px;left:var(--x);top:var(--top);background:color-mix(in oklch, var(--ink) 38%, transparent);z-index:2;border-radius:50%;transition:transform .6s cubic-bezier(.22,1.2,.36,1);position:absolute;transform:translate(-50%,-50%)scale(0)}.scatter.plotted .dot{transform:translate(-50%,-50%)scale(1)}.dot-win{background:var(--brand-500);box-shadow:0 0 0 0 var(--glow-brand-strong)}.scatter.plotted .dot-win{animation:2s ease-out infinite dotpulse}@keyframes dotpulse{0%{box-shadow:0 0 0 0 var(--glow-brand-strong)}70%{box-shadow:0 0 0 9px color-mix(in oklch, var(--brand-500) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in oklch, var(--brand-500) 0%, transparent)}}.readout{gap:10px;display:grid}.read-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);opacity:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:opacity .5s,transform .5s;display:flex;transform:translateY(8px)}.read-row.show{opacity:1;transform:none}.read-row .rk{font-family:var(--font-mono);color:var(--brand-500);flex:none;font-size:11px}.read-row .rn{flex:1}.read-row .rs{font-family:var(--font-mono);color:var(--brand-500);font-size:12px;font-weight:500}.verdict{border-radius:var(--radius-sm);border:1px solid color-mix(in oklch, var(--brand-500) 35%, transparent);background:color-mix(in oklch, var(--brand-500) 10%, var(--surface));color:var(--ink);opacity:0;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;transition:opacity .5s,transform .5s;display:flex;transform:translateY(8px)}.verdict.show{opacity:1;transform:none}.verdict svg{width:18px;height:18px;stroke:var(--brand-500);flex:none;margin-top:1px}.eng-foot{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);align-items:center;gap:8px;padding:12px 18px;font-size:12px;display:flex}.eng-foot .ok{color:var(--ok)}.eng-foot .done-line{opacity:0;transition:opacity .5s}.eng-foot .done-line.show{opacity:1}@media (max-width:860px){.eng-grid{grid-template-columns:1fr;min-height:0}.eng-main{border-right:0;border-bottom:1px solid var(--line)}.scatter{max-width:min(100%,360px);margin-inline:auto}}@media (max-width:460px){.catalog{grid-template-columns:1fr}.eng-bar{gap:8px;font-size:11px}.eng-prog{justify-content:flex-end;width:100%;margin-left:0}}.feat-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;display:grid}.stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;padding:26px}.stat .big{letter-spacing:-.02em;color:var(--ink);font-size:clamp(30px,5vw,48px);font-weight:600;line-height:1}.stat .lbl{color:var(--ink-soft);margin-top:10px;font-size:14px}.cta-band{border:1px solid var(--line-2);border-radius:var(--radius);background:radial-gradient(120% 140% at 50% -20%, var(--glow-brand), transparent 60%), var(--surface);text-align:center;padding:clamp(36px,6vw,64px)}footer{border-top:1px solid var(--line);padding-block:clamp(46px,7vw,72px) 30px}.foot-bottom{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:clamp(34px,5vw,52px);padding-top:22px;font-size:11.5px;display:flex}@media (max-width:980px){.pipe,.feat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.stats{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:540px){.pipe,.feat-grid,.foot-grid{grid-template-columns:1fr}.hero-cta .btn{flex:auto;justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.read-row,.verdict{opacity:1!important;transform:none!important}.eng-foot .done-line{opacity:1!important}.eng-live b{box-shadow:none}.scanline{display:none}.tile{opacity:1!important;filter:none!important;transform:none!important}.tile.win .tile-badge{opacity:1!important;transform:none!important}.tile .m-bar i{width:var(--w)!important}.dot{transform:translate(-50%,-50%)scale(1)!important}}
