:root {
        --bg:#0b1220;--panel:#111a2e;--panel-2:#0f1729;--line:#1e2a44;
        --ink:#e8ecf3;--muted:#9aa7bd;--brand:#1f6feb;--brand-2:#4c9aff;
        --accent:#10b981;--warn:#f59e0b;--danger:#ef4444;
      }
      html,body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;}
      .display{font-family:'Playfair Display',serif;letter-spacing:-0.01em;}
      .panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;}
      .panel-2{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;}
      .field{background:#0a1120;border:1px solid var(--line);color:var(--ink);}
      .field:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(76,154,255,0.15);}
      .btn-primary{background:linear-gradient(180deg,#2b7cf6,#1a5ee0);color:white;}
      .btn-primary:hover{filter:brightness(1.05);}
      .btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink);}
      .btn-ghost:hover{background:#142140;}
      .chip{background:#142140;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:4px 10px;font-size:12px;}
      .step-dot{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0;}
      .step-dot.active{background:var(--brand);color:white;}
      .step-dot.done{background:var(--accent);color:white;}
      .step-dot.todo{background:#142140;color:var(--muted);}
      .divider{height:1px;background:var(--line);}
      .grad-brand{background:linear-gradient(135deg,#2b7cf6 0%,#10b981 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
      .recommend-card{border-radius:16px;padding:24px;}
      .recommend-hsc{background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(31,111,235,.10));border:1px solid rgba(16,185,129,.35);}
      .recommend-paint{background:linear-gradient(135deg,rgba(245,158,11,.10),rgba(31,111,235,.08));border:1px solid rgba(245,158,11,.35);}
      .recommend-specialist{background:linear-gradient(135deg,rgba(76,154,255,.14),rgba(239,68,68,.08));border:1px solid rgba(76,154,255,.35);}
      input[type="range"]{accent-color:var(--brand-2);}
      details>summary{list-style:none;cursor:pointer;}
      details>summary::-webkit-details-marker{display:none;}
      table.compare th,table.compare td{padding:8px 10px;border-bottom:1px solid var(--line);font-size:13px;}
      table.compare th{text-align:left;color:var(--muted);font-weight:500;}
      .kpi{padding:14px;border-radius:12px;background:#0a1120;border:1px solid var(--line);}
      .kpi .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
      .kpi .value{font-size:20px;font-weight:700;margin-top:4px;line-height:1.15;}
      .toggle{display:inline-flex;background:#0a1120;border:1px solid var(--line);border-radius:999px;padding:4px;flex-wrap:wrap;}
      .toggle button{padding:6px 12px;border-radius:999px;font-size:13px;color:var(--muted);}
      .toggle button.on{background:var(--brand);color:white;}
      .brand-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#1f6feb,#10b981);display:inline-flex;align-items:center;justify-content:center;color:white;font-weight:800;}
      .hint{color:var(--muted);font-size:12px;}
      .wall-row{display:grid;grid-template-columns:120px 1fr 1fr 100px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);}
      .wall-row:last-child{border-bottom:none;}
      @media (max-width:640px){.wall-row{grid-template-columns:1fr 1fr;} .wall-row .wall-label{grid-column:1/-1;font-weight:600;} .wall-row .wall-sqft{grid-column:1/-1;text-align:right;}}
      .op-row{display:grid;grid-template-columns:1fr 100px 100px;gap:8px;align-items:center;padding:6px 0;}
      .op-row .op-hint{font-size:11px;color:var(--muted);}
      .badge-good{background:rgba(16,185,129,.15);color:#6ee7b7;border:1px solid rgba(16,185,129,.35);padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;}
      .badge-warn{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.35);padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;}
      .badge-info{background:rgba(76,154,255,.15);color:#93c5fd;border:1px solid rgba(76,154,255,.35);padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;}
      .chk{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#0a1120;cursor:pointer;user-select:none;}
      .chk input{accent-color:var(--brand-2);}
      .chk.on{border-color:var(--brand-2);background:#132444;}
      .settings-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--panel);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .25s ease;z-index:50;overflow-y:auto;}
      .settings-drawer.open{transform:translateX(0);}
      .overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40;}
      .overlay.open{opacity:1;pointer-events:auto;}