.theme-control { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; box-sizing:border-box; width:44px; min-width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid var(--line,#2c4261); border-radius:12px; background:var(--panel,#0c1d33); color:var(--text,#f4f8ff); box-shadow:none; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.theme-control svg { display:block; flex-shrink:0; pointer-events:none; }
.theme-control-app { display:flex; margin:0 0 12px auto; }
.theme-control:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.trial-banner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:18px 20px; margin:14px 0; border:1px solid var(--line); border-radius:18px; background:var(--panel,#0b2136); }
.trial-banner p { margin:5px 0 0; max-width:670px; }
.trial-banner button { width:auto; white-space:nowrap; }
.trial-meter { height:5px; border-radius:9px; background:#7293ae40; margin-top:10px; overflow:hidden; }
.trial-meter span { display:block; height:100%; background:var(--green); }
.plan-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tier-card { border:1px solid var(--line); border-radius:18px; padding:18px; background:var(--panel); }
.tier-card h4 { margin:0 0 6px; font-size:23px; }
.tier-card p { margin:0 0 16px; }
.tier-card .plan { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; margin:7px 0; text-align:left; }
.tier-card .plan small { display:block; font-size:12px; font-weight:500; margin-top:3px; opacity:.85; }
.tier-card .plan.selected { outline:2px solid var(--focus); outline-offset:2px; }
.pricing-v2 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pricing-v2 ul { padding-left:20px; line-height:1.8; }
.price-terms { display:flex; flex-direction:column; gap:8px; margin:12px 0 22px; }
.price-terms a { display:flex; justify-content:space-between; padding:12px; border:1px solid var(--line); border-radius:12px; color:inherit; }
.pricing-v2 .price-label { font-size:38px; }
.price-terms a:hover { border-color:var(--focus); background:var(--accent-soft); }
/* Shared semantic colours: every surface and its text change together. */
html[data-theme="light"] {
  color-scheme:light;
  --bg:#f5f6f8; --panel:#fff; --panel2:#eef2f5; --text:#233144; --muted:#566578;
  --line:#d4dce4; --soft:#566578; --blue:#386e92; --blue2:#386e92; --cyan:#386e92;
  --green:#356f60; --red:#a04458; --yellow:#866117; --purple:#765a95;
  --accent-soft:#e9f0f6; --success-soft:#eaf3ef; --danger-soft:#f8edf0; --warning-soft:#f6f0e3;
  --button:#346a8e; --button-hover:#2b5d7e; --button-green:#356f60; --button-red:#98465a;
  --button-yellow:#80601d; --button-purple:#70578e; --on-button:#fff; --focus:#477c9f;
  --track:#c7d3de; --shadow:0 8px 28px #23314408;
}
html[data-theme="dark"] {
  color-scheme:dark;
  --bg:#17222f; --panel:#202e3d; --panel2:#293a4b; --text:#e4e9ef; --muted:#b0bdcb;
  --line:#405267; --soft:#b0bdcb; --blue:#a5cce7; --blue2:#a5cce7; --cyan:#a5cce7;
  --green:#9ccfbd; --red:#edafbc; --yellow:#dec58c; --purple:#ccb6e5;
  --accent-soft:#2a3e51; --success-soft:#253e38; --danger-soft:#49323e; --warning-soft:#423d2e;
  --button:#426d90; --button-hover:#4b799e; --button-green:#3c7565; --button-red:#995066;
  --button-yellow:#806728; --button-purple:#7a6296; --on-button:#fff; --focus:#a5cce7;
  --track:#52687d; --shadow:0 8px 28px #090f171c;
}
html[data-theme] body { background:var(--bg); color:var(--text); }
html[data-theme] body::before, html[data-theme] body::after,
html[data-theme] .hero::after, html[data-theme] .calc-glow::after { display:none; }
html[data-theme] :is(h1,h2,h3,h4,h5,label,.brand,.section-head,.price-label,.plan-benefits-title,
  .dialog-search-title,.promotion-builder summary,.faq summary,.calc-control label) {
  color:var(--text); text-shadow:none; font-weight:650;
}
html[data-theme] :is(h1,h2,h3) { font-weight:700; }
html[data-theme] :is(p,.lead,.micro,.muted,.footer-row,.plan-note,.price-card ul,.phone-top) { color:var(--muted); }
html[data-theme] p { font-weight:400; }
html[data-theme] :is(.nav,.mobile-menu,.lang-menu,.tabs,.card,.hero-card,.phone,.mockup,
  .demo-panel,.demo-source-card,.demo-result-card,.demo-rule-card,.calc-result,.faq details,
  .final-card,.tier-card,.guide-panel,.dialog-search-results,.promotion-builder) {
  background:var(--panel); color:var(--text); border-color:var(--line); box-shadow:var(--shadow); backdrop-filter:none;
}
html[data-theme] :is(.mini-card,.feature-list,.feature-item,.plan-benefits-wrap,.plan-benefit,
  .calc-control,.calc-caption,.demo-note-card,.demo-note-list div,.demo-rule-list div,.mockup-head,
  .demo-check,.scheme,.scheme span,.bot-message,.chat-bubble,.guide-list-item,.guide-info,
  .promotion-destination,.promotion-delivery-row,.dialog-search-empty,.button-layout-row,
  .button-dropzone,.status,.copy-value,.telegram-login) {
  background:var(--panel2); color:var(--text); border-color:var(--line); box-shadow:none;
}
html[data-theme] :is(.feature-item,.demo-note-list div,.demo-rule-list div,.plan-benefit,
  .guide-list-item,.promotion-selected-item,.dialog-search-title,.scheme,.calc-control label,
  .mockup-head,.calc-assumption,.faq summary) { font-weight:600; }
html[data-theme] :is(.demo-source-card,.demo-result-card,.demo-rule-card) { overflow:hidden; }
html[data-theme] :is(.user-message,.pill,.badge,.icon,.step::before,.guide-pro,.promotion-selected-item) {
  background:var(--accent-soft); color:var(--blue); border-color:var(--line); box-shadow:none;
}
html[data-theme] :is(.guide-pro,.promotion-selected-item,.calc-assumption,.calc-result.highlight) {
  background:var(--success-soft); color:var(--green); border-color:var(--line);
}
html[data-theme] .calc-result.highlight.loss { background:var(--warning-soft); color:var(--yellow); border-color:var(--line); }
html[data-theme] .calc-result b { color:var(--text); font-weight:700; font-variant-numeric:tabular-nums; }
html[data-theme] .calc-result.highlight b { color:var(--green); }
html[data-theme] .calc-result.highlight.loss b { color:var(--yellow); }
html[data-theme] :is(.price-month,.ok) { color:var(--green); }
html[data-theme] .danger { color:var(--red); }
html[data-theme] :is(.eyebrow,.demo-kicker,.guide-kicker,.arrow) { color:var(--blue); font-weight:650; }
html[data-theme] .eyebrow { background:none; border:0; box-shadow:none; backdrop-filter:none; }
html[data-theme] :is(.nav-links a,.mobile-menu a,.lang-menu a) { color:var(--text); font-weight:600; }
html[data-theme] :is(.nav-links a,.mobile-menu a,.lang-menu a):hover { background:var(--accent-soft); color:var(--blue); }
html[data-theme] .brand-mark { flex-shrink:0; box-shadow:none; }
html[data-theme] .feature-list { background:var(--panel); }
html[data-theme] .feature-item::before { width:7px; height:7px; margin-top:8px; background:var(--blue); box-shadow:none; }
html[data-theme] .step::before { font-weight:650; }
html[data-theme] .best-plan { border-color:var(--green); box-shadow:var(--shadow); }
html[data-theme] .best-plan::before { background:var(--success-soft); color:var(--green); border:1px solid var(--line); font-weight:650; }
html[data-theme] .faq details[open] { background:var(--panel); border-color:var(--focus); box-shadow:var(--shadow); }
html[data-theme] .faq details { transition:border-color .2s ease; }
html[data-theme] .faq summary::after { background:var(--accent-soft); color:var(--blue); }
html[data-theme] .demo-photo { background:var(--panel2) url('/static/brotherwork-daylight.png') center/cover no-repeat; }
html[data-theme] .demo-photo::after { display:none; }

/* Controls use an opaque fill. Selected, focus and error states stay distinct. */
html[data-theme] :is(button,.cta,.demo-next) {
  color:var(--on-button); background:var(--button); border-color:transparent;
  box-shadow:none; font-weight:600; text-shadow:none;
}
html[data-theme] :is(button,.cta,.demo-next):hover { filter:brightness(.97); box-shadow:none; }
html[data-theme] :is(button,.cta):active,
html[data-theme] button.tap-feedback { transform:translateY(1px); filter:brightness(.94); box-shadow:none; }
html[data-theme] button.action-pending { filter:none; box-shadow:inset 0 0 0 2px var(--focus); }
html[data-theme] button:disabled { opacity:.6; }
html[data-theme] :is(.secondary,.neutral,.tab,.guide-tab,.demo-tab,.lang-button,
  .mobile-menu-button,.dialog-search-result) {
  background:var(--panel2); color:var(--text); border:1px solid var(--line); box-shadow:none;
}
html[data-theme] :is(.primary,.blue,.cta.primary,.tab.active,.guide-tab.active,.demo-tab.active,.menu-toggle) {
  background:var(--button); color:var(--on-button); border-color:transparent; box-shadow:none;
}
html[data-theme] .green { background:var(--button-green); color:var(--on-button); box-shadow:none; }
html[data-theme] .red { background:var(--button-red); color:var(--on-button); box-shadow:none; }
html[data-theme] .yellow { background:var(--button-yellow); color:var(--on-button); box-shadow:none; }
html[data-theme] .purple { background:var(--button-purple); color:var(--on-button); box-shadow:none; }
html[data-theme] .plan.selected { background:var(--success-soft); color:var(--green); outline:2px solid var(--green); box-shadow:none; }
html[data-theme] .matrix button.off { background:var(--panel2); color:var(--muted); box-shadow:inset 0 0 0 1px var(--line); }
html[data-theme] :is(.dialog-search-result:hover,.dialog-search-result:focus,.promotion-destination:hover,
  .button-dropzone.over,.button-layout-row.over) { background:var(--accent-soft); color:var(--text); border-color:var(--focus); }
html[data-theme] :is(input,textarea,select,option) {
  background:var(--panel); color:var(--text); border-color:var(--line); box-shadow:none; font-weight:500;
}
html[data-theme] select { appearance:auto; -webkit-appearance:auto; padding-right:12px; }
html[data-theme] ::placeholder { color:var(--muted); opacity:1; }
html[data-theme] :is(input,textarea,select):focus { border-color:var(--focus); box-shadow:none; }
html[data-theme] :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
html[data-theme] input[type="checkbox"] { accent-color:var(--button-green); background:transparent; }
html[data-theme] .theme-control { background:var(--panel); color:var(--text); border-color:var(--line); }
html[data-theme] .theme-control:hover { background:var(--panel2); filter:none; }
html[data-theme] .switch .slider { background:var(--track); border-color:var(--line); }
html[data-theme] .switch input:checked + .slider { background:var(--button-green); border-color:var(--button-green); }
html[data-theme] .switch input:focus-visible + .slider { outline:2px solid var(--focus); outline-offset:3px; }
html[data-theme] :is(.promotion-progress,.trial-meter) { background:var(--track); }
html[data-theme] :is(.promotion-progress > span,.trial-meter span) { background:var(--button-green); box-shadow:none; }
html[data-theme] .promotion-builder summary::after { color:var(--blue); }
html[data-theme] .promotion-builder-body { border-color:var(--line); }
html[data-theme] .toast { box-shadow:var(--shadow); font-weight:600; border:1px solid var(--line); backdrop-filter:none; }
html[data-theme] .toast.success { background:var(--success-soft); color:var(--green); }
html[data-theme] .toast.error { background:var(--danger-soft); color:var(--red); }
html[data-theme] .toast.info { background:var(--accent-soft); color:var(--blue); }
html[data-theme] .calc-control input[type="range"] { background:transparent; box-shadow:none; padding:0; }
html[data-theme] .calc-control input[type="range"]::-webkit-slider-runnable-track {
  background:linear-gradient(90deg,var(--blue) 0 var(--pct),var(--track) var(--pct) 100%); box-shadow:none;
}
html[data-theme] .calc-control input[type="range"]::-webkit-slider-thumb { background:var(--panel); border:4px solid var(--blue); box-shadow:none; }
html[data-theme] .calc-control input[type="range"]::-moz-range-track { background:var(--track); }
html[data-theme] .calc-control input[type="range"]::-moz-range-progress { background:var(--blue); }
html[data-theme] .calc-control input[type="range"]::-moz-range-thumb { background:var(--panel); border-color:var(--blue); box-shadow:none; }

/* Landing: quieter headings and a compact, readable demo. */
html[data-theme] .landing h1 { font-size:clamp(38px,5.2vw,64px); letter-spacing:-.035em; }
html[data-theme] .landing h2 { font-size:clamp(28px,3.6vw,42px); letter-spacing:-.025em; }
html[data-theme] .landing .hero-card { padding:18px; }
html[data-theme] .landing .phone { box-shadow:none; }
html[data-theme] .landing .eyebrow { display:inline-block; padding:0; }
html[data-theme] .landing .demo-note-card { border:1px solid var(--line); }
html[data-theme] .landing .demo-note-list div { background:var(--panel); }
html[data-theme] .landing .demo-source-card,
html[data-theme] .landing .demo-result-card { background:var(--panel); }
html[data-theme] .landing .final-card { background:var(--accent-soft); }

/* Mini App: compact workspace header; no promotional image is loaded. */
html[data-theme] .miniapp .app-header {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center;
  gap:8px 16px; padding:18px 4px 20px; border-bottom:1px solid var(--line);
}
html[data-theme] .miniapp .app-heading { display:flex; align-items:center; gap:12px; min-width:0; grid-column:1; grid-row:1; }
html[data-theme] .miniapp .app-mark { flex-shrink:0; padding:6px; box-sizing:content-box; border-radius:13px; background:var(--accent-soft); color:var(--blue); }
html[data-theme] .miniapp .app-heading h1 { margin:0; font-size:26px; line-height:1.2; letter-spacing:-.025em; }
html[data-theme] .miniapp .app-header .theme-control { grid-column:2; grid-row:1; margin:0; }
html[data-theme] .miniapp .app-summary { grid-column:1 / -1; margin:0 0 0 60px; font-size:14px; line-height:1.5; }
html[data-theme] .miniapp .card { padding:20px; }
html[data-theme] .miniapp .menu-toggle { background:var(--panel); color:var(--text); border:1px solid var(--line); box-shadow:var(--shadow); }
html[data-theme] .miniapp :is(.grid,.grid3,.plan-list) > * { min-width:0; }
html[data-theme] .miniapp .copy-value { overflow-wrap:anywhere; min-width:0; }
html[data-theme] .miniapp .status { overflow-wrap:anywhere; }
html[data-theme] .promotion-page main { align-items:center; }
html[data-theme] .promotion-page .media { border-color:var(--line); }
@media(max-width:760px) {
  .pricing-v2,.plan-list { grid-template-columns:1fr; }
  .trial-banner { padding:16px; }
  .nav-controls { gap:6px; }
}
@media(max-width:560px) {
  .nav { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  .nav .brand { min-width:0; }
  .nav-controls { width:100%; margin-left:0; justify-content:flex-end; }
  .nav-controls .theme-control { margin-right:auto; }
  .lang-menu { top:132px; }
  html[data-theme] .miniapp main { padding:12px 12px 24px; }
  html[data-theme] .miniapp .card { padding:16px; }
  html[data-theme] .miniapp .app-header { gap:10px; padding:8px 0 16px; }
  html[data-theme] .miniapp .app-heading { gap:9px; }
  html[data-theme] .miniapp .app-mark { width:26px; height:26px; padding:5px; border-radius:10px; }
  html[data-theme] .miniapp .app-heading h1 { font-size:clamp(20px,5.6vw,24px); }
  html[data-theme] .miniapp .app-summary { margin:0; }
  html[data-theme] .landing .demo-note-card { padding:18px; }
  html[data-theme] .landing .calc-control { padding:16px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
