*,:before,:after{box-sizing:border-box}:root{--pp-gradient-page:linear-gradient(160deg, #0f172a 0%, #1e293b 45%, #0f172a 100%);--pp-text:#e2e8f0;--pp-text-secondary:#cbd5e1;--pp-muted:#94a3b8;--pp-muted-dim:#64748b;--pp-surface:#0f172aa6;--pp-surface-card:#0f172abf;--pp-surface-input:#0f172ae6;--pp-header-bar:#0f172a99;--pp-border:#94a3b833;--pp-border-strong:#94a3b840;--pp-border-input:#94a3b859;--pp-link:#38bdf8;--pp-pill-bg:#38bdf826;--pp-pill-text:#7dd3fc;--pp-modal-bg:#0f172a;--pp-overlay:#0000008c;--pp-err:#fca5a5;--pp-focus-ring:#38bdf8;--pp-card-shadow:0 12px 40px #00000059;--pp-code:#94a3b8;--pp-sheet-bg:#fff;--pp-sheet-text:#111;--pp-panel:#0f172aa6;--pp-panel-soft:#0f172a8c;--pp-row-divider:#94a3b826;--pp-pill-inline-bg:#38bdf826;--pp-pill-inline-text:#7dd3fc;--pp-score-bg:#0f172af2;--pp-score-text:#f8fafc;--pp-ghost-on-dark:#e2e8f0;--pp-matrix-corner-bg:#ef444433;--pp-matrix-corner-text:#fecaca;--pp-matrix-schedule-header-bg:#0f172aeb;--pp-matrix-schedule-header-text:#f8fafc;--pp-matrix-schedule-cell-bg:#0f172a73;--pp-matrix-col-header-bg:#1e293beb;--pp-matrix-header-text:#e2e8f0;--pp-matrix-row-idx:#94a3b8;--pp-matrix-diag-bg:#475569;--pp-matrix-pending-bg:#38bdf829;--pp-matrix-pending-text:#7dd3fc;--pp-matrix-win-text:#fecaca;--pp-matrix-sum-bg:#00000038;--pp-matrix-rank1-text:#fecaca;--pp-matrix-scroll-bg:#0f172a66;--pp-tab-active-border:#38bdf88c;--pp-tab-active-bg:#0ea5e938;--pp-table-header-bg:#0003;--pp-table-mono-accent:#fde68a;--pp-chip-info-bg:#0ea5e929;--pp-chip-info-text:#bae6fd;--pp-chip-info-border:#0ea5e961;--pp-chip-success-bg:#22c55e24;--pp-chip-success-text:#d9f99d;--pp-chip-success-border:#22c55e6b;--pp-progress-track:#ffffff1f;--pp-banner-warn-text:#fcd34d;--pp-banner-warn-strong:#fde68a}[data-theme=light]{--pp-gradient-page:linear-gradient(165deg, #f1f5f9 0%, #e8edf3 38%, #f8fafc 100%);--pp-text:#0f172a;--pp-text-secondary:#1e293b;--pp-muted:#475569;--pp-muted-dim:#64748b;--pp-surface:#fff;--pp-surface-card:#fff;--pp-surface-input:#e8edf3;--pp-header-bar:#fffffff7;--pp-border:#0f172a24;--pp-border-strong:#0f172a3d;--pp-border-input:#0f172a61;--pp-link:#0284c7;--pp-pill-bg:#0ea5e91f;--pp-pill-text:#0369a1;--pp-modal-bg:#fff;--pp-overlay:#0f172a73;--pp-err:#b91c1c;--pp-focus-ring:#0284c7;--pp-card-shadow:0 12px 32px #0f172a14;--pp-code:#475569;--pp-sheet-bg:#fff;--pp-sheet-text:#0f172a;--pp-panel:#fff;--pp-panel-soft:#f1f5f9;--pp-row-divider:#0f172a1a;--pp-pill-inline-bg:#0ea5e91f;--pp-pill-inline-text:#0369a1;--pp-score-bg:#fff;--pp-score-text:#0f172a;--pp-ghost-on-dark:#0f172a;--pp-matrix-corner-bg:#fecdd3;--pp-matrix-corner-text:#881337;--pp-matrix-schedule-header-bg:#e2e8f0;--pp-matrix-schedule-header-text:#0f172a;--pp-matrix-schedule-cell-bg:#fff;--pp-matrix-col-header-bg:#cbd5e1;--pp-matrix-header-text:#0f172a;--pp-matrix-row-idx:#475569;--pp-matrix-diag-bg:#94a3b8;--pp-matrix-pending-bg:#dbeafe;--pp-matrix-pending-text:#1d4ed8;--pp-matrix-win-text:#b91c1c;--pp-matrix-sum-bg:#f1f5f9;--pp-matrix-rank1-text:#b91c1c;--pp-matrix-scroll-bg:#fff;--pp-tab-active-border:#0284c78c;--pp-tab-active-bg:#0ea5e92e;--pp-table-header-bg:#e8edf3;--pp-table-mono-accent:#b45309;--pp-chip-info-bg:#e0f2fe;--pp-chip-info-text:#0c4a6e;--pp-chip-info-border:#0369a159;--pp-chip-success-bg:#dcfce7;--pp-chip-success-text:#166534;--pp-chip-success-border:#16a34a59;--pp-progress-track:#d1dae8;--pp-banner-warn-text:#9a3412;--pp-banner-warn-strong:#78350f}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--pp-gradient-page);color:var(--pp-text);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app{min-height:100vh}.theme-fab{bottom:max(1rem, env(safe-area-inset-bottom,0px));right:max(1rem, env(safe-area-inset-right,0px));z-index:10050;border:1px solid var(--pp-border-input);background:var(--pp-surface-card);color:var(--pp-text);cursor:pointer;box-shadow:var(--pp-card-shadow);border-radius:999px;padding:.5rem .85rem;font-size:.82rem;font-weight:600;position:fixed}.theme-fab:hover{border-color:var(--pp-link);color:var(--pp-link)}.theme-fab:focus-visible{outline:2px solid var(--pp-focus-ring);outline-offset:2px}@media print{.theme-fab{display:none!important}}
