:root{
  --bg: #f6f8fb;
  --surface: #ffffff;
  --ink: #22343a;
  --muted: #62757f;
  --border: #e5eaef;
  --shadow: 0 8px 28px rgba(22,34,45,.08);
  --tosca:#1fb69a;
  --tosca-600:#189e86;
  --tosca-700:#138a75;
  --tosca-100:#e9f8f4;
  --accent:#008c72;
  --radius-card: 18px;
  --radius-btn: 999px;
}
html{ font-size:16px; }
body{ background:var(--bg); color:var(--ink); line-height:1.65; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.header-brand{ background:linear-gradient(135deg,var(--tosca),#21d1b0); color:white; padding:20px 0; border-bottom-left-radius:22px; border-bottom-right-radius:22px; box-shadow:0 10px 30px rgba(31,182,154,.25); }
.header-brand .title{ font-weight:800; letter-spacing:.2px; }
.header-brand .subtitle{ opacity:.95; }
.container,.container-lg,.container-xl{ max-width:1080px; }
.card-glow{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-card)!important; box-shadow:var(--shadow); }
.btn-round{ border-radius:var(--radius-btn)!important; padding:.55rem 1.1rem; }
.btn-tosca{ background:var(--tosca); border-color:var(--tosca); color:#fff; }
.btn-tosca:hover{ background:var(--tosca-600); border-color:var(--tosca-600); color:#fff; }
.btn-outline-secondary{ border-color:#c8d3db; color:#345; }
.btn-outline-secondary:hover{ background:#f3f6f8; border-color:#b9c6cf; }
.link-tosca{ color:var(--accent); }
.link-tosca:hover{ color:var(--tosca-700); }
.badge-soft{ background:var(--tosca-100); color:var(--tosca-700); border-radius:var(--radius-btn); padding:.35rem .6rem; font-weight:600; }
.progress-tosca{ --bs-progress-bg:#eef3f6; --bs-progress-bar-bg:var(--tosca); }
.question-card{ border:1px solid var(--border); border-radius:14px; padding:12px 16px; background:#fff; transition:box-shadow .15s ease, transform .12s ease; }
.question-card:hover{ box-shadow:0 8px 20px rgba(22,34,45,.06); transform:translateY(-1px); }
small.helper{ color:var(--muted); }
.star-group .star{ font-size:28px; cursor:pointer; user-select:none; transition:transform .07s ease, color .2s; color:#b9c6cf; }
.star-group .star.active{ color:#f2b300; transform:translateY(-1px) scale(1.04); }
.navbar{ background:linear-gradient(135deg,var(--tosca),#21d1b0); box-shadow:0 8px 24px rgba(31,182,154,.25); }
.navbar .nav-link{ color:#ecfffb; }
.navbar .nav-link:hover{ color:#fff; text-decoration:underline; }
.footer-min{ color:#5c6b70; font-size:12px; text-align:center; padding:12px 0; opacity:.85; }
body.comfort{ --bg:#eef2f6; --surface:#ffffff; --border:#e0e7ef; --shadow:0 10px 36px rgba(16,32,48,.08); }