.sphincs-viz{color-scheme:dark;--surface:#18171c;--panel:#09080c;--border:#27262b;--border2:#3f3d48;--ink:#f4f4f5;--ink-2:#a19ead;--muted:#797685;--primary:#fe6a43;--primary-hover:#ff9872;--on-primary:#27262b;--grid:#232228;--baseline:#3f3d48;--s1:#3b82f6;--s2:#10b981;--s3:#fe6a43;--s4:#eda100;--s5:#e87ba4;--s6:#53d581;--s7:#9085e9;--s8:#e66767;--good:#53d581;--good-bg:#082b16;--warn:#fab219;--crit:#ef4444;display:flex;flex-direction:column;gap:32px;color:var(--ink);font-family:var(--font-onest),system-ui,sans-serif;font-size:14px;line-height:1.45}.sphincs-viz a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.sphincs-viz a:hover{color:var(--primary-hover)}.sphincs-viz .tnum{font-variant-numeric:tabular-nums}.sphincs-viz button{font-family:inherit;font-size:14px;color:var(--ink);cursor:pointer;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 14px}.sphincs-viz button:hover{border-color:var(--border2)}.sphincs-viz button:disabled{opacity:.45;cursor:default}.sphincs-viz input[type=text]{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--border2);border-radius:8px;padding:6px 10px}.sphincs-viz select{font-family:inherit;font-size:14px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.sphincs-viz select option{background-color:#18171c;color:#f4f4f5}.sphincs-viz input[type=range]{width:100%;accent-color:var(--primary);margin:4px 0 0}.sphincs-viz header{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.sphincs-viz header .grow{flex:1;min-width:280px;display:flex;flex-direction:column;gap:4px}.sphincs-viz .kicker{margin:0;font-family:var(--font-chakra),sans-serif;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);line-height:1.4}.sphincs-viz h1{margin:0;font-family:var(--font-onest),sans-serif;font-weight:700;font-size:clamp(26px,3vw,39px);line-height:1.2;letter-spacing:0;text-transform:uppercase;color:#fff}.sphincs-viz .sub{color:var(--ink-2);font-size:14px;line-height:1.6;max-width:1000px}.sphincs-viz .share-wrap{position:relative}.sphincs-viz .share-wrap>button{background:var(--primary);color:var(--on-primary);border:none;border-radius:0;padding:16px 32px;font-family:var(--font-chakra),sans-serif;font-weight:700;font-size:14px;line-height:1.2;text-transform:uppercase;transition:background-color .15s ease}.sphincs-viz .share-wrap>button:hover{background:var(--primary-hover);border:none}.sphincs-viz .share-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:200px;background:var(--surface);border:1px solid var(--border2);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.4);padding:6px;display:flex;flex-direction:column}.sphincs-viz .share-menu button{display:block;text-align:left;border:none;background:none;padding:9px 12px;border-radius:7px;font-size:14px;color:var(--ink)}.sphincs-viz .share-menu button:hover{background:var(--border)}.sphincs-viz .presets{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch}.sphincs-viz .presets .lbl{width:100%;color:var(--ink-2);letter-spacing:.02em}.sphincs-viz .preset-btn,.sphincs-viz .presets .lbl{font-size:14px;line-height:1.2;text-transform:uppercase}.sphincs-viz .preset-btn{width:200px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 20px;text-align:left;font-family:var(--font-chakra),sans-serif;font-weight:700;color:#fff}.sphincs-viz .preset-btn small{font-family:var(--font-onest),sans-serif;font-weight:400;font-size:14px;color:var(--ink-2);text-transform:none;letter-spacing:0}.sphincs-viz .preset-btn:hover{border-color:var(--border2)}.sphincs-viz .preset-btn.active{background:var(--border);border-color:var(--primary);color:var(--primary)}.sphincs-viz .custom-chip{width:200px;display:flex;align-items:center;border:1px dashed var(--ink-2);border-radius:8px;padding:12px 20px;line-height:1.2;font-family:var(--font-chakra),sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;color:#fff}.sphincs-viz .sv-row{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch;width:100%}.sphincs-viz .card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}.sphincs-viz .card-params,.sphincs-viz .card-results{width:420px;flex:none}.sphincs-viz .card-chart{flex:1;min-width:0}.sphincs-viz .card-structure{width:600px;flex:none}.sphincs-viz .card-paramchart{flex:1;min-width:0}.sphincs-viz .card-faq{flex:1 1 100%}.sphincs-viz .card h2{margin:0;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:9999px;background:rgba(254,106,67,.14);font-family:var(--font-chakra),sans-serif;font-weight:600;font-size:14px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}.sphincs-viz .card h2:before{content:"";width:8px;height:8px;flex:none;background:var(--primary)}.sphincs-viz .card-chart>h2{order:0}.sphincs-viz .card-chart .radar-chips{order:1}.sphincs-viz .card-chart .chart-wrap{order:2}.sphincs-viz .card-chart .chart-legend{order:3}.sphincs-viz .card-chart .ctl-cap{order:4}.sphincs-viz .card-chart .chart-wrap,.sphincs-viz .panel{display:flex;align-items:center;justify-content:center}.sphincs-viz .panel{background:var(--panel);border-radius:12px;padding:24px;width:100%;flex:1;min-height:0}.sphincs-viz .zoom-pane{position:relative;width:100%;align-self:stretch;flex:1;min-height:320px;overflow:hidden;touch-action:none}.sphincs-viz .zoom-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.sphincs-viz .zoom-content>svg{pointer-events:none;user-select:none}.sphincs-viz .zoom-ctl{position:absolute;right:8px;bottom:8px;z-index:5;display:flex;gap:6px}.sphincs-viz .zoom-ctl button{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border2);border-radius:8px;font-size:16px;line-height:1;color:var(--ink)}.sphincs-viz .zoom-ctl button:disabled{opacity:.35}.sphincs-viz .ctl-row{width:100%}.sphincs-viz .ctl-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);margin-bottom:6px}.sphincs-viz .ctl-head .name span{color:var(--muted);font-weight:400}.sphincs-viz .ctl-head output{font-family:var(--font-chakra),sans-serif;font-weight:600;font-size:20px;line-height:1.3;color:#fff;font-variant-numeric:tabular-nums}.sphincs-viz .help{position:relative;cursor:help;outline:none;display:inline-flex;align-items:center}.sphincs-viz .help-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:13px;height:13px;margin-left:6px;border:1px solid var(--border2);border-radius:50%;font-size:9px;font-weight:700;color:var(--muted);line-height:1}.sphincs-viz .help:focus .help-mark,.sphincs-viz .help:hover .help-mark{border-color:var(--primary);color:var(--primary)}.sphincs-viz .help-box{position:absolute;left:-6px;top:calc(100% + 8px);z-index:30;width:270px;background:var(--surface);border:1px solid var(--border2);border-radius:9px;padding:10px 12px;box-shadow:0 6px 20px rgba(0,0,0,.45);font-size:14px;font-weight:400;line-height:1.5;color:var(--ink-2);text-transform:none;letter-spacing:0;display:none}.sphincs-viz .help-box b{display:block;color:var(--ink);font-size:14px;margin-bottom:3px}.sphincs-viz .help:focus .help-box,.sphincs-viz .help:hover .help-box{display:block}@media (max-width:420px){.sphincs-viz .help-box{width:min(270px,72vw)}}.sphincs-viz .ctl-cap{font-size:14px;color:var(--muted);margin-top:4px}.sphincs-viz .seg{display:flex;flex-wrap:wrap;gap:8px;width:100%}.sphincs-viz .seg button{flex:1;display:flex;justify-content:center;border:none;border-radius:6px;padding:8px 12px;font-size:14px;line-height:1.2;font-variant-numeric:tabular-nums;background:var(--border);color:var(--ink-2);white-space:nowrap}.sphincs-viz .seg button:hover{color:var(--ink);border:none}.sphincs-viz .seg button.on{background:var(--primary);color:var(--on-primary);font-weight:700}.sphincs-viz .seg button span{color:inherit;opacity:.75;margin-left:3px}.sphincs-viz .wticks{position:relative;height:20px;margin:3px 9px 2px;width:calc(100% - 18px)}.sphincs-viz .wticks span{position:absolute;transform:translateX(-50%);font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.sphincs-viz .wticks span.fips{color:var(--ink);font-weight:700}.sphincs-viz .wticks span.aligned{color:var(--ink-2)}.sphincs-viz .wticks span.irregular{color:var(--muted);opacity:.5}.sphincs-viz .derived{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;font-size:14px;line-height:1.5;color:#fff}.sphincs-viz .derived:before{content:"Calculated schematics";display:block;font-size:14px;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:var(--primary);margin-bottom:8px}.sphincs-viz .ctl-sep{border-top:1px solid var(--border);padding-top:16px}.sphincs-viz .range-dual{position:relative;height:16px;width:100%;margin-top:6px}.sphincs-viz .range-dual-track{position:absolute;left:0;right:0;top:5px;height:6px;border-radius:3px;background:var(--border)}.sphincs-viz .range-dual-fill{position:absolute;top:5px;height:6px;background:var(--primary)}.sphincs-viz .range-dual input[type=range]{position:absolute;inset:0;width:100%;height:16px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none}.sphincs-viz .range-dual input[type=range]::-webkit-slider-runnable-track{background:transparent;height:16px}.sphincs-viz .range-dual input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--primary);border:none;cursor:grab}.sphincs-viz .range-dual input[type=range]::-moz-range-track{background:transparent;height:16px}.sphincs-viz .range-dual input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:var(--primary);border:none;cursor:grab}.sphincs-viz .range-ends{display:flex;justify-content:space-between;align-items:baseline;width:100%;margin-top:6px;font-size:14px;color:var(--ink-2)}.sphincs-viz .range-ends b{font-family:var(--font-chakra),sans-serif;font-weight:600;font-size:20px;color:#fff;margin-left:4px}.sphincs-viz .tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.sphincs-viz .tile{border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}.sphincs-viz .tile .lbl{font-size:14px;color:var(--ink-2);line-height:1.3}.sphincs-viz .tile .val{font-family:var(--font-onest),sans-serif;font-weight:700;font-size:28px;line-height:1.3;color:#fff;font-variant-numeric:tabular-nums}.sphincs-viz .tile .val small{font-size:14px;font-weight:400;color:var(--ink-2)}.sphincs-viz .tile .sub{font-size:14px;color:var(--muted);line-height:1.4;min-height:calc(2 * 1.4em)}.sphincs-viz .span2t{grid-column:1/-1}.sphincs-viz .tile.hero{grid-column:1/-1;border:none;padding:0;gap:4px}.sphincs-viz .tile.hero .lbl{text-transform:uppercase}.sphincs-viz .tile.hero .val{font-size:34px;color:var(--primary)}.sphincs-viz .tile.hero .val small{font-size:14px;color:var(--ink-2)}.sphincs-viz .compbar{display:flex;gap:2px;height:10px;margin-top:8px;border-radius:4px;overflow:hidden}.sphincs-viz .compbar div{min-width:3px}.sphincs-viz .compbar .c-wots{background:var(--s2)}.sphincs-viz .compbar .c-ht{background:var(--s1)}.sphincs-viz .compbar .c-fors{background:var(--s3)}.sphincs-viz .compbar .c-rand{background:var(--crit)}.sphincs-viz .complg{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-top:6px;opacity:.9}.sphincs-viz .complg i{display:inline-block;width:7px;height:7px;border-radius:3px;margin-right:4px;vertical-align:0}.sphincs-viz .complg .c-wots{background:var(--s2)}.sphincs-viz .complg .c-ht{background:var(--s1)}.sphincs-viz .complg .c-fors{background:var(--s3)}.sphincs-viz .complg .c-rand{background:var(--crit)}.sphincs-viz .infobox{width:100%;border:1px solid var(--border);border-radius:12px;padding:16px;font-size:14px;line-height:1.55;color:var(--muted)}.sphincs-viz .infobox b{color:var(--ink-2)}.sphincs-viz .infobox .tag{display:block;font-size:14px;color:var(--ink-2);letter-spacing:0;text-transform:none;margin-bottom:4px}.sphincs-viz .warnings{display:flex;flex-direction:column;gap:8px;width:100%;min-height:240px}.sphincs-viz .wmsg{display:flex;gap:12px;align-items:center;border-radius:12px;padding:12px;font-size:14px;line-height:1.45;background:rgba(250,178,25,.1);color:var(--warn)}.sphincs-viz .wmsg>span:first-child{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:20px;font-size:18px;font-weight:700;background:var(--warn);color:var(--panel)}.sphincs-viz .wmsg>span:last-child b{display:block;font-family:var(--font-chakra),sans-serif;font-weight:600;font-size:14px;line-height:1.4}.sphincs-viz .wmsg.crit{background:rgba(239,68,68,.12);color:var(--crit)}.sphincs-viz .wmsg.crit>span:first-child{background:var(--crit);color:#fff}.sphincs-viz .wmsg.ok{background:var(--good-bg);color:var(--good)}.sphincs-viz .wmsg.ok>span:first-child{background:var(--good);color:var(--good-bg)}.sphincs-viz .chart-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px;width:100%}.sphincs-viz .chart-head label{color:var(--ink-2)}.sphincs-viz .chart-head .spacer{flex:1}.sphincs-viz .chart-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--ink-2);width:100%}.sphincs-viz .chart-legend svg{vertical-align:-2px;margin-right:4px}.sphincs-viz .chart-wrap{position:relative;width:100%;flex:1;background:var(--panel);border-radius:12px;padding:16px}.sphincs-viz .chart-wrap>svg{width:100%;height:auto;display:block;overflow:visible}.sphincs-viz .tooltip{position:absolute;pointer-events:none;z-index:5;background:var(--surface);border:1px solid var(--border2);border-radius:8px;padding:8px 11px;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.45);max-width:250px}.sphincs-viz .tooltip .tt-name{font-weight:650;font-size:14px;margin-bottom:2px;color:#fff}.sphincs-viz .tooltip .tt-p{color:var(--muted);margin-bottom:4px}.sphincs-viz .axis-row{position:absolute;top:12px;right:12px;z-index:4;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sphincs-viz .axis-pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.sphincs-viz .axis-pill>span{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.sphincs-viz .axis-pill select{background:var(--surface);border:none;border-radius:0;padding:0;font-size:14px;color:var(--ink);max-width:190px;cursor:pointer}.sphincs-viz .pinrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.sphincs-viz .pinchip{display:inline-flex;gap:8px;align-items:center;font-size:14px;background:var(--panel);border:1px solid var(--border2);border-radius:20px;padding:6px 8px 6px 12px;color:var(--ink)}.sphincs-viz .pinchip:hover{border-color:var(--s2)}.sphincs-viz .pinchip .x{border:none;background:none;color:var(--muted);font-size:14px;padding:0 5px;cursor:pointer;border-radius:0}.sphincs-viz .pinchip .x:hover{color:var(--crit)}.sphincs-viz .pinchip svg{flex:none}.sphincs-viz .pinchip.pinadd{border-style:dashed;color:var(--ink-2);padding:6px 12px}.sphincs-viz .pinchip.pinadd:hover{color:var(--ink)}.sphincs-viz .pinform{display:inline-flex;gap:6px;align-items:center}.sphincs-viz .radar-chips{display:flex;gap:8px;flex-wrap:wrap;width:100%}.sphincs-viz .radar-chips button{font-size:14px;padding:8px 12px;border-radius:20px;background:var(--panel);border:1px solid var(--border2);color:var(--ink-2)}.sphincs-viz .radar-chips button.on{color:#fff;font-weight:600}.sphincs-viz .radar-swatch{display:inline-block;width:8px;height:8px;border-radius:4px;margin-right:6px;vertical-align:0}.sphincs-viz .faq{width:100%;border-top:1px solid rgba(255,255,255,.15)}.sphincs-viz .faq details{border-bottom:1px solid rgba(255,255,255,.15)}.sphincs-viz .faq summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:center;padding:20px 4px;font-family:var(--font-chakra),sans-serif;font-weight:600;font-size:20px;line-height:1.6;color:var(--ink)}.sphincs-viz .faq summary::-webkit-details-marker{display:none}.sphincs-viz .faq summary:before{content:"+";display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:8px;background:var(--border);font-size:14px;font-weight:400;color:var(--primary)}.sphincs-viz .faq details[open] summary:before{content:"−"}.sphincs-viz .faq .faq-a{font-family:var(--font-onest),sans-serif;font-size:20px;color:var(--ink-2);padding:0 4px 20px 48px;line-height:1.6}@media (max-width:1440px){.sphincs-viz .card-params,.sphincs-viz .card-results{width:300px}.sphincs-viz .card-structure{width:auto;flex:1}}@media (max-width:1100px){.sphincs-viz .card-params{width:calc(50% - 12px);order:1}.sphincs-viz .card-results{width:calc(50% - 12px);order:2}.sphincs-viz .card-chart{flex:1 1 100%;order:3}.sphincs-viz .card-paramchart,.sphincs-viz .card-structure{flex:1 1 100%}}@media (max-width:840px){.sphincs-viz .card-params,.sphincs-viz .card-results{width:100%}.sphincs-viz .custom-chip,.sphincs-viz .preset-btn{width:calc(50% - 6px)}.sphincs-viz .card{padding:16px}}@media (prefers-reduced-motion:no-preference){.sphincs-viz .curmark{transition:transform .18s ease-out}}