:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:#fafafa;margin:0}@media (prefers-color-scheme:dark){body{background:#111}}#root{width:100%;min-height:100svh}:root{--fd-accent:#0a0a0a;--fd-accent-hover:#2a2a2a;--fd-accent-light:transparent;--fd-accent-text:#fafafa;--fd-surface:#fafafa;--fd-surface-stroke:#e0e0e0;--fd-text-primary:#0a0a0a;--fd-text-secondary:#5a5a5a;--fd-text-tertiary:#9a9a9a;--fd-fill-subtle:#00000006;--fd-fill-subtle-hover:#0000000d;--fd-input-stroke:#d0d0d0;--fd-success:#16a34a;--fd-error:#dc2626;--fd-radius-sm:0px;--fd-radius:0px;--fd-radius-lg:0px;--fd-shadow-sm:none;--fd-font:"Inter", system-ui, -apple-system, sans-serif;--fd-mono:"JetBrains Mono", ui-monospace, monospace;--fd-serif:"Libre Baskerville", Georgia, serif}@media (prefers-color-scheme:dark){:root{--fd-accent:#f0f0f0;--fd-accent-hover:#d0d0d0;--fd-accent-light:transparent;--fd-accent-text:#111;--fd-surface:#111;--fd-surface-stroke:#272727;--fd-text-primary:#f0f0f0;--fd-text-secondary:#909090;--fd-text-tertiary:#505050;--fd-fill-subtle:#ffffff08;--fd-fill-subtle-hover:#ffffff12;--fd-input-stroke:#333;--fd-success:#22c55e;--fd-error:#f87171;--fd-radius-sm:0px;--fd-radius:0px;--fd-radius-lg:0px;--fd-shadow-sm:none}}.app{max-width:700px;font-family:var(--fd-font);color:var(--fd-text-primary);margin:0 auto;padding:2.5rem 1.5rem 5rem}.header{border-bottom:1px solid var(--fd-surface-stroke);align-items:baseline;gap:16px;margin-bottom:28px;padding-bottom:24px;display:flex}.header-icon{font-family:var(--fd-serif);color:var(--fd-text-primary);box-shadow:none;letter-spacing:-2px;background:0 0;border-radius:0;flex-shrink:0;width:auto;height:auto;font-size:52px;font-weight:700;line-height:1;display:block}.header-text h1{letter-spacing:-.3px;color:var(--fd-text-primary);margin:0 0 3px;font-size:20px;font-weight:500}.subtitle{color:var(--fd-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:11px}.github-link{color:var(--fd-text-tertiary);flex-shrink:0;align-self:center;align-items:center;margin-left:auto;transition:color .12s;display:flex}.github-link:hover{color:var(--fd-text-primary)}.github-link svg{width:20px;height:20px}.card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:24px 0}.controls-card{border-bottom:1px solid var(--fd-surface-stroke);margin-bottom:0;padding-bottom:24px}.controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{color:var(--fd-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.controls input[type=number]{border:none;border-bottom:2px solid var(--fd-input-stroke);width:148px;font-size:14px;font-family:var(--fd-font);color:var(--fd-text-primary);background:0 0;border-radius:0;outline:none;padding:8px 0;transition:border-color .12s}.controls input[type=number]:focus{border-bottom-color:var(--fd-text-primary)}.button-group{gap:8px;display:flex}.btn-accent,.btn-subtle{cursor:pointer;font-size:12px;font-family:var(--fd-font);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;border-radius:0;padding:8px 22px;font-weight:500;transition:background .1s,border-color .1s,opacity .1s}.btn-accent{background:var(--fd-accent);color:var(--fd-accent-text);border:1px solid var(--fd-accent)}.btn-accent:hover:not(:disabled){background:var(--fd-accent-hover);border-color:var(--fd-accent-hover)}.btn-subtle{color:var(--fd-text-primary);border:1px solid var(--fd-surface-stroke);background:0 0}.btn-subtle:hover:not(:disabled){background:var(--fd-fill-subtle-hover);border-color:var(--fd-text-primary)}.btn-accent:disabled,.btn-subtle:disabled{opacity:.3;cursor:not-allowed}.progress-bar{background:var(--fd-surface-stroke);border-radius:0;height:1px;margin-top:20px;overflow:hidden}.progress-fill{background:var(--fd-text-primary);border-radius:0;height:100%;transition:width .25s}.stats-row{border-top:1px solid var(--fd-surface-stroke);border-bottom:1px solid var(--fd-surface-stroke);grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:0;display:grid}.stat-card{box-shadow:none;border:none;border-right:1px solid var(--fd-surface-stroke);background:0 0;border-radius:0;padding:20px 24px 20px 0}.stat-card:first-child{padding-left:0}.stat-card:last-child{border-right:none;padding-right:0}.stat-value{color:var(--fd-text-primary);font-variant-numeric:tabular-nums;letter-spacing:-1.5px;font-size:40px;font-weight:600;line-height:1.05}.stat-unit{color:var(--fd-text-secondary);letter-spacing:0;margin-left:4px;font-size:14px;font-weight:400}.stat-label{color:var(--fd-text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-top:5px;font-size:10px}.result-card{box-shadow:none;border:none;border-top:1px solid var(--fd-surface-stroke);background:0 0;border-radius:0;margin-top:0;overflow:hidden}.result-header{border-bottom:1px solid var(--fd-surface-stroke);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.result-label{color:var(--fd-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.verify-status{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:10px;font-weight:500;display:flex}.verify-status.ok{color:var(--fd-success)}.verify-status.fail{color:var(--fd-error)}.verify-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.search-bar{border-bottom:1px solid var(--fd-surface-stroke);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.search-input{border:none;border-bottom:1px solid var(--fd-input-stroke);min-width:180px;font-size:13px;font-family:var(--fd-mono);color:var(--fd-text-primary);background:0 0;border-radius:0;outline:none;flex:1;padding:5px 0;transition:border-color .12s}.search-input:focus{border-bottom-color:var(--fd-text-primary)}.search-input::placeholder{color:var(--fd-text-tertiary)}.btn-find{border:1px solid var(--fd-surface-stroke);cursor:pointer;font-size:11px;font-family:var(--fd-font);letter-spacing:.07em;text-transform:uppercase;color:var(--fd-text-primary);white-space:nowrap;background:0 0;border-radius:0;flex-shrink:0;padding:5px 14px;font-weight:500;transition:border-color .1s,background .1s}.btn-find:hover:not(:disabled){background:var(--fd-fill-subtle-hover);border-color:var(--fd-text-primary)}.btn-find:disabled{opacity:.3;cursor:not-allowed}.search-msg{font-size:12px;font-family:var(--fd-font);white-space:nowrap}.search-msg.found{color:var(--fd-success);font-weight:500}.search-msg.not-found{color:var(--fd-error)}.pi-virtual{font-family:var(--fd-mono);font-variant-numeric:tabular-nums;font-size:12px;overflow:hidden auto}.pi-row{white-space:pre;align-items:baseline;height:24px;padding:0;line-height:24px;display:flex}.pi-row:hover{background:var(--fd-fill-subtle)}.pi-row-idx{color:var(--fd-text-tertiary);-webkit-user-select:none;user-select:none;text-align:right;flex-shrink:0;min-width:48px;padding-right:16px;font-size:10px}.pi-text{color:var(--fd-text-primary);letter-spacing:.025em}.pi-highlight{color:#0a0a0a;background:#fbbf2480;border-radius:0;padding:0 1px}.info-btn{cursor:pointer;font-size:11px;font-family:var(--fd-font);color:var(--fd-text-tertiary);text-underline-offset:3px;background:0 0;border:none;border-radius:0;padding:2px 0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .12s}.info-btn:hover{color:var(--fd-text-primary);background:0 0}.modal-backdrop{-webkit-backdrop-filter:blur(2px);z-index:100;background:#0a0a0a99;justify-content:center;align-items:center;padding:1.5rem;animation:.15s backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--fd-surface);border:1px solid var(--fd-surface-stroke);box-shadow:none;border-radius:0;width:100%;max-width:540px;max-height:85vh;padding:32px;animation:.15s panel-in;position:relative;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-close{border:1px solid var(--fd-surface-stroke);cursor:pointer;width:26px;height:26px;color:var(--fd-text-tertiary);background:0 0;border-radius:0;justify-content:center;align-items:center;transition:background .1s,color .1s,border-color .1s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--fd-fill-subtle-hover);color:var(--fd-text-primary);border-color:var(--fd-text-primary)}.explainer-card{padding:0}.explainer-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.explainer-title{color:var(--fd-text-primary);letter-spacing:-.2px;font-size:15px;font-weight:600}.explainer-tag{color:#d97706;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #d97706;border-radius:0;padding:2px 8px;font-size:10px;font-weight:500}@media (prefers-color-scheme:dark){.explainer-tag{color:#f59e0b;background:0 0;border-color:#f59e0b}}.explainer-body{color:var(--fd-text-secondary);margin:0 0 18px;font-size:13.5px;line-height:1.65}.explainer-body strong{color:var(--fd-text-primary);font-weight:500}.explainer-facts{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.fact-row{align-items:center;gap:10px;display:flex}.fact-label{color:var(--fd-text-primary);flex-shrink:0;width:120px;font-size:13px}.fact-badge{background:0 0;border:1px solid;border-radius:0;padding:2px 9px;font-size:11px;font-weight:400}.fact-badge.proven{color:var(--fd-success);border-color:var(--fd-success)}.fact-badge.unproven{color:var(--fd-text-secondary);border-color:var(--fd-text-tertiary)}.explainer-subhead{color:var(--fd-text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:10px;font-weight:500}.explainer-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.explainer-table th{text-align:left;color:var(--fd-text-tertiary);border-bottom:1px solid var(--fd-surface-stroke);text-transform:uppercase;letter-spacing:.08em;padding:8px 0;font-size:10px;font-weight:500}.explainer-table td{color:var(--fd-text-primary);border-bottom:1px solid var(--fd-surface-stroke);font-variant-numeric:tabular-nums;padding:8px 0}.explainer-table tr:last-child td{border-bottom:none}.explainer-table tr:hover td{background:var(--fd-fill-subtle)}.table-note{color:var(--fd-text-tertiary);font-size:12px}.explainer-footnote{color:var(--fd-text-tertiary);margin:0;font-size:12px;line-height:1.6}
