:root{--accent:#35d6bb;--accent-text:#61ead2;--accent-ink:#031713;--bg:#081012;--surface:#101a1d;--surface-raised:#172326;--surface-alt:#1d2b2f;--text:#edf8f5;--text-dim:#b2c6c1;--border:#3f5a55;--control-border:#6d8d86;--ok:#47d77e;--ok-text:#8aefad;--bad:#ff6b78;--bad-text:#ff9aa3;--alarm:#ffc857;--alarm-text:#ffdc8a;--c1:#67b7ff;--c2:#f0b65d;--c3:#df86d5;color:var(--text);background-color:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html{background-color:var(--bg);scroll-padding-top:138px}body{background-color:var(--bg);min-width:320px;min-height:100vh;color:var(--text);background-image:linear-gradient(#35d6bb09 1px,#0000 1px),linear-gradient(90deg,#35d6bb09 1px,#0000 1px);background-size:32px 32px;margin:0;line-height:1.55}#app a{color:var(--accent);text-underline-offset:.18em;text-decoration:underline}#app{width:min(1220px,100% - 2rem);margin:0 auto;padding-bottom:3rem}#app :is(button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}#app code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cl-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:clamp(1rem,4vw,3rem);margin:clamp(1rem,3vw,2rem) 0 1.5rem;display:flex}.cl-hero-main{flex:22rem;min-width:min(100%,20rem)}.cl-hero-title{letter-spacing:.01em;margin:0;font-size:clamp(1.6rem,3.8vw,2.7rem);font-weight:700;line-height:1.1}.cl-hero-sub{letter-spacing:.01em;color:var(--accent-text);margin:.4rem 0 0;font-size:clamp(.9rem,1.6vw,1.05rem)}.cl-hero-desc{max-width:60ch;color:var(--text-dim);margin:.55rem 0 0;font-size:1rem;line-height:1.5}.cl-hero-why{border:1px solid var(--border);background:color-mix(in oklab, var(--accent) 7%, var(--surface));border-radius:8px;flex:0 min(40%,26rem);min-width:min(100%,15rem);padding:.85rem 1.05rem}.cl-hero-why-label{letter-spacing:0;color:var(--accent-text);font-size:.68rem;font-weight:700;display:block}.cl-hero-why-text{margin:.35rem 0 0;font-size:.95rem;line-height:1.5}[hidden]{display:none!important}.pane-nav{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.65rem 0;position:sticky;top:64px}.pane-nav ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.pane-tab{border:1px solid var(--control-border);background:var(--surface);width:100%;min-height:52px;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;border-radius:7px;align-items:center;gap:.7rem;padding:.7rem .85rem;font-weight:700;display:flex}.pane-tab span{color:var(--accent-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.pane-tab.is-active{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.pane-tab.is-active span{color:var(--accent-ink)}.pane-tab:disabled{border-color:var(--border);color:#7d918c;cursor:not-allowed}.pane-tab:disabled span{color:#7d918c}.lab-main{margin-top:1.3rem}.pane{background:0 0;border:0;padding:0}.pane:focus{outline:none}.pane-intro{max-width:78ch;margin-bottom:1.25rem}.pane-intro h2{margin:.15rem 0 .65rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.15}.pane-intro p:not(.eyebrow),.exhibit>p,.gate-panel>p,.real-world>p{color:var(--text-dim)}.eyebrow{color:var(--accent-text);letter-spacing:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;font-weight:800}.danger-eyebrow{color:var(--bad-text)}.curve-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,.75fr);align-items:start;gap:1rem;display:grid}.parameter-panel,.gate-panel,.control-panel,.signature-output,.real-world{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:clamp(1rem,2.4vw,1.4rem)}.panel-heading,.exhibit-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.panel-heading h3,.gate-panel h3,.exhibit-heading h3,.real-world h3{margin:0;font-size:1.08rem}.panel-heading>span,.source-chip,.broken-chip{border:1px solid var(--border);color:var(--text-dim);border-radius:4px;flex:none;padding:.22rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}.broken-chip{border-color:var(--bad);color:var(--bad-text)}.parameter-list{gap:0;margin:1rem 0 0;display:grid}.parameter-list>div{border-top:1px solid var(--border);grid-template-columns:2.5rem minmax(0,1fr);gap:.65rem;padding:.57rem 0;display:grid}.parameter-list dt{color:var(--accent-text);font-weight:800}.parameter-list dd{min-width:0;margin:0}.parameter-list code,.component-inspector code,.signature-pair code{overflow-wrap:anywhere;color:var(--text);font-size:.76rem;line-height:1.55;display:block}.gate-panel{border-top:3px solid var(--accent)}.gate-panel h3{margin-top:.2rem}.gate-results{gap:.7rem;margin:1rem 0;display:grid}.button{border:1px solid var(--control-border);min-height:44px;color:var(--text);background:var(--surface-alt);font:inherit;cursor:pointer;border-radius:6px;padding:.65rem .9rem;font-weight:750}.button:hover:not(:disabled){border-color:var(--accent-text)}.button:disabled{color:#879994;cursor:not-allowed}.button-primary{border-color:var(--accent-ink);color:var(--accent-ink);background:var(--accent)}.button-secondary{border-color:var(--accent);color:var(--accent-text)}.button-danger{color:#26070b;background:var(--bad);border-color:#26070b}.continue-button{width:100%;margin-top:.35rem}.verdict{border:1px solid var(--control-border);background:var(--surface-alt);min-height:46px;color:var(--text);border-radius:6px;align-items:flex-start;gap:.55rem;padding:.65rem .75rem;font-size:.86rem;line-height:1.45;display:flex}.verdict-icon{flex:none;font-size:1.05rem;font-weight:900}.verdict-pass{border-color:var(--ok);background:color-mix(in oklab, var(--ok) 12%, var(--surface))}.verdict-pass .verdict-icon,.verdict-pass strong{color:var(--ok-text)}.verdict-fail{border-color:var(--bad);background:color-mix(in oklab, var(--bad) 12%, var(--surface))}.verdict-fail .verdict-icon,.verdict-fail strong{color:var(--bad-text)}.verdict-alarm{border-color:var(--alarm);background:color-mix(in oklab, var(--alarm) 13%, var(--surface))}.verdict-alarm .verdict-icon,.verdict-alarm strong{color:var(--alarm-text)}.verdict-idle .verdict-icon,.verdict-idle strong{color:var(--text-dim)}.sticky-verdict{margin-top:.9rem}.signature-workbench{grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr);align-items:start;gap:1rem;display:grid}.control-panel,.attack-controls{gap:1rem;display:grid}.control{gap:.38rem;display:grid}.control label,.verifier-choice legend{color:var(--text);font-size:.86rem;font-weight:750}.control-note{color:var(--text-dim);font-size:.76rem}#app :is(input[type=text],textarea,select){box-sizing:border-box;border:1px solid var(--control-border);background-color:var(--bg);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:6px;padding:.65rem .7rem}#app textarea{resize:vertical}#app select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--accent-text) 50%), linear-gradient(135deg, var(--accent-text) 50%, transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.3rem}.retired-status{border-left:3px solid var(--alarm);color:var(--alarm-text);background:color-mix(in oklab, var(--alarm) 9%, var(--surface));padding:.7rem;font-size:.84rem}.mechanism-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem;display:flex}.mechanism-header span{color:var(--accent-text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:800}.mechanism-header strong{font-size:.8rem}.identity-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.flow-part{border:1px solid var(--border);border-top:3px solid var(--c1);background:var(--surface-alt);border-radius:5px;grid-template-rows:auto 1fr auto;min-width:0;min-height:100px;padding:.65rem;display:grid}.flow-part[data-part=ID]{border-top-color:var(--accent);background:color-mix(in oklab, var(--accent) 9%, var(--surface-alt))}.flow-part[data-part=xA],.flow-part[data-part=yA]{border-top-color:var(--c3)}.flow-label{color:var(--accent-text);font-size:.75rem;font-weight:850}.flow-value{overflow-wrap:anywhere;margin-top:.35rem;font-size:.69rem;line-height:1.4}.flow-detail{color:var(--text-dim);margin-top:.35rem;font-size:.68rem}.digest-line{border:1px solid var(--accent);background:color-mix(in oklab, var(--accent) 7%, var(--surface));grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.7rem;margin:.85rem 0;padding:.7rem;display:grid}.digest-line>span:first-child{color:var(--accent-text);font-weight:850}.digest-line code,.message-hash-flow code,.signature-bytes code,.recovered-key code{overflow-wrap:anywhere;min-width:0;font-size:.75rem}.message-hash-flow{border:1px solid var(--c3);background:color-mix(in oklab, var(--c3) 7%, var(--surface));grid-template-columns:auto auto minmax(6rem,.8fr) auto minmax(8rem,1.2fr);align-items:center;gap:.55rem;margin:.85rem 0;padding:.7rem;display:grid}.message-hash-flow code{overflow-wrap:anywhere}.hash-token,.hash-arrow{color:var(--c3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;font-weight:850}.signature-bytes{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.signature-bytes>div,.recovered-key{border:1px solid var(--border);background:var(--bg);gap:.35rem;padding:.65rem;display:grid}.signature-bytes span,.recovered-key span{color:var(--text-dim);font-size:.72rem;font-weight:800}.verifier-choice{border:1px solid var(--border);gap:.6rem;margin:1rem 0 0;padding:.9rem;display:grid}.verifier-choice label{min-height:32px;color:var(--text-dim);align-items:center;gap:.55rem;font-size:.83rem;display:flex}.verifier-choice input{width:18px;height:18px;accent-color:var(--accent)}.equation-details{border-top:1px solid var(--border);margin-top:1rem;padding-top:.8rem}.equation-details summary{color:var(--accent-text);cursor:pointer;font-weight:800}.equation-details p{margin:.6rem 0 0}.exhibit{border-top:1px solid var(--border);margin-top:1rem;padding:1.4rem 0}.exhibit-heading{align-items:center;margin-bottom:1rem}.exhibit-heading h3{margin-top:.2rem}.control-row{align-items:end;gap:.75rem;display:flex}.control-grow{flex:auto}.order-cards,.signature-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.order-card,.signature-pair article{border:1px solid var(--border);background:var(--surface-raised);border-radius:6px;padding:.9rem}.order-card h4,.signature-pair h4{margin:.12rem 0 .65rem}.order-source{color:var(--text-dim);margin:0;font-size:.72rem}.layout-strip{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.35rem;margin-bottom:.75rem;display:grid}.layout-token{border:2px solid;border-radius:4px;place-items:center;min-height:42px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;display:grid}.layout-c1{color:var(--c1)}.layout-c2{color:var(--c2)}.layout-c3{color:var(--c3)}.layout-join{color:var(--text-dim)}.component-inspector{gap:.5rem;margin-top:.8rem;display:grid}.component-inspector>div{border-left:3px solid var(--c1);background:var(--bg);grid-template-columns:10rem minmax(0,1fr);gap:.75rem;padding:.65rem;display:grid}.component-inspector>div:nth-child(2){border-left-color:var(--c3)}.component-inspector>div:nth-child(3){border-left-color:var(--c2)}.component-inspector span{color:var(--text-dim);font-size:.76rem;font-weight:800}.decoder-bench{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:grid}.sticky-failure{border:1px dashed var(--bad);color:var(--bad-text);background:color-mix(in oklab, var(--bad) 8%, var(--surface));margin-top:.65rem;padding:.7rem;font-size:.82rem}.negative-claim{border-left:3px solid var(--alarm);color:var(--text);background:color-mix(in oklab, var(--alarm) 7%, var(--surface));margin:.85rem 0 0;padding:.7rem .8rem;font-size:.84rem}.attack-exhibit{border-top-color:color-mix(in oklab, var(--bad) 55%, var(--border))}.attack-controls{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.signature-pair article{min-width:0}.signature-pair code{white-space:pre-wrap;margin-top:.65rem}.recovery-equation{border:1px solid var(--alarm);background:var(--bg);text-align:center;margin:.8rem 0;padding:.8rem}.recovery-equation code{overflow-wrap:anywhere}.real-world{border-left:4px solid var(--c1);grid-template-columns:minmax(0,1fr) minmax(300px,1.1fr);column-gap:1.5rem;margin-top:1rem;display:grid}.real-world .eyebrow,.real-world h3{grid-column:1}.real-world dl{grid-area:1/2/span 3;margin:0}.real-world dl>div{border-bottom:1px solid var(--border);grid-template-columns:8rem minmax(0,1fr);gap:.7rem;padding:.45rem 0;display:grid}.real-world dt{color:var(--text-dim);font-size:.78rem}.real-world dd{margin:0;font-size:.78rem}.related-links{color:var(--text-dim);text-align:center;margin-top:2rem;font-size:.82rem}.scripture-footer{border-top:1px solid var(--border);color:var(--text-dim);text-align:center;margin-top:1rem;padding-top:1rem;font-size:.78rem}@media (width<=640px){html{scroll-padding-top:74px}.cl-hero{flex-direction:column}.cl-hero-why{box-sizing:border-box;flex-basis:auto;width:100%}.cl-hero-main{flex-basis:auto;min-width:0}.pane-nav{position:static}.pane-nav ol,.curve-grid,.signature-workbench,.order-cards,.signature-pair,.real-world,.decoder-bench,.attack-controls{grid-template-columns:1fr}.pane-tab{min-height:44px}.panel-heading,.exhibit-heading,.mechanism-header,.control-row{flex-direction:column;align-items:stretch}.identity-flow,.signature-bytes{grid-template-columns:repeat(2,minmax(0,1fr))}.component-inspector>div,.real-world dl>div{grid-template-columns:1fr}.real-world .eyebrow,.real-world h3,.real-world dl{grid-area:auto/1}}@media (width<=390px){#app{width:min(100% - 1rem,1220px)}.identity-flow{grid-template-columns:1fr}.digest-line{grid-template-columns:auto minmax(0,1fr)}.digest-line>span:nth-child(2){display:none}.message-hash-flow{grid-template-columns:auto auto minmax(0,1fr)}.message-hash-flow .hash-arrow{grid-column:1/3}#message-digest{grid-column:3}}
