@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-sans:"Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--ink:#e5e9f0;--page-bg:#242933;--surface:#2e3440;--surface-muted:#3b4252;--surface-field:#242a35;--border:#434c5e;--border-strong:#4c566a;--muted:#b6bfcc;--accent:#5e81ac;--accent-strong:#81a1c1;--danger:#bf616a;--danger-strong:#a84f58;--success:#a3be8c;--success-strong:#8faa78}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-sans);background:var(--page-bg);margin:0}h1,h2,h3{font-family:var(--font-sans);letter-spacing:0}.app-shell{gap:1rem;width:min(1180px,94vw);min-height:100vh;margin:0 auto;padding:1.5rem 0 2.5rem;display:grid}.drag-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#0f131cc7;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.drag-overlay__panel{border:1px solid var(--border-strong);text-align:center;background:var(--surface);border-radius:8px;width:min(640px,100%);padding:2rem 2.2rem;box-shadow:0 18px 48px #080b1261}.drag-overlay__eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0 0 .35rem;font-size:.76rem;font-weight:700}.drag-overlay__panel h2{color:var(--ink);margin:0 0 .45rem;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.05}.drag-overlay__panel p{color:var(--muted);margin:0;font-size:1rem}.hero{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.4rem 1.5rem;box-shadow:0 1px 2px #080b1247}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0;font-size:.74rem;font-weight:700}.hero h1{margin:.15rem 0 .4rem;font-size:clamp(2rem,4vw,2.75rem);line-height:1.04}.hero-copy{max-width:72ch;color:var(--muted);margin:0}.author-link{width:fit-content;margin-top:1rem;text-decoration:none;display:inline-block}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.1rem;box-shadow:0 1px 2px #080b1247}.inputs-header,.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.section-head h2,.panel h2{margin:0}.field-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:.85rem;display:grid}label{color:#d8dee9;gap:.28rem;font-weight:600;display:grid}.outside-grid{margin-top:10px;margin-bottom:10px}input,select{box-sizing:border-box;border:1px solid var(--border-strong);width:100%;font-size:.95rem;font-family:var(--font-mono);color:var(--ink);background:var(--surface-field);border-radius:6px;padding:.48rem .58rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1f5f9924}.button-row{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}button{border:1px solid var(--accent);background:var(--accent);color:#eef3f8;font-family:var(--font-sans);cursor:pointer;border-radius:6px;padding:.46rem .72rem;font-weight:600;transition:background-color .16s,border-color .16s}button i{margin-right:.3rem}.copy-button{color:#f1f6ec;background:#4f6f52;border-color:#5f7f63}.copy-button:hover{background:#5f7f63;border-color:#6f9173}button:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#1f2733}button:disabled{cursor:not-allowed;opacity:.58}button.danger{border-color:var(--danger);background:var(--danger)}button.danger:hover{background:var(--danger-strong);border-color:var(--danger-strong);color:#fff5f6}.table-wrap{border:1px solid var(--border);border-radius:6px;overflow-x:auto}.table-help{color:var(--muted);margin:0 0 .6rem;font-size:.9rem}.graph-actions{align-items:center}.graph-actions p{color:var(--muted);margin:0}table{border-collapse:collapse;width:100%;min-width:800px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.6rem}th{color:#d8dee9;background:var(--surface-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.84rem}td{color:var(--ink);background:var(--surface)}.row-index{width:52px;color:var(--muted);text-align:center;font-weight:700;font-family:var(--font-mono)}.average-cell{min-width:110px}.average-output{border-color:var(--border);color:#d8dee9;cursor:default;background:#29303b;font-weight:700}.average-output:focus{box-shadow:none;border-color:var(--border)}.chart-frame{border:1px solid var(--border);background:#f8fafc;border-radius:6px;padding:.25rem;overflow:hidden}svg{width:100%;height:auto;font-family:sans-serif;display:block}.grid-line{stroke:#dbcdb4;stroke-width:1px;stroke-opacity:.55}.axis-line{stroke:#3f3728;stroke-width:1.6px}.fit-line{stroke:#d04d16;stroke-width:2.8px;stroke-dasharray:2.8 2.8}.error-bar{stroke:#1c3029;stroke-width:1.5px}.point{fill:#f08f27;stroke-width:1.2px}.plot-title{fill:#231e15;font-size:1.2rem;font-weight:700}.tick-text{fill:#4b4235;font-family:sans-serif;font-size:.78rem}.axis-label{fill:#312a20;font-size:.92rem;font-weight:700}.equation{fill:#453825;font-family:sans-serif;font-size:.8rem}.empty-state{color:var(--muted);margin:0}@media (width<=900px){.app-shell{width:min(100%,96vw);padding-top:1rem}.hero{padding:1.2rem}.field-grid{grid-template-columns:1fr}.section-head,.inputs-header{flex-direction:column;align-items:flex-start}}
