/* Layout: шапка → вкладки → полоса задания → карта на всю ширину → «шкаф» со схемой и пульт рядом; на телефоне всё в колонку, пульт с рычагами прилипает снизу.
   Один яркий светлый мир (летняя ветка): небо, трава, сигнальные цвета. */
:root{
  --sky:#dcefff; --ink:#1b2738; --muted:#5a6b80; --panel:#ffffff; --panel2:#f2f7fc; --line:#cddcea;
  --go:#1fae57; --go-ink:#ffffff; --signal:#ff5a36; --sun:#ffc21a; --info:#2f7fe0;
  --grass:#9bd774; --grass-dark:#79bf55; --tree:#4f9e3a; --ballast:#cbb99d; --sleeper:#7b5436; --rail:#566170;
  --wire:#b9c7d6; --live:#ff8a00; --gate:#ffffff;
  --f-display:'Russo One','Arial Black',system-ui,sans-serif;
  --f-body:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;background:var(--sky);color:var(--ink)}
body{font-family:var(--f-body);font-size:15px;line-height:1.5;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:14px 28px}
.wrap{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
h1{font-family:var(--f-display);font-weight:400;font-size:clamp(22px,3vw,28px);margin:0;letter-spacing:.01em;color:var(--signal);text-wrap:balance;line-height:1.1}
h1 small{display:block;font-family:var(--f-body);font-size:14px;color:var(--muted);letter-spacing:0;margin-top:4px}
h2{font-family:var(--f-display);font-weight:400;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0}
.stats{display:flex;gap:14px;align-items:center;font-weight:800;font-variant-numeric:tabular-nums;flex-wrap:wrap}
.stats span{background:var(--panel);border:2px solid var(--line);border-radius:999px;padding:3px 12px}
.stats b{color:var(--signal)}
nav.tabs{display:flex;gap:6px;flex-wrap:wrap}
nav.tabs button{border:2px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 14px;font-weight:800;color:var(--muted)}
nav.tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.card{background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:12px;min-width:0;display:flex;flex-direction:column;gap:10px}
.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:640px){.modes{grid-template-columns:minmax(0,1fr)}}
.mode{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;text-align:left;background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:10px 14px;font-weight:400}
.mode .m-name{font-family:var(--f-display);font-size:18px;color:var(--ink)}
.mode .m-tag{justify-self:start;font-size:12px;font-weight:800;color:#fff;background:var(--go);border-radius:999px;padding:1px 10px}
.mode .m-tag.soon{background:var(--muted)}
.mode .m-text{grid-column:1 / -1;font-size:14px;color:var(--muted)}
.mode .m-text b{color:var(--ink)}
button.mode.cur{background:var(--panel);color:var(--ink);border-color:var(--go);box-shadow:0 0 0 3px #1fae5733}
#tab-game,#tab-sort{display:flex;flex-direction:column;gap:12px}
.mode[aria-disabled="true"]{cursor:default;opacity:.85}
.mode[aria-disabled="true"]:hover{border-color:var(--line)}
.levels{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.levels button{min-width:38px;height:36px;padding:0 8px;font-weight:800;border-radius:10px}
.levels button.passed{border-color:var(--go);color:var(--go)}
.levels .note{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}
.mission{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:var(--ink);color:#fff;border-radius:16px;padding:10px 16px;font-weight:600}
.mission .big{font-family:var(--f-display);font-size:clamp(17px,2.4vw,22px);letter-spacing:.01em}
.mission .chip{display:inline-block;padding:2px 12px;border-radius:999px;color:#fff;font-family:var(--f-display);margin-left:4px}
.mission .trips{display:flex;gap:6px}
.mission .trip{width:28px;height:12px;border-radius:6px;background:#ffffff33}
.mission .trip.done{background:var(--go)} .mission .trip.cur{background:var(--sun)}
.map{position:relative;padding:0;overflow:hidden}
.map svg{display:block;width:100%;height:auto;margin:0 auto}
@media (max-width:640px){.map{overflow-x:auto}.map svg{min-width:var(--mapmin,0px)}}
.desk{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}
.desk.editor{grid-template-columns:minmax(0,400px) minmax(0,1fr)}
@media (max-width:920px){.desk,.desk.editor{grid-template-columns:minmax(0,1fr)}}
.cabinet svg,.card > svg{display:block;width:100%;height:auto;margin:0 auto}
button,select,input[type=text],input[type=number],textarea{font-family:var(--f-body);font-size:14px;background:var(--panel2);color:var(--ink);border:2px solid var(--line);border-radius:10px;padding:7px 12px}
button{cursor:pointer;font-weight:700}
button:hover:not(:disabled){border-color:var(--info)}
:focus-visible{outline:3px solid var(--info);outline-offset:2px}
button:disabled{opacity:.4;cursor:default}
button.cur,button.primary{background:var(--info);color:#fff;border-color:var(--info)}
button.go{background:var(--go);color:var(--go-ink);border:none;border-bottom:4px solid #168343;font-family:var(--f-display);font-size:19px;padding:12px 16px;border-radius:14px;letter-spacing:.02em}
button.go:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.levers{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.lever{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--panel2);border:2px solid var(--line);border-radius:14px;padding:6px 10px 8px;min-width:62px}
.lever .name{font-family:var(--f-display);font-size:18px}
.lever .track{width:18px;height:46px;border-radius:9px;background:#d5e1ec;position:relative}
.lever .knob{position:absolute;left:-5px;width:28px;height:22px;border-radius:7px;background:var(--rail);bottom:0;transition:bottom .15s,background .15s}
.lever.on .knob{bottom:24px;background:var(--live)}
.lever .val{font-family:var(--f-mono);font-weight:700;font-size:13px}
.lever.on{border-color:var(--live)}
.hint{animation:pulse .5s ease-in-out 4 alternate}
.sw.hint .sw-base{animation:pulse-s .5s ease-in-out 4 alternate}
@keyframes pulse{to{box-shadow:0 0 0 5px var(--sun)}}
@keyframes pulse-s{to{stroke:var(--sun);stroke-width:5}}
label.chk{display:flex;gap:8px;align-items:flex-start;cursor:pointer;font-size:14px}
label.fld{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);min-width:0}
.settings{display:flex;flex-direction:column;gap:10px;margin-top:8px}
select{width:100%}
.status{font-size:15px;min-height:46px;font-weight:600}
.status.bad{color:#c9341a} .status.ok{color:#14833f}
.formulas{display:flex;flex-direction:column;gap:6px;font-family:var(--f-mono);font-size:13px}
.formulas div{display:grid;grid-template-columns:40px 1fr;gap:6px;overflow-wrap:anywhere}
.formulas b{font-weight:700}
.legend{display:grid;grid-template-columns:44px 1fr;gap:7px 10px;font-size:13px;align-items:center;margin-top:8px}
.legend .g{font-family:var(--f-mono);font-weight:700;border:2px solid var(--ink);border-radius:5px;text-align:center;padding:1px 0;position:relative;background:var(--gate)}
.legend .g.inv::after{content:"";position:absolute;right:-8px;top:50%;width:7px;height:7px;border:2px solid var(--ink);border-radius:50%;transform:translateY(-50%);background:var(--panel)}
.legend span{color:var(--muted)} .legend span b{color:var(--ink)}
details summary{cursor:pointer;font-weight:700}
.muted{color:var(--muted);font-size:13px;margin:6px 0 0;max-width:65ch}
.tt{overflow-x:auto;margin-top:6px}
.tt table{border-collapse:collapse;font-family:var(--f-mono);font-size:12px;font-variant-numeric:tabular-nums}
.tt td,.tt th{padding:2px 7px;text-align:center;border-bottom:1px solid var(--line)}
.tt th{color:var(--muted);font-weight:500}
.tt tr.now td{background:#fff3c4}
.tt .sep{border-left:2px solid var(--line)}
.tt td.cell{cursor:pointer;color:var(--info);font-weight:700;min-width:30px}
.tt td.cell.right{color:var(--go)} .tt td.cell.wrong{color:var(--signal);text-decoration:line-through}
.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1b273866;padding:16px}
.ov-card{background:var(--panel);border-radius:18px;padding:20px 22px;max-width:420px;display:flex;flex-direction:column;gap:12px;text-align:center;box-shadow:0 10px 30px #1b273840}
.ov-card h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:24px;color:var(--go)}
.ov-card p{margin:0;color:var(--muted)}
.report{font-family:var(--f-mono);font-size:12px;white-space:pre-wrap;background:var(--panel2);border:2px solid var(--line);border-radius:10px;padding:8px;max-height:260px;overflow:auto;margin:0}
textarea{font-family:var(--f-mono);font-size:13px;width:100%;min-height:340px;resize:vertical;line-height:1.45}
.msgs{font-size:13px;display:flex;flex-direction:column;gap:4px}
.msgs .e{color:#c9341a} .msgs .w{color:#a15c00} .msgs .o{color:#14833f}
.msgs button{padding:1px 6px;font-family:var(--f-mono);font-size:12px}
code{font-family:var(--f-mono);font-size:.92em;background:var(--panel2);padding:1px 4px;border-radius:4px}
.cmds{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:13px;margin-top:8px}
.cmds code{white-space:nowrap}
.quiz .opts{display:flex;flex-direction:column;gap:8px}
.opts button{text-align:left;font-family:var(--f-mono);font-size:14px;overflow-wrap:anywhere}
.opts button.right{border-color:var(--go);background:#e3f7ea}
.opts button.wrong{border-color:var(--signal);background:#ffe6df}

/* ---- схема ---- */
.wire{stroke:var(--wire);stroke-width:2.5;fill:none;stroke-linejoin:round;transition:stroke .15s}
.wire.on{stroke:var(--live)}
.dot{fill:var(--wire)} .dot.on{fill:var(--live)}
.gate rect{fill:var(--gate);stroke:var(--ink);stroke-width:2}
.gate circle{fill:var(--gate);stroke:var(--ink);stroke-width:2}
.gate.on rect,.gate.on circle{stroke:var(--live)}
.gate text{fill:var(--ink);font-family:var(--f-mono);font-weight:700;font-size:13px}
.gate text.pin{font-size:9px;font-weight:500;fill:var(--muted)}
.gate.editable{cursor:pointer} .gate.editable rect{fill:#fff8dd} .gate.editable:hover rect{stroke:var(--info)}
.gate:focus{outline:none} .gate:focus-visible rect{stroke:var(--info);stroke-width:3}
.swlbl{fill:var(--ink);font-family:var(--f-display);font-size:15px}
.sw{cursor:pointer} .sw.static{cursor:default} .sw:focus{outline:none} .sw:focus-visible .sw-base{stroke:var(--info);stroke-width:3}
.sw-base{fill:#e3ebf3;stroke:var(--line);stroke-width:1.5}
.sw-knob{fill:var(--rail);transition:transform .15s}
.sw.on .sw-base{stroke:var(--live)} .sw.on .sw-knob{fill:var(--live);transform:translateX(16px)}
.sw.on .sw-lead{stroke:var(--live)}
.out-tag{fill:#fff;stroke:var(--ink);stroke-width:2.5}
.lamp{fill:#d5dee8;stroke:var(--rail);stroke-width:1.5}
.out.on .lamp{fill:var(--sun);stroke:var(--live)}
.out.hidden-val .lamp{fill:#eef2f6}
.out-lbl{font-family:var(--f-display);font-size:13px;fill:var(--ink)}
.out.good .out-tag{stroke:var(--go)} .out.bad .out-tag{stroke:var(--signal)}
.leaf-hit{fill:transparent;cursor:pointer}
.leaf-lbl{font-family:var(--f-display);font-size:12px;fill:var(--info);pointer-events:none}

/* ---- карта ---- */
.grass{fill:var(--grass)}
.tree{fill:var(--tree);opacity:.85}
.ballast{stroke:var(--ballast);stroke-width:22;fill:none;stroke-linecap:round}
.route-hi{stroke:var(--sun);stroke-width:28;fill:none;opacity:0;stroke-linecap:round;transition:opacity .2s}
.route-hi.on{opacity:.75} .route-hi.blocked{stroke:var(--signal)}
.sleepers{stroke:var(--sleeper);stroke-width:16;stroke-dasharray:4 7;fill:none}
.rails{stroke:var(--rail);stroke-width:10;fill:none}
.rails-gap{stroke:var(--ballast);stroke-width:5;fill:none}
.depot rect{fill:var(--ink)} .depot text{fill:#fff;font-family:var(--f-display);font-size:10px}
.blade{stroke-width:6;stroke-linecap:round}
.closed{stroke:var(--signal);stroke-width:5;stroke-linecap:round}
.j-dot{stroke:#fff;stroke-width:3}
.j-lbl{fill:#fff;font-family:var(--f-display);font-size:11px;pointer-events:none}
.junction.unknown .blade,.junction.unknown .closed{display:none}
.pole{stroke:var(--ink);stroke-width:3}
.sem-head{fill:var(--ink);stroke-width:2.5}
.sem-lamp{fill:#55606d} .sem-lamp.green{fill:#3dff8a} .sem-lamp.red{fill:#ff4a3a}
.sem-lbl{font-family:var(--f-display);font-size:12px;paint-order:stroke;stroke:#fff;stroke-width:3}
.station .house{stroke:#1b273855;stroke-width:1.5}
.station .roof{filter:brightness(.8)}
.station .door{fill:#fff8}
.station .buffer{fill:var(--signal)}
.st-name{font-family:var(--f-display);font-size:14px;fill:var(--ink);paint-order:stroke;stroke:var(--grass);stroke-width:4}
.goal{display:none} .station.is-goal .goal{display:inline}
.goal line{stroke:var(--ink);stroke-width:2.5} .goal path{fill:var(--signal)}
.goal text{font-family:var(--f-display);font-size:11px;fill:var(--signal);paint-order:stroke;stroke:var(--grass);stroke-width:3}
.station.is-goal .house{stroke:var(--signal);stroke-width:3}
.done{display:none} .station.is-done .done{display:inline}
.done circle{fill:var(--go);stroke:#fff;stroke-width:2} .done path{stroke:#fff;stroke-width:2.5;fill:none}
.loco .body{fill:var(--signal)} .loco .cab{fill:#c23a1d} .loco .nose{fill:var(--ink)} .loco .chimney{fill:var(--ink)}
.wagon .box{fill:var(--sun);stroke:#1b273866;stroke-width:1.5} .wagon .rib{stroke:#1b273844;stroke-width:1.5}
.train.stopped .loco .body{fill:#ff8f75}

/* ---- конвейер ---- */
.belt-bg{fill:#3b4656} .belt-line{stroke:#56657a;stroke-width:2;stroke-dasharray:6 8}
.bin{fill:#e9f0f7;stroke:var(--line);stroke-width:2}
.bin-lbl{font-family:var(--f-display);font-size:12px;fill:var(--ink)}
.box-shape{stroke:#1b2738;stroke-width:1.5}
.box.ok .box-shape{stroke:var(--go);stroke-width:3} .box.err .box-shape{stroke:var(--signal);stroke-width:3}
.prop{font-family:var(--f-mono);font-size:9px;fill:#1b2738}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- компоновка игры по важности: задание → карта и схема рядом → пульт внизу всегда под рукой ---- */
.navbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.navbar .modes{flex:1 1 520px}
.mode{padding:6px 12px;border-radius:12px}
.mode .m-name{font-size:16px}
.mode .m-text{font-size:13px}
.mission{padding:8px 16px}
.play{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:12px;align-items:start}
.play .cabinet{order:-1}
.play .map{position:sticky;top:10px}
.cabinet h2{font-size:12px}
@media (max-width:980px){.play{grid-template-columns:minmax(0,1fr)}.play .cabinet{order:0}.play .map{position:relative;top:auto}}
.study{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
@media (max-width:980px){.study{grid-template-columns:minmax(0,1fr)}}
.study details.inner{margin-top:8px}
.controlbar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:var(--panel);border:2px solid var(--line);border-radius:16px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 22px #1b273826}
.controlbar .levers{flex:0 0 auto;justify-content:flex-start;gap:8px}
.controlbar .lever{flex-direction:row;align-items:center;gap:8px;padding:6px 12px;min-width:0;border-radius:12px}
.controlbar .lever .name{font-size:20px;line-height:1}
.controlbar .lever .track{width:46px;height:26px;border-radius:13px;background:#d5e1ec}
.controlbar .lever .knob{top:3px;left:3px;bottom:auto;width:20px;height:20px;border-radius:50%;transition:left .15s,background .15s}
.controlbar .lever.on .knob{left:23px;bottom:auto}
.controlbar .lever.on .track{background:#ffd9a8}
.controlbar .lever .val{font-size:16px;min-width:10px}
.controlbar .go{flex:0 0 auto}
.controlbar .status{flex:1 1 220px;min-height:0;font-size:14px;line-height:1.35}
.cb-side{display:flex;gap:6px;flex:0 0 auto}
.cb-side button{padding:6px 10px;font-size:13px}
@media (max-width:640px){
  .controlbar{gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
  .controlbar .levers{flex:1 1 100%;justify-content:center}
  .controlbar .go{flex:1 1 0;min-width:0;font-size:16px;padding:9px 8px;white-space:nowrap}
  .controlbar .status{order:-1;flex:1 1 100%;font-size:13px}
  .controlbar .lever{padding:4px 10px}
  .cb-side button{padding:6px 8px;font-size:12px}
}
@media (max-width:640px){
  #tab-game{gap:8px}
  .navbar{gap:8px}
  .mode{padding:5px 10px}
  .mode .m-text{font-size:12px}
  #levels{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}
  #levels button{flex:0 0 auto;min-width:34px;height:32px}
  #levels .note{flex:0 0 auto;white-space:nowrap}
  .mission{padding:6px 12px;gap:4px 10px}
  .mission .big{font-size:15px}
}

/* ---- явная связь хода и результата ---- */
.route-flow{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 15;opacity:0;transition:opacity .2s}
.route-flow.on{opacity:.95;animation:flow 0.9s linear infinite}
@keyframes flow{to{stroke-dashoffset:-18}}
.ballast.off,.sleepers.off,.rails.off,.rails-gap.off{opacity:.35;transition:opacity .25s}
.ballast,.sleepers,.rails,.rails-gap{transition:opacity .25s}
/* перо стрелки и знак «Въезд запрещён» */
.blade{opacity:0;transition:opacity .25s}
.blade.on{opacity:1}
.blade-line{fill:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
.ne-in{transform:scale(0);transition:transform .35s cubic-bezier(.3,1.5,.6,1);transform-box:fill-box;transform-origin:center}
.noentry.on .ne-in{transform:scale(1)}
.ne-in circle{fill:var(--signal);stroke:#fff;stroke-width:3}
.ne-in rect{fill:#fff}
.ring{fill:none;stroke-width:4;opacity:0}
.pulse .ring{animation:ring 1.2s ease-out}
@keyframes ring{0%{opacity:1;r:13}100%{opacity:0;r:38}}
.pulse .j-dot,.pulse .sem-head{animation:pop .6s ease-out}
@keyframes pop{40%{transform:scale(1.25)}}
.j-dot,.sem-head{transform-box:fill-box;transform-origin:center}
.wire.flash{animation:wflash .9s ease-out}
@keyframes wflash{0%{stroke-width:7}100%{stroke-width:2.5}}
.gate.flash rect{animation:gflash .9s ease-out}
@keyframes gflash{0%{stroke-width:5}100%{stroke-width:2}}
.out.flash .out-tag{animation:gflash .9s ease-out}
.out.flash .lamp{animation:pop .6s ease-out;transform-box:fill-box;transform-origin:center}
.forecast{display:inline-flex;align-items:center;gap:8px;background:#ffffff1f;border-radius:999px;padding:3px 12px 3px 10px;font-weight:800}
.forecast .chip{margin:0}
.forecast.ok{background:#1fae5740;box-shadow:0 0 0 2px var(--go) inset}
.forecast.bad{background:#ff5a3640;box-shadow:0 0 0 2px var(--signal) inset}
.forecast .mark{font-family:var(--f-display);font-size:18px}
.status .chg{display:block;color:var(--muted);font-weight:600;font-size:13px}
/* таблички «почему» у стрелок маршрута */
.why rect{fill:#ffffffee;stroke-width:2}
.why text{font-family:var(--f-mono);font-size:12px;fill:var(--ink)}
.why .why-1{font-weight:700}
.why .why-2{fill:var(--muted);font-weight:500}
.why-layer{pointer-events:none}
/* спрайты карты */
.goal-glow{fill:#fff3a0;opacity:0;transition:opacity .3s}
.station.is-goal .goal-glow{opacity:.85;animation:glow 1.6s ease-in-out infinite alternate}
@keyframes glow{to{opacity:.35}}
.st-name{stroke:#fff!important;stroke-width:4!important;paint-order:stroke}
.goal text{stroke:#fff!important}
.cargo{stroke:#fff;stroke-width:1.6}
.train image{filter:drop-shadow(0 1.5px 1px #0005)}
.station image,.depot image{filter:drop-shadow(0 2px 2px #0003)}
.ov-hero{display:block;width:100%;border-radius:12px;aspect-ratio:16/9;object-fit:cover}
.overlay:has(.ov-hero){position:fixed;inset:0;z-index:50;border-radius:0;background:#1b2738b3}
.overlay:has(.ov-hero) .ov-card{max-width:560px;max-height:calc(100vh - 32px);overflow:auto}
.map{background:#8cc84a url(assets/meadow.jpg) center/cover}

/* цех: спрайты */
.box-frame{fill:none;stroke:transparent;stroke-width:3}
.box.ok .box-frame{stroke:var(--go)} .box.err .box-frame{stroke:var(--signal)}
.box image{filter:drop-shadow(0 1.5px 1px #0005)}
.egg circle{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.egg ellipse{fill:#fff3d6;stroke:var(--ink);stroke-width:1.2}
.egg polyline{fill:none;stroke:var(--signal);stroke-width:1.2;stroke-linejoin:round}
#belt .bin-lbl{font-size:12px;paint-order:stroke;stroke:#fff;stroke-width:4}
@media (min-width:981px){#tab-sort .desk{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
#belt{display:block;width:100%;height:auto;margin:0 auto;border-radius:12px}
