/* Theme layer: only colours, via CSS variables. html[data-theme] overrides the defaults below. */
html[data-theme] .cab{--c-text:var(--t-text);--c-muted:var(--t-muted);--c-teal:var(--t-a1);--c-violet:var(--t-a2);--c-pink:var(--t-a3);--c-card:var(--t-card);--c-line:var(--t-line);--c-navy:var(--t-on);background:var(--t-bg)}
html[data-theme],html[data-theme] body,html[data-theme] #app{--bg:var(--t-page);--text:var(--t-text);--muted:var(--t-muted);background:var(--t-page)}
html[data-theme] .app-shell{background:var(--t-page)}
html[data-theme] .cab-aurora .b1,html[data-theme] .cab-aurora .b2,html[data-theme] .cab-aurora .b3{opacity:var(--t-glow)}
html[data-theme] .cab-note,html[data-theme] .mauto-l,html[data-theme] .mauto-f{color:var(--t-muted)}
html[data-theme] .cab-ava,html[data-theme] .cab-iconbtn,html[data-theme] .cab-ghost{color:var(--t-text);background:var(--t-chip);border-color:var(--t-line)}
html[data-theme] .cab-dot{background:var(--t-a1);box-shadow:0 0 8px var(--t-a1)}
html[data-theme] .cab-pill{background:var(--t-a1);color:var(--t-on)}
html[data-theme] .cab-days b{background:linear-gradient(90deg,var(--t-a1),var(--t-a2));-webkit-background-clip:text;background-clip:text}
html[data-theme] .cab-bar,html[data-theme] .cab-slots i,html[data-theme] .cab-meter-track{background:var(--t-track);box-shadow:none}
html[data-theme] .cab-bar i{background:linear-gradient(90deg,var(--t-a3),var(--t-a2))}
html[data-theme] .cab-slots i.on{background:linear-gradient(90deg,var(--t-a1),var(--t-a2))}
html[data-theme] .cab-meter-pct{color:var(--t-text)!important}
html[data-theme] .cab-btn{background:var(--t-btn);color:var(--t-on);box-shadow:none}
html[data-theme] .cab-cta{background:linear-gradient(180deg,transparent,var(--t-page) 45%)}
html[data-theme] .app-dock{background:var(--t-dock);border-color:var(--t-line)}
html[data-theme] .app-dock button{color:var(--t-muted)}
html[data-theme] .app-dock button.active{color:var(--t-text);border-color:var(--t-a2);background:var(--t-chip)}
html[data-theme] .mauto-t,html[data-theme] .mauto-d,html[data-theme] .mauto-f b,html[data-theme] .cab-uinfo b,html[data-theme] .cab-big{color:var(--t-text)}
html[data-theme] .mauto-sw{background:var(--t-track);border-color:var(--t-line)}
/* 2 Северное сияние — спокойная */
html[data-theme="aurora"]{--t-page:#07161a;--t-bg:linear-gradient(180deg,#071c22,#0b2a2c 45%,#123332 75%,#0a1f2a);--t-text:#e6fbf5;--t-muted:#9fc9c0;--t-a1:#5fe0b5;--t-a2:#7fb8ff;--t-a3:#b39cff;--t-card:rgba(255,255,255,.07);--t-line:rgba(180,255,230,.16);--t-chip:rgba(255,255,255,.08);--t-track:rgba(255,255,255,.12);--t-on:#062a22;--t-btn:linear-gradient(90deg,#5fe0b5,#7fb8ff);--t-dock:#0a1c20;--t-glow:.28}
/* 3 Лаванда — пастельная */
html[data-theme="lavender"]{--t-page:#1d1a2b;--t-bg:linear-gradient(180deg,#25213a,#2d2745 50%,#352c4d);--t-text:#f2eefc;--t-muted:#bdb4d8;--t-a1:#c7b8ff;--t-a2:#e3b8e6;--t-a3:#f3c9d8;--t-card:rgba(255,255,255,.07);--t-line:rgba(220,200,255,.18);--t-chip:rgba(255,255,255,.08);--t-track:rgba(255,255,255,.12);--t-on:#2a2142;--t-btn:linear-gradient(90deg,#c7b8ff,#e3b8e6);--t-dock:#211d31;--t-glow:.22}
/* 4 Мята — светлая */
html[data-theme="mint"]{--t-page:#e3f2ec;--t-bg:linear-gradient(180deg,#e8f6f0,#dcefe7 55%,#d2e9e1);--t-text:#123a33;--t-muted:#4f7068;--t-a1:#1f9d7a;--t-a2:#3f8fb0;--t-a3:#7cc9a8;--t-card:rgba(255,255,255,.66);--t-line:rgba(18,58,51,.14);--t-chip:rgba(18,58,51,.07);--t-track:rgba(18,58,51,.12);--t-on:#ffffff;--t-btn:linear-gradient(90deg,#1f9d7a,#3f8fb0);--t-dock:#f4fbf8;--t-glow:.18}
/* 5 Песок — тёплая светлая */
html[data-theme="sand"]{--t-page:#efe4d2;--t-bg:linear-gradient(180deg,#f3e9d8,#eadcc5 55%,#e2d1b6);--t-text:#3b2a17;--t-muted:#7a6448;--t-a1:#b5651d;--t-a2:#8a6d3b;--t-a3:#d9a066;--t-card:rgba(255,255,255,.55);--t-line:rgba(59,42,23,.15);--t-chip:rgba(59,42,23,.07);--t-track:rgba(59,42,23,.13);--t-on:#fffaf2;--t-btn:linear-gradient(90deg,#b5651d,#c98a4b);--t-dock:#f7efe2;--t-glow:.15}
/* 6 Графит — строгая контрастная */
html[data-theme="graphite"]{--t-page:#111214;--t-bg:linear-gradient(180deg,#1a1b1e,#141517);--t-text:#f5f5f5;--t-muted:#a8a8ad;--t-a1:#f0b44c;--t-a2:#d8d8dc;--t-a3:#f0b44c;--t-card:#202124;--t-line:#34353a;--t-chip:#2a2b2f;--t-track:#34353a;--t-on:#17130a;--t-btn:#f0b44c;--t-dock:#18191b;--t-glow:0}
/* 7 Неон — яркая */
html[data-theme="neon"]{--t-page:#05010d;--t-bg:linear-gradient(180deg,#0a0220,#12002e 50%,#06001a);--t-text:#ffffff;--t-muted:#c8b6ff;--t-a1:#00f0ff;--t-a2:#ff2bd6;--t-a3:#b6ff00;--t-card:rgba(20,0,50,.65);--t-line:rgba(0,240,255,.45);--t-chip:rgba(255,43,214,.16);--t-track:rgba(255,255,255,.14);--t-on:#12002e;--t-btn:linear-gradient(90deg,#00f0ff,#ff2bd6);--t-dock:#0a0220;--t-glow:.55}
/* 9 Океан — глубокая синяя */
html[data-theme="ocean"]{--t-page:#06142b;--t-bg:linear-gradient(180deg,#0a2148,#0c2d5c 50%,#0b3a66 80%,#082447);--t-text:#eaf4ff;--t-muted:#a6c3e6;--t-a1:#4fd1ff;--t-a2:#6c8cff;--t-a3:#7ef0d8;--t-card:rgba(255,255,255,.08);--t-line:rgba(150,200,255,.2);--t-chip:rgba(255,255,255,.09);--t-track:rgba(255,255,255,.14);--t-on:#04203a;--t-btn:linear-gradient(90deg,#4fd1ff,#6c8cff);--t-dock:#081b38;--t-glow:.3}
/* 10 Высокий контраст — чёрно-жёлтая */
html[data-theme="contrast"]{--t-page:#000000;--t-bg:#000000;--t-text:#ffffff;--t-muted:#e6e6e6;--t-a1:#ffe600;--t-a2:#ffe600;--t-a3:#ffe600;--t-card:#000000;--t-line:#ffffff;--t-chip:#1a1a1a;--t-track:#3a3a3a;--t-on:#000000;--t-btn:#ffe600;--t-dock:#000000;--t-glow:0}
html[data-theme] .cab-note b,html[data-theme] .cab-gbleft b,html[data-theme] .cab-sub b,html[data-theme] .cab-meta b{color:var(--t-text)}

html[data-theme] .cab-keyrow code{background:var(--t-chip);color:var(--t-text);border-color:var(--t-line)}
html[data-theme] .cab-copy{color:#14161c}
html[data-theme] .cab-refstats b{background:linear-gradient(90deg,var(--t-a1),var(--t-a2));-webkit-background-clip:text;background-clip:text}
html[data-theme] .cab-refstats div{background:var(--t-chip)}
html[data-theme="mint"] .cab-off,html[data-theme="sand"] .cab-off,html[data-theme="mint"] .cab-ghost.danger,html[data-theme="sand"] .cab-ghost.danger{color:#a52a20;background:rgba(165,42,32,.08);border-color:rgba(165,42,32,.4)}
html[data-theme="mint"] .cab-reflabel *,html[data-theme="sand"] .cab-reflabel *{color:var(--t-muted)}
html[data-theme] #mboot{background:var(--t-page);color:var(--t-text)}
/* theme button + picker */
.mth-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin:12px auto 4px;padding:8px 16px;border-radius:999px;font:inherit;font-size:13.5px;font-weight:700;color:var(--c-muted,#b9bee8);background:transparent;border:1px solid var(--c-line,rgba(255,255,255,.16));cursor:pointer}
.mth-ov{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;animation:mthf .18s ease}
.mth-sh{width:100%;max-width:520px;box-sizing:border-box;padding:16px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--t-page,#13173a);color:var(--t-text,#f3f4ff);box-shadow:0 -10px 30px rgba(0,0,0,.4);animation:mthu .22s ease}
html:not([data-theme]) .mth-sh{background:#161a3d;color:#f3f4ff}
.mth-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.mth-hd b{font-size:17px}
.mth-x{width:36px;height:36px;border-radius:12px;border:0;font-size:18px;background:rgba(127,127,127,.18);color:inherit;cursor:pointer}
.mth-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 8px}
.mth-o{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;color:inherit;font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;padding:0;line-height:1.2;text-align:center}
.mth-c{width:58px;height:58px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(127,127,127,.35);position:relative}
.mth-o.on .mth-c{box-shadow:0 0 0 3px var(--t-page,#161a3d),0 0 0 5px currentColor}
.mth-o.on .mth-c:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:22px;font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
@keyframes mthf{from{opacity:0}}@keyframes mthu{from{transform:translateY(40px);opacity:.5}}
