/* ===== Академия Ростикс · темы =====
   Полночь (по умолчанию) · Пространство · Амбрелла · Звёздная академия
   Тема хранится в localStorage('ra_theme') и ставится на <html data-theme> до отрисовки (theme.js). */
:root{
 --t-ink:230,236,245;--t-accr:138,212,234;--t-pnr:13,21,38;--t-bgr:11,18,32;
 --onacc:#0B1220;--t-tx2:#C3CEE0;--t-tx3:#9AA8C0;--t-dim2:#5D6B85;--t-hi:#fff;
 --t-bg0:#060a13;--t-bg1:#16223a;--t-pn1:#0f1830;--t-pn2:#18243f;--t-pn3:#22314f;
 --t-amber:#F2A65A;--t-amberr:242,166,90;--t-red:#FF6B7A;--t-redr:255,107,122;--t-red2:#FF8A8A;--t-red2r:255,138,138;
 --t-green:#6EE7A8;--t-greenr:110,231,168;--t-gold:#F2C14E;--t-goldr:242,193,78;--t-orange:#FF7A2F;--t-oranger:255,122,47;--t-violet:#B49CFF;--t-blue:#7FA8FF;
 --fd:'Exo 2',sans-serif;--fb:'Exo 2',sans-serif;
 --d-9ee6a0:#9EE6A0;--d-ff6b7a:#FF6B7A;--d-f2c14e:#F2C14E;--d-b49cff:#B49CFF;--d-8ad4ea:#8AD4EA;--d-7fa8ff:#7FA8FF;--d-ffd27a:#FFD27A;--d-ff7a2f:#FF7A2F;--d-f28fb8:#F28FB8;--d-e8b07a:#E8B07A;--d-7fd8a8:#7FD8A8;--d-4fd8c4:#4FD8C4;--fm:'IBM Plex Mono',monospace;--t-rk:1;
}
html:not([data-theme=midnight]){font-synthesis:none}

/* =====================================================================
   ПРОСТРАНСТВО — red HUD, Expanse-like («Низкая гравитация, без давления»)
   ===================================================================== */
html[data-theme=space],html[data-theme=space] .stage,html[data-theme=space] body{
 --bg:#0d0809;--tx:#F3E6E1;--dim:#A88F8A;--acc:#FF5F4F;--onacc:#1a0605;--line:rgba(243,230,225,.16);
 --t-ink:243,230,225;--t-accr:255,95,79;--t-pnr:31,13,15;--t-bgr:13,8,9;
 --t-tx2:#DCC7C1;--t-tx3:#BFA49E;--t-dim2:#9C807A;--t-hi:#fff;
 --t-bg0:#060404;--t-bg1:#2b0f12;--t-pn1:#1c0b0d;--t-pn2:#2a1214;--t-pn3:#4a2226;
 --t-amber:#F2A65A;--t-amberr:242,166,90;--t-red:#FF6B6B;--t-redr:255,107,107;--t-red2:#FF9A8A;--t-red2r:255,154,138;
 --t-green:#7FE0B0;--t-greenr:127,224,176;--t-gold:#E8D27A;--t-goldr:232,210,122;--t-orange:#FF8A3D;--t-oranger:255,138,61;--t-violet:#C9A8FF;--t-blue:#8FB4FF;
 --fd:'Oswald',sans-serif;--fb:'Roboto Condensed',sans-serif;--fm:'JetBrains Mono',monospace;--t-rk:.28;
 --f1:'Oswald',sans-serif;--f2:'Roboto Condensed',sans-serif;--f3:'JetBrains Mono',monospace;--w1:600;--ls1:.005em;
 --p1:#4a2427;--p2:#22100f;--pc:#3a1c1f;--g:#F3E6E1;--m1:#E8D27A;--m2:#7d6a2e;--glow:rgba(255,95,79,.45);--bo:#FF5F4F;--bv:rgba(243,230,225,.4)
}
/* deep background: red horizon + HUD grid + scanlines */
html[data-theme=space] body{background:transparent!important}
html[data-theme=space]{background:
 radial-gradient(1200px 520px at 50% -8%,rgba(255,80,60,.20),transparent 60%),
 radial-gradient(900px 600px at 100% 100%,rgba(140,20,30,.22),transparent 65%),
 linear-gradient(180deg,#140a0b 0,#0d0809 900px,#060404 100%);background-color:#060404;min-height:100%}
html[data-theme=space] body:before{content:"";position:fixed;inset:0;pointer-events:none;
 background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px),
 linear-gradient(rgba(255,95,79,.05) 1px,transparent 1px) 0 0/100% 64px,linear-gradient(90deg,rgba(255,95,79,.05) 1px,transparent 1px) 0 0/64px 100%;
 -webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%);z-index:-1}
html[data-theme=space] .stage{background:radial-gradient(900px 700px at 50% 45%,#2b0f12 0%,#0d0809 62%,#060404 100%)!important}
/* nav: HUD bar */
html[data-theme=space] .top{font-family:var(--fm);letter-spacing:.16em}
html[data-theme=space] body>.top{background:linear-gradient(180deg,rgba(60,14,16,.92),rgba(24,9,10,.88));border-bottom:1px solid rgba(255,95,79,.35);box-shadow:0 1px 0 rgba(255,95,79,.08),0 10px 30px rgba(0,0,0,.4)}
html[data-theme=space] .top nav a.on:after{height:3px;bottom:-12px;box-shadow:0 0 14px var(--acc)}
html[data-theme=space] .top .home{border:1px solid rgba(255,95,79,.5);color:var(--acc)}
/* type */
html[data-theme=space] h1,html[data-theme=space] h2,html[data-theme=space] .first{text-transform:uppercase;letter-spacing:.01em}
/* buttons: chamfered HUD */
html[data-theme=space] .btn{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);font-family:var(--fm)}
html[data-theme=space] .b2{box-shadow:none;background:linear-gradient(180deg,#FF6F5F,#E8483A)}
html[data-theme=space] .b1{border-color:rgba(255,95,79,.55)}

/* =====================================================================
   АМБРЕЛЛА — clinical white lab, red accent, corporate-lab type
   ===================================================================== */
html[data-theme=umbrella],html[data-theme=umbrella] .stage,html[data-theme=umbrella] body{
 --bg:#F2F2F0;--tx:#141414;--dim:#5E5E5A;--acc:#B5001A;--onacc:#fff;--line:rgba(20,20,20,.16);
 --t-ink:20,20,20;--t-accr:181,0,26;--t-pnr:255,255,255;--t-bgr:242,242,240;
 --t-tx2:#2C2C2A;--t-tx3:#454542;--t-dim2:#6A6A65;--t-hi:#000;
 --t-bg0:#E4E4E1;--t-bg1:#FFFFFF;--t-pn1:#FFFFFF;--t-pn2:#F6F6F4;--t-pn3:#E3E3E0;
 --t-amber:#A8530A;--t-amberr:168,83,10;--t-red:#C8102E;--t-redr:200,16,46;--t-red2:#B3261E;--t-red2r:179,38,30;
 --t-green:#0B7A47;--t-greenr:11,122,71;--t-gold:#8A6200;--t-goldr:138,98,0;--t-orange:#B9400C;--t-oranger:185,64,12;--t-violet:#5B3FC4;--t-blue:#1F55C0;
 --fd:'Inter Tight','Inter',sans-serif;--fb:'Inter',sans-serif;--fm:'IBM Plex Mono',monospace;--t-rk:.14;--t-sh:.32;
 --f1:'Inter Tight','Inter',sans-serif;--f2:'Inter',sans-serif;--f3:'IBM Plex Mono',monospace;--w1:800;--ls1:-.03em;
 --ok:#0B7A47;--no:#C8102E;--am:#A8530A;--ga:#B9400C;--p1:#ffffff;--p2:#e2e2df;--pc:#f1f1ef;--g:#141414;--m1:#ffffff;--m2:#9a9a96;--glow:rgba(200,0,26,.25);--bo:#C8001A;--bv:#141414
}
html[data-theme=umbrella]{background:#F0F0EE;color-scheme:light}
html[data-theme=umbrella] body{background:linear-gradient(180deg,#F7F7F5 0,#F2F2F0 600px,#F0F0EE 100%)}
html[data-theme=umbrella] .stage{background:radial-gradient(1000px 800px at 50% 40%,#FFFFFF 0%,#F2F2F0 60%,#E7E7E4 100%)!important}
html[data-theme=umbrella] body>.top{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(20,20,20,.12);box-shadow:none}
html[data-theme=umbrella] .top .home{background:var(--acc);color:#fff;border-radius:0}
html[data-theme=umbrella] .top nav a.on:after{box-shadow:none;height:3px}
html[data-theme=umbrella] .ib.on:after{box-shadow:none}
html[data-theme=umbrella] .b2{box-shadow:none}
html[data-theme=umbrella] .b2:hover{box-shadow:0 6px 18px rgba(200,0,26,.25)}
html[data-theme=umbrella] .b1{border-color:rgba(20,20,20,.4)}
html[data-theme=umbrella] h1,html[data-theme=umbrella] .first{font-family:'Unbounded',sans-serif!important;font-style:normal!important;letter-spacing:-.02em}
html[data-theme=umbrella] .fig img{filter:drop-shadow(0 26px 34px rgba(0,0,0,.22))!important}

/* =====================================================================
   ЗВЁЗДНАЯ АКАДЕМИЯ — LCARS console: black, amber, lavender, pill shapes
   ===================================================================== */
html[data-theme=lcars],html[data-theme=lcars] .stage,html[data-theme=lcars] body{
 --bg:#000;--tx:#F5E7D3;--dim:#A99984;--acc:#F0A25A;--onacc:#000;--line:rgba(245,231,211,.18);
 --t-ink:245,231,211;--t-accr:240,162,90;--t-pnr:16,13,10;--t-bgr:0,0,0;
 --t-tx2:#E6D5BE;--t-tx3:#C7B49B;--t-dim2:#8A7B68;--t-hi:#FFF6E8;
 --t-bg0:#000;--t-bg1:#120c06;--t-pn1:#0f0c09;--t-pn2:#1a1510;--t-pn3:#3a2e22;
 --t-amber:#FFB066;--t-amberr:255,176,102;--t-red:#FF6F61;--t-redr:255,111,97;--t-red2:#FF8C7A;--t-red2r:255,140,122;
 --t-green:#8BE3A6;--t-greenr:139,227,166;--t-gold:#FFCC66;--t-goldr:255,204,102;--t-orange:#FF9C40;--t-oranger:255,156,64;--t-violet:#A9A3F0;--t-blue:#9CB8FF;
 --fd:'Fira Sans Extra Condensed',sans-serif;--fb:'Fira Sans Condensed',sans-serif;--fm:'Fira Sans Extra Condensed',sans-serif;--t-rk:1.35;
 --f1:'Fira Sans Extra Condensed',sans-serif;--f2:'Fira Sans Condensed',sans-serif;--f3:'Fira Sans Extra Condensed',sans-serif;--w1:600;--ls1:.01em;
 --p1:#3a2e22;--p2:#120d08;--pc:#241c14;--g:#F0A25A;--m1:#FFCC66;--m2:#6b4a22;--glow:rgba(240,162,90,.35);--bo:#F0A25A;--bv:#A9A3F0;--lc1:#F0A25A;--lc2:#A9A3F0;--lc3:#D98C7A;--lc4:#F2C46B
}
html[data-theme=lcars]{background:#000}
html[data-theme=lcars] body{background:#000}
html[data-theme=lcars] .stage{background:#000!important}
html[data-theme=lcars] .top{font-family:var(--fm);font-size:14px;letter-spacing:.08em}
/* umbrella: text that sits on dark game/course art keeps the «Полночь» palette (dark islands) */
html[data-theme=umbrella] :is(.rail .card,.gp,.isl){--bg:#0B1220;--tx:#E6ECF5;--dim:#9AA8C0;--acc:#FF5A6A;--onacc:#0B1220;--line:rgba(230,236,245,.16);--t-ink:230,236,245;--t-accr:255,90,106;--t-pnr:13,21,38;--t-bgr:11,18,32;--t-tx2:#C3CEE0;--t-tx3:#9AA8C0;--t-dim2:#5D6B85;--t-hi:#fff;--t-bg0:#060a13;--t-bg1:#16223a;--t-pn1:#0f1830;--t-pn2:#18243f;--t-pn3:#22314f;--t-amber:#F2A65A;--t-amberr:242,166,90;--t-red:#FF6B7A;--t-redr:255,107,122;--t-red2:#FF8A8A;--t-red2r:255,138,138;--t-green:#6EE7A8;--t-greenr:110,231,168;--t-gold:#F2C14E;--t-goldr:242,193,78;--t-orange:#FF7A2F;--t-oranger:255,122,47;--t-violet:#B49CFF;--t-blue:#7FA8FF;--d-9ee6a0:#9EE6A0;--d-ff6b7a:#FF6B7A;--d-f2c14e:#F2C14E;--d-b49cff:#B49CFF;--d-8ad4ea:#8AD4EA;--d-7fa8ff:#7FA8FF;--d-ffd27a:#FFD27A;--d-ff7a2f:#FF7A2F;--d-f28fb8:#F28FB8;--d-e8b07a:#E8B07A;--d-7fd8a8:#7FD8A8;--d-4fd8c4:#4FD8C4;--t-sh:1;color:var(--tx)}
/* umbrella: art panels are crisp framed «specimen plates» instead of smoky fades */
html[data-theme=umbrella] .rail .card .art{-webkit-mask-image:none!important;mask-image:none!important;outline:1px solid rgba(20,20,20,.18);box-shadow:0 18px 40px rgba(0,0,0,.12)}
html[data-theme=umbrella] .rail .card:not(.sel){filter:saturate(.2) brightness(1.05) contrast(.85) opacity(.75)}
html[data-theme=umbrella] .lr .hx.g3{color:#fff}

html[data-theme=space]{--a:#FF8F6B}
html[data-theme=umbrella]{--a:#1F55C0}
html[data-theme=lcars]{--a:#A7A3FF}

/* data accents (course / activity colours) — darker inks on white */
html[data-theme=umbrella]{--d-9ee6a0:#1E7A33;--d-ff6b7a:#C8102E;--d-f2c14e:#8A6200;--d-b49cff:#5B3FC4;--d-8ad4ea:#0B6E8A;--d-7fa8ff:#1F55C0;--d-ffd27a:#8A5A00;--d-ff7a2f:#B9400C;--d-f28fb8:#B0306A;--d-e8b07a:#8F4F10;--d-7fd8a8:#0B7A47;--d-4fd8c4:#0A7468}
/* umbrella · restaurant: side figures sit behind a lab-white haze so the comparison stays readable */
html[data-theme=umbrella] .hero .vig{background:linear-gradient(90deg,rgba(242,242,240,.96) 0,rgba(242,242,240,.88) 420px,rgba(242,242,240,0) 640px)}
html[data-theme=umbrella] .fig.side img{filter:drop-shadow(0 20px 30px rgba(0,0,0,.15)) saturate(.75) brightness(1.04)}
html[data-theme=umbrella] .gp{--a:#FF7A2F}
/* umbrella: lab-white halo behind small text that overlaps photo cutouts */
html[data-theme=umbrella] :is(.rank,.st,.exp,.cmp,.tagn,.cls) :is(span,em,small,b,.u,.k,.v,.n){text-shadow:0 0 6px rgba(242,242,240,.95),0 0 2px rgba(242,242,240,.95)}
html[data-theme=umbrella] .tagn{background:rgba(255,255,255,.9)}
html[data-theme=umbrella] :is(.bdg .pick,.more){background:rgba(255,255,255,.92)!important}
html[data-theme=umbrella] .exp .u{background:rgba(255,255,255,.92);padding:3px 8px;text-shadow:none}

/* ---------- Пространство · structure ---------- */
html[data-theme=space] .top{background:linear-gradient(90deg,rgba(110,26,32,.88),rgba(58,16,20,.86) 60%,rgba(110,26,32,.7));border:1px solid rgba(255,95,79,.32);border-radius:12px;margin:10px 16px 0;height:52px!important;backdrop-filter:blur(12px);color:#D9BDB6}
html[data-theme=space] body>.top{top:10px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
html[data-theme=space] .top nav a.on:after{bottom:-15px}
html[data-theme=space] .top .home{border-radius:8px}
html[data-theme=space] .bnav{background:rgba(40,12,15,.96)!important;border-top:1px solid rgba(255,95,79,.35)!important}
/* stage portal: tall translucent red plate instead of the round orb (Expanse «Low gravity» poster) */
html[data-theme=space] .stage .orb{border-radius:22px;width:560px;left:calc(var(--cx) - 280px);top:104px;height:780px;background:linear-gradient(180deg,rgba(160,44,50,.55),rgba(90,22,28,.42) 70%,rgba(60,14,18,.2));border:1px solid rgba(255,95,79,.3);box-shadow:0 0 120px rgba(255,60,50,.12),inset 0 1px 0 rgba(255,160,150,.25)}
html[data-theme=space] .stage .orb2{border-radius:22px;width:520px;left:calc(var(--cx) - 260px);top:70px;height:760px;border:1px solid rgba(243,230,225,.08);background:rgba(255,95,79,.035)}
html[data-theme=space] .stage.m .orb{left:calc(var(--cx) - 170px);width:340px;top:190px;height:470px}
html[data-theme=space] .stage .dot{border-radius:0;transform:rotate(45deg)}
html[data-theme=space] .first{font-weight:600!important;letter-spacing:.005em!important}
html[data-theme=space] .exp .n,html[data-theme=space] .st .v{color:var(--t-gold);font-weight:500!important}
html[data-theme=space] .chip,html[data-theme=space] .tag,html[data-theme=space] .crumb{font-family:var(--fm)}

/* ---------- Звёздная академия · structure ---------- */
html[data-theme=lcars] body,html[data-theme=lcars] .stage{color:var(--tx)}
html[data-theme=lcars] .top{height:56px;color:#000;font:500 14px/1 var(--fm)!important;letter-spacing:.1em!important;gap:6px!important}
html[data-theme=lcars] body>.top{background:#000;border-bottom:0}
html[data-theme=lcars] .top .home{width:96px!important;height:34px;border-radius:17px 0 0 17px;background:var(--lc1);color:#000!important;margin-right:6px!important;place-items:center start!important;padding-left:18px}
html[data-theme=lcars] .top nav{gap:6px!important}
html[data-theme=lcars] .top nav a{height:34px;padding:0 14px;background:var(--lc2);color:#000!important;align-items:center}
html[data-theme=lcars] .top nav a:nth-child(3n+2){background:var(--lc4)}
html[data-theme=lcars] .top nav a:nth-child(3n){background:var(--lc3)}
html[data-theme=lcars] .top nav a:hover{filter:brightness(1.12)}
html[data-theme=lcars] .top nav a.on{background:var(--t-hi)!important;color:#000!important}
html[data-theme=lcars] .top nav a.on:after,html[data-theme=lcars] .ib.on:after{display:none}
html[data-theme=lcars] .top nav .ic{opacity:.85}
html[data-theme=lcars] .rt{gap:6px!important}
html[data-theme=lcars] .rt>.ib,html[data-theme=lcars] .rt>.pts{height:34px;padding:0 12px;background:var(--lc2);color:#000!important;display:flex;align-items:center;border-radius:0}
html[data-theme=lcars] .rt>.pts{background:var(--lc1);border-radius:0 17px 17px 0;margin-right:6px}
html[data-theme=lcars] .rt>.ib.on{background:var(--t-hi)}
html[data-theme=lcars] .rt>.thm{border-radius:17px 0 0 17px;padding-left:14px;background:var(--lc3)}
html[data-theme=lcars] .ib b{position:static!important;background:#000!important;color:var(--tx)!important;margin-left:6px}
html[data-theme=lcars] .bnav{background:#000!important;border-top:0!important;gap:4px;padding:6px 8px!important}
html[data-theme=lcars] .bnav a{flex:1;height:52px;justify-content:center;background:var(--lc2);color:#000!important}
html[data-theme=lcars] .bnav a .ic{color:#000!important}
html[data-theme=lcars] .bnav a:first-child{border-radius:20px 0 0 20px}html[data-theme=lcars] .bnav a:last-child{border-radius:0 20px 20px 0}
html[data-theme=lcars] .bnav a:nth-child(3n+2){background:var(--lc4)}html[data-theme=lcars] .bnav a:nth-child(3n){background:var(--lc3)}
html[data-theme=lcars] .bnav a.on{background:var(--t-hi)!important}
/* buttons: flat LCARS pills */
html[data-theme=lcars] .btn{border-radius:999px!important;font-family:var(--fm)!important;font-size:15px!important;letter-spacing:.08em!important;box-shadow:none!important}
html[data-theme=lcars] .b2{background:var(--lc1)!important;color:#000!important}
html[data-theme=lcars] .b1{background:var(--lc2)!important;color:#000!important;border-color:transparent!important}
html[data-theme=lcars] .b1 .ic,html[data-theme=lcars] .b2 .ic{color:#000}
/* panel colour cycle */
html[data-theme=lcars] *:nth-child(3n+1){--lc:var(--lc1)}html[data-theme=lcars] *:nth-child(3n+2){--lc:var(--lc2)}html[data-theme=lcars] *:nth-child(3n){--lc:var(--lc3)}
/* stage portal: concentric console rings + left elbow frame */
html[data-theme=lcars] .stage .orb{background:none;border:1px solid rgba(169,163,240,.28);box-shadow:none}
html[data-theme=lcars] .stage .orb2{border:1px dashed rgba(240,162,90,.2)}
html[data-theme=lcars] .stage .dot{background:var(--lc3);box-shadow:none}
html[data-theme=lcars] .first{font-weight:500!important;letter-spacing:.01em!important}
html[data-theme=lcars] .last{color:var(--lc2)!important}
html[data-theme=lcars] .exp .n{color:var(--acc)}
html[data-theme=lcars] .st .k,html[data-theme=lcars] .exp .u{color:var(--lc2)!important}
html[data-theme=lcars] h1,html[data-theme=lcars] h2{letter-spacing:.01em}

/* ==== generated: panel shapes per theme (gen.py) ==== */
/* Пространство: chamfered HUD plates with a coral top rail */
html[data-theme=space][data-page=dashboard] .c:not(.hero),
html[data-theme=space][data-page=lesson] .fact,
html[data-theme=space][data-page=lesson] .s5,
html[data-theme=space][data-page=lesson] .dlg,
html[data-theme=space][data-page=lesson] .warn,
html[data-theme=space][data-page=lesson] .qc,
html[data-theme=space][data-page=test] .q,
html[data-theme=space][data-page=test] .mi,
html[data-theme=space][data-page=events] .today-c,
html[data-theme=space][data-page=event] .box,
html[data-theme=space][data-page=event] .mine,
html[data-theme=space][data-page=tasks] .t,
html[data-theme=space][data-page=tasks] .card,
html[data-theme=space][data-page=shop] .bal,
html[data-theme=space][data-page=shop] .feat,
html[data-theme=space][data-page=shop] a.it,
html[data-theme=space][data-page=prize] .big,
html[data-theme=space][data-page=prize] .gap,
html[data-theme=space][data-page=activities] .stats,
html[data-theme=space][data-page=activities] .feat,
html[data-theme=space][data-page=activities] a.card,
html[data-theme=space][data-page=activity] .box,
html[data-theme=space][data-page=activity] .goal,
html[data-theme=space][data-page=restaurant] .box,
html[data-theme=space][data-page=friends] .fr,
html[data-theme=space][data-page=friends] .card,
html[data-theme=space][data-page=battles] section.hero,
html[data-theme=space][data-page=battles] .kpis,
html[data-theme=space][data-page=battles] .bc,
html[data-theme=space][data-page=battles] .ir,
html[data-theme=space][data-page=battles] .card,
html[data-theme=space][data-page=battle] .vh,
html[data-theme=space][data-page=battle] .box,
html[data-theme=space][data-page=battle] .stg,
html[data-theme=space][data-page=battle] .kc,
html[data-theme=space][data-page=battle] .tc,
html[data-theme=space][data-page=battle] .now,
html[data-theme=space][data-page=battle] .qo,
html[data-theme=space][data-page=course] .nx{border-color:rgba(255,95,79,.26)!important;border-radius:2px!important;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));box-shadow:inset 0 2px 0 rgba(255,95,79,.55),inset 0 0 0 1px rgba(255,95,79,.06)}
/* Звёздная академия: LCARS side-bar panels */
html[data-theme=lcars][data-page=dashboard] .c,
html[data-theme=lcars][data-page=lesson] .fact,
html[data-theme=lcars][data-page=lesson] .s5,
html[data-theme=lcars][data-page=lesson] .dlg,
html[data-theme=lcars][data-page=lesson] .warn,
html[data-theme=lcars][data-page=lesson] .qc,
html[data-theme=lcars][data-page=test] .q,
html[data-theme=lcars][data-page=test] .mi,
html[data-theme=lcars][data-page=events] .today-c,
html[data-theme=lcars][data-page=event] .box,
html[data-theme=lcars][data-page=event] .mine,
html[data-theme=lcars][data-page=tasks] .t,
html[data-theme=lcars][data-page=tasks] .card,
html[data-theme=lcars][data-page=shop] .bal,
html[data-theme=lcars][data-page=shop] .feat,
html[data-theme=lcars][data-page=shop] a.it,
html[data-theme=lcars][data-page=prize] .big,
html[data-theme=lcars][data-page=prize] .gap,
html[data-theme=lcars][data-page=activities] .stats,
html[data-theme=lcars][data-page=activities] .feat,
html[data-theme=lcars][data-page=activities] a.card,
html[data-theme=lcars][data-page=activity] .box,
html[data-theme=lcars][data-page=activity] .goal,
html[data-theme=lcars][data-page=restaurant] .box,
html[data-theme=lcars][data-page=friends] .fr,
html[data-theme=lcars][data-page=friends] .card,
html[data-theme=lcars][data-page=battles] section.hero,
html[data-theme=lcars][data-page=battles] .kpis,
html[data-theme=lcars][data-page=battles] .bc,
html[data-theme=lcars][data-page=battles] .ir,
html[data-theme=lcars][data-page=battles] .card,
html[data-theme=lcars][data-page=battle] .vh,
html[data-theme=lcars][data-page=battle] .box,
html[data-theme=lcars][data-page=battle] .stg,
html[data-theme=lcars][data-page=battle] .kc,
html[data-theme=lcars][data-page=battle] .tc,
html[data-theme=lcars][data-page=battle] .now,
html[data-theme=lcars][data-page=battle] .qo,
html[data-theme=lcars][data-page=course] .nx{border-width:0 0 0 10px!important;border-style:solid!important;border-color:var(--lc,var(--acc))!important;border-radius:26px 0 0 26px!important;box-shadow:none!important}
/* Амбрелла: flat lab sheets */
html[data-theme=umbrella][data-page=dashboard] .c,
html[data-theme=umbrella][data-page=lesson] .fact,
html[data-theme=umbrella][data-page=lesson] .s5,
html[data-theme=umbrella][data-page=lesson] .dlg,
html[data-theme=umbrella][data-page=lesson] .warn,
html[data-theme=umbrella][data-page=lesson] .qc,
html[data-theme=umbrella][data-page=test] .q,
html[data-theme=umbrella][data-page=test] .mi,
html[data-theme=umbrella][data-page=events] .today-c,
html[data-theme=umbrella][data-page=event] .box,
html[data-theme=umbrella][data-page=event] .mine,
html[data-theme=umbrella][data-page=tasks] .t,
html[data-theme=umbrella][data-page=tasks] .card,
html[data-theme=umbrella][data-page=shop] .bal,
html[data-theme=umbrella][data-page=shop] .feat,
html[data-theme=umbrella][data-page=shop] a.it,
html[data-theme=umbrella][data-page=prize] .big,
html[data-theme=umbrella][data-page=prize] .gap,
html[data-theme=umbrella][data-page=activities] .stats,
html[data-theme=umbrella][data-page=activities] .feat,
html[data-theme=umbrella][data-page=activities] a.card,
html[data-theme=umbrella][data-page=activity] .box,
html[data-theme=umbrella][data-page=activity] .goal,
html[data-theme=umbrella][data-page=restaurant] .box,
html[data-theme=umbrella][data-page=friends] .fr,
html[data-theme=umbrella][data-page=friends] .card,
html[data-theme=umbrella][data-page=battles] section.hero,
html[data-theme=umbrella][data-page=battles] .kpis,
html[data-theme=umbrella][data-page=battles] .bc,
html[data-theme=umbrella][data-page=battles] .ir,
html[data-theme=umbrella][data-page=battles] .card,
html[data-theme=umbrella][data-page=battle] .vh,
html[data-theme=umbrella][data-page=battle] .box,
html[data-theme=umbrella][data-page=battle] .stg,
html[data-theme=umbrella][data-page=battle] .kc,
html[data-theme=umbrella][data-page=battle] .tc,
html[data-theme=umbrella][data-page=battle] .now,
html[data-theme=umbrella][data-page=battle] .qo,
html[data-theme=umbrella][data-page=course] .nx{border-color:rgba(20,20,20,.13)!important;box-shadow:0 1px 0 rgba(20,20,20,.04)}
/* ==== /generated ==== */
html[data-theme=lcars] :is(.b1,.b2) :is(small,span,i,em){color:rgba(0,0,0,.72)!important}
@media (max-width:640px){
 html[data-theme=lcars] .rt>.pts{display:none!important}
 html[data-theme=lcars] .rt{gap:4px!important}
 html[data-theme=lcars] .rt>.ib{height:30px;padding:0 8px}
 html[data-theme=lcars] .rt>.ib:nth-last-child(3){border-radius:0 15px 15px 0;margin-right:4px}
 html[data-theme=lcars] .top .home{width:64px!important;height:30px;padding-left:14px}
 html[data-theme=lcars] .rt>.thm{border-radius:15px 0 0 15px}
 html[data-theme=space] .top{margin:8px 10px 0;height:48px!important}
}
html[data-theme=umbrella][data-page=dashboard] h1{font-family:var(--fd)!important;letter-spacing:-.02em}
/* umbrella mobile: Unbounded is too wide for long Russian titles on phones */
@media (max-width:640px){html[data-theme=umbrella] h1{font-family:'Inter Tight','Inter',sans-serif!important;font-weight:800!important;letter-spacing:-.025em}}
html[data-theme=umbrella] .bd.tL .lgrim{mix-blend-mode:normal;opacity:.7}
/* ==== ROSTICS ==== */
/* «Ростикс»: брендовая тема — тёплый кремовый фон, фирменный красный #E4002B, полосы «баскета», золото. Шрифт: Rubik (свободная замена фирменному гротеску). */
html[data-theme=rostics],html[data-theme=rostics] .stage,html[data-theme=rostics] body{
 --bg:#FFF5EA;--tx:#141414;--dim:#5E5E5A;--acc:#E4002B;--onacc:#fff;--line:rgba(60,28,18,.16);
 --t-ink:60,28,18;--t-accr:181,0,26;--t-pnr:255,255,255;--t-bgr:255,245,234;
 --t-tx2:#2C2C2A;--t-tx3:#454542;--t-dim2:#6A6A65;--t-hi:#000;
 --t-bg0:#E4E4E1;--t-bg1:#FFFFFF;--t-pn1:#FFFFFF;--t-pn2:#F6F6F4;--t-pn3:#E3E3E0;
 --t-amber:#A8530A;--t-amberr:168,83,10;--t-red:#C8102E;--t-redr:200,16,46;--t-red2:#B3261E;--t-red2r:179,38,30;
 --t-green:#0B7A47;--t-greenr:11,122,71;--t-gold:#8A6200;--t-goldr:138,98,0;--t-orange:#B9400C;--t-oranger:185,64,12;--t-violet:#5B3FC4;--t-blue:#1F55C0;
 --fd:'Inter Tight','Inter',sans-serif;--fb:'Inter',sans-serif;--fm:'IBM Plex Mono',monospace;--t-rk:.14;--t-sh:.32;
 --f1:'Inter Tight','Inter',sans-serif;--f2:'Inter',sans-serif;--f3:'IBM Plex Mono',monospace;--w1:800;--ls1:-.03em;
 --ok:#0B7A47;--no:#C8102E;--am:#A8530A;--ga:#B9400C;--p1:#ffffff;--p2:#e2e2df;--pc:#f1f1ef;--g:#141414;--m1:#ffffff;--m2:#9a9a96;--glow:rgba(228,0,43,.25);--bo:#C8001A;--bv:#141414
}
html[data-theme=rostics]{background:#FFF3E4;color-scheme:light}
html[data-theme=rostics] body{background:linear-gradient(180deg,#FFF8F0 0,#FFF5EA 600px,#FFF3E4 100%)}
html[data-theme=rostics] .stage{background:radial-gradient(1000px 800px at 50% 40%,#FFFFFF 0%,#FFF5EA 60%,#F8E6D2 100%)!important}
html[data-theme=rostics] body>.top{background:rgba(255,250,244,.92);border-bottom:1px solid rgba(60,28,18,.12);box-shadow:none}
html[data-theme=rostics] .top .home{background:var(--acc);color:#fff;border-radius:0}
html[data-theme=rostics] .top nav a.on:after{box-shadow:none;height:3px}
html[data-theme=rostics] .ib.on:after{box-shadow:none}
html[data-theme=rostics] .b2{box-shadow:none}
html[data-theme=rostics] .b2:hover{box-shadow:0 6px 18px rgba(228,0,43,.25)}
html[data-theme=rostics] .b1{border-color:rgba(60,28,18,.4)}
html[data-theme=rostics] .fig img{filter:drop-shadow(0 26px 34px rgba(0,0,0,.22))!important}
html[data-theme=rostics] :is(.rail .card,.gp,.isl){--bg:#0B1220;--tx:#E6ECF5;--dim:#9AA8C0;--acc:#FF5A6A;--onacc:#0B1220;--line:rgba(230,236,245,.16);--t-ink:230,236,245;--t-accr:255,90,106;--t-pnr:13,21,38;--t-bgr:11,18,32;--t-tx2:#C3CEE0;--t-tx3:#9AA8C0;--t-dim2:#5D6B85;--t-hi:#fff;--t-bg0:#060a13;--t-bg1:#16223a;--t-pn1:#0f1830;--t-pn2:#18243f;--t-pn3:#22314f;--t-amber:#F2A65A;--t-amberr:242,166,90;--t-red:#FF6B7A;--t-redr:255,107,122;--t-red2:#FF8A8A;--t-red2r:255,138,138;--t-green:#6EE7A8;--t-greenr:110,231,168;--t-gold:#F2C14E;--t-goldr:242,193,78;--t-orange:#FF7A2F;--t-oranger:255,122,47;--t-violet:#B49CFF;--t-blue:#7FA8FF;--d-9ee6a0:#9EE6A0;--d-ff6b7a:#FF6B7A;--d-f2c14e:#F2C14E;--d-b49cff:#B49CFF;--d-8ad4ea:#8AD4EA;--d-7fa8ff:#7FA8FF;--d-ffd27a:#FFD27A;--d-ff7a2f:#FF7A2F;--d-f28fb8:#F28FB8;--d-e8b07a:#E8B07A;--d-7fd8a8:#7FD8A8;--d-4fd8c4:#4FD8C4;--t-sh:1;color:var(--tx)}
html[data-theme=rostics] .lr .hx.g3{color:#fff}
html[data-theme=rostics]{--a:#1F55C0}
html[data-theme=rostics]{--d-9ee6a0:#1E7A33;--d-ff6b7a:#C8102E;--d-f2c14e:#8A6200;--d-b49cff:#5B3FC4;--d-8ad4ea:#0B6E8A;--d-7fa8ff:#1F55C0;--d-ffd27a:#8A5A00;--d-ff7a2f:#B9400C;--d-f28fb8:#B0306A;--d-e8b07a:#8F4F10;--d-7fd8a8:#0B7A47;--d-4fd8c4:#0A7468}
html[data-theme=rostics] .hero .vig{background:linear-gradient(90deg,rgba(255,245,234,.96) 0,rgba(255,245,234,.88) 420px,rgba(255,245,234,0) 640px)}
html[data-theme=rostics] .fig.side img{filter:drop-shadow(0 20px 30px rgba(0,0,0,.15)) saturate(.75) brightness(1.04)}
html[data-theme=rostics] .gp{--a:#FF7A2F}
html[data-theme=rostics] :is(.rank,.st,.exp,.cmp,.tagn,.cls) :is(span,em,small,b,.u,.k,.v,.n){text-shadow:0 0 6px rgba(255,245,234,.95),0 0 2px rgba(255,245,234,.95)}
html[data-theme=rostics] .tagn{background:rgba(255,250,244,.9)}
html[data-theme=rostics] :is(.bdg .pick,.more){background:rgba(255,250,244,.92)!important}
html[data-theme=rostics] .exp .u{background:rgba(255,250,244,.92);padding:3px 8px;text-shadow:none}
html[data-theme=rostics][data-page=dashboard] .c,
html[data-theme=rostics][data-page=lesson] .fact,
html[data-theme=rostics][data-page=lesson] .s5,
html[data-theme=rostics][data-page=lesson] .dlg,
html[data-theme=rostics][data-page=lesson] .warn,
html[data-theme=rostics][data-page=lesson] .qc,
html[data-theme=rostics][data-page=test] .q,
html[data-theme=rostics][data-page=test] .mi,
html[data-theme=rostics][data-page=events] .today-c,
html[data-theme=rostics][data-page=event] .box,
html[data-theme=rostics][data-page=event] .mine,
html[data-theme=rostics][data-page=tasks] .t,
html[data-theme=rostics][data-page=tasks] .card,
html[data-theme=rostics][data-page=shop] .bal,
html[data-theme=rostics][data-page=shop] .feat,
html[data-theme=rostics][data-page=shop] a.it,
html[data-theme=rostics][data-page=prize] .big,
html[data-theme=rostics][data-page=prize] .gap,
html[data-theme=rostics][data-page=activities] .stats,
html[data-theme=rostics][data-page=activities] .feat,
html[data-theme=rostics][data-page=activities] a.card,
html[data-theme=rostics][data-page=activity] .box,
html[data-theme=rostics][data-page=activity] .goal,
html[data-theme=rostics][data-page=restaurant] .box,
html[data-theme=rostics][data-page=friends] .fr,
html[data-theme=rostics][data-page=friends] .card,
html[data-theme=rostics][data-page=battles] section.hero,
html[data-theme=rostics][data-page=battles] .kpis,
html[data-theme=rostics][data-page=battles] .bc,
html[data-theme=rostics][data-page=battles] .ir,
html[data-theme=rostics][data-page=battles] .card,
html[data-theme=rostics][data-page=battle] .vh,
html[data-theme=rostics][data-page=battle] .box,
html[data-theme=rostics][data-page=battle] .stg,
html[data-theme=rostics][data-page=battle] .kc,
html[data-theme=rostics][data-page=battle] .tc,
html[data-theme=rostics][data-page=battle] .now,
html[data-theme=rostics][data-page=battle] .qo,
html[data-theme=rostics][data-page=course] .nx{border-color:rgba(60,28,18,.13)!important;box-shadow:0 1px 0 rgba(60,28,18,.04)}
@media (max-width:640px){html[data-theme=rostics] h1{font-family:'Inter Tight','Inter',sans-serif!important;font-weight:800!important;letter-spacing:-.025em}}
/* --- Ростикс · tokens --- */
html[data-theme=rostics],html[data-theme=rostics] .stage,html[data-theme=rostics] body{
 --bg:#FFF5EA;--tx:#231511;--dim:#6B5248;--acc:#D50029;--onacc:#fff;--line:rgba(60,28,18,.15);
 --t-ink:44,22,16;--t-accr:213,0,41;--t-pnr:255,255,255;--t-bgr:255,245,234;
 --t-tx2:#3A241D;--t-tx3:#55392F;--t-dim2:#80665B;--t-hi:#120806;
 --t-bg0:#F6E3CE;--t-bg1:#FFFFFF;--t-pn1:#FFFFFF;--t-pn2:#FFF8F1;--t-pn3:#F6E5D4;
 --t-amber:#A35200;--t-amberr:163,82,0;--t-red:#C8102E;--t-redr:200,16,46;--t-red2:#B3261E;--t-red2r:179,38,30;
 --t-green:#1E7A3C;--t-greenr:30,122,60;--t-gold:#8A5A00;--t-goldr:138,90,0;--t-orange:#B9400C;--t-oranger:185,64,12;--t-violet:#6A3FB4;--t-blue:#1F55C0;
 --fd:'Rubik',sans-serif;--fb:'Rubik',sans-serif;--fm:'Rubik',sans-serif;--t-rk:1.25;--t-sh:.42;
 --f1:'Rubik',sans-serif;--f2:'Rubik',sans-serif;--f3:'Rubik',sans-serif;--w1:800;--ls1:-.02em;
 --ok:#1E7A3C;--no:#C8102E;--am:#A35200;--ga:#B9400C;--p1:#ffffff;--p2:#FBE3CF;--pc:#FFF1E2;--g:#E4002B;--m1:#FFD36B;--m2:#B07A10;--glow:rgba(245,168,0,.45);--bo:#E4002B;--bv:#231511;
 --rr:#E4002B;--rgold:#F5A800;--rbrown:#3B1E14
}
html[data-theme=rostics]{--a:#B9400C;background:#FFF3E4;color-scheme:light}
html[data-theme=rostics] body{background:
 radial-gradient(900px 420px at 85% -10%,rgba(245,168,0,.16),transparent 60%),
 radial-gradient(800px 500px at 0% 0%,rgba(228,0,43,.07),transparent 60%),
 linear-gradient(180deg,#FFF8F0 0,#FFF5EA 600px,#FFF1E2 100%)}
html[data-theme=rostics] .stage{background:radial-gradient(1000px 800px at 50% 40%,#FFFCF7 0%,#FFF3E4 58%,#F6E0C8 100%)!important}
/* header: solid brand-red bar with a bucket-stripe band */
html[data-theme=rostics] .top{font-family:var(--fm);font-weight:600;letter-spacing:.06em}
html[data-theme=rostics] body>.top{background:#E4002B;border-bottom:0;box-shadow:none;color:rgba(255,255,255,.86);backdrop-filter:none}
html[data-theme=rostics] body>.top:after{content:"";position:absolute;left:0;right:0;top:100%;height:7px;background:repeating-linear-gradient(90deg,#E4002B 0 26px,#fff 26px 40px);pointer-events:none}
html[data-theme=rostics] body>.top :is(.ib,.pts,.thm,nav a:hover,nav a.on){color:#fff!important}
html[data-theme=rostics] body>.top nav .ic{opacity:.9}
html[data-theme=rostics] body>.top nav a.on{background:rgba(0,0,0,.16);border-radius:999px;padding:6px 12px;margin:0 -12px}
html[data-theme=rostics] body>.top nav a.on:after{display:none}
html[data-theme=rostics] body>.top .ib b{background:#F5A800!important;color:#3B1E14!important}
html[data-theme=rostics] body>.top .ib.on:after{background:#fff;box-shadow:none}
html[data-theme=rostics] .top .home{background:#fff;color:#E4002B!important;border-radius:50%}
html[data-theme=rostics] .bnav{background:#E4002B!important;border-top:0!important;color:rgba(255,255,255,.85)}
html[data-theme=rostics] .bnav .ic{color:#fff!important}
html[data-theme=rostics] .bnav a.on,html[data-theme=rostics] .bnav a.on .ic{color:#FFD36B!important}
html[data-theme=rostics] .bnav:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:6px;background:repeating-linear-gradient(90deg,#E4002B 0 22px,#fff 22px 34px)}
/* type */
html[data-theme=rostics] h1,html[data-theme=rostics] h2,html[data-theme=rostics] .first{font-family:'Rubik',sans-serif!important;font-style:normal!important;font-weight:800!important;letter-spacing:-.025em!important}
html[data-theme=rostics] .first{color:#E4002B!important}
html[data-theme=rostics] .last{color:var(--rbrown)!important}
/* buttons: chunky red pills with a baked bottom edge */
html[data-theme=rostics] .btn{border-radius:999px!important;font-family:var(--fm)!important;font-weight:700!important;letter-spacing:.04em!important}
html[data-theme=rostics] .b2{background:#E4002B!important;color:#fff!important;box-shadow:0 4px 0 #9E001E,0 10px 20px rgba(228,0,43,.22)!important}
html[data-theme=rostics] .b2:hover{transform:translateY(1px);box-shadow:0 3px 0 #9E001E,0 8px 16px rgba(228,0,43,.25)!important}
html[data-theme=rostics] .b1{border:2px solid #3B1E14!important;color:#3B1E14!important;background:#fff!important}
html[data-theme=rostics] .b1 .ic{color:#3B1E14}
/* stage: bucket-stripe disc instead of the halo orb */
html[data-theme=rostics] .stage .orb{background:repeating-conic-gradient(from 0deg,rgba(228,0,43,.13) 0 9deg,rgba(255,255,255,.5) 9deg 18deg)!important;border:10px solid rgba(228,0,43,.16)!important;box-shadow:0 0 0 14px rgba(255,255,255,.7),0 30px 80px rgba(160,40,0,.12)!important;-webkit-mask-image:radial-gradient(circle,#000 62%,transparent 71%);mask-image:radial-gradient(circle,#000 62%,transparent 71%)}
html[data-theme=rostics] .stage .orb2{border:2px dashed rgba(245,168,0,.65)!important;background:none!important}
html[data-theme=rostics] .stage .dot{background:#F5A800!important;box-shadow:0 0 0 4px rgba(245,168,0,.2)!important}
html[data-theme=rostics] .exp .n{color:#E4002B}
html[data-theme=rostics] .st .v{color:var(--rbrown)}
html[data-theme=rostics] .fig img{filter:drop-shadow(0 26px 34px rgba(110,40,10,.25))!important}
/* panels: warm white cards, soft brown shadow, big radius */
html[data-theme=rostics][data-page=dashboard] .c,html[data-theme=rostics] .rp,html[data-theme=rostics] :is(.box,.card,.feat,.bal,.it,.fr,.bc,.kpis,.q,.t){box-shadow:0 1px 0 rgba(60,28,18,.06),0 12px 28px -14px rgba(120,50,20,.28)}
html[data-theme=rostics][data-page=dashboard] .c{border-color:rgba(60,28,18,.1)!important}
html[data-theme=rostics] .rp{border-color:rgba(60,28,18,.1)!important;background:#fff}
/* the halos use cream */
html[data-theme=rostics] .tagn,html[data-theme=rostics] :is(.bdg .pick,.more){background:rgba(255,250,244,.94)!important}
/* chips/tags: gold accents */
html[data-theme=rostics] .rrole.dir{background:#F5A800!important;color:#3B1E14!important;border-color:#F5A800!important}
html[data-theme=rostics] .hero .k a.drl{background:#F5A800;color:#3B1E14}
html[data-theme=rostics] .myb{border-color:#E4002B;background:#fff}
/* bars and progress tracks get the brand red */
html[data-theme=rostics] ::selection{background:#F5A800;color:#231511}

/* ==== /ROSTICS ==== */
