:root{--ink-strong:#15121a;--ink:#2a2236;--ink-soft:#524563;--line:#211a2b24;--line-strong:#211a2b38;--panel:#fffcf8db;--panel-strong:#fffffff0;--accent:#0b6f96;--accent-fg:#fff;--accent-2:#b32d2d;--accent-3:#d99a1f;--accent-4:#0f6157;--focus-ring:#ffb703;--shadow:0 24px 60px -22px #22152847;--shadow-soft:0 12px 30px -18px #22152840;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, ui-monospace, monospace;--sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--surface-bg:linear-gradient(180deg, #fff7eb 0%, #f7efe9 100%);--surface-radial-1:#0b7fab24;--surface-radial-2:#c43b3b1f;--input-bg:#fff9f2f2;--mono-block-bg:#1d1824;--mono-block-fg:#f7f1eb;--metric-bg:linear-gradient(180deg, #12151af2, #211a2bf2);--metric-fg:#f7f1eb;--metric-muted:#f7f1ebc7;--warning-bg:#c43b3b1a;--warning-fg:#6b1717;--warning-border:#c43b3b38;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at top left, var(--surface-radial-1), transparent 32%), radial-gradient(circle at top right, var(--surface-radial-2), transparent 28%), var(--surface-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--ink-strong:#f4f1f9;--ink:#dcd6e8;--ink-soft:#b3a8c4;--line:#c8bedc29;--line-strong:#c8bedc42;--panel:#1e1a26e0;--panel-strong:#262130f0;--accent:#5ccff8;--accent-fg:#08141d;--accent-2:#ff7c7c;--accent-3:#f0c95a;--accent-4:#4adfca;--focus-ring:#ffd166;--shadow:0 30px 70px -30px #000000a6;--shadow-soft:0 14px 36px -22px #0000008c;--surface-bg:linear-gradient(180deg, #110e1a 0%, #1a1424 100%);--surface-radial-1:#4dc3f71a;--surface-radial-2:#f0686814;--input-bg:#16131eeb;--mono-block-bg:#0c0a12;--mono-block-fg:#e6e0f0;--metric-bg:linear-gradient(180deg, #08060ef0, #120e1cf0);--metric-fg:#f1ecf7;--metric-muted:#dcd2f0c7;--warning-bg:#f0686824;--warning-fg:#ffc5c5;--warning-border:#f068684d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{min-width:280px;min-height:100dvh;margin:0;overflow-x:hidden}.skip-link{z-index:100;background:var(--accent);width:1px;height:1px;color:var(--accent-fg);border-radius:0 0 12px;padding:14px 22px;font-weight:700;text-decoration:none;position:absolute;top:auto;left:-10000px;overflow:hidden}.skip-link--second{border-radius:0 0 12px 12px}.skip-link:focus{outline:3px solid var(--focus-ring);outline-offset:2px;width:auto;height:auto;position:fixed;top:0;left:0}.skip-link--second:focus{left:220px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7;filter:saturate(.55);box-shadow:none!important;transform:none!important}::selection{background:var(--accent);color:var(--accent-fg)}#app{min-height:100dvh}.page-shell{outline:none;width:min(1180px,100% - 32px);margin:0 auto;padding:clamp(20px,4vw,36px) 0 clamp(48px,6vw,80px);display:block}.hero-panel,.lab-section,.panel-card,.scenario-card,.info-panel,.warning-banner{-webkit-backdrop-filter:blur(20px)}.hero-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:clamp(18px,3vw,28px);padding:clamp(22px,4vw,36px);display:grid;position:relative}.hero-toolbar{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.hero-copy{gap:14px;min-width:0;display:grid}.portfolio-badge{background:color-mix(in oklab, var(--accent) 14%, transparent);width:fit-content;color:var(--accent);font-family:var(--mono);border:1px solid color-mix(in oklab, var(--accent) 22%, transparent);border-radius:999px;align-items:center;gap:6px;padding:10px 14px;font-size:.84rem;font-weight:500;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex}.portfolio-badge:hover{background:color-mix(in oklab, var(--accent) 22%, transparent);transform:translateY(-1px)}.eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.hero-panel h1{letter-spacing:-.02em;color:var(--ink-strong);margin:0;font-size:clamp(2.4rem,7vw,5rem);font-weight:700;line-height:.96}.hero-amp{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;padding:0 .05em;font-style:italic}.hero-text{max-width:64ch;color:var(--ink-soft);margin:0;font-size:clamp(.98rem,1.1vw,1.05rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.why-details,.explanation-details{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:14px 18px}.why-details summary,.explanation-details summary{cursor:pointer;color:var(--ink-strong);font-weight:700;line-height:1.4}.why-details summary:focus-visible,.explanation-details summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.why-details p,.explanation-details p{color:var(--ink-soft);margin:12px 0 0;line-height:1.65}.hero-metric-card{background:var(--metric-bg);color:var(--metric-fg);border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);border-radius:24px;align-content:start;gap:12px;padding:clamp(18px,2.4vw,24px);display:grid}.hero-metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--metric-muted);margin:0;font-size:.78rem;font-weight:600}.hero-metric-value{font-family:var(--mono);gap:4px;margin:0;font-size:1.02rem;line-height:1.55;display:grid}.hero-metric-note{color:var(--metric-muted);margin:0;font-size:.92rem;line-height:1.6}.lab-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow);margin-top:clamp(20px,3vw,28px);padding:clamp(22px,4vw,36px);scroll-margin-top:16px}.section-heading-row,.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-kicker{color:var(--accent-2);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:.82rem;font-weight:700}.lab-section h2,.panel-card h3,.panel-card h4,.scenario-card h3,.scenario-card h4{color:var(--ink-strong);letter-spacing:-.01em;margin:0}.lab-section h2{font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.1}.panel-card h3,.scenario-card h3{align-items:center;gap:10px;font-size:1.12rem;display:flex}.scenario-card h4{font-size:1.02rem}.step-num{background:color-mix(in oklab, var(--accent) 16%, transparent);width:28px;height:28px;color:var(--accent);font-family:var(--mono);border-radius:50%;flex:none;place-items:center;font-size:.95rem;font-weight:700;display:inline-grid}.panel-copy,.scenario-copy,.section-footnote,.math-decimal,.info-panel p,.field-help{color:var(--ink-soft);line-height:1.65}.panel-copy,.scenario-copy,.section-footnote,.math-decimal{margin:10px 0 0}.field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-top:12px;font-size:.85rem;font-weight:700;display:block}.field-help{margin:8px 0 0;font-size:.88rem}.action-button,.ghost-button,.tab-button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.action-button,.ghost-button{min-height:48px;padding:14px 22px;font-size:.98rem;font-weight:700}.action-button--small,.ghost-button--small{min-height:42px;padding:10px 18px;font-size:.92rem}.action-button{background:linear-gradient(135deg, var(--accent), color-mix(in oklab, var(--accent) 60%, black));color:var(--accent-fg);box-shadow:0 12px 24px -10px color-mix(in oklab, var(--accent) 60%, transparent)}.action-button--danger{background:linear-gradient(135deg, var(--accent-2), color-mix(in oklab, var(--accent-2) 60%, black));box-shadow:0 12px 24px -10px color-mix(in oklab, var(--accent-2) 60%, transparent)}.ghost-button{background:var(--panel-strong);color:var(--ink-strong);border:1px solid var(--line-strong)}.action-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.tab-button:hover:not(:disabled),.portfolio-badge:hover{transform:translateY(-1px)}.action-button:active:not(:disabled),.ghost-button:active:not(:disabled){transform:translateY(0)}.action-button:focus-visible,.ghost-button:focus-visible,.tab-button:focus-visible,.message-input:focus-visible,.portfolio-badge:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,.theme-toggle:focus-visible,.copy-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.playground-grid,.reuse-grid,.math-summary-grid{gap:clamp(14px,2vw,20px);margin-top:clamp(18px,2.4vw,24px);display:grid}.playground-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reuse-grid,.math-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.math-summary-grid div{gap:4px;display:grid}.math-summary-grid dt,.math-summary-grid dd{margin:0}.panel-card,.scenario-card,.info-panel{border:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow-soft);border-radius:22px;flex-direction:column;padding:clamp(18px,2.6vw,26px);display:flex;position:relative}.panel-card--wide{grid-column:span 2}.message-input,.mono-block,.mono-inline,.mono-cell,.math-empty,.tag-cell{font-family:var(--mono)}.mono-hex,.mono-cell--hex,.tag-cell{text-transform:uppercase}.message-input{border:1px solid var(--line-strong);resize:vertical;background:var(--input-bg);width:100%;min-height:96px;color:var(--ink-strong);border-radius:16px;margin-top:8px;padding:14px 16px;font-size:1rem;line-height:1.55}.mono-block-wrap{margin-top:14px;position:relative}.mono-block-wrap .mono-block{margin-top:0;padding-right:56px}.preview-block,.mono-block,.mono-inline{overflow-wrap:anywhere;word-break:break-word;border-radius:16px;margin-top:14px;padding:14px 16px}.mono-block,.mono-inline{background:var(--mono-block-bg);color:var(--mono-block-fg);letter-spacing:.06em;font-size:.9rem;line-height:1.55}.preview-block{background:var(--input-bg);color:var(--ink-strong);border:1px solid var(--line);white-space:pre-wrap}.key-display{min-height:84px}.tag-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.tag-grid--compact{margin-top:14px}.tag-cell{background:linear-gradient(180deg, color-mix(in oklab, var(--tag-color,var(--accent)) 72%, white), color-mix(in oklab, var(--tag-color,var(--accent)) 82%, black 12%));color:#08141d;letter-spacing:.08em;border-radius:16px;place-items:center;min-height:54px;font-weight:700;display:grid}[data-theme=dark] .tag-cell{color:#f0edf5;background:linear-gradient(180deg, color-mix(in oklab, var(--tag-color,var(--accent)) 50%, black 20%), color-mix(in oklab, var(--tag-color,var(--accent)) 40%, black 40%))}.tag-cell--tampered{border:3px solid var(--accent-2)}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,18px);margin:16px 0 0;padding:0;list-style:none;display:grid}.scenario-card{margin:0}.scenario-card .ghost-button{margin-top:14px}.scenario-status{margin:14px 0 0;font-weight:700;line-height:1.5}.scenario-status--pending{color:var(--accent)}.scenario-status--valid{color:var(--accent-4)}.scenario-status--invalid{color:var(--accent-2)}.table-shell{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:20px;margin-top:18px;overflow-x:auto}.table-shell:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.math-table{border-collapse:collapse;background:var(--panel-strong);width:100%;min-width:720px}.math-table th,.math-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 16px}.math-table th{background:color-mix(in oklab, var(--accent) 12%, transparent);color:var(--ink-strong);letter-spacing:.02em;font-weight:700;position:sticky;top:0}.math-table tbody tr:last-child td{border-bottom:0}.math-table tbody tr:hover td{background:color-mix(in oklab, var(--accent) 5%, transparent)}.math-empty{color:var(--ink-soft)}.math-row{opacity:0;animation:.42s forwards row-enter;transform:translateY(12px)}.math-row:nth-child(2){animation-delay:60ms}.math-row:nth-child(3){animation-delay:.12s}.math-row:nth-child(4){animation-delay:.18s}.math-row:nth-child(5){animation-delay:.24s}.table-hint{margin-top:8px;font-size:.82rem;font-style:italic}@keyframes row-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.warning-banner{border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--warning-fg);align-items:flex-start;gap:12px;margin-top:22px;padding:16px 18px;line-height:1.6;display:flex}.warning-banner__icon{flex:none;font-size:1.15rem;line-height:1.4}.warning-banner[hidden]{display:none}.info-tabs{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.tab-button{background:var(--panel-strong);color:var(--ink-soft);border:1px solid var(--line);min-height:44px;padding:12px 18px;font-weight:700}.tab-button.is-active{background:var(--mono-block-bg);color:var(--mono-block-fg)}.info-panels{margin-top:18px}.info-panel{line-height:1.7}.info-panel p{margin:0}.info-panel p+p{margin-top:14px}.theme-toggle{border:1px solid var(--line-strong);background:var(--panel-strong);width:2.85rem;min-width:44px;height:2.85rem;min-height:44px;color:var(--ink-strong);cursor:pointer;box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;font-size:1.2rem;transition:transform .22s,box-shadow .22s,background .22s;display:grid}.theme-toggle__icon{transition:transform .32s;display:block}.theme-toggle:hover{transform:translateY(-1px)rotate(-8deg)}.theme-toggle:hover .theme-toggle__icon{transform:rotate(8deg)}.copy-button{border:1px solid color-mix(in oklab, var(--mono-block-fg) 22%, transparent);background:color-mix(in oklab, var(--mono-block-bg) 80%, transparent);min-height:36px;color:var(--mono-block-fg);font-family:var(--sans);letter-spacing:.04em;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:700;transition:background .18s,transform .18s,color .18s;display:inline-flex;position:absolute;top:8px;right:8px}.copy-button:hover{background:color-mix(in oklab, var(--mono-block-bg) 96%, var(--accent));transform:translateY(-1px)}.copy-button.is-copied{background:var(--accent-4);color:#fff;border-color:var(--accent-4)}.copy-button__label{white-space:nowrap}.trace-actions{justify-content:flex-end;margin-top:10px;display:flex}.trace-actions .copy-button{position:static}.trace-signature{font-weight:600}.scheme-card .panel-header{align-items:center}.site-footer{text-align:center}.footer-links{color:var(--ink-soft);margin:14px 0 0;font-size:.92rem}.footer-links a{color:var(--accent);font-weight:600;text-decoration:none}.footer-links a:hover{text-decoration:underline}@media (width<=1024px){.hero-panel{grid-template-columns:1fr}.playground-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-card--wide{grid-column:1/-1}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.page-shell{width:min(1180px,100% - 20px)}.hero-panel,.lab-section,.panel-card,.scenario-card,.info-panel{border-radius:22px;padding:clamp(18px,5vw,22px)}.section-heading-row,.panel-header{flex-direction:column}.playground-grid,.reuse-grid,.math-summary-grid,.scenario-grid{grid-template-columns:1fr}.panel-card--wide{grid-column:auto}.tag-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-amp{display:inline-block}.hero-actions{width:100%}.hero-actions .action-button,.hero-actions .ghost-button{flex:1}.copy-button{min-height:40px}.copy-button__label{display:none}.mono-block-wrap .mono-block{padding-right:56px}.math-table{min-width:580px;font-size:.92rem}}@media (width<=420px){.hero-panel h1{font-size:clamp(2rem,11vw,3rem)}.hero-toolbar{justify-content:space-between}.portfolio-badge{font-size:.78rem}}@media (prefers-contrast:more){:root{--ink-soft:#2a2236;--line:#211a2b66;--line-strong:#211a2b8c}[data-theme=dark]{--ink-soft:#f0edf5;--line:#ffffff59;--line-strong:#ffffff80}.action-button,.ghost-button,.copy-button{border-width:2px}}@media (forced-colors:active){.action-button,.ghost-button,.copy-button,.theme-toggle,.tab-button{forced-color-adjust:none;border:1px solid canvastext}.scenario-status--valid{color:linktext}.scenario-status--invalid{color:mark}}.maturity-chip{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;background:var(--panel-strong);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:700;display:inline-block}.maturity-chip.scenario-status--valid{background:color-mix(in oklab, var(--accent-4) 18%, transparent);color:var(--accent-4);border-color:color-mix(in oklab, var(--accent-4) 28%, transparent)}.maturity-chip.scenario-status--pending{background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent);border-color:color-mix(in oklab, var(--accent) 28%, transparent)}.maturity-chip.scenario-status--invalid{background:var(--warning-bg);color:var(--accent-2);border-color:var(--warning-border)}.param-row{flex-wrap:wrap;align-items:stretch;gap:14px;margin-top:18px;display:flex}.param-row label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;display:inline-flex}.param-row__name{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem}.param-row select{border:1px solid var(--line-strong);background:var(--input-bg);min-height:44px;color:var(--ink-strong);font-family:var(--mono);appearance:auto;cursor:pointer;border-radius:12px;padding:10px 14px;font-size:1rem}.param-row #keygen-btn{align-self:end}@media (width<=480px){.param-row{flex-direction:column;align-items:stretch;gap:12px}.param-row label,.param-row select,.param-row #keygen-btn{width:100%}}.trace-out{gap:12px;margin-top:18px;display:grid}.trace-out:empty{display:none}.trace-step{opacity:0;grid-template-columns:130px 1fr;align-items:baseline;gap:14px;animation:.38s forwards row-enter;display:grid;transform:translateY(8px)}.trace-step:nth-child(2){animation-delay:.1s}.trace-step:nth-child(3){animation-delay:.2s}.trace-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding-top:6px;font-size:.74rem;font-weight:700}.trace-step .mono-inline{word-break:break-all;margin:0;padding:10px 14px;font-size:.85rem}.attack-flow{counter-reset:none;gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.attack-step{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);box-shadow:var(--shadow-soft);grid-template-columns:52px 1fr;align-items:start;gap:20px;padding:20px 22px;transition:transform .22s,box-shadow .22s;display:grid}.attack-step:hover{transform:translateY(-2px);box-shadow:0 18px 36px -22px #00000059}.attack-step h3{color:var(--ink-strong);letter-spacing:-.005em;margin:0 0 6px;font-size:1.08rem}.attack-step__body p{margin-top:6px}.attack-num{width:48px;height:48px;font-family:var(--mono);color:var(--metric-fg);background:var(--metric-bg);border:1px solid color-mix(in oklab, var(--accent) 28%, transparent);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.attack-step:last-of-type .attack-num{background:linear-gradient(135deg, var(--accent), var(--accent-4));color:#fff9f2;border-color:#0000}.scripture{color:var(--ink-soft);margin:18px 0 0;font-size:.95rem;font-style:italic;line-height:1.65}@media (width<=720px){.trace-step{grid-template-columns:1fr;gap:4px}.trace-label{padding-top:0}.attack-step{grid-template-columns:40px 1fr;gap:14px;padding:16px}.attack-num{width:38px;height:38px;font-size:.98rem}}.byte-grid-wrap{margin-top:14px;position:relative}.byte-grid-host{min-height:56px}.byte-grid{background:var(--mono-block-bg);border:1px solid color-mix(in oklab, var(--mono-block-fg) 12%, transparent);border-radius:16px;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.byte-cell{--byte-color:var(--accent);background:color-mix(in oklab, var(--byte-color) 30%, var(--mono-block-bg));border:1px solid color-mix(in oklab, var(--byte-color) 55%, transparent);width:38px;height:38px;font-family:var(--mono);letter-spacing:.04em;color:var(--mono-block-fg);opacity:0;border-radius:9px;place-items:center;font-size:.78rem;font-weight:700;animation:.32s forwards byte-pop;display:inline-grid;position:relative;transform:translateY(6px)scale(.95)}.byte-cell:nth-child(n+3){animation-delay:calc(20ms * (var(--idx,0)))}.byte-cell__hex{text-shadow:0 1px 2px #0006}.byte-cell--tampered{border:2px solid var(--accent-2);background:color-mix(in oklab, var(--accent-2) 38%, var(--mono-block-bg));animation:.32s forwards byte-pop,.6s .32s byte-shake}@keyframes byte-pop{0%{opacity:0;transform:translateY(6px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes byte-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.trace-bytes{margin:0}.trace-bytes .byte-grid{border-color:var(--line);background:0 0;padding:8px}.trace-step--highlight .byte-grid{background:color-mix(in oklab, var(--accent-4) 12%, transparent);border-color:color-mix(in oklab, var(--accent-4) 30%, transparent)}@media (width<=480px){.byte-cell{width:32px;height:32px;font-size:.7rem}}.timing-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:inline-flex}.timing-pill{background:color-mix(in oklab, var(--accent) 10%, var(--panel-strong));border:1px solid color-mix(in oklab, var(--accent) 22%, transparent);font-family:var(--mono);color:var(--ink-strong);border-radius:999px;align-items:baseline;gap:8px;padding:8px 14px;font-size:.85rem;transition:background .22s,border-color .22s;display:inline-flex}.timing-pill__label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.7rem;font-weight:700}.timing-pill__value{font-variant-numeric:tabular-nums;font-weight:700}.timing-pill.is-fresh{background:color-mix(in oklab, var(--accent-4) 22%, var(--panel-strong));border-color:color-mix(in oklab, var(--accent-4) 40%, transparent);animation:.7s timing-flash}@keyframes timing-flash{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}.scenario-card{transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}.scenario-card__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.scenario-card__icon{background:color-mix(in oklab, var(--accent) 12%, transparent);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;display:grid}.scenario-card.is-valid{border-color:color-mix(in oklab, var(--accent-4) 55%, transparent);box-shadow:0 18px 36px -22px color-mix(in oklab, var(--accent-4) 60%, transparent);animation:.7s card-pulse-valid}.scenario-card.is-valid .scenario-card__icon{background:color-mix(in oklab, var(--accent-4) 22%, transparent);color:var(--accent-4)}.scenario-card.is-invalid{border-color:color-mix(in oklab, var(--accent-2) 55%, transparent);animation:.7s card-pulse-invalid}.scenario-card.is-invalid .scenario-card__icon{background:color-mix(in oklab, var(--accent-2) 22%, transparent);color:var(--accent-2)}@keyframes card-pulse-valid{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent-4) 60%, transparent)}to{box-shadow:0 0 0 16px #0000}}@keyframes card-pulse-invalid{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent-2) 60%, transparent)}to{box-shadow:0 0 0 16px #0000}}.scenario-detail{background:color-mix(in oklab, var(--accent-2) 8%, transparent);border:1px solid color-mix(in oklab, var(--accent-2) 22%, transparent);border-radius:14px;margin-top:12px;padding:10px}.scenario-detail:empty{display:none}.scenario-detail__caption{font-family:var(--mono);color:var(--accent-2);letter-spacing:.04em;margin:0 0 8px;font-size:.78rem}.trapdoor-svg{background:color-mix(in oklab, var(--mono-block-bg) 60%, transparent);border-radius:16px;width:100%;height:auto;max-height:220px;padding:6px;display:block}.icon-button{border:1px solid var(--line-strong);background:var(--panel-strong);width:2.85rem;min-width:44px;height:2.85rem;min-height:44px;color:var(--ink-strong);cursor:pointer;box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;transition:transform .22s,box-shadow .22s,background .22s;display:grid}.icon-button:hover{transform:translateY(-1px)}.hero-toolbar__right{align-items:center;gap:10px;display:flex}.shortcuts-panel{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--panel-strong);box-shadow:var(--shadow);grid-column:1/-1;margin-top:10px;padding:0;animation:.22s panel-enter}.shortcuts-panel[hidden]{display:none}.shortcuts-panel__inner{padding:18px 20px}.shortcuts-panel__title{letter-spacing:.02em;margin:0 0 12px;font-size:1rem}.shortcuts-panel ul{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.shortcuts-panel li{color:var(--ink);align-items:center;gap:10px;font-size:.92rem;display:flex}.shortcuts-panel kbd,.kbd-hint{border:1px solid var(--line-strong);background:var(--input-bg);min-width:24px;height:22px;color:var(--ink-strong);font-family:var(--mono);border-radius:6px;place-items:center;padding:0 6px;font-size:.74rem;font-weight:700;display:inline-grid}.kbd-hint{opacity:.7;margin-left:6px}@keyframes panel-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}#reset-btn{flex:none}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}[data-byte-hex]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-nav{z-index:30;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:color-mix(in oklab, var(--panel) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:999px;margin:16px 0 0;padding:0;position:sticky;top:8px}.section-nav__inner{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:4px;padding:6px;display:flex;overflow-x:auto}.section-nav__inner::-webkit-scrollbar{display:none}.section-nav a{min-height:40px;color:var(--ink-soft);white-space:nowrap;scroll-snap-align:center;border-radius:999px;flex:1 0 auto;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.section-nav a:hover{color:var(--ink-strong);background:color-mix(in oklab, var(--accent) 10%, transparent)}.section-nav a.is-active{background:var(--mono-block-bg);color:var(--mono-block-fg)}.section-nav a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}@media (width<=520px){.section-nav a span[aria-hidden]{display:none}.section-nav a{padding:10px 14px;font-size:.86rem}}.fingerprint-row{border:1px dashed var(--line-strong);background:color-mix(in oklab, var(--accent) 6%, transparent);border-radius:16px;margin-top:18px;padding:14px 16px}.fingerprint-row__label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;font-size:.74rem;font-weight:700;display:block}.fingerprint-row__hint{margin:8px 0 0;font-size:.82rem}.fingerprint-grid{min-height:40px}.fingerprint-grid__pending{color:var(--ink-soft);font-family:var(--mono);font-size:.85rem}.ghost-button__spinner{border:2px solid color-mix(in oklab, var(--ink-strong) 30%, transparent);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.72s linear infinite btn-spin;display:none}.ghost-button.is-busy .ghost-button__spinner{display:inline-block}.ghost-button.is-busy .ghost-button__icon{display:none}@keyframes btn-spin{to{transform:rotate(360deg)}}.trace-empty{border:1px dashed var(--line-strong);background:color-mix(in oklab, var(--accent) 5%, transparent);color:var(--ink-soft);border-radius:16px;margin:14px 0 0;padding:18px;font-size:.9rem;line-height:1.6}.trace-empty kbd{border:1px solid var(--line-strong);background:var(--input-bg);min-width:22px;height:20px;color:var(--ink-strong);font-family:var(--mono);border-radius:5px;place-items:center;margin:0 2px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-grid}.reveal-in{animation:.54s cubic-bezier(.2,.7,.25,1) backwards section-reveal}@keyframes section-reveal{0%{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal-in,.ghost-button__spinner,.timing-pill.is-fresh,.scenario-card.is-valid,.scenario-card.is-invalid,.byte-cell,.byte-cell--tampered{animation:none!important}}.noscript-banner{background:var(--warning-bg);border:1px solid var(--warning-border);width:min(680px,100% - 32px);color:var(--warning-fg);text-align:center;border-radius:24px;margin:60px auto;padding:28px 32px}.noscript-banner h1{color:var(--accent-2);margin:0 0 12px;font-size:1.6rem}.noscript-banner p{margin:0;line-height:1.6}.noscript-banner a{color:inherit;font-weight:700}:root:not([data-text-mode=plain]) [data-mode=plain],[data-text-mode=plain] [data-mode=technical]{display:none}[data-mode=plain] em{color:var(--accent);font-style:italic}.text-mode-toggle{white-space:nowrap}.text-mode-toggle[aria-pressed=true]{background:color-mix(in oklab, var(--accent) 18%, var(--panel-strong));border-color:color-mix(in oklab, var(--accent) 32%, transparent);color:var(--accent)}@media (width<=520px){.text-mode-toggle__label{display:none}}.sign-controls{flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:4px;display:flex}.bench-result{border:1px solid var(--line);background:color-mix(in oklab, var(--accent-4) 8%, var(--panel-strong));border-radius:18px;margin-top:16px;padding:16px 18px;animation:.36s section-reveal}.bench-result[hidden]{display:none}.bench-progress{gap:10px;display:grid}.bench-progress__label{color:var(--ink-soft);font-size:.92rem;font-weight:600}.bench-progress__bar{background:var(--mono-block-bg);border-radius:999px;height:10px;overflow:hidden}.bench-progress__fill{background:linear-gradient(90deg, var(--accent), var(--accent-4));height:100%;transition:width .18s linear}.bench-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.bench-stat{background:var(--panel-strong);border:1px solid var(--line);border-radius:14px;gap:4px;padding:10px 14px;display:grid}.bench-stat__label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:700}.bench-stat__value{font-family:var(--mono);color:var(--ink-strong);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.bench-stat__value small{color:var(--ink-soft);margin-left:2px;font-size:.7rem;font-weight:600}.feel-cell{color:var(--ink-soft);font-size:.92rem;font-style:italic}.back-to-top{right:calc(env(safe-area-inset-right,0px) + 18px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:25;border:1px solid var(--line-strong);background:var(--mono-block-bg);width:48px;height:48px;color:var(--mono-block-fg);cursor:pointer;border-radius:50%;place-items:center;transition:transform .2s;animation:.22s section-reveal;display:grid;position:fixed;box-shadow:0 14px 28px -16px #00000080}.back-to-top:hover{transform:translateY(-2px)}.back-to-top[hidden]{display:none}.byte-cell{position:relative}.byte-cell:after{content:attr(data-tooltip);background:var(--mono-block-bg);color:var(--mono-block-fg);font-family:var(--mono);white-space:nowrap;pointer-events:none;opacity:0;border:1px solid color-mix(in oklab, var(--mono-block-fg) 18%, transparent);z-index:5;border-radius:8px;padding:5px 9px;font-size:.72rem;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,4px)}.byte-cell:hover:after,.byte-cell:focus-visible:after{opacity:1;transform:translate(-50%)}.is-first-visit #keygen-btn{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent-3) 60%, transparent);animation:1.6s ease-in-out infinite keygen-pulse}@keyframes keygen-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent-3) 65%, transparent);transform:translateY(0)}50%{box-shadow:0 0 0 14px color-mix(in oklab, var(--accent-3) 0%, transparent);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.is-first-visit #keygen-btn{box-shadow:0 0 0 3px color-mix(in oklab, var(--accent-3) 55%, transparent);animation:none}}.trapdoor-svg .td-rect,.trapdoor-svg .td-arrow{stroke-dasharray:800;stroke-dashoffset:800px;animation:1.4s forwards td-draw}.trapdoor-svg .td-rect--easy{animation-delay:.4s}.trapdoor-svg .td-arrow{stroke-dasharray:30;stroke-dashoffset:30px;animation-delay:.35s}.trapdoor-svg .td-arrowhead{opacity:0;animation:.24s .7s forwards td-fade}@keyframes td-draw{to{stroke-dashoffset:0}}@keyframes td-fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.trapdoor-svg .td-rect,.trapdoor-svg .td-arrow,.trapdoor-svg .td-arrowhead{stroke-dashoffset:0;opacity:1;animation:none}}.panel-card--full{grid-column:1/-1}.anatomy-scroller{-webkit-overflow-scrolling:touch;border-radius:16px;margin-top:16px;padding:2px;overflow-x:auto}.anatomy-scroller:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.anatomy-matrix-host{min-width:max-content}.anatomy-empty{border:1px dashed var(--line-strong);background:color-mix(in oklab, var(--accent) 5%, transparent);color:var(--ink-soft);border-radius:14px;margin:0;padding:22px}.anatomy-matrix{background:color-mix(in oklab, var(--mono-block-bg) 30%, transparent);border:1px solid var(--line);border-radius:14px;gap:3px;padding:10px;display:grid}.anatomy-corner,.anatomy-header,.anatomy-rowhead,.anatomy-cell{height:clamp(22px,7.14286vw - 8.57143px,36px);font-family:var(--mono);letter-spacing:.02em;border-radius:6px;place-items:center;font-size:.7rem;font-weight:700;display:grid}.anatomy-header,.anatomy-rowhead{color:var(--ink-soft);background:0 0;font-size:.65rem}.anatomy-header--v{color:var(--accent)}.anatomy-header--o{color:var(--accent-3)}.anatomy-cell{color:var(--ink-strong);transition:transform .2s}.anatomy-cell--vv{background:color-mix(in oklab, var(--accent) 22%, var(--mono-block-bg));color:#f0edf5;border:1px solid color-mix(in oklab, var(--accent) 36%, transparent)}.anatomy-cell--vo{background:color-mix(in oklab, var(--accent-3) 26%, var(--mono-block-bg));color:#1a1408;border:1px solid color-mix(in oklab, var(--accent-3) 40%, transparent)}[data-theme=dark] .anatomy-cell--vo{color:#fff7e2}.anatomy-cell--oo{background:color-mix(in oklab, var(--accent-2) 18%, var(--mono-block-bg));border:1.5px dashed color-mix(in oklab, var(--accent-2) 60%, transparent);color:var(--accent-2)}.anatomy-cell--oo .anatomy-cell__zero{opacity:.7;font-size:.8rem}.anatomy-cell--blank{opacity:.4;background:0 0;border:none}.anatomy-cell:hover{z-index:2;transform:scale(1.08)}.anatomy-legend{flex-wrap:wrap;gap:14px 22px;margin:14px 0 0;padding:0;list-style:none;display:flex}.anatomy-legend li{color:var(--ink-soft);align-items:center;gap:8px;font-size:.86rem;line-height:1.4;display:flex}.legend-swatch{border-radius:5px;place-items:center;width:18px;height:18px;display:inline-grid}.legend-swatch--vv{background:color-mix(in oklab, var(--accent) 28%, var(--mono-block-bg));border:1px solid color-mix(in oklab, var(--accent) 50%, transparent)}.legend-swatch--vo{background:color-mix(in oklab, var(--accent-3) 32%, var(--mono-block-bg));border:1px solid color-mix(in oklab, var(--accent-3) 50%, transparent)}.legend-swatch--oo{background:color-mix(in oklab, var(--accent-2) 22%, var(--mono-block-bg));border:1.5px dashed color-mix(in oklab, var(--accent-2) 70%, transparent)}.poly-select-label{color:var(--ink-soft);align-items:center;gap:10px;font-size:.86rem;font-weight:600;display:inline-flex}.poly-select-label select{border:1px solid var(--line-strong);background:var(--input-bg);min-height:40px;color:var(--ink-strong);font-family:var(--mono);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:1rem}.linear-system-host{margin-top:18px}.linear-system-host[hidden]{display:none}.linear-system{background:color-mix(in oklab, var(--accent-4) 8%, var(--panel-strong));border:1px solid color-mix(in oklab, var(--accent-4) 26%, transparent);border-radius:16px;padding:18px}.linear-system__expr{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:16px 0 6px;display:flex}.ls-group{justify-items:center;gap:6px;display:grid}.ls-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.74rem;font-weight:700}.ls-op{font-family:var(--mono);color:var(--accent-4);align-self:center;padding-top:18px;font-size:1.4rem;font-weight:700}.ls-matrix,.ls-vector{background:var(--mono-block-bg);border:1px solid color-mix(in oklab, var(--mono-block-fg) 18%, transparent);border-radius:10px;gap:4px;padding:6px;display:grid}.ls-cell{height:clamp(28px,12.5vw - 30px,44px);font-family:var(--mono);background:color-mix(in oklab, var(--accent) 20%, var(--mono-block-bg));color:var(--mono-block-fg);border-radius:6px;place-items:center;font-size:.78rem;font-weight:700;display:grid}.ls-cell--oil{background:color-mix(in oklab, var(--accent-3) 35%, var(--mono-block-bg));color:#1a1408}[data-theme=dark] .ls-cell--oil{color:#fff}.ls-cell--rhs{background:color-mix(in oklab, var(--accent-4) 30%, var(--mono-block-bg))}@media (width<=560px){.linear-system__expr{flex-direction:column;gap:8px}.ls-op{padding-top:0;font-size:1.6rem}}.trace-connector{opacity:0;grid-template-columns:130px 1fr;align-items:center;gap:14px;animation:.32s 50ms forwards trace-conn-in;display:grid}.trace-connector__caption{color:var(--accent);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;grid-column:2;align-items:center;gap:10px;font-size:.78rem;font-weight:600;display:inline-flex}.trace-connector__caption:before{content:"";background:linear-gradient(90deg, var(--accent), transparent);width:28px;height:1px;display:inline-block}.trace-connector__caption:after{content:"↓";font-family:var(--sans);color:var(--accent);font-size:1rem;font-weight:800}@keyframes trace-conn-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:.9;transform:translateY(0)}}@media (width<=720px){.trace-connector{grid-template-columns:1fr}.trace-connector__caption{grid-column:1;padding-left:2px}}.size-cell{vertical-align:middle;white-space:nowrap;position:relative}.size-cell__value{font-weight:700;display:inline-block}.size-bar{height:6px;width:var(--pct,0%);background:var(--bar-color,var(--accent));min-width:3px;box-shadow:0 0 0 1px color-mix(in oklab, var(--bar-color,var(--accent)) 40%, transparent);border-radius:999px;margin-top:8px;animation:.72s cubic-bezier(.2,.7,.25,1) backwards size-bar-grow;display:block}.size-bar--pk{--bar-color:var(--accent)}.size-bar--sig{--bar-color:var(--accent-2)}@keyframes size-bar-grow{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}.family-dot{vertical-align:middle;background:var(--accent);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.family-dot--lattice{background:var(--accent)}.family-dot--hash{background:var(--accent-4)}.family-dot--multivariate{background:var(--accent-2)}@media (prefers-reduced-motion:reduce){.size-bar,.trace-connector{opacity:1!important;animation:none!important}}.hero-lede{color:var(--ink-strong);max-width:56ch;margin:0;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:500;line-height:1.45}.hero-text--subtle{color:var(--ink-soft);margin:4px 0 0;font-size:.95rem}.hero-actions__quiet{opacity:.85}.preset-strip{flex-wrap:wrap;gap:10px;margin:20px 0 0;display:flex}.preset-chip{border:1px solid var(--line-strong);background:var(--panel-strong);min-height:44px;color:var(--ink-strong);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 16px;font-size:.92rem;font-weight:700;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.preset-chip:hover{background:color-mix(in oklab, var(--accent) 8%, var(--panel-strong));border-color:color-mix(in oklab, var(--accent) 30%, transparent);transform:translateY(-2px)}.preset-chip.is-active{background:color-mix(in oklab, var(--accent) 18%, var(--panel-strong));border-color:color-mix(in oklab, var(--accent) 50%, transparent);color:var(--accent)}.preset-chip__icon{font-size:1.1rem}.preset-chip__params{font-family:var(--mono);color:var(--ink-soft);border-left:1px solid var(--line);padding-left:8px;font-size:.78rem}.preset-caption{min-height:1.4em;color:var(--ink-soft);margin:10px 0 0;font-size:.92rem;font-style:italic}@media (width<=520px){.preset-chip__params{display:none}}.panel-header__actions{flex-wrap:wrap;gap:8px;display:flex}.tour-caption{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:60;background:var(--mono-block-bg);width:min(720px,100% - 24px);color:var(--mono-block-fg);border:1px solid color-mix(in oklab, var(--accent-3) 50%, transparent);border-radius:22px;padding:16px 18px;animation:.32s tour-caption-in;position:fixed;transform:translate(-50%);box-shadow:0 28px 60px -28px #000000a6}.tour-caption[hidden]{display:none}.tour-caption__bar{align-items:center;gap:12px;margin-bottom:10px;display:flex}.tour-caption__step{font-family:var(--mono);letter-spacing:.08em;color:color-mix(in oklab, var(--accent-3) 90%, white);font-size:.72rem;font-weight:700}.tour-caption__progress{background:color-mix(in oklab, var(--mono-block-fg) 18%, transparent);border-radius:999px;flex:1;height:4px;overflow:hidden}.tour-caption__fill{background:linear-gradient(90deg, var(--accent-3), var(--accent));height:100%;transition:width .3s}.tour-caption__text{margin:0;font-size:1rem;line-height:1.45}.tour-caption__actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.tour-caption__actions .ghost-button{background:color-mix(in oklab, var(--mono-block-bg) 50%, transparent);color:var(--mono-block-fg);border-color:color-mix(in oklab, var(--mono-block-fg) 22%, transparent)}@keyframes tour-caption-in{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}.is-tour-target{z-index:5;box-shadow:0 0 0 3px var(--accent-3), 0 0 0 8px color-mix(in oklab, var(--accent-3) 35%, transparent), 0 24px 60px -20px color-mix(in oklab, var(--accent-3) 60%, transparent);border-radius:16px;scroll-margin-top:110px;scroll-margin-bottom:220px;animation:1.8s ease-in-out infinite tour-ring-pulse;position:relative}@keyframes tour-ring-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-3), 0 0 0 8px color-mix(in oklab, var(--accent-3) 30%, transparent)}50%{box-shadow:0 0 0 5px var(--accent-3), 0 0 0 18px color-mix(in oklab, var(--accent-3) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.is-tour-target{box-shadow:0 0 0 3px var(--accent-3), 0 0 0 10px color-mix(in oklab, var(--accent-3) 30%, transparent);animation:none}.tour-caption,.tour-caption__fill{transition:none!important;animation:none!important}}.is-tour-running .back-to-top,.is-tour-running.is-first-visit #keygen-btn{opacity:.4;animation:none}.is-modal-open{overflow:hidden}.result-modal{z-index:80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.result-modal__backdrop{-webkit-backdrop-filter:blur(6px);background:#08060eb8;animation:.24s modal-fade;position:absolute;inset:0}.result-modal__card{border:1px solid var(--line-strong);background:var(--panel-strong);border-radius:24px;width:min(720px,100%);max-height:calc(100dvh - 32px);padding:22px;animation:.28s cubic-bezier(.2,.7,.25,1) modal-rise;position:relative;overflow-y:auto;box-shadow:0 32px 80px -28px #0000008c}.result-modal__head{justify-content:space-between;align-items:center;gap:16px;display:flex}.result-modal__head h2{color:var(--ink-strong);margin:0;font-size:1.3rem}.result-modal__close{width:38px;min-width:38px;height:38px;min-height:38px;font-size:.95rem}.result-modal__preview{border:1px solid var(--line);background:var(--mono-block-bg);aspect-ratio:1080/608;border-radius:14px;width:100%;height:auto;margin-top:16px;display:block}.result-modal__facts{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 4px;padding:0;display:grid}.result-modal__facts>div{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.result-modal__facts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:700}.result-modal__facts dd{font-family:var(--mono);color:var(--ink-strong);word-break:break-word;margin:0;font-size:.88rem}.result-modal__actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.result-modal__note{color:var(--ink-soft);margin:14px 0 0;font-size:.82rem;font-style:italic}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=560px){.result-modal__facts{grid-template-columns:1fr}.result-modal__card{border-radius:18px;padding:18px}}@media (prefers-reduced-motion:reduce){.result-modal__card,.result-modal__backdrop{animation:none!important}}.citation-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:22px 0 0;padding:0;list-style:none;display:grid}.citation-card{margin:0}.citation-card__link{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink-strong);border-radius:18px;gap:6px;height:100%;padding:16px 18px;text-decoration:none;transition:transform .22s,border-color .22s,background .22s;display:grid}.citation-card__link:hover{border-color:color-mix(in oklab, var(--accent) 38%, transparent);background:color-mix(in oklab, var(--accent) 6%, var(--panel-strong));transform:translateY(-3px)}.citation-card__link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.citation-card__label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.citation-card__title{color:var(--ink-strong);font-size:1rem;font-weight:700;line-height:1.3}.citation-card__venue{color:var(--ink-soft);font-size:.82rem;font-style:italic}.citation-card__note{color:var(--ink-soft);font-size:.86rem;line-height:1.5}.citation-card__cta{font-family:var(--mono);color:var(--accent);margin-top:auto;font-size:.78rem;font-weight:700}[data-audience=on]{font-size:1.12em}[data-audience=on] .hero-panel h1{font-size:clamp(3rem,9vw,6rem)}[data-audience=on] .hero-lede{font-size:clamp(1.25rem,2vw,1.6rem)}[data-audience=on] .hero-text--subtle,[data-audience=on] .kbd-hint,[data-audience=on] .preset-chip__params,[data-audience=on] .why-details,[data-audience=on] .field-help,[data-audience=on] .table-hint,[data-audience=on] .scripture{display:none}[data-audience=on] .byte-cell{width:48px;height:48px;font-size:.95rem}[data-audience=on] .lab-section h2{font-size:clamp(2rem,5vw,3.4rem)}[data-audience=on] .panel-card h3,[data-audience=on] .scenario-card h3{font-size:1.4rem}[data-audience=on] .scenario-card h4{font-size:1.2rem}[data-audience=on] .panel-card,[data-audience=on] .scenario-card{padding:clamp(22px,3vw,30px)}[data-audience=on] .anatomy-corner,[data-audience=on] .anatomy-header,[data-audience=on] .anatomy-rowhead,[data-audience=on] .anatomy-cell{height:clamp(28px,7.14286vw - 8.57143px,44px);font-size:.85rem}[data-audience=on] .action-button,[data-audience=on] .ghost-button{min-height:52px;padding:16px 26px;font-size:1.06rem}[data-audience=on] .panel-copy,[data-audience=on] .scenario-copy{font-size:1.06rem}.audience-toggle[aria-pressed=true]{background:color-mix(in oklab, var(--accent-4) 18%, var(--panel-strong));border-color:color-mix(in oklab, var(--accent-4) 40%, transparent);color:var(--accent-4)}@media (width<=520px){.audience-toggle__label{display:none}}.replay-hint{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:55;background:var(--panel-strong);border:1px solid color-mix(in oklab, var(--accent) 38%, transparent);box-shadow:var(--shadow);color:var(--ink-strong);border-radius:999px;align-items:center;gap:12px;padding:12px 16px;font-size:.92rem;animation:.26s replay-in;display:inline-flex;position:fixed;transform:translate(-50%)}.replay-hint[hidden]{display:none}.icon-button--tiny{width:28px;min-width:28px;height:28px;min-height:28px;font-size:.85rem}@keyframes replay-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.tour-caption [data-tour=back]:disabled{opacity:.4}@media (prefers-reduced-motion:reduce){.replay-hint,.citation-card__link{transition:none!important;animation:none!important}}.collapse-caption{background:color-mix(in oklab, var(--accent-3) 14%, var(--mono-block-bg));color:var(--mono-block-fg);font-family:var(--mono);border:1px solid color-mix(in oklab, var(--accent-3) 40%, transparent);border-radius:12px;margin:14px 0 0;padding:12px 14px;font-size:.92rem;line-height:1.55;animation:.24s collapse-cap-in}.collapse-caption[hidden]{display:none}@keyframes collapse-cap-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.anatomy-matrix.phase-1 .anatomy-cell--vv,.anatomy-matrix.phase-2 .anatomy-cell--vv,.anatomy-matrix.phase-3 .anatomy-cell--vv,.anatomy-matrix.phase-4 .anatomy-cell--vv{animation:.54s forwards collapse-vv}@keyframes collapse-vv{0%{background:color-mix(in oklab, var(--accent) 80%, white);box-shadow:0 0 14px var(--accent);transform:scale(1.12)}to{background:color-mix(in oklab, var(--accent) 14%, var(--mono-block-bg));opacity:.55;box-shadow:none;transform:scale(1)}}.anatomy-matrix.phase-2 .anatomy-cell--vo,.anatomy-matrix.phase-3 .anatomy-cell--vo,.anatomy-matrix.phase-4 .anatomy-cell--vo{animation:.6s forwards collapse-vo}@keyframes collapse-vo{0%{background:color-mix(in oklab, var(--accent-3) 80%, white);box-shadow:0 0 18px var(--accent-3);transform:scale(1.12)}to{background:color-mix(in oklab, var(--accent-3) 50%, var(--mono-block-bg));box-shadow:0 0 4px color-mix(in oklab, var(--accent-3) 60%, transparent);transform:scale(1)}}.anatomy-matrix.phase-3 .anatomy-cell--oo,.anatomy-matrix.phase-4 .anatomy-cell--oo{animation:.64s forwards collapse-oo}@keyframes collapse-oo{0%{background:color-mix(in oklab, var(--accent-2) 30%, var(--mono-block-bg));transform:scale(1)}50%{background:color-mix(in oklab, var(--accent-2) 75%, white);box-shadow:0 0 22px var(--accent-2);transform:scale(1.18)}to{background:color-mix(in oklab, var(--accent-2) 35%, var(--mono-block-bg));box-shadow:0 0 6px color-mix(in oklab, var(--accent-2) 60%, transparent);transform:scale(1)}}.anatomy-matrix.phase-4{filter:saturate(.85)brightness(.92)}@media (prefers-reduced-motion:reduce){.anatomy-matrix.phase-1 .anatomy-cell--vv,.anatomy-matrix.phase-2 .anatomy-cell--vv,.anatomy-matrix.phase-2 .anatomy-cell--vo,.anatomy-matrix.phase-3 .anatomy-cell--vv,.anatomy-matrix.phase-3 .anatomy-cell--vo,.anatomy-matrix.phase-3 .anatomy-cell--oo,.anatomy-matrix.phase-4 .anatomy-cell--vv,.anatomy-matrix.phase-4 .anatomy-cell--vo,.anatomy-matrix.phase-4 .anatomy-cell--oo,.collapse-caption{animation:none}}.scoreboard{left:calc(env(safe-area-inset-left,0px) + 18px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:22;border:1px solid var(--line-strong);background:color-mix(in oklab, var(--panel-strong) 92%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:234px;color:var(--ink-strong);box-shadow:var(--shadow);border-radius:18px;padding:14px 16px;animation:.28s scoreboard-in;position:fixed}.scoreboard[hidden]{display:none}.scoreboard__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.scoreboard__kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.65rem;font-weight:700}.scoreboard__status{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-block}.scoreboard__scheme{font-family:var(--mono);color:var(--ink-strong);margin-bottom:10px;font-size:.95rem;font-weight:700}.scoreboard__stats{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;display:grid}.scoreboard__stats>div{background:color-mix(in oklab, var(--mono-block-bg) 22%, transparent);border-radius:10px;gap:2px;padding:6px 8px;display:grid}.scoreboard__stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.6rem;font-weight:700}.scoreboard__stats dd{font-family:var(--mono);color:var(--ink-strong);font-variant-numeric:tabular-nums;margin:0;font-size:.82rem;font-weight:700}.scoreboard__takeaway{color:var(--ink-soft);margin:10px 0 0;font-size:.72rem;font-style:italic;line-height:1.45}@keyframes scoreboard-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=1199px){.scoreboard{display:none}}@media (width>=1200px){.back-to-top{right:calc(env(safe-area-inset-right,0px) + 18px)}}.is-tour-running .scoreboard,.is-modal-open .scoreboard{opacity:.4;pointer-events:none}@media (prefers-reduced-motion:reduce){.scoreboard{animation:none!important}}@media print{:root{color:#000!important;background:#fff!important}body{background:#fff!important}.skip-link,.section-nav,.hero-toolbar__right,.copy-button,.ghost-button,.action-button,.icon-button,.theme-toggle,.timing-strip,.shortcuts-panel,.hero-actions,.scenario-card .ghost-button{display:none!important}.hero-panel,.lab-section,.panel-card,.scenario-card,.attack-step{page-break-inside:avoid;break-inside:avoid;box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #999!important}.byte-cell{color:#000!important;background:#f4f4f4!important;border-color:#444!important}.hero-panel h1{font-size:2.2rem!important}.trapdoor-svg{max-height:180px}}
