:root{--radius-sm: 10px;--radius: 14px;--radius-lg: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--nav-height: 56px;--cta-height: 64px;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 22px;--text-2xl: 30px;--leading-tight: 1.2;--leading-normal: 1.5;--focus-ring: #38bdf8}:root,[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--bg-elev: #121a2b;--bg-card: #151f33;--bg-soft: #1b2740;--border: #22304a;--border-strong: #2f4266;--text: #e6edf7;--text-muted: #a8b8d4;--text-dim: #8fa3bf;--gold: #d4a853;--gold-soft: #f0d48a;--gold-ink: #2a1b00;--teal: #2dd4bf;--teal-soft: #5eead4;--teal-ink: #042f2e;--cyan: #38bdf8;--green: #34d399;--amber: #fbbf24;--red: #f87171;--blue: #60a5fa;--shadow: 0 8px 24px rgba(0,0,0,.35);--shadow-soft: 0 4px 14px rgba(0,0,0,.25);--topbar-bg: rgba(11,18,32,.82);--overlay: rgba(2,6,23,.62);--sticky-fade: linear-gradient(to top, rgba(11,18,32,.98), rgba(11,18,32,.85) 60%, rgba(11,18,32,0))}[data-theme=light]{color-scheme:light;--focus-ring: #0369a1;--bg: #f4f7fb;--bg-elev: #ffffff;--bg-card: #ffffff;--bg-soft: #eaf0f8;--border: #d7e0ee;--border-strong: #c2cfdf;--text: #0f172a;--text-muted: #334155;--text-dim: #475569;--gold: #b7791f;--gold-soft: #92400e;--gold-ink: #fffaf0;--teal: #0f766e;--teal-soft: #115e59;--teal-ink: #ecfeff;--cyan: #0369a1;--green: #047857;--amber: #b45309;--red: #b91c1c;--blue: #1d4ed8;--shadow: 0 8px 24px rgba(15,23,42,.1);--shadow-soft: 0 4px 14px rgba(15,23,42,.08);--topbar-bg: rgba(244,247,251,.88);--overlay: rgba(15,23,42,.35);--sticky-fade: linear-gradient(to top, rgba(244,247,251,.98), rgba(244,247,251,.88) 60%, rgba(244,247,251,0))}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--cyan);text-decoration:none}button{font:inherit;color:inherit}img{max-width:100%;display:block}.app-shell{min-height:100vh;padding-bottom:calc(var(--cta-height) + var(--safe-bottom) + 12px)}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-4)}.section{padding:var(--space-6) 0;scroll-margin-top:calc(var(--nav-height) + 8px)}.section-header{margin-bottom:var(--space-4)}.eyebrow{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal);font-weight:700;margin:0 0 6px}.section-title{font-size:22px;line-height:1.2;margin:0 0 6px;font-weight:700}.section-sub{margin:0;color:var(--text-muted);font-size:14px}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.row{display:flex;gap:var(--space-2);align-items:center}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-soft)}.card.soft{background:var(--bg-elev)}.card-title{font-size:16px;font-weight:700;margin:0 0 4px}.card-text{font-size:14px;color:var(--text-muted);margin:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip,.badge,.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border-strong);background:var(--bg-soft);color:var(--text);white-space:nowrap}button.chip{min-height:44px;padding:10px 14px;font-size:13px;cursor:pointer}[data-theme=dark] .badge.gold,:root:not([data-theme=light]) .badge.gold{color:#f6e3b3;border-color:#d4a85373;background:#d4a85329}[data-theme=dark] .badge.teal,:root:not([data-theme=light]) .badge.teal{color:#99f6e4;border-color:#2dd4bf66;background:#2dd4bf24}[data-theme=dark] .badge.cyan,:root:not([data-theme=light]) .badge.cyan{color:#e0f2fe;border-color:#38bdf866;background:#38bdf824}[data-theme=dark] .badge.green,:root:not([data-theme=light]) .badge.green{color:#d1fae5;border-color:#34d39966;background:#34d39924}[data-theme=dark] .badge.amber,:root:not([data-theme=light]) .badge.amber{color:#fef3c7;border-color:#fbbf2466;background:#fbbf2424}[data-theme=dark] .badge.red,:root:not([data-theme=light]) .badge.red{color:#fee2e2;border-color:#f8717166;background:#f8717124}[data-theme=dark] .badge.blue,:root:not([data-theme=light]) .badge.blue{color:#dbeafe;border-color:#60a5fa66;background:#60a5fa24}[data-theme=light] .badge.gold{color:#7c4a03;border-color:#f3d9a4;background:#fef3c7}[data-theme=light] .badge.teal{color:#0f766e;border-color:#99f6e4;background:#ccfbf1}[data-theme=light] .badge.cyan{color:#075985;border-color:#bae6fd;background:#e0f2fe}[data-theme=light] .badge.green{color:#065f46;border-color:#a7f3d0;background:#d1fae5}[data-theme=light] .badge.amber{color:#92400e;border-color:#fde68a;background:#fef3c7}[data-theme=light] .badge.red{color:#991b1b;border-color:#fecaca;background:#fee2e2}[data-theme=light] .badge.blue{color:#1e40af;border-color:#bfdbfe;background:#dbeafe}.badge.dim{color:var(--text-muted)}.chip.active{border-color:var(--teal);color:var(--teal-soft);background:color-mix(in srgb,var(--teal) 16%,transparent)}[data-theme=light] .chip.active{color:#0f766e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg-soft);color:var(--text);font-weight:700;font-size:14px;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--teal),#14b8a6);color:var(--teal-ink);border:none}[data-theme=light] .btn.primary{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff}.btn.gold{background:linear-gradient(135deg,var(--gold),#c8922e);color:var(--gold-ink);border:none}[data-theme=light] .btn.gold{background:linear-gradient(135deg,#b7791f,#d97706);color:#fff}.btn.ghost{background:transparent}.btn.block{width:100%}.btn:active{transform:translateY(1px)}.topbar{position:sticky;top:0;z-index:30;min-height:var(--nav-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--topbar-bg);border-bottom:1px solid var(--border)}.topbar-inner{min-height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;min-width:0}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--gold),var(--teal));display:flex;align-items:center;justify-content:center;color:#081018;font-weight:900;font-size:13px;flex:0 0 auto}.brand-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{min-width:44px;height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:14px;font-weight:700}.icon-btn .label{font-size:12px;color:var(--text-muted)}.lang-select-wrap{display:inline-flex;align-items:center}.lang-select{height:44px;padding:0 28px 0 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.lang-select:focus{outline:2px solid var(--accent, #4da3ff);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--bg-elev);border-top-left-radius:18px;border-top-right-radius:18px;border:1px solid var(--border);border-bottom:none;padding:10px var(--space-4) calc(16px + var(--safe-bottom));box-shadow:var(--shadow)}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--border-strong);margin:2px auto 12px}.sheet-title{font-weight:700;margin:0 0 8px}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.nav-list a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:14px 8px;color:var(--text);border-bottom:1px solid var(--border);font-size:15px}.nav-list a span{color:var(--text-dim);font-size:12px}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:35;padding:10px var(--space-4) calc(10px + var(--safe-bottom));background:var(--sticky-fade)}.sticky-cta-inner{max-width:480px;margin:0 auto;display:flex;gap:10px}.sticky-cta .btn{flex:1}.accordion{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.accordion-item+.accordion-item{border-top:1px solid var(--border)}.accordion-trigger{width:100%;text-align:left;padding:14px 16px;background:none;border:none;color:var(--text);font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.accordion-content{padding:0 16px 14px;color:var(--text-muted);font-size:14px}.toggle{display:inline-flex;background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:4px;gap:4px}.toggle button{border:none;background:transparent;color:var(--text-muted);min-height:44px;padding:10px 14px;border-radius:9px;font-weight:600;font-size:13px;cursor:pointer}.toggle button.active{background:var(--bg-card);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-soft)}.gauge{margin:8px 0}.gauge-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);margin-bottom:4px}.gauge-track{height:8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;overflow:hidden}.gauge-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--cyan))}.gauge-fill.warn{background:linear-gradient(90deg,var(--amber),#f59e0b)}.gauge-fill.danger{background:linear-gradient(90deg,#f87171,#ef4444)}.h-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}.h-scroll>*{scroll-snap-align:start;flex:0 0 82%}.h-scroll::-webkit-scrollbar{height:0}.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:13px}.kv .k{color:var(--text-muted)}.kv .v{font-weight:600;text-align:right}.blur-gate{position:relative}.blur-gate .blurred{filter:blur(5px);-webkit-user-select:none;user-select:none;opacity:.7}.blur-gate .lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:50}.drawer{position:fixed;left:0;right:0;bottom:0;z-index:51;max-height:88vh;overflow:auto;background:var(--bg-elev);border-top-left-radius:18px;border-top-right-radius:18px;border:1px solid var(--border);border-bottom:none;padding:10px var(--space-4) calc(20px + var(--safe-bottom))}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.divider{height:1px;background:var(--border);margin:var(--space-4) 0}.note{font-size:12px;color:var(--text-dim);line-height:1.5}.pos{color:var(--green)}.neg{color:var(--red)}.highlight{color:var(--gold);font-weight:700}ul.clean{margin:0;padding-left:18px;color:var(--text-muted);font-size:14px}ul.clean li{margin:6px 0}:where(a,button):focus:not(:focus-visible){outline:none}:where(a,button,[role=button],[role=tab],input,select,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (max-width: 360px){.grid-2{grid-template-columns:1fr}.topbar-inner{gap:4px}.brand{font-size:14px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--text-muted);font-weight:600}.field input,.field select{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);font:inherit;font-size:14px}.field input::placeholder{color:var(--text-dim)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 360px){.field-row{grid-template-columns:1fr}}.calc-result{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;padding:12px}.calc-result .big{font-size:22px;font-weight:800;color:var(--teal)}.matrix-wrap{overflow:auto;-webkit-overflow-scrolling:touch;max-height:70vh;border:1px solid var(--border);border-radius:12px}.matrix{border-collapse:separate;border-spacing:0;min-width:720px;width:100%;font-size:12px}.matrix th,.matrix td{padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;white-space:nowrap;background:var(--bg-card)}.matrix th{position:sticky;top:0;z-index:2;background:var(--bg-elev);font-weight:700}.matrix th.sticky-col,.matrix td.sticky-col{position:sticky;left:0;z-index:1;background:var(--bg-card);min-width:160px}.matrix th.sticky-col{z-index:3;background:var(--bg-elev)}.matrix tr:last-child td{border-bottom:none}.cell-na{color:var(--text-dim)}.compare-table{width:100%;border-collapse:collapse;font-size:13px}.compare-table th,.compare-table td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.compare-table th{font-size:12px;color:var(--text-muted);font-weight:700}.peek{display:inline-block;padding:2px 8px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--border)}.peek.locked{filter:blur(4px);opacity:.7;-webkit-user-select:none;user-select:none}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.warn-note{color:var(--amber);font-size:12px;line-height:1.5}.info-note{color:var(--teal);font-size:12px;line-height:1.5}.inline-compare{width:100%;border-collapse:collapse;font-size:12px}.inline-compare th,.inline-compare td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.inline-compare th{color:var(--text-muted);font-weight:700}.limit-row{display:flex;flex-direction:column;gap:4px;margin:8px 0}.limit-bar{position:relative;height:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;overflow:hidden}.limit-fill-soft{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--amber) 45%,transparent)}.limit-fill-hard{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--red) 30%,transparent)}.limit-markers{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim)}.select{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);font:inherit;font-size:14px}.pill-choice{display:inline-flex;gap:8px;flex-wrap:wrap}.pill-choice button{min-height:40px}.success-box{background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 35%,transparent);border-radius:12px;padding:10px 12px}.matrix-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.matrix-fullscreen-inner{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--shadow)}.matrix-fullscreen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.matrix-fullscreen-header .btn{flex:0 0 auto}.matrix-fullscreen-body{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px}.matrix-fullscreen-body .matrix th,.matrix-fullscreen-body .matrix td{background:var(--bg-card)}.matrix-fullscreen-body .matrix th{background:var(--bg-elev)}.matrix-fullscreen-body .matrix th.sticky-col,.matrix-fullscreen-body .matrix td.sticky-col{background:var(--bg-card)}.matrix-fullscreen-body .matrix th.sticky-col{background:var(--bg-elev)}
