@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=Space+Grotesk:wght@400;500;700&display=swap";:focus-visible{outline:3px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f1e7;--bg-elevated:#fffaf0d1;--panel:#fff9f1e6;--panel-strong:#fff6eaf5;--text:#1d1a16;--muted:#534c44;--border:#3d2b1f29;--border-control:#9c836b;--accent:#b04f21;--accent-soft:#be5a2a24;--accent-strong:#742f14;--success:#1f7a56;--danger:#9a2f2f;--shadow:0 24px 60px #4d301429;--plot-bg:#ffffffbd;--grid-line:#5337232e;--grid-dot:#1c4b64;--grid-generator:#be5a2a;--grid-selected:#caa100;--grid-result:#1f7a56;--grid-third:#7c3aed;--grid-trail:#8aa0ac;--grid-active:#be5a2a;--grid-alice:#1d5fb0;--grid-bob:#a02f7a;--hero-gradient:radial-gradient(circle at top left, #be5a2a47, transparent 38%), radial-gradient(circle at top right, #1c4b6438, transparent 34%), linear-gradient(180deg, #fff8eef2, #f6f1e7b8);--focus-ring:#be5a2a}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11171c;--bg-elevated:#141c23d1;--panel:#11181de6;--panel-strong:#151f26fa;--text:#eef2f4;--muted:#b7c1c8;--border:#a0b7c62e;--border-control:#54768c;--accent:#ff8c57;--accent-soft:#ff8c5724;--accent-strong:#ffd3bf;--success:#64d7a5;--danger:#ff8b8b;--shadow:0 28px 72px #00000057;--plot-bg:#080c0fb8;--grid-line:#adc2d02e;--grid-dot:#91d1f0;--grid-generator:#ff8c57;--grid-selected:#f7cf4a;--grid-result:#64d7a5;--grid-third:#c4a5ff;--grid-trail:#7e93a0;--grid-active:#ff8c57;--grid-alice:#7db4ff;--grid-bob:#ff9ad4;--hero-gradient:radial-gradient(circle at top left, #ff8c5738, transparent 38%), radial-gradient(circle at top right, #5cd1f02e, transparent 34%), linear-gradient(180deg, #161c24fa, #11171cd6);--focus-ring:#ff8c57}.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;opacity:.85;margin:.4rem 0 0;font-size:clamp(.9rem,1.6vw,1.05rem)}.cl-hero-desc{color:var(--muted);max-width:60ch;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) 6%, transparent);border-radius:10px;flex:0 min(40%,26rem);min-width:min(100%,15rem);padding:.85rem 1.05rem}.cl-hero-why-label{letter-spacing:.14em;font-size:.68rem;font-weight:700;display:block}.cl-hero-why-text{margin:.35rem 0 0;font-size:.95rem;line-height:1.5}@media (width<=640px){.cl-hero{flex-direction:column}.cl-hero-why{flex-basis:auto;width:100%}.cl-hero-main{flex-basis:auto;min-width:0}}*{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg);overflow-x:clip}body{background:linear-gradient(180deg, #ffffff14, transparent), radial-gradient(circle at 20% 0%, #be5a2a14, transparent 30%), var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Space Grotesk,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 42%,#0000 78%);mask-image:radial-gradient(circle,#000 42%,#0000 78%)}a{color:inherit}button,input,select{font:inherit}#app{width:min(1260px,100vw - 2rem);margin:0 auto;padding:1.4rem 0 4rem}.app-shell{gap:1.2rem;display:grid}.hero,.why-card,.panel,.footer{border:1px solid var(--border);background-color:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:28px}.hero{background:var(--hero-gradient);justify-content:space-between;gap:1rem;padding:1.8rem;display:flex;position:relative;overflow:clip}.hero:after{content:"";background:radial-gradient(circle,#be5a2a2e,#0000 60%);border-radius:50%;width:280px;height:280px;position:absolute;bottom:-90px;right:-70px}.hero-topline,.primitive-row,.badge-row,.hero-actions,.mode-toggle,.comparison-head{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.category-chip,.primitive-chip,.badge-link,.github-badge,.status-pill,.segment,.ghost-button,.primary-button{border:1px solid var(--border);border-radius:999px}.category-chip,.primitive-chip,.badge-link,.github-badge,.status-pill{padding:.48rem .86rem}.category-chip,.github-badge{background-color:#fff6}.primitive-chip,.badge-link,.status-pill{background-color:var(--accent-soft)}.badge-link,.github-badge{border-color:var(--border-control);text-decoration:none}h1,h2,h3,p,dl,dd,dt,ol,ul{margin:0}h1{letter-spacing:-.06em;max-width:10ch;margin:.6rem 0 .85rem;font-size:clamp(2.5rem,4vw,4.6rem);line-height:.94}h2{letter-spacing:-.04em;font-size:clamp(1.5rem,2vw,2rem)}h3{font-size:1.08rem}.subtitle,.panel-note,.muted,.crosslink-note{color:var(--muted)}.muted,.panel-note,.crosslink-note{overflow-wrap:anywhere;word-break:break-word}.subtitle{max-width:68ch}.eyebrow,.result-kicker,.plot-generator-label,.step-index,dt{letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.76rem}.hero-actions{z-index:1;position:relative}.ghost-button,.primary-button,.segment{cursor:pointer;min-width:44px;min-height:44px;transition:transform .18s,border-color .18s,background .18s}.ghost-button,.segment{color:var(--text);border-color:var(--border-control);background:0 0;padding:.72rem 1rem}.primary-button{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-strong));border:none;padding:.82rem 1.2rem}.segment.is-active,.ghost-button:hover,.primary-button:hover,.segment:hover{transform:translateY(-1px)}.segment.is-active{background-color:var(--accent-soft);border-color:#be5a2a59}.theme-toggle-btn{border:1px solid var(--border-control);background-color:var(--panel);width:2.6rem;height:2.6rem;color:var(--text);cursor:pointer;z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem;transition:background .18s,border-color .18s,transform .18s;display:flex;position:absolute;top:1rem;right:1rem}.hero>div:first-child{padding-right:3.5rem}.theme-toggle-btn:hover{background-color:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.why-card,.panel,.footer{padding:1.45rem}.why-card{gap:.65rem;display:grid}.panel{background:linear-gradient(180deg, var(--panel), var(--panel-strong));gap:1rem;display:grid}.panel-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.panel-grid,.comparison-grid,.ecdh-columns,.stacked-cards{gap:1rem;display:grid}.panel-grid>*,.comparison-grid>*,.ecdh-columns>*{min-width:0}.split-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.explorer-grid{align-items:start}.stacked-cards{grid-template-columns:1fr}.comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ecdh-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.plot,.mini-plot{width:100%;display:block}.plot{aspect-ratio:1}.comparison-card,.result-card,.actor-card{border:1px solid var(--border);background-color:#ffffff0a;border-radius:22px}.comparison-card,.actor-card{padding:1rem}.comparison-card{gap:.85rem;display:grid}.comparison-card dl{gap:.7rem;display:grid}.comparison-card dl div{gap:.18rem;display:grid}.comparison-card dd{word-break:break-word;overflow-wrap:anywhere;min-width:0}.result-card{gap:.4rem;padding:1rem;display:grid}.result-card.is-error,.verification-item.is-fail{background-color:#9a2f2f14;border-color:#9a2f2f73}.point-result,.code-block{word-break:break-word;overflow-wrap:anywhere;min-width:0;font-family:IBM Plex Mono,monospace}.point-result{font-size:1.28rem}.code-block{font-size:.88rem;line-height:1.65}label{gap:.4rem;margin-bottom:.9rem;display:grid}input,select{border:1px solid var(--border-control);width:100%;color:var(--text);background-color:#ffffff0f;border-radius:16px;min-height:44px;padding:.82rem .94rem;font-size:1rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%238b949e' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;padding-right:1.8rem}.mode-body{display:none}.mode-body.is-active{display:block}.verification-list,.step-list{margin:0;padding:0;list-style:none}.verification-list{gap:.7rem;display:grid}.verification-item,.step-list li{border:1px solid var(--border);background-color:#ffffff0a;border-radius:18px;gap:.3rem;min-width:0;padding:.9rem 1rem;display:grid}.verification-item>[role=status]{gap:.3rem;min-width:0;display:grid}.verification-item span,.step-list p{overflow-wrap:anywhere;word-break:break-word;min-width:0}.verification-item.is-pass{background-color:#1f7a5612;border-color:#1f7a5659}.step-list li{grid-template-columns:auto 1fr;align-items:start;gap:.75rem}.step-index{aspect-ratio:1;border:1px solid var(--border);background-color:var(--accent-soft);border-radius:999px;place-items:center;width:2rem;display:inline-grid}.plot-grid-line{stroke:var(--grid-line);stroke-width:1px}.plot-axis-label{fill:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px}.plot-point{fill:var(--grid-dot);stroke:#fffc;stroke-width:1.4px;cursor:pointer;transform-origin:50%;transition:transform .18s,fill .18s}.plot-point:hover,.plot-point:focus-visible{transform:scale(1.16)}.plot-point:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.plot-point.is-generator{fill:var(--grid-generator)}.plot-point.is-selected{fill:var(--grid-selected)}.plot-point.is-third{fill:var(--grid-third)}.plot-point.is-trail{fill:var(--grid-trail);opacity:.85}.plot-point.is-alice{fill:var(--grid-alice)}.plot-point.is-bob{fill:var(--grid-bob)}.plot-point.is-result{fill:var(--grid-result);animation:.9s pulse-result}.plot-point.is-active{fill:var(--grid-active);stroke:var(--text);stroke-width:2px;animation:.5s pulse-result}.plot-generator-label{fill:var(--accent-strong)}.plot-third-label{fill:var(--grid-third);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.plot-alice-label{fill:var(--grid-alice);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700}.plot-bob-label{fill:var(--grid-bob);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700}.legend-dot.legend-alice{background-color:var(--grid-alice)}.legend-dot.legend-bob{background-color:var(--grid-bob)}.factor-alice{color:var(--grid-alice);font-weight:700}.factor-bob{color:var(--grid-bob);font-weight:700}.toy-ecdh-eq{font-family:IBM Plex Mono,monospace;font-size:1.15rem;line-height:1.6}.plot-chord{stroke:var(--grid-third);stroke-width:1.6px;stroke-dasharray:6 5;opacity:.85;fill:none}.real-curve-line{stroke:var(--grid-dot);stroke-width:2.2px;fill:none}.real-point-label{fill:var(--text);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.field-toggle{border:1px solid var(--border-control);background-color:#ffffff0a;border-radius:999px;gap:.35rem;margin-bottom:.8rem;padding:.25rem;display:inline-flex}.field-toggle .segment{border-radius:999px;padding:.5rem .9rem;font-size:.85rem}.real-plane-controls{gap:.6rem;margin-top:.7rem;display:grid}.real-plane-controls label{margin-bottom:0}.real-plane-controls input[type=range]{min-height:24px;accent-color:var(--accent);padding:0}.field-view{display:none}.field-view.is-active{display:block}.plot-reflect{stroke:var(--grid-result);stroke-width:1.6px;stroke-dasharray:2 4;opacity:.9}.plot-legend{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;margin:.7rem 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.plot-legend li{align-items:center;gap:.4rem;display:flex}.legend-dot{border:1px solid #fff9;border-radius:50%;flex-shrink:0;width:.8rem;height:.8rem}.legend-dot.is-generator{background-color:var(--grid-generator)}.legend-dot.is-selected{background-color:var(--grid-selected)}.legend-dot.is-third{background-color:var(--grid-third)}.legend-dot.is-result{background-color:var(--grid-result)}.copy-row{align-items:flex-start;gap:.5rem;display:flex}.copy-row .code-block{flex:auto}.copy-btn{cursor:pointer;border:1px solid var(--border-control);background-color:var(--accent-soft);color:var(--text);border-radius:12px;flex:none;min-height:36px;padding:.4rem .7rem;font-size:.78rem;transition:background .18s,border-color .18s,transform .18s}.copy-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.copy-btn.is-copied{background-color:var(--accent);color:#fff;border-color:var(--accent)}.button-row{flex-wrap:wrap;gap:.65rem;display:flex}.plot-hint{margin-top:.5rem;font-size:.8rem}.share-btn{border-radius:12px;justify-self:start;margin-top:.6rem;font-size:.85rem}.footer{text-align:center}.point-part-label{margin-top:.3rem;font-size:.82rem}.point-part{word-break:break-all;overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.82rem;line-height:1.5}.point-part-tag{background-color:var(--accent-soft);min-width:1.3rem;color:var(--text);text-align:center;border-radius:6px;margin-right:.35rem;padding:0 .35rem;font-weight:700;display:inline-block}.toy-real-note,.glossary{border:1px solid var(--border);background-color:#ffffff0a;border-radius:14px}.toy-real-note{margin-top:.4rem;padding:.3rem .8rem}.toy-real-note>summary{cursor:pointer;align-items:center;min-height:44px;padding:.55rem .1rem;font-size:.88rem;font-weight:700;display:flex}.toy-real-note>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.toy-real-note p{padding-bottom:.6rem}.glossary{padding:.4rem 1rem}.glossary>summary{cursor:pointer;align-items:center;min-height:44px;padding:.6rem .2rem;font-weight:700;display:flex}.glossary>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.glossary-list{gap:.9rem;padding:.4rem 0 .9rem;display:grid}.glossary-list div{gap:.2rem;display:grid}.glossary-list dt{letter-spacing:.02em;color:var(--text);text-transform:none;font-family:IBM Plex Mono,monospace;font-size:.92rem;font-weight:700}.glossary-list dd{color:var(--muted);overflow-wrap:anywhere;line-height:1.55}@keyframes pulse-result{0%{opacity:.7;transform:scale(.8)}60%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@media (width<=1024px){.split-grid,.comparison-grid,.ecdh-columns{grid-template-columns:1fr}.panel-header,.hero{flex-direction:column}.comparison-grid{grid-template-columns:1fr;gap:1.2rem}}@media (width<=768px){.split-grid,.ecdh-columns{grid-template-columns:1fr}.badge-row{flex-direction:column;align-items:stretch}.badge-link{text-align:center}.code-block{font-size:.78rem}}@media (width<=640px){#app{width:min(100vw - 1rem,100%);padding:.8rem 0 2.5rem}.hero,.panel,.why-card,.footer{border-radius:22px;padding:1rem}h1{font-size:2.3rem}h2{font-size:1.35rem}.primitive-row,.badge-row{gap:.5rem}.primitive-chip,.badge-link,.category-chip,.github-badge,.status-pill{padding:.55rem .72rem;font-size:.82rem}.comparison-card,.result-card,.actor-card{border-radius:16px;padding:.85rem}.plot-point{r:8px}.point-result{font-size:1.05rem}.step-list li{padding:.7rem .8rem}}@media (width<=400px){#app{width:calc(100vw - .5rem)}.hero,.panel,.why-card,.footer{border-radius:16px;padding:.75rem}h1{font-size:1.9rem}.mode-toggle{flex-direction:column}.segment{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.plot-point{forced-color-adjust:none}.plot-point.is-generator{fill:linktext}.plot-point.is-selected{fill:highlight}.plot-point.is-result{fill:activetext}.plot-point.is-third,.plot-point.is-active{fill:linktext}.plot-chord,.plot-reflect{stroke:canvastext}.ghost-button,.primary-button,.segment,.badge-link,.category-chip,.primitive-chip,.github-badge,.copy-btn{forced-color-adjust:auto}.result-card,.comparison-card,.actor-card,.verification-item{border:2px solid buttontext}}[data-theme=dark] .copy-btn.is-copied{background-color:#af603c}[data-theme=dark] .primary-button{color:#11171c}
