:root,html[data-theme="zinc-dark"],html[data-theme="operator"]{
  color-scheme:dark;
  --bg:#0f1115;--panel:#171a21;--panel2:#1e222b;--rail:#12151c;--ink:#e8e8ea;--ink2:#9aa0ab;--line:#2a2f3a;
  --accent:#3d8bfd;--primary-fg:#fff;--ok:#2ec27e;--warn:#e0a800;--bad:#e5484d;--svc:#8b7cf6;
  --accent-soft:#3d8bfd22;--panel-a:rgba(23,26,33,.95);--shadow:0 10px 40px rgba(0,0,0,.5);
  --toast-bg:#000;--toast-fg:#fff;--modal-dim:rgba(0,0,0,.55);
  --cy-label:#e8e8ea;--cy-outline:#0f1115;--cy-select:#ffffff;--cy-edge-label:#d0d4dc;
  --ui-scale:1;}
html[data-theme="beige-light"]{
  color-scheme:light;
  --bg:#f3eee4;--panel:#fffcf7;--panel2:#f1e8d8;--rail:#efe6d8;--ink:#2c241c;--ink2:#7a6e63;--line:#e4d8c8;
  --accent:#2a221c;--primary-fg:#f7f1e8;--ok:#5f7a58;--warn:#c4785a;--bad:#c45c4a;--svc:#c4785a;
  --accent-soft:rgba(42,34,28,.1);--panel-a:rgba(255,252,247,.94);--shadow:0 10px 32px rgba(50,40,28,.12);
  --toast-bg:#2a221c;--toast-fg:#f7f1e8;--modal-dim:rgba(42,34,28,.38);
  --cy-label:#2c241c;--cy-outline:#f3eee4;--cy-select:#2a221c;--cy-edge-label:#5a4e44;
  --sage:#6f8a62;--terra:#c4785a;--paper:#fffcf7;}
html[data-theme="blue-dark"]{
  color-scheme:dark;
  --bg:#041020;--panel:#0d1b2d;--panel2:#1b2a3c;--rail:#0a1628;--ink:#dceaf4;--ink2:#97a7b7;--line:#30445d;
  --accent:#67aaed;--primary-fg:#041020;--ok:#2ec27e;--warn:#e0a800;--bad:#e5484d;--svc:#8b7cf6;
  --accent-soft:rgba(103,170,237,.22);--panel-a:rgba(13,27,45,.95);--shadow:0 10px 40px rgba(0,8,20,.55);
  --toast-bg:#000;--toast-fg:#fff;--modal-dim:rgba(0,8,24,.6);
  --cy-label:#dceaf4;--cy-outline:#041020;--cy-select:#dceaf4;--cy-edge-label:#b7c9d8;}
html[data-theme="white-orange"]{
  color-scheme:light;
  --bg:#fefbf6;--panel:#fffdfa;--panel2:#faf0e3;--rail:#f4eee4;--ink:#221812;--ink2:#715f53;--line:#ebdbc9;
  --accent:#de6907;--primary-fg:#fffdfa;--ok:#346c42;--warn:#b97515;--bad:#e5484d;--svc:#c45c12;
  --accent-soft:rgba(222,105,7,.16);--panel-a:rgba(255,253,250,.96);--shadow:0 10px 32px rgba(34,24,18,.12);
  --toast-bg:#221812;--toast-fg:#fffdfa;--modal-dim:rgba(34,24,18,.4);
  --cy-label:#221812;--cy-outline:#fefbf6;--cy-select:#de6907;--cy-edge-label:#4a372c;}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,sans-serif}
#app{display:flex;flex-direction:column;height:100%}
header{display:flex;flex-direction:column;align-items:stretch;gap:0;flex-wrap:nowrap;padding:0;background:var(--panel);
  border-bottom:1px solid var(--line);z-index:5}
.hdr-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;padding:5px 10px;overflow-x:auto;scrollbar-width:thin}
.hdr-main{border-bottom:1px solid var(--line)}
.hdr-crud{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}
.hdr-lab{font-size:12px;color:var(--ink2);white-space:nowrap}
.hdr-sep{color:var(--ink2);opacity:.55;user-select:none}
#btnChrome{min-width:42px;font-weight:700;margin-left:0;flex:0 0 auto}
.theme-pick{display:flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:2px;position:relative}
.theme-ico{font-size:13px;line-height:1;color:var(--ink2);user-select:none}
.theme-pick select{max-width:9.75rem;min-width:7.25rem;padding:5px 6px;font-size:12px;font-weight:500}
#app.chrome-off .theme-ico{display:none}
#app.chrome-off .theme-pick select{max-width:7.25rem;min-width:0;width:7.25rem}
#app.chrome-off .chrome-extra,#app.chrome-off #apiBar,#app.chrome-off #sizeBar,#app.chrome-off #flowMode,#app.chrome-off #flowColor{display:none!important}
#app.chrome-off #addbar{display:none!important}
#app.chrome-off .hdr-main{border-bottom:0;flex-wrap:nowrap}
#app.chrome-off #caseSel,#app.chrome-off #verSel{flex:1 1 90px;min-width:0;max-width:none}
#app.api-off #apiBar{display:none!important}
.api-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 12px;background:var(--rail);
  border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2)}
.api-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;
  background:var(--panel2);border:1px solid var(--line);cursor:pointer;color:var(--ink)}
.api-chip .dot{width:8px;height:8px;border-radius:50%;background:#6b7380;margin:0}
.api-chip.ok .dot{background:var(--ok)}
.api-chip.cooldown .dot{background:var(--warn)}
.api-chip.down .dot{background:var(--bad)}
.api-chip:disabled{opacity:.55;cursor:default}
.api-label,.api-ms,.api-rpm,.api-cache{color:var(--ink2)}
.api-error,.api-warn{color:var(--bad)}
.api-note{color:var(--warn)}
.size-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 12px;background:var(--rail);
  border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2)}
.size-bar[hidden]{display:none!important}
.size-lab{color:var(--ink);white-space:nowrap}
.size-lab b{color:var(--accent);font-variant-numeric:tabular-nums}
.size-bar input[type=range]{flex:1 1 180px;min-width:140px;max-width:360px;padding:0;height:22px;accent-color:var(--accent)}
#btnApi.on,#btnSize.on,#btnBulk.on,#btnSkin.on,#btnFlow.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.hdr-graphctl{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}
#btnLockG.on{border-color:var(--warn);color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}
/* задача трассировки: чип прогресса в шапке + полоска */
.task-chip{display:inline-flex;align-items:center;gap:6px;margin-left:2px;padding:5px 9px;border:1px solid var(--line);
  border-radius:999px;cursor:pointer;font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums;background:var(--panel2)}
.task-chip:hover{border-color:var(--accent);color:var(--ink)}
.task-chip.full{border-color:var(--ok);color:var(--ok)}
.task-chip.over{border-color:var(--warn);color:var(--warn)}
.task-chip[hidden]{display:none!important}
.task-bar{display:inline-block;width:54px;height:6px;border-radius:999px;background:var(--line);overflow:hidden;flex:0 0 auto;vertical-align:middle}
.task-bar.wide{display:block;width:100%;height:8px;margin:7px 0 5px}
.task-bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}
.task-bar.full .task-bar-fill{background:var(--ok)}
.task-bar.over .task-bar-fill{background:var(--warn)}
.task-sum{margin:8px 0 6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.task-status{font-size:12px;color:var(--ink2)}
.task-status.full{color:var(--ok)}
.task-status.over{color:var(--warn)}
.task-del{border-color:var(--bad);color:var(--bad)}
.task-del:hover{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent)}
/* зачёт адреса: блок в карточке узла, ячейка в сводке, модалка */
.side-task-sec .task-node{display:flex;flex-direction:column;gap:6px}
.task-node-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.task-node-status{font-size:11px;color:var(--ink2)}
.task-node-status.full{color:var(--ok)}
.task-node-status.over{color:var(--warn)}
.task-re{padding:2px 8px;font-size:11px;border-radius:999px;color:var(--ink2)}
.task-re:hover{color:var(--accent)}
.task-td{white-space:nowrap}
.task-td .btc{font-size:11px}
#accModal .box{width:400px}
.acc-addr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--ink2);
  word-break:break-all;margin:0 0 10px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
#accFrom{width:100%}
.acc-hint{margin:6px 0 0;font-size:11px}
a.hdr-aml{display:inline-flex;align-items:center;text-decoration:none;padding:7px 9px;border:1px solid var(--line);
  border-radius:8px;color:var(--ink);background:var(--panel2);font-size:13px}
a.hdr-aml:hover{border-color:var(--accent);color:var(--accent)}
.brand{font-weight:700;font-size:14px}.brand b{color:var(--accent)}
.mode-chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink2)}
.mode-chip.edit{color:var(--ok);border-color:var(--ok)}
input,button,select{font:inherit;color:var(--ink);background:var(--panel2);border:1px solid var(--line);
  border-radius:8px;padding:7px 9px}
select#caseSel,select#verSel{max-width:168px;min-width:0;font-weight:600;flex:0 1 168px}
select#layoutSel{max-width:148px;flex:0 1 148px}
select#spreadSel{max-width:64px;font-weight:600}
#search{flex:1 1 140px;min-width:100px;max-width:220px}
button{cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px}button:hover{border-color:var(--accent)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--primary-fg);font-weight:600}
button.icon{padding:7px 10px;font-weight:700}
.ui-ico{width:14px;height:14px;flex:0 0 auto;display:block}
button.icon .ui-ico{width:15px;height:15px}
.lock .ui-ico,.theme-ico .ui-ico{width:13px;height:13px;display:inline-block;vertical-align:-2px}
.theme-ico{display:inline-flex;align-items:center}
.type-ico{width:18px;height:18px;display:inline-flex;align-items:center;color:var(--ink);margin-right:2px}
.type-ico svg{width:16px;height:16px;display:block}
.aml-prov{display:flex;flex-wrap:wrap;gap:6px 10px;width:100%;font-size:12px;color:var(--ink);align-items:center;padding:6px 0 2px;border-top:1px solid var(--line)}
.aml-prov-lab{font-size:11px;color:var(--ink2);width:100%;letter-spacing:.02em}
.aml-prov-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2)}
.aml-prov-item input{margin:0}
.aml-prov-acts{display:flex;gap:6px;flex-wrap:wrap}
#amlProvHint{width:100%;font-size:11px}
a.hdr-aml .ui-ico{width:14px;height:14px}
#btnUndo,#btnRedo{min-width:0}
#btnUndo:disabled,#btnRedo:disabled{opacity:.4;cursor:default}
.lock{margin-left:auto;font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:8px}
#app.chrome-off .lock{margin-left:auto}
.lock b{color:var(--ok)}
.tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
main{flex:1;position:relative;min-height:0}#cy{position:absolute;inset:0;background:var(--bg)}
.flow-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#flowMode,#flowColor{max-width:128px;padding:6px 8px}
#side{position:absolute;top:10px;right:10px;width:380px;max-width:calc(100% - 20px);background:var(--panel);
  border:1px solid var(--line);border-radius:16px;padding:0;box-shadow:var(--shadow);
  display:none;max-height:calc(100% - 20px);overflow:auto;z-index:6;
  scrollbar-width:thin;scrollbar-gutter:stable}
#side::-webkit-scrollbar{width:10px}
#side::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:2px solid var(--panel)}
#side::-webkit-scrollbar-thumb:hover{background:var(--ink2)}
#sum{position:absolute;top:10px;left:10px;width:560px;max-width:calc(100% - 20px);background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);
  max-height:calc(100% - 20px);overflow:auto;z-index:7}
#sum[hidden]{display:none!important}
#skin{position:absolute;top:10px;left:10px;width:560px;max-width:calc(100% - 20px);background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);
  max-height:calc(100% - 20px);overflow:auto;z-index:7}
#skin[hidden]{display:none!important}
#report{position:absolute;top:10px;left:10px;width:680px;max-width:calc(100% - 20px);background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);
  max-height:calc(100% - 20px);overflow:auto;z-index:7}
#report[hidden]{display:none!important}
#report h3{margin:0 0 8px;font-size:14px}
#report .sum-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
#report table{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0 4px}
#report th,#report td{text-align:left;padding:5px 4px;border-top:1px solid var(--line);vertical-align:top}
#report th{color:var(--ink2);font-weight:600}
#report tr.rep-hit{cursor:pointer}
#report tr.rep-hit:hover{background:var(--panel2)}
#report .btc{font-variant-numeric:tabular-nums;white-space:nowrap}
#report .rep-addr{font-family:ui-monospace,Menlo,monospace;font-size:11px;white-space:nowrap}
.rep-h{margin:16px 0 4px;font-size:12.5px;color:var(--ink)}
.rep-sum p{margin:6px 0;font-size:12.5px;line-height:1.5}
.rep-pane[hidden]{display:none!important}
.rep-json{max-height:56vh;overflow:auto;margin:0;padding:10px;border:1px solid var(--line);border-radius:10px;
  background:var(--panel2);font-family:ui-monospace,Menlo,monospace;font-size:11px;line-height:1.45;
  white-space:pre;user-select:text}
@media(max-width:768px){
  #report{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;max-height:60vh;
    border-radius:14px 14px 0 0}
  .rep-json{max-height:34vh}
}
#bulk{position:absolute;top:10px;left:10px;width:560px;max-width:calc(100% - 20px);background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow);
  max-height:calc(100% - 20px);overflow:auto;z-index:7}
#bulk[hidden]{display:none!important}
#bulk h3{margin:0 0 8px;font-size:14px}
#bulk .bulk-sec{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
#bulk .bulk-sec h4{margin:0 0 8px;font-size:12px;color:var(--ink2);font-weight:600}
.bulk-row{display:grid;grid-template-columns:92px 1fr;gap:8px;align-items:center;margin:8px 0;font-size:12px;color:var(--ink2)}
.bulk-row select,.bulk-row input.edit{width:100%}
.bulk-vis[hidden],.bulk-extra[hidden]{display:none!important}
.mirror-pad{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);gap:6px;margin-top:8px;width:max-content}
.mirror-pad button{width:40px;height:40px;padding:0;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center}
.mirror-pad button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.mirror-pad .mirror-reset{font-size:20px}
#skin h3{margin:0 0 8px;font-size:14px}
#skin table{width:100%;border-collapse:collapse;font-size:12px}
#skin th,#skin td{text-align:left;padding:5px 4px;border-top:1px solid var(--line);vertical-align:middle}
#skin th{color:var(--ink2);font-weight:600}
#skin input[type=color]{width:42px;height:28px;padding:1px}
#skin select.edit,#skin input.edit{width:100%;padding:4px 6px}
.skin-tabs{display:flex;gap:4px;margin:0 0 10px;flex-wrap:wrap}
.skin-tab{padding:5px 10px;border-radius:8px}
.skin-tab.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.skin-pane[hidden]{display:none!important}
.skin-auto{margin:10px 0 12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.skin-auto .skin-auto-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.skin-auto b{color:var(--ink)}
.skin-edge h3{margin:0 0 6px;font-size:13px}
.skin-row{display:grid;grid-template-columns:88px 1fr 40px;gap:8px;align-items:center;margin:8px 0;font-size:12px;color:var(--ink2)}
.skin-row input[type=range]{width:100%;padding:0;height:22px;accent-color:var(--accent)}
.skin-row input[type=color]{width:42px}
.skin-labs{display:flex;flex-direction:column;gap:6px;margin:8px 0;font-size:12px;color:var(--ink2)}
.skin-labs label{display:flex;gap:8px;align-items:flex-start;color:var(--ink)}
.skin-labs input{margin-top:2px}
#sum h3{margin:0 0 8px;font-size:14px}
#sum table{width:100%;border-collapse:collapse;font-size:12px}
#sum th,#sum td{text-align:left;padding:5px 4px;border-top:1px solid var(--line);vertical-align:top}
#sum th{color:var(--ink2);font-weight:600}
#sum tr.hit{cursor:pointer}
#sum tr.hit:hover{background:var(--panel2)}
#sum a{color:var(--accent)}
#sum .sum-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
#sum .btc{font-variant-numeric:tabular-nums;white-space:nowrap}
.tally-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;
  padding:2px 8px;font-size:11px;color:var(--ink2);cursor:pointer;background:transparent;white-space:nowrap;user-select:none}
.tally-chip.on{border-color:var(--ok);color:var(--ok);background:rgba(46,194,126,.12)}
.tally-chip input{margin:0;accent-color:var(--ok)}
.tally-chip:has(input:disabled){opacity:.75;cursor:default}
.sum-chip{font-size:12px;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;cursor:pointer}
.sum-chip:hover{border-color:var(--accent);color:var(--ink)}
#side h3{margin:0 0 2px;font-size:13px}
.addr{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--ink2);word-break:break-all;margin-bottom:8px}
.row{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:4px 0;border-top:1px solid var(--line)}
.row span:first-child{color:var(--ink2)}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;margin-bottom:8px;margin-right:6px}
label.f{display:block;font-size:11px;color:var(--ink2);margin:10px 0 3px}
#side input.edit,#side textarea,#side select.edit{width:100%;background:var(--panel2);border:1px solid var(--line);
  border-radius:8px;color:var(--ink);padding:8px;font:inherit;font-size:12.5px}
#side textarea{min-height:64px;resize:vertical}
#side a{color:var(--accent)}
.acts{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.acts button{flex:1 1 auto}
.ro{color:var(--ink);font-size:13px;white-space:pre-wrap;word-break:break-word}
button.danger{border-color:var(--bad);color:var(--bad)}
button.danger:hover{background:#e5484d22}
#btnPick.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.sel-count{font-size:12px;color:var(--ink2);white-space:nowrap}
body.pick-on #cy{cursor:crosshair}
#addbar{position:absolute;top:10px;left:10px;display:none;gap:6px;align-items:center;flex-wrap:wrap;
  background:var(--panel-a);border:1px solid var(--line);border-radius:10px;padding:7px;z-index:4}
#addbar input{width:210px;max-width:46vw}
#legend{position:absolute;left:10px;bottom:10px;right:auto;width:fit-content;max-width:calc(100% - 20px);
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;
  background:var(--panel-a);border:1px solid var(--line);
  border-radius:8px;padding:3px 8px;font-size:11px;color:var(--ink2);line-height:1.2;z-index:3}
#legend .leg-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--ink2)}
#legend .leg-item .dot{margin:0}
#legend .leg-hint{color:var(--ink2);white-space:nowrap;max-width:min(48vw,420px);overflow:hidden;text-overflow:ellipsis}
#legend .leg-edit{padding:1px 6px;font-size:11px}
#legend .dot.mark-com,#legendEdit .dot.mark-com{border:2px solid #e0a800;background:transparent}
#legend .dot.mark-pdf,#legendEdit .dot.mark-pdf{background:#d4b36a;opacity:.55;border-radius:2px}
#legend .dot.mark-direct,#legendEdit .dot.mark-direct{background:#6aabb0;opacity:.55}
#legend .dot.mark-dos,#legendEdit .dot.mark-dos{border:3px double var(--ink);background:transparent}
.leg-shape{width:12px;height:12px;display:inline-block;flex:0 0 auto;vertical-align:-1px}
#legendEdit{position:absolute;left:10px;bottom:44px;width:420px;max-width:calc(100% - 20px);
  background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;
  box-shadow:var(--shadow);max-height:min(62vh, calc(100% - 60px));overflow:auto;z-index:7}
#legendEdit[hidden]{display:none!important}
#legendEdit h3{margin:0;font-size:14px}
#legendEdit .sum-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.leg-ed-rows{display:flex;flex-direction:column;margin-top:8px}
.leg-ed-row{display:grid;grid-template-columns:26px 40px minmax(72px,92px) 1fr 26px;gap:6px;
  align-items:center;padding:5px 0;border-top:1px solid var(--line);font-size:12px}
.leg-ed-row:first-child{border-top:0}
.leg-ed-show{display:flex;align-items:center;justify-content:center;margin:0}
.leg-ed-show input{margin:0}
.leg-ed-row input[type=color]{width:36px;height:26px;padding:1px}
.leg-ed-shape{padding:4px 5px;font-size:12px;min-width:0}
.leg-ed-name{padding:5px 7px;font-size:12px;min-width:0}
.leg-ed-mark{grid-column:span 2;display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}
.leg-ed-mark .dot{margin:0}
.leg-ed-del{padding:2px 7px;font-size:13px;line-height:1}
.leg-ed-pad{width:26px}
.leg-ed-add{display:flex;gap:6px;margin:10px 0 2px;align-items:center}
.leg-ed-add input{flex:1 1 auto;min-width:0}
#legEdHint{width:100%;min-height:48px;margin-top:4px}
@media(max-width:768px){
  #legendEdit{left:8px;right:8px;width:auto;bottom:44px;max-height:56vh}
}
.icon-picks{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.icon-pick{width:40px;height:40px;padding:6px;display:flex;align-items:center;justify-content:center;
  background:var(--panel2);border:1px solid var(--line);border-radius:8px;opacity:.5;color:var(--ink)}
.icon-pick svg{width:22px;height:22px;display:block}
.icon-pick.on{border-color:var(--accent);opacity:1;background:var(--accent-soft)}
.icon-pick:hover{opacity:.9;border-color:var(--accent)}
.icon-op{width:100%;padding:0;height:22px;accent-color:var(--accent)}
header,#apiBar,#sizeBar,#addbar,#side,#amlDock,#sum,#report,#skin,#bulk,#legend,#legendEdit,#toast,.modal .box{zoom:var(--ui-scale)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
#toast{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:var(--toast-bg);color:var(--toast-fg);
  padding:9px 16px;border-radius:20px;font-size:13px;opacity:0;transition:.25s;pointer-events:none;z-index:9}
#toast.show{opacity:.95}
.modal{position:absolute;inset:0;background:var(--modal-dim);display:none;align-items:center;justify-content:center;z-index:20}
.modal .box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;width:320px;max-width:90%}
#caseModal .box{width:400px}
.modal h3{margin:0 0 10px}.modal input{width:100%;margin-bottom:12px}
#tip{position:absolute;z-index:8;display:none;min-width:240px;max-width:340px;background:var(--panel);
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);
  font-size:12px;pointer-events:none;line-height:1.45}
#tip .tip-ref{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--ink2);word-break:break-all;margin-bottom:6px}
#tip .cp{margin-top:4px;color:var(--ink2)}
.own-vis{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--ink2);margin:6px 0 8px}
.own-vis input{margin:0}
.vis-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 3px}
.vis-head .f{margin:0}
.side-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.top3-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 4px;font-size:12px;color:var(--ink2)}
.top3-head button{padding:2px 8px;font-size:11px}
.aml-src{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;align-items:center}
.aml-src input{flex:1 1 140px}
#amlAdd,.aml-src-acts .aml-lab-open{margin:0}
.aml-src-acts{margin:6px 0 10px}
.aml-src-del{padding:4px 8px;font-size:11px}
.side-aml-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  margin:0 0 8px;padding:0;background:transparent;border-bottom:0}
.side-aml-bar .aml-lab-open{flex:0 0 auto;min-width:72px}
.side-aml-bar .aml-lab-cab{font-size:12px;color:var(--ink2);text-decoration:none;margin-left:auto}
.side-aml-bar .aml-lab-cab:hover{color:var(--accent)}
#amlDock[hidden]{display:none!important}
#amlDock:not([hidden]){position:absolute;top:10px;right:400px;left:auto;width:min(420px, calc(100% - 420px));
  max-height:calc(100% - 20px);display:flex;flex-direction:column;overflow:hidden;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow);z-index:8}
#amlDock a{color:var(--accent)}
#amlDock .aml-dock-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:12px 14px;border-bottom:1px solid var(--line)}
#amlDock .aml-dock-head h3{margin:0;font-size:14px;flex:1 1 auto}
#amlDock .aml-dock-head button{padding:4px 8px;font-size:11px}
#amlDock .aml-dock-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 14px 16px}
#amlDock .aml-dock-add{display:flex;flex-wrap:wrap;gap:6px;align-items:end;margin:0 0 10px}
#amlDock .aml-prov{border-top:none;padding:0 0 8px}
#amlDock .aml-pdfs{margin:8px 0;font-size:12px;line-height:1.45}
#amlDock .aml-dock-add label{margin:0;flex:1 1 90px}
#amlDock .aml-dock-add select,#amlDock .aml-dock-add input{width:100%}
#amlDock .aml-cmp{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}
#amlDock .aml-cmp th,#amlDock .aml-cmp td{text-align:left;padding:6px 5px;border-top:1px solid var(--line);vertical-align:top}
#amlDock .aml-cmp th{color:var(--ink2);font-weight:600}
#amlDock .aml-cmp tr.diff td{background:#e0a80014}
#amlDock .aml-cmp .diff-lab{color:var(--warn)}
#amlDock .aml-pw{display:flex;flex-direction:column;gap:8px;max-width:280px}
@media(max-width:1100px){
  #amlDock:not([hidden]){right:auto;left:10px;width:min(420px, calc(100% - 20px))}
}
#btnLive{padding:4px 8px;font-size:11px}
#btnLive.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
#btnLiveDiscard{border-color:var(--warn);color:var(--warn)}
#liveHint{margin:0 0 6px;font-size:11px}
.owner-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.owner-row label{font-size:12px;display:flex;gap:4px;align-items:center}
.swatches{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:6px 0}
.swatch{width:22px;height:22px;border-radius:50%;border:2px solid #000;cursor:pointer;padding:0;flex:0 0 auto}
.swatch.on{border-color:var(--ink)}
.swatch:disabled,.swatches input:disabled{opacity:.4;cursor:default;pointer-events:none}
.swatches input[type=color]{width:42px;height:28px;padding:1px;flex:0 0 auto}
.swatches.mini{gap:4px;margin:3px 0 0}
.swatch.mini,.swatches.mini .swatch{width:16px;height:16px}
.swatches.mini input[type=color]{width:28px;height:22px}
#skin td .swatches{flex-wrap:wrap;max-width:168px}
.skin-add{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap;align-items:center}
.skin-add input{flex:1 1 160px}
.skin-row.skin-color{grid-template-columns:88px 1fr}
#sk-leg-hint{width:100%;min-height:52px;margin-top:6px}
.sk-x-del{padding:2px 8px;margin-left:6px}
.snap-ok{font-size:11px;color:var(--ok)}
button[hidden]{display:none!important}
.aml-hist-h{margin-top:12px}
.aml-hist{display:flex;flex-direction:column;gap:2px;font-size:12px}
.aml-hist-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:5px 0;border-top:1px solid var(--line)}
.aml-hist-row:first-child{border-top:0;padding-top:0}
.aml-hist-row.arch{opacity:.62}
.aml-hist-prov{font-weight:650;color:var(--ink)}
.aml-hist-when{color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.aml-hist-risk{font-weight:600;color:var(--ink2);white-space:nowrap}
.aml-hist-risk.ok{color:var(--ok)}
.aml-hist-risk.warn{color:var(--warn)}
.aml-hist-risk.bad{color:var(--bad)}
.aml-hist-who{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.side-direct-sec .direct-block{margin:0}
.direct-block{margin:8px 0;font-size:12.5px;line-height:1.55}
.direct-lab{color:var(--ink2)}
.direct-phrase{color:var(--ink)}
.direct-item{display:inline;margin-right:4px}
.direct-x{padding:0 5px;margin:0;border:0;background:transparent;color:var(--ink2);cursor:pointer;font-size:13px}
.direct-x:hover{color:var(--bad)}
.direct-add{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.direct-add input{flex:1 1 90px;min-width:70px;width:auto}
.aml-file{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 8px;font-size:12px}
.aml-file a{color:var(--accent)}
#dGroupBox{margin-top:6px}
#dGroup{min-height:90px;width:100%}
.tx-row{border-top:1px solid var(--line);padding:6px 0;cursor:pointer}
.tx-row header{display:flex;justify-content:space-between;gap:8px;font-family:ui-monospace,Menlo,monospace;font-size:11px}
.tx-row .pos{color:var(--ok)}.tx-row .neg{color:var(--bad)}
.tx-io{display:none;margin-top:6px;font-size:11px;color:var(--ink2)}
.tx-row.open .tx-io{display:block}
.tx-io div{margin:2px 0;word-break:break-all}
.snap{font-size:11px;color:var(--warn)}
.muted{color:var(--ink2);font-size:12px}
.style-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
input[type=color]{padding:2px;height:34px;width:100%}
html[data-theme="operator"] .hdr-row{padding:3px 8px;gap:4px}
html[data-theme="operator"] input,html[data-theme="operator"] button,html[data-theme="operator"] select{padding:4px 7px;font-size:12px;border-radius:6px}
html[data-theme="operator"] button.icon{padding:4px 8px}
html[data-theme="operator"] .hdr-lab,html[data-theme="operator"] .theme-pick select{font-size:11px}
html[data-theme="operator"] .brand{font-size:13px}
html[data-theme="operator"] .mode-chip{font-size:10px;padding:1px 6px}
html[data-theme="operator"] .lock{font-size:11px;gap:6px}
html[data-theme="operator"] a.hdr-aml{padding:4px 7px;font-size:12px}
html[data-theme="operator"] .api-bar,.size-bar{padding:4px 10px}
html[data-theme="operator"] #addbar{padding:4px;gap:4px;border-radius:8px}
html[data-theme="operator"] #side{padding:0}
html[data-theme="operator"] .side-aml-bar{margin:0 0 6px;padding:0}
html[data-theme="operator"] #side h3{font-size:12px}
html[data-theme="operator"] .row{padding:2px 0;font-size:12px}
html[data-theme="operator"] label.f{margin:6px 0 2px}
html[data-theme="operator"] #side input.edit,html[data-theme="operator"] #side textarea,html[data-theme="operator"] #side select.edit{padding:5px 7px;font-size:12px;border-radius:6px}
html[data-theme="operator"] .acts{margin-top:8px;gap:4px}
html[data-theme="operator"] #sum,html[data-theme="operator"] #skin,html[data-theme="operator"] #bulk{padding:10px}
html[data-theme="operator"] .sum-chip{padding:2px 8px;font-size:11px}
html[data-theme="operator"] .theme-pick select{max-width:8.75rem;padding:3px 5px}
html[data-theme="operator"] .mirror-pad{gap:4px;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,36px)}
html[data-theme="operator"] .mirror-pad button{width:36px;height:36px}
@media(max-width:1100px){
  .theme-ico{display:none}
  .theme-pick select{max-width:8.25rem;min-width:0}
}
@media(max-width:768px){
  header{padding:0}
  .hdr-row{padding:6px 8px;gap:5px}
  input,button,select{padding:8px;font-size:16px}
  #side{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;max-height:48vh;
    border-radius:14px 14px 0 0}
  #sum{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;max-height:55vh;
    border-radius:14px 14px 0 0}
  #skin{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;max-height:55vh;
    border-radius:14px 14px 0 0}
  #bulk{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;max-height:55vh;
    border-radius:14px 14px 0 0}
  #amlDock:not([hidden]){top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;
    max-height:min(72dvh, calc(100% - 8px));border-radius:14px 14px 0 0}
  #legend{left:8px;right:auto;bottom:8px;width:fit-content;max-width:calc(100% - 16px);font-size:10px}
  #legend .leg-hint{max-width:70vw}
  #addbar{right:10px;max-height:42vh;overflow:auto}
  #addbar input{width:140px}
  #tip{left:8px!important;right:8px;width:auto;max-width:none;top:auto!important;bottom:calc(48vh + 8px)}
  .lock{margin-left:0}
  .theme-ico{display:none}
  .theme-pick select{max-width:7.5rem;min-width:0;font-size:16px}
  html[data-theme="operator"] input,html[data-theme="operator"] button,html[data-theme="operator"] select{padding:8px;font-size:16px}
  #app.chrome-off .mode-chip,#app.chrome-off #lockTxt{display:none}
  #app.chrome-off .brand{font-size:13px}
  .hdr-row{flex-wrap:wrap}
}

/* Compact two-row chrome at 1280 / 1440 */
@media(max-width:1440px){
  .hdr-lab{display:none}
  select#caseSel,select#verSel{max-width:140px;flex-basis:140px}
  select#layoutSel{max-width:132px}
  .theme-pick select{max-width:8.25rem;min-width:0}
  #search{max-width:180px}
  input,button,select{padding:6px 8px}
  button.icon{padding:6px 8px}
  a.hdr-aml{padding:6px 8px}
}
@media(max-width:1280px){
  select#caseSel,select#verSel{max-width:118px;flex-basis:118px}
  select#layoutSel{max-width:118px}
  #search{max-width:148px;flex-basis:120px}
  .theme-pick select{max-width:7.25rem}
  #btnUndo span,#btnRedo span,#btnFit span,#btnSum span,#btnSkin span,#btnSize span,#btnApi span,#btnPng span{display:none}
  #btnUndo,#btnRedo,#btnFit,#btnSum,#btnSkin,#btnSize,#btnApi,#btnPng{min-width:34px;padding:6px 7px}
  a.hdr-aml span{display:none}
  a.hdr-aml{min-width:34px;padding:6px 7px;justify-content:center}
  #lockTxt{display:none}
}

.side-head{position:sticky;top:0;z-index:4;background:var(--panel);padding:12px 16px 12px;
  border-bottom:1px solid var(--line)}
.side-body{padding:10px 16px 16px}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 2px}
.side-top .side-kicker{margin:0}
.side-x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  margin:0 -6px 0 0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink2);cursor:pointer}
.side-x:hover{background:var(--panel2);color:var(--ink);border:0}
.side-x .ui-ico{width:16px;height:16px}
a.side-ico-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:36px;
  padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);
  color:var(--ink);text-decoration:none}
a.side-ico-link:hover{border-color:var(--accent);color:var(--accent)}
a.side-ico-link .ui-ico{width:15px;height:15px}
.side-chip-type{font-weight:650}
.side-aml-tools{display:flex;align-items:center;gap:6px;width:100%}
.side-aml-tools .aml-lab-open{flex:1 1 auto;min-height:36px;border-radius:10px;font-weight:650;letter-spacing:.01em}
.side-aml-tools .aml-lab-cab{margin-left:0;font-size:11px;color:var(--ink2);text-decoration:none;white-space:nowrap}
.side-aml-tools .aml-lab-cab:hover{color:var(--accent)}
.aml-set-wrap{position:relative;flex:0 0 auto}
.aml-set-btn{min-width:36px;padding:7px 8px}
.aml-set-pop{display:none;position:absolute;top:calc(100% + 6px);right:0;z-index:8;
  min-width:228px;padding:10px;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow)}
.aml-set-pop.open{display:block}
.aml-set-pop .aml-prov{border-top:0;padding:0;flex-direction:column;align-items:stretch;gap:6px}
.aml-set-pop .aml-prov-lab{margin-bottom:2px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:10px}
.aml-set-pop .aml-prov-item{width:100%}
#amlProvHint{width:100%;font-size:11px;min-height:0}
.side-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);font-weight:650;margin:0 0 4px}
.side-addr-row{display:flex;align-items:center;gap:8px}
.side-addr{margin:0;font-size:22px;line-height:1.15;font-weight:700;letter-spacing:-.02em;flex:1 1 auto;
  font-family:ui-monospace,Menlo,monospace;word-break:break-all}
#btnCopy.icon{min-width:36px;padding:7px 8px}
.side-addr-full{font-size:11px;color:var(--ink2);margin:4px 0 8px;word-break:break-all}
.side-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 2px}
.side-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;
  font-size:11px;font-weight:600;border:1px solid var(--line);background:var(--panel2);color:var(--ink)}
.side-chip.ok{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 35%, var(--line))}
.side-chip.warn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, var(--line))}
.side-facts{display:flex;flex-direction:column;margin:8px 0 4px}
.side-fact{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 0;border-top:1px solid var(--line);font-size:13px}
.side-fact-lab{display:inline-flex;align-items:center;gap:8px;color:var(--ink2);font-size:12px}
.side-fact-lab .ui-ico{width:15px;height:15px;opacity:.75}
.side-fact-val{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
.side-sec{margin:14px 0 8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.side-sec-h{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);font-weight:700;margin:0 0 8px}
.cp-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 6px;margin:0;
  border:0;border-radius:10px;background:transparent;cursor:pointer}
.cp-row:hover{background:var(--panel)}
.cp-ico{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cp-ico svg{width:14px;height:14px;display:block}
.cp-name{flex:1 1 auto;font-size:12.5px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-amt{font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}
.cp-tx{font-size:11px;color:var(--ink2);min-width:3.2em;text-align:right}
.top3-head{margin:4px 0 6px}
.top3-foot{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:4px;
  padding:8px 0 0;border-top:1px solid var(--line);background:transparent;border-left:0;border-right:0;border-bottom:0;
  border-radius:0;color:var(--ink2);font-size:12px;font-weight:600}
.side-tabs{display:flex;gap:4px;margin:0 0 10px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.side-tab{flex:1 1 auto;padding:6px 10px;font-size:12px;font-weight:600;border:0;border-radius:8px;
  background:transparent;color:var(--ink2);cursor:pointer}
.side-tab:hover{color:var(--ink);border:0}
.side-tab.on{background:var(--accent-soft);color:var(--accent)}
.side-tab-pane[hidden]{display:none!important}
.side-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}
.side-sec-head .side-sec-h{margin:0}
.side-sec-head #editToggle{padding:4px 10px;font-size:12px}
.side-sec-head #editToggle.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.side-edit #editBody{padding-top:2px}
.side-acts-h{margin:14px 0 6px}
.side-foot{position:sticky;bottom:0;z-index:4;display:flex;gap:8px;padding:10px 16px 12px;
  background:var(--panel);border-top:1px solid var(--line)}
.side-foot .danger{flex:1 1 auto;justify-content:center}
#btnCopy.copied{border-color:var(--ok);color:var(--ok)}
.side-fact-val.is-empty{color:var(--ink2);font-weight:500;cursor:help}
.side-empty{display:flex;align-items:center;gap:8px;padding:14px 12px;margin:4px 0;
  border:1px dashed var(--line);border-radius:10px;color:var(--ink2);font-size:12px;line-height:1.4}
.side-empty .ui-ico{width:16px;height:16px;opacity:.6;flex:0 0 auto}
button.loading{opacity:.8;pointer-events:none}
button.loading::after{content:"";width:12px;height:12px;margin-left:2px;flex:0 0 auto;display:inline-block;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sideSpin .7s linear infinite}
@keyframes sideSpin{to{transform:rotate(360deg)}}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,
.side-tab:focus-visible,.side-x:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

html[data-theme="beige-light"]{
  font-family:Inter,"Segoe UI",Roboto,system-ui,sans-serif}
html[data-theme="beige-light"] header{
  background:transparent;border-bottom:none;padding:10px 12px 8px;gap:8px}
html[data-theme="beige-light"] .hdr-row{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 6px 20px rgba(50,40,28,.07)}
html[data-theme="beige-light"] .hdr-main{border-bottom:none}
html[data-theme="beige-light"] .hdr-tools{padding:5px 10px}
html[data-theme="beige-light"] #editBtn{
  background:var(--accent);color:var(--primary-fg);border-color:var(--accent);font-weight:650;border-radius:10px}
html[data-theme="beige-light"] .mode-chip{background:var(--rail)}
html[data-theme="beige-light"] #search{border-radius:999px;background:var(--rail)}
html[data-theme="beige-light"] #addbar{border-radius:14px;box-shadow:var(--shadow)}
html[data-theme="beige-light"] #side{border-radius:18px}
html[data-theme="beige-light"] .brand b{color:var(--ink)}
html[data-theme="beige-light"] .side-chip.ok{background:#e7efe3;color:#4d6a48;border-color:#c9d8c4}
html[data-theme="beige-light"] .side-chip.warn{background:#f6e6dc;color:#a45b3c;border-color:#e8cbbd}
html[data-theme="beige-light"] #legend{border-radius:999px;padding:4px 12px}
html[data-theme="beige-light"] button.icon{border-radius:10px}

@media(max-width:768px){
  html[data-theme="beige-light"] header{padding:8px 8px 6px}
}

/* Панель узла: на узких экранах — нижний лист поверх графа, не сжимая канву */
@media(max-width:900px){
  #side{top:auto;bottom:0;right:0;left:0;width:100%;max-width:100%;max-height:62vh;
    border-radius:14px 14px 0 0}
  .side-addr{font-size:19px}
  .side-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px))}
}
