/* TileMyRoom theme: charcoal + warm orange, soft cards, DM Sans. Loaded in <head>; selectors are doubled up so they beat the page's own later styles. */
:root:root{--bg:#F6F6F4;--panel:#ffffff;--fg:#1D2125;--muted:#686E74;--line:#E8E9E6;--accent:#2E3338;--accent-fg:#ffffff;--soft:#F1F2EF;--sel:#E8590C;--ok:#2F7A4C;--warn:#C2410C;--warn-bg:#FDEBDD;
  --font-body:"DM Sans","Noto Sans SC",system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"DM Sans","Noto Sans SC",system-ui,sans-serif;--tmr-orange:#E8590C;--tmr-orange-soft:#FFF4EC}
@media (prefers-color-scheme:dark){:root:root:not([data-theme=light]){--bg:#15181B;--panel:#1E2226;--fg:#ECEDEE;--muted:#9AA0A6;--line:#2F3439;--accent:#3A4147;--accent-fg:#ffffff;--soft:#262B30;--sel:#F07A35;--ok:#6BC28C;--warn:#F59A5B;--warn-bg:#3A2619;--tmr-orange:#F07A35;--tmr-orange-soft:#2C2119}}
:root:root[data-theme=dark]{--bg:#15181B;--panel:#1E2226;--fg:#ECEDEE;--muted:#9AA0A6;--line:#2F3439;--accent:#3A4147;--accent-fg:#ffffff;--soft:#262B30;--sel:#F07A35;--ok:#6BC28C;--warn:#F59A5B;--warn-bg:#3A2619;--tmr-orange:#F07A35;--tmr-orange-soft:#2C2119}
html body{font-family:var(--font-body);font-variant-numeric:tabular-nums;background:var(--bg)}
html body button,html body input,html body select,html body textarea{font-family:var(--font-body)}
html body h1{font-size:2rem;letter-spacing:-.02em;font-weight:700;line-height:1.15}
html body h2{color:var(--fg);font-weight:600;letter-spacing:.01em;text-transform:none;font-size:1rem}
html body h3{font-size:1.05rem;font-weight:600}
html body .unit,html body small,html body h3 small,html body .dims,html body .stat .v,html body input[type=number],html body table.calc td:last-child{font-family:var(--font-body)}
/* cards: no hairline boxes, soft lift instead */
html body .panel{border:0;border-radius:16px;box-shadow:0 1px 2px rgba(20,24,28,.05),0 10px 30px rgba(20,24,28,.06);padding:22px}
html body .stage,html body .plan-stage{border:0;border-radius:16px;box-shadow:0 10px 30px rgba(20,24,28,.08)}
html body .surface{border-top-color:var(--line)}
/* fields and buttons */
html body input[type=number],html body input[type=text],html body input[type=tel],html body input[type=email],html body select,html body textarea{border-radius:10px;border:1px solid transparent;background:var(--soft);padding:9px 11px}
html body input:focus-visible,html body select:focus-visible,html body textarea:focus-visible{outline:2px solid var(--tmr-orange);outline-offset:1px}
html body .primary{background:var(--tmr-orange);color:#fff;border-radius:10px;font-weight:600}
html body .primary:hover{filter:brightness(1.05)}
html body .ghost,html body .filebtn{border-radius:10px;border-color:var(--line)}
html body .seg{border:0;background:var(--soft);border-radius:10px;padding:3px;gap:2px;overflow:visible}
html body .seg button{border-radius:8px}
html body .seg button[aria-pressed=true]{background:var(--panel);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.1)}
html body .sw{border-radius:10px}
html body .sw[aria-pressed=true]{border-color:var(--tmr-orange);box-shadow:none}
html body input[type=range]{accent-color:var(--tmr-orange)}
/* floating controls over the 3D view */
html body .viewbtns button,html body .dims,html body .tip{border:0;border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 1px 4px rgba(0,0,0,.12)}
html body .viewbtns button[aria-pressed=true]{background:var(--fg);color:var(--panel)}
/* results */
html body .stat{border-radius:14px;background:var(--soft)}
html body .stat.hero{background:var(--accent);color:#fff}
html body .stat .v{font-weight:700;letter-spacing:-.01em}
html body .checks li{background:var(--soft);border-radius:12px;padding:12px 14px}
html body .badge{border:0;border-radius:6px;font-family:var(--font-body);font-weight:600;font-size:.72rem;padding:3px 8px}
html body .badge.yes{background:var(--warn-bg)}
html body .badge.no{background:color-mix(in srgb,var(--ok) 14%,transparent)}
html body .badge.maybe{background:var(--soft);outline:1px solid var(--line)}
html body table td{border-color:var(--line)}
html body .cta{border:0;border-radius:14px;background:var(--tmr-orange-soft)}
html body .warnbox{border-radius:12px}
/* tabs, nav, language pill */
html body .tabs{border:0;gap:4px;background:var(--soft);padding:4px;border-radius:12px;width:max-content;max-width:100%}
html body .tab{border:0;border-radius:9px;padding:8px 16px;margin:0}
html body .tab[aria-selected=true]{background:var(--panel);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.1)}
html body .sitenav{border:0;box-shadow:0 1px 3px rgba(0,0,0,.08);background:var(--panel)}
html body .sitenav span{background:var(--fg);color:var(--panel)}
html body .sitenav a:hover{background:var(--soft);color:var(--fg)}
html body .langpill{border:0;box-shadow:0 1px 4px rgba(0,0,0,.1);font-family:var(--font-body)}
html body pre.summary{border:0;border-radius:12px;background:var(--soft)}
html body .modal .box{border-radius:16px}
/* deck: steps and the floating price bar (built by deck-plus.js) */
html body .tmr-steps{display:flex;gap:4px;background:var(--soft);padding:4px;border-radius:12px;margin:0 0 4px}
html body .tmr-steps button{flex:1;border:0;background:transparent;border-radius:9px;padding:8px 4px;font:inherit;font-size:.82rem;font-weight:500;color:var(--muted);cursor:pointer;line-height:1.25;white-space:nowrap;min-width:0}
html body .tmr-steps button b{display:block;font-size:.7rem;font-weight:700;color:var(--tmr-orange)}
html body .tmr-steps button[aria-pressed=true]{background:var(--panel);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.1)}
html body .tmr-next{display:flex;justify-content:flex-end}
html body .tmr-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:40;display:flex;align-items:center;gap:18px;background:var(--panel);border-radius:16px;padding:10px 12px 10px 20px;box-shadow:0 12px 40px rgba(20,24,28,.2);width:min(720px,calc(100% - 24px))}
html body .tmr-bar .k{font-size:.76rem;color:var(--muted)}
html body .tmr-bar .v{font-size:1.3rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}
html body .tmr-bar .primary{margin-left:auto;padding:12px 18px;white-space:nowrap}
html body.tmr-has-bar{padding-bottom:96px}
@media (max-width:560px){html body .tmr-bar{gap:10px;padding:8px 8px 8px 14px}html body .tmr-bar .v{font-size:1.05rem}html body .tmr-bar .area{display:none}html body .tmr-bar .primary{padding:10px 12px;font-size:.85rem}html body h1{font-size:1.6rem}}
