/* Q Techs "Island" theme - low-poly pastel look: teal sea, lime grass, white cliffs, chunky rounded type.
   Loaded AFTER the main stylesheet on every page. Pure CSS overrides, nothing else is touched. */
500;600;700;800&display=swap');

:root{
  --q-sea:#34b9b3; --q-sea-d:#119c98; --q-sea-l:#d6f5ef; --q-sky:#e6faf5;
  --q-lime:#a8de4c; --q-lime-d:#6cb52d; --q-pine:#2f7a52; --q-cliff:#f4f8f6; --q-cliff-s:#cfe6e3;
  --q-wood:#8a5a44; --q-fox:#ee7a2d; --q-heart:#ff4d6d; --q-flower:#2f6fe0; --q-ink:#12363a;
  --font-sans:"QSans","Google Sans",system-ui,-apple-system,sans-serif;
  --radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.6rem;--radius-3xl:2.1rem;
  /* dark = "night island" */
  --color-bg-main:#0b2a31;--color-bg-surface:#10373f;--color-card-bg:#123e47;--color-bg-elevated:#164a54;--color-hover-surface:#1b5762;
  --color-border-main:#2a6f76;--color-border-subtle:#1f565d;--color-border-light:#2a6f76;
  --color-text-primary:#f2fffb;--color-text-secondary:#dff7f1;--color-text-muted:#9fd2cc;--color-text-faint:#74b3ad;--color-text-tertiary:#74b3ad;
  --color-brand-orange:#ff8a3d;--color-brand-orange-end:#ee7a2d;--color-brand-teal:#4fd6cf;--color-brand-teal-glow:#8cf0e6;
  --color-grid-emerald:#a8de4c;--color-solar-yellow:#ffd35a;--color-grid-line:rgba(168,222,76,.07);
  --bg-canvas:#0b2a31;--bg-panel:#10373f;--bg-panel-raised:#164a54;--border-default:#2a6f76;
  --text-primary:#f2fffb;--text-secondary:#dff7f1;--text-muted:#9fd2cc;--accent-cyan:#4fd6cf;--accent-orange:#ff8a3d;--accent-green:#a8de4c;--accent-red:#ff6b81;
  --grid-line:#1f565d;--grid-line-strong:#2a6f76;--panel-fill:#164a54;--panel-stroke:#4fd6cf;--obstacle-fill:#4a2a2f;--obstacle-stroke:#ff6b81;
  --shadow-elevation:0 4px 0 #0006;
}
.light-mode{
  --color-bg-main:#e6faf5;--color-bg-surface:#ffffff;--color-card-bg:#ffffff;--color-bg-elevated:#f1fcf8;--color-hover-surface:#dcf6ef;
  --color-border-main:#bfe6e0;--color-border-subtle:#dcf3ee;--color-border-light:#bfe6e0;
  --color-text-primary:#12363a;--color-text-secondary:#1d474b;--color-text-muted:#4f7f80;--color-text-faint:#6f9c9b;--color-text-tertiary:#6f9c9b;
  --color-brand-orange:#ee7a2d;--color-brand-orange-end:#e56a1a;--color-brand-teal:#119c98;--color-brand-teal-glow:#34b9b3;
  --color-grid-emerald:#6cb52d;--color-solar-yellow:#f5c42c;--color-grid-line:rgba(17,156,152,.07);
  --bg-canvas:#e6faf5;--bg-panel:#ffffff;--bg-panel-raised:#f1fcf8;--border-default:#bfe6e0;
  --text-primary:#12363a;--text-secondary:#1d474b;--text-muted:#4f7f80;--accent-cyan:#119c98;--accent-orange:#ee7a2d;--accent-green:#6cb52d;--accent-red:#e5484d;
  --grid-line:#dcf3ee;--grid-line-strong:#bfe6e0;--panel-fill:#f1fcf8;--panel-stroke:#119c98;--obstacle-fill:#fff0ee;--obstacle-stroke:#e5484d;
  --shadow-elevation:0 4px 0 rgba(17,156,152,.18);
}

html,body{font-family:var(--font-sans)}
body{
  background-color:var(--color-bg-main);
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 340px),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='140' viewBox='0 0 240 140'><g fill='none'><path d='M0 0L80 40L0 90Z' fill='%2334b9b3' fill-opacity='.025'/><path d='M80 40L160 0L240 50L170 100Z' fill='%23a8de4c' fill-opacity='.035'/></g></svg>");
  background-attachment:fixed,fixed;
}
.light-mode body, body.light-mode{background-color:var(--color-bg-main)}

h1,h2,h3,h4,.font-black,.font-extrabold{font-family:var(--font-sans);letter-spacing:-.01em}
h1,h2{font-weight:800}
h1{text-wrap:balance}

/* chunky game-like cards */
[class*="rounded-2xl"],[class*="rounded-3xl"]{box-shadow:0 4px 0 rgba(17,156,152,.16)}
.light-mode [class*="border"][class*="bg-"][class*="rounded-xl"]{box-shadow:0 3px 0 rgba(17,156,152,.12)}

/* chunky buttons: orange/teal primaries get a darker ledge */
button[class*="bg-brand"],a[class*="bg-brand"],button[class*="bg-orange"],a[class*="bg-orange"],button[class*="bg-teal"],a[class*="bg-teal"],
button[class*="bg-gradient"],a[class*="bg-gradient"]{
  border-radius:999px;box-shadow:0 4px 0 rgba(0,0,0,.2);transition:transform .08s,box-shadow .08s;font-weight:700}
button[class*="bg-brand"]:active,a[class*="bg-brand"]:active,button[class*="bg-orange"]:active,a[class*="bg-orange"]:active,
button[class*="bg-teal"]:active,a[class*="bg-teal"]:active,button[class*="bg-gradient"]:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.2)}

/* hero grid -> faceted low-poly */
.bg-hero-grid,.light-mode .bg-hero-grid{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='110'><path d='M0 0L70 30L20 80Z' fill='%2334b9b3' fill-opacity='.045'/><path d='M70 30L160 0L130 70Z' fill='%23a8de4c' fill-opacity='.06'/></svg>");
  background-size:160px 110px}

input,select,textarea{border-radius:.9rem}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(168,222,76,.55);outline-offset:1px}
::selection{background:#a8de4c;color:#12363a}
a{text-underline-offset:3px}
img.rounded-full,.rounded-full{border-radius:9999px}

/* scrollbars: soft rounded */
*{scrollbar-width:thin;scrollbar-color:#8fd3cc transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#8fd3cc;border-radius:10px;border:2px solid transparent;background-clip:padding-box}

/* ---- v18c mobile ---- */
@media (max-width:640px){
  html{-webkit-text-size-adjust:100%}
  input,select,textarea{font-size:16px}
  a,button{-webkit-tap-highlight-color:rgba(52,185,179,.18)}
  img,video{max-width:100%;height:auto}
}
@media (pointer:coarse){button:not(.w-2):not(.h-2\.5):not([class*="w-14"]),[role=button],a.rounded-full{min-height:40px}}
/* carousel indicators: round dots, selected one stretches sideways */
button.w-2.h-2.rounded-full,button.h-2\.5.rounded-full{min-height:0!important}
button.w-2.h-2.rounded-full{width:10px!important;height:10px!important}
button.h-2\.5.rounded-full{height:10px!important;width:56px!important}

/* ---- v19b: news / suite slide text boxes: pastel instead of flat grey, less dead space ---- */
div.rounded-2xl.border[class*="bg-white/90"],
.light-mode div.rounded-2xl.border[class*="bg-white/90"]{
  background:linear-gradient(160deg,#effcf7 0%,#f7fdee 100%)!important;
  border:2px solid rgba(52,185,179,.28)!important;
  box-shadow:0 4px 0 rgba(17,156,152,.14)!important;
}
:root:not(.light-mode) div.rounded-2xl.border[class*="bg-white/90"]{
  background:linear-gradient(160deg,rgba(52,185,179,.14),rgba(168,222,76,.08))!important;
  border-color:rgba(52,185,179,.35)!important;
}
@media (max-width:640px){
  div.rounded-2xl.border[class*="bg-white/90"]{padding:1rem!important}
  div.rounded-2xl.border[class*="bg-white/90"] p{line-height:1.55;color:#12363a}
  .snap-x>div.snap-center{justify-content:flex-start!important}
}
