:root{--color-bg:#0a0e1a;--color-surface:#111827;--color-surface-2:#1a2236;--color-border:#2a3a5c;--color-text:#e2e8f0;--color-text-muted:#8094b4;--color-text-dim:#4a6080;--color-safe:#0f8;--color-safe-dim:#00ff8826;--color-amber:#fa0;--color-amber-dim:#ffaa0026;--color-danger:#f36;--color-danger-dim:#ff336626;--color-critical:#f14;--color-critical-dim:#ff114426;--color-crqc:#9d4edd;--color-today:#00d4ff;--color-lifetime:gold;--color-migration:#4a90e2;--color-low:#6f9;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius:8px;--radius-sm:4px;--transition:.2s ease}[data-theme=light]{--color-bg:#f0f4f8;--color-surface:#fff;--color-surface-2:#e8eef6;--color-border:#c8d8ec;--color-text:#1a2236;--color-text-muted:#4a6080;--color-text-dim:#8094b4}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);scroll-behavior:smooth}body{min-height:100dvh;line-height:1.6}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.app-header h1{font-family:var(--font-mono);color:var(--color-today);letter-spacing:.04em;font-size:1rem}.app-header h1 span{color:var(--color-text-muted);font-weight:400}.theme-toggle{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-family:var(--font-mono);transition:var(--transition);padding:.35rem .75rem}.theme-toggle:hover{color:var(--color-text);border-color:var(--color-today)}.app-main{flex-direction:column;gap:2.5rem;max-width:1280px;margin:0 auto;padding:2rem;display:flex}.mosca-banner{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-2) 100%);border:1px solid var(--color-border);border-left:4px solid var(--color-crqc);border-radius:var(--radius);padding:1.5rem 2rem}.mosca-banner h2{font-family:var(--font-mono);color:var(--color-crqc);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.85rem}.mosca-formula{font-family:var(--font-mono);color:var(--color-text);margin-bottom:1rem;font-size:1.4rem}.mosca-formula .var-x{color:var(--color-lifetime)}.mosca-formula .var-y{color:var(--color-migration)}.mosca-formula .var-z{color:var(--color-crqc)}.mosca-formula .op{color:var(--color-text-muted);margin:0 .4rem}.mosca-legend{flex-wrap:wrap;gap:2rem;display:flex}.mosca-legend dt{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.8rem}.mosca-legend .term-x{color:var(--color-lifetime)}.mosca-legend .term-y{color:var(--color-migration)}.mosca-legend .term-z{color:var(--color-crqc)}.exhibit{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.exhibit-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-2);align-items:center;gap:1rem;padding:1.25rem 1.75rem;display:flex}.exhibit-number{font-family:var(--font-mono);color:var(--color-today);border-radius:var(--radius-sm);background:#00d4ff1a;border:1px solid #00d4ff4d;flex-shrink:0;padding:.2rem .55rem;font-size:.75rem}.exhibit-header h3{color:var(--color-text);font-size:1rem;font-weight:600}.exhibit-body{padding:1.75rem}.calc-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=900px){.calc-grid{grid-template-columns:1fr}}.calc-inputs{flex-direction:column;gap:1.25rem;display:flex}.field-group{flex-direction:column;gap:.4rem;display:flex}.field-label{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.field-sublabel{color:var(--color-text-dim);font-size:.7rem}select,input[type=text]{background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font-sans);appearance:auto;width:100%;padding:.55rem .8rem}select:focus,input:focus{outline:2px solid var(--color-today);outline-offset:2px}.range-row{align-items:center;gap:.75rem;display:flex}input[type=range]{accent-color:var(--color-today);cursor:pointer;flex:1}.range-value{font-family:var(--font-mono);color:var(--color-text);text-align:right;min-width:6ch;font-size:.85rem}.algo-status{border-radius:var(--radius-sm);font-size:.78rem;font-family:var(--font-mono);margin-top:.25rem;padding:.5rem .75rem;line-height:1.5}.algo-status.broken{background:var(--color-danger-dim);color:var(--color-danger);border:1px solid #ff33664d}.algo-status.safe{background:var(--color-safe-dim);color:var(--color-safe);border:1px solid #00ff884d}.algo-status.partial{background:var(--color-amber-dim);color:var(--color-amber);border:1px solid #ffaa004d}.mosca-result{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.mosca-vars{font-family:var(--font-mono);font-size:.85rem;line-height:2}.mosca-vars .row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.2rem 0;display:flex}.mosca-vars .row:last-child{border-bottom:none}.mosca-vars .label{color:var(--color-text-muted)}.mosca-vars .value{color:var(--color-text)}.mosca-bar-container{background:var(--color-bg);border-radius:var(--radius-sm);height:52px;position:relative;overflow:visible}.mosca-bar-xy{border-radius:3px;align-items:center;height:16px;display:flex;position:absolute;top:8px;overflow:hidden}.mosca-bar-xy .seg-x{background:var(--color-lifetime);height:100%}.mosca-bar-xy .seg-y{background:var(--color-migration);opacity:.85;height:100%}.mosca-bar-z{background:var(--color-crqc);opacity:.75;border-radius:3px;height:16px;position:absolute;top:30px}.mosca-bar-label{font-family:var(--font-mono);white-space:nowrap;color:var(--color-text-muted);font-size:.6rem;position:absolute;top:-14px}.result-verdict{text-align:center;border-radius:var(--radius);font-family:var(--font-mono);padding:1rem}.result-verdict.none,.result-verdict.low{background:var(--color-safe-dim);border:1px solid #00ff884d}.result-verdict.medium{background:var(--color-amber-dim);border:1px solid #ffaa004d}.result-verdict.high{background:var(--color-danger-dim);border:1px solid #ff33664d}.result-verdict.critical{background:var(--color-critical-dim);border:1px solid #f146}.verdict-level{margin-bottom:.4rem;font-size:1.25rem;font-weight:700}.none .verdict-level,.low .verdict-level{color:var(--color-safe)}.medium .verdict-level{color:var(--color-amber)}.high .verdict-level{color:var(--color-danger)}.critical .verdict-level{color:var(--color-critical);animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.verdict-detail{color:var(--color-text-muted);font-size:.8rem;line-height:1.6}.recommendation{color:var(--color-text);border-radius:var(--radius-sm);border-left:3px solid var(--color-migration);background:#0003;padding:.75rem;font-size:.8rem;line-height:1.6}.org-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.org-controls .field-group{flex:1;min-width:200px}.asset-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;font-size:.85rem}.asset-table th{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--color-border);text-align:left;padding:.5rem .75rem;font-size:.7rem}.asset-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.65rem .75rem}.asset-table tr:last-child td{border-bottom:none}.risk-badge{border-radius:var(--radius-sm);font-size:.7rem;font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:.35rem;padding:.2rem .5rem;font-weight:700;display:inline-flex}.risk-badge.none{background:var(--color-safe-dim);color:var(--color-safe)}.risk-badge.low{background:var(--color-safe-dim);color:var(--color-low)}.risk-badge.medium{background:var(--color-amber-dim);color:var(--color-amber)}.risk-badge.high{background:var(--color-danger-dim);color:var(--color-danger)}.risk-badge.critical{background:var(--color-critical-dim);color:var(--color-critical)}.action-label{font-size:.7rem;font-family:var(--font-mono);color:var(--color-text-muted)}.action-label.urgent_migration,.action-label.emergency_migration{color:var(--color-danger);font-weight:700}.action-label.plan_migration{color:var(--color-amber)}.aggregate-panel{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.agg-stat{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;padding:1rem}.agg-stat .stat-value{font-family:var(--font-mono);color:var(--color-text);margin-bottom:.3rem;font-size:1.6rem;font-weight:700;line-height:1}.agg-stat .stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.top-recommendation{background:var(--color-surface-2);border-left:4px solid var(--color-crqc);border-radius:0 var(--radius) var(--radius) 0;padding:1rem 1.25rem;font-size:.85rem;line-height:1.6}.curve-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.curve-controls .field-group{min-width:180px}.svg-chart-wrap{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.chart-legend{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:1.5rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.legend-item{color:var(--color-text-muted);align-items:center;gap:.4rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.delay-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.delay-controls .field-group{min-width:200px}.delay-table{border-collapse:collapse;width:100%;font-size:.83rem}.delay-table th{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);text-align:center;padding:.5rem .75rem;font-size:.7rem}.delay-table td{border-bottom:1px solid var(--color-border);text-align:center;font-family:var(--font-mono);padding:.65rem .75rem}.delay-table tr:last-child td{border-bottom:none}.delay-table td.row-label{text-align:left;color:var(--color-text-muted);font-family:var(--font-sans)}.delay-cell-safe{color:var(--color-safe)}.delay-cell-amber{color:var(--color-amber)}.delay-cell-danger{color:var(--color-danger)}.delay-cell-critical{color:var(--color-critical);font-weight:700}.delay-insight{background:var(--color-surface-2);border-radius:var(--radius);border-left:3px solid var(--color-amber);margin-top:1.5rem;padding:1rem;font-size:.85rem;line-height:1.7}.personal-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;font-size:.83rem}.personal-table th{font-family:var(--font-mono);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);text-align:left;padding:.5rem .75rem;font-size:.7rem}.personal-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.75rem;line-height:1.5}.personal-table tr:last-child td{border-bottom:none}.algo-recommended{font-family:var(--font-mono);color:var(--color-safe);background:var(--color-safe-dim);border-radius:var(--radius-sm);border:1px solid #0f83;margin-bottom:.25rem;padding:.2rem .5rem;font-size:.78rem;display:inline-block}.tldr-panel{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.tldr-panel h4{font-family:var(--font-mono);color:var(--color-today);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;font-size:.8rem}.tldr-list{flex-direction:column;gap:.4rem;font-size:.85rem;list-style:none;display:flex}.tldr-list li:before{content:"→ ";color:var(--color-today);font-family:var(--font-mono)}.related-links{flex-wrap:wrap;gap:.5rem;display:flex}.related-link{font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);transition:var(--transition);padding:.3rem .7rem;font-size:.75rem;text-decoration:none}.related-link:hover{color:var(--color-today);border-color:var(--color-today)}.app-footer{border-top:1px solid var(--color-border);color:var(--color-text-dim);font-size:.75rem;font-family:var(--font-mono);text-align:center;padding:1.5rem 2rem;line-height:1.7}.app-footer a{color:var(--color-text-muted);text-decoration:underline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-today);outline-offset:2px;border-radius:2px}select:focus-visible,input:focus-visible{outline:2px solid var(--color-today);outline-offset:2px}select:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}.theme-toggle{min-height:44px;padding:.5rem .875rem}select{min-height:44px}input[type=range]{cursor:pointer;min-height:44px}.related-link{align-items:center;min-height:44px;padding:.55rem .875rem;display:inline-flex}input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px}.table-scroll{-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);overflow-x:auto}.table-scroll:focus-within{outline:2px solid var(--color-today);outline-offset:2px}.two-col-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}@media (width<=640px){.app-header{gap:.5rem;padding:.75rem 1rem}.app-header h1{font-size:.8rem}.app-main{gap:1.5rem;padding:.875rem}.mosca-banner{padding:1rem}.exhibit-header{flex-wrap:wrap;gap:.5rem;padding:.875rem 1rem}.exhibit-header h3{font-size:.9rem}.exhibit-body{padding:1rem}.mosca-formula{flex-wrap:wrap;gap:.15rem;font-size:1rem}.mosca-legend{gap:.75rem}.calc-grid{grid-template-columns:1fr}.org-controls,.curve-controls,.delay-controls{flex-direction:column}.aggregate-panel{grid-template-columns:repeat(2,1fr)}.agg-stat .stat-value{font-size:1.2rem}.two-col-grid{grid-template-columns:1fr}.app-footer{padding:1rem}.asset-table,.delay-table,.personal-table{font-size:.78rem}.asset-table th,.delay-table th,.personal-table th{font-size:.65rem}}
