:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--bg:#f7f7f5;--surface:#fff;--surface-2:#f1f1ee;--text:#1d1d1b;--text-muted:#6d6d68;--border:#dcdcd7;--border-strong:#c2c2bc;--accent:#1f5aa8;--accent-hover:#17477f;--accent-soft:#1f5aa817;--on-accent:#fff;--ok:#1a7f4b;--ok-soft:#1a7f4b1a;--err:#b3372e;--err-soft:#b3372e14;--warn:#8a6100;--radius:6px;--radius-lg:12px;--shadow:0 1px 2px #1414120d;--shadow-lg:0 1px 2px #1414120d, 0 10px 30px -12px #1414122e}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#171a1e;--surface:#1e2227;--surface-2:#262b31;--text:#e4e4e0;--text-muted:#97978f;--border:#32373d;--border-strong:#454b52;--accent:#6ca0dc;--accent-hover:#8ab4e8;--accent-soft:#6ca0dc24;--on-accent:#10131a;--ok:#4dbd82;--ok-soft:#4dbd8224;--err:#e07a72;--err-soft:#e07a721f;--warn:#d9a94a;--shadow:0 1px 2px #00000059;--shadow-lg:0 1px 2px #00000059, 0 12px 32px -12px #0000008c}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}code,pre{font-family:var(--font-mono)}.app{flex-direction:column;height:100%;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex}.brand h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}.tagline{color:var(--text-muted);margin:0;font-size:.78rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.header-actions button{white-space:nowrap}button{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:.35rem .8rem;font-size:.82rem;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-muted)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:550}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-small{padding:.2rem .55rem;font-size:.75rem}.btn-icon{padding:.1rem .5rem;font-size:.9rem;line-height:1.3}input[type=text],input[type=number],select{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);min-width:0;padding:.3rem .5rem;font-size:.85rem}input[type=text]{font-family:var(--font-mono)}input.invalid{border-color:var(--err);background:var(--err-soft)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent)}.status{border-bottom:1px solid var(--border);background:var(--surface);align-items:baseline;gap:.5rem;padding:.35rem 1.25rem;font-size:.78rem;display:flex}.status-dot{border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.status-ok{color:var(--text-muted)}.status-ok .status-dot{background:var(--ok)}.status-error{color:var(--err);background:var(--err-soft)}.status-error .status-dot{background:var(--err);align-self:baseline;margin-top:.3rem}.status-errors ul{margin:.15rem 0 0;padding-left:1.1rem}.status-errors code{font-size:.72rem}.status-stale{color:var(--text-muted)}.panes{flex:1;min-height:0;display:flex}.pane{flex:1;min-width:0;min-height:0}.pane-editor{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex}.pane-model{flex:1.15;padding:1.5rem 1.75rem 4rem;overflow-y:auto}@media (width<=1000px){.panes{flex-direction:column}.pane-editor{border-right:none;border-bottom:1px solid var(--border);flex:none;height:42vh}.pane-model{flex:1}}.editor-host{height:100%;overflow:hidden}.cm-editor{background:var(--surface);height:100%;color:var(--text)}.cm-editor .cm-gutters{background:var(--surface);color:var(--text-muted);border-right:1px solid var(--border)}.cm-editor .cm-activeLine{background:var(--accent-soft)}.cm-editor .cm-activeLineGutter{background:var(--accent-soft);color:var(--text)}.cm-editor .cm-selectionBackground,.cm-editor.cm-focused .cm-selectionBackground{background:var(--accent-soft)!important}.cm-editor .cm-cursor{border-left-color:var(--text)}.model{max-width:46rem;transition:opacity .15s}.model.stale{opacity:.55}.model section{margin-top:2rem}.model h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.35rem;font-size:.8rem;font-weight:650}.module-doc{margin-bottom:1rem}.section-note{color:var(--text-muted);font-size:.85rem}.empty-state{padding:2rem 0 0 .25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:.9rem 1.1rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.card-head .codeblock{flex:1;min-width:12rem}.card-doc{margin-top:.5rem;font-size:.88rem}.card-unsupported{color:var(--text-muted);margin:.6rem 0 0;font-size:.83rem;font-style:italic}.card-actions{align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.result-type{font-family:var(--font-mono);color:var(--text-muted);font-size:.78rem}.codeblock pre,.codeblock-plain{border-radius:var(--radius);background:var(--surface-2);white-space:pre;margin:0;padding:.55rem .75rem;font-size:.8rem;line-height:1.5;overflow-x:auto}.codeblock pre.shiki{background:var(--surface-2)!important}.arg-form{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.arg-row{grid-template-columns:11rem 1fr;align-items:start;gap:.6rem;display:grid}.arg-row-nested{grid-template-columns:9rem 1fr}.arg-label{flex-direction:column;padding-top:.3rem;display:flex}.arg-name{font-size:.83rem;font-weight:600}.arg-type{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem}.arg-scalar{flex-direction:column;gap:.2rem;display:flex}.field-error{color:var(--err);font-size:.73rem}.arg-unit{color:var(--text-muted);padding-top:.3rem}.arg-unsupported{color:var(--text-muted);padding-top:.3rem;font-size:.8rem;font-style:italic}.arg-list{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.arg-list-row{align-items:flex-start;gap:.4rem;width:100%;display:flex}.arg-list-row>:first-child{flex:1}.arg-struct{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.4rem;margin:0;padding:.5rem .75rem .65rem;display:flex}.arg-struct legend{font-family:var(--font-mono);color:var(--text-muted);padding:0 .3rem;font-size:.75rem}.result-box{border-radius:var(--radius);background:var(--ok-soft);border:1px solid var(--ok);margin:.6rem 0 0;padding:.55rem .75rem;font-size:.85rem;overflow-x:auto}.error-box{border-radius:var(--radius);background:var(--err-soft);border:1px solid var(--err);margin-top:.6rem;padding:.55rem .75rem;font-size:.83rem}.error-box p{margin:0}.error-kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--err);border:1px solid var(--err);border-radius:999px;margin-right:.35rem;padding:0 .45rem;font-size:.7rem;display:inline-block}.error-line{color:var(--text-muted);font-size:.78rem}.error-hint{color:var(--text-muted);margin-top:.35rem!important}.proof-details{margin-top:.6rem}.proof-details summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.8rem}.proof-details[open] summary{margin-bottom:.4rem}.badge{white-space:nowrap;border:1px solid var(--border-strong);color:var(--text-muted);background:var(--surface-2);border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.72rem;font-weight:550;display:inline-block}.badge-verified{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.badge-sorry,.badge-failed{color:var(--err);border-color:var(--err);background:var(--err-soft)}.verify-panel{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.25rem;font-size:.84rem;display:flex}.verify-body p{max-width:46rem;margin:.25rem 0 0}.verify-body ul{margin:.3rem 0 0;padding-left:1.2rem}.verify-actions{gap:.5rem;display:flex}.verify-unsupported{color:var(--err)}.verify-running{color:var(--text-muted);justify-content:flex-start}.verify-verified{background:var(--ok-soft);border-bottom-color:var(--ok);color:var(--ok)}.verify-failed{background:var(--err-soft);border-bottom-color:var(--err)}.verify-diagnostics{font-family:var(--font-mono);font-size:.76rem}.diag-error{color:var(--err)}.diag-warning{color:var(--warn)}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{text-transform:none;letter-spacing:normal;color:var(--text);border:none;margin:.8rem 0 .4rem;font-size:1.05rem}.markdown h1{font-size:1.25rem}.markdown p{margin:.4rem 0}.markdown code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.82em}.markdown pre{background:var(--surface-2);border-radius:var(--radius);padding:.55rem .75rem;overflow-x:auto}.markdown pre code{background:0 0;border:none;padding:0}.markdown a{color:var(--accent)}.markdown blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);margin:.5rem 0;padding-left:.85rem}.markdown table{border-collapse:collapse;margin:.5rem 0}.markdown th,.markdown td{border:1px solid var(--border);padding:.25rem .6rem;font-size:.85rem}.app-loading{color:var(--text-muted);flex:1;justify-content:center;align-items:center;gap:.6rem;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.fatal{max-width:36rem;margin:4rem auto;padding:0 1.5rem}.fatal h1{font-size:1.2rem}.fatal pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;font-size:.8rem;overflow-x:auto}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.link-btn:hover{color:var(--accent-hover);background:0 0;border:none}.btn-info{width:1.4rem;height:1.4rem;color:var(--text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.btn-info:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border:none}.catalogue{flex:1;overflow-y:auto}.cat-inner{max-width:64rem;margin:0 auto;padding:3rem 1.5rem 5rem}.cat-resume{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:2.25rem;padding:.7rem 1.1rem;font-size:.88rem;display:flex}.cat-hero{max-width:46rem;margin-bottom:2.75rem}.cat-hero h1{letter-spacing:-.02em;margin:0 0 .9rem;font-size:clamp(1.5rem,3.2vw,2.05rem);font-weight:700;line-height:1.28}.cat-hero p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.6}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;display:grid}.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;padding:1.5rem 1.6rem 1.6rem;transition:box-shadow .15s,border-color .15s;display:flex}.cat-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.cat-card h2{letter-spacing:-.01em;margin:0 0 .45rem;font-size:1.18rem;font-weight:675}.cat-blurb{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.55}.cat-highlights{flex-direction:column;gap:.5rem;margin:0 0 1.4rem;padding:0;font-size:.87rem;list-style:none;display:flex}.cat-highlights li{align-items:flex-start;gap:.55rem;display:flex}.cat-check{color:var(--ok);flex-shrink:0;font-weight:700}.cat-open{align-self:flex-start;margin-top:auto;padding:.45rem 1.4rem;font-size:.9rem}.cat-footnote{color:var(--text-muted);margin:2.75rem 0 0;font-size:.82rem}.simple-main{flex:1;min-height:0;overflow-y:auto}.simple-col{max-width:44rem;margin:0 auto;padding:2.25rem 1.5rem 6rem}.simple-model{transition:opacity .15s}.simple-model.stale{opacity:.55}.simple-model section{margin-top:2.75rem}.simple-model section h2{letter-spacing:-.01em;text-transform:none;color:var(--text);border:none;margin:0;padding:0;font-size:1.2rem;font-weight:675}.simple-hero h1{letter-spacing:-.02em;margin:0 0 .8rem;font-size:1.8rem;font-weight:700}.simple-intro{font-size:.95rem;line-height:1.6}.section-head{align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.simple-model .section-note{margin-top:.15rem;margin-bottom:1.1rem}.simple-calc{margin-top:2rem}.calc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.6rem 1.75rem 1.75rem}.calc-fields{flex-direction:column;gap:1.25rem;display:flex}.calc-field{flex-direction:column;display:flex}.calc-label{font-size:.94rem;font-weight:625}.calc-help{color:var(--text-muted);margin:.1rem 0 .45rem;font-size:.8rem}.calc-help p{margin:0}.calc-field>.arg-scalar,.calc-field>input,.calc-field>select{margin-top:.15rem}.calc-field input[type=text],.calc-field input[type=number],.calc-field select{width:100%;max-width:18rem;padding:.5rem .65rem;font-size:1rem}.calc-actions{margin-top:1.5rem}.calc-go{border-radius:8px;padding:.55rem 1.7rem;font-size:1rem;font-weight:600}.calc-results{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.1rem}.calc-results h3{text-transform:uppercase;letter-spacing:.09em;color:var(--text-muted);margin:0 0 .4rem;font-size:.72rem;font-weight:675}.calc-out{margin:0}.calc-out-row{justify-content:space-between;align-items:baseline;gap:1.25rem;padding:.6rem 0;display:flex}.calc-out-row+.calc-out-row{border-top:1px solid var(--border)}.calc-out-label{min-width:0}.calc-out-name{font-size:.92rem;font-weight:625}.calc-out-doc{color:var(--text-muted);margin-top:.05rem;font-size:.78rem}.calc-out-doc p{margin:0}.calc-out-value{font-family:var(--font-mono);white-space:nowrap;font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:650}.guarantee-card{border-radius:10px;padding:1.15rem 1.35rem 1.2rem}.g-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.g-head h3{margin:0;font-size:1.03rem;font-weight:650;line-height:1.4}.g-badge{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.g-sorry{border-radius:var(--radius);background:var(--err-soft);border:1px solid var(--err);margin:.6rem 0 0;padding:.5rem .7rem;font-size:.85rem}.g-prose{color:var(--text);margin-top:.5rem;font-size:.89rem}.g-details{margin-top:.7rem}.g-details summary{cursor:pointer;color:var(--accent);-webkit-user-select:none;user-select:none;font-size:.83rem}.g-explain{border-left:2px solid var(--border-strong);flex-direction:column;gap:.55rem;margin-top:.65rem;padding-left:.95rem;font-size:.87rem;display:flex}.g-scope{color:var(--text-muted);margin:0;font-style:italic}.g-conditions p{margin:0;font-weight:625}.g-conditions ul{margin:.25rem 0 0;padding-left:1.25rem}.g-claim{margin:0;font-weight:550}.g-partial{color:var(--warn);margin:0;font-size:.8rem}.g-code-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:.3rem 0 -.15rem;font-size:.68rem;font-weight:675}.g-limits-note{color:var(--text-muted);margin:1.4rem 0 0;font-size:.83rem}.help-modal{background:var(--surface);width:min(42rem,100vw - 2rem);color:var(--text);border:none;border-radius:14px;padding:0;box-shadow:0 24px 70px #00000059}.help-modal::backdrop{background:#0c0e1180}.help-frame{flex-direction:column;max-height:82vh;display:flex}.help-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.help-header h2{margin:0;font-size:1.15rem;font-weight:675}.help-body{padding:1.3rem 1.5rem 2rem;overflow-y:auto}.help-section h3{margin:0 0 .5rem;font-size:.98rem;font-weight:650}.help-section+.help-section{border-top:1px solid var(--border);margin-top:1.7rem;padding-top:1.4rem}.help-current h3{color:var(--accent)}.help-section p{margin:.4rem 0;font-size:.9rem;line-height:1.6}.help-badges{flex-direction:column;gap:.8rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.help-badges li{align-items:flex-start;gap:.75rem;font-size:.87rem;line-height:1.55;display:flex}.help-badges .badge{margin-top:.1rem}.help-bullets{flex-direction:column;gap:.45rem;margin:.5rem 0 0;padding-left:1.3rem;font-size:.88rem;line-height:1.55;display:flex}
