/* mySkills: стойка с модулями и испытательный стенд.
   Графит, одна сигнальная жёлтая, всё механическое: клавиши, флажковые счётчики, рельсы. */

:root{
  --bg:#121211;
  --well:#0b0b0a;
  --panel:#191917;
  --panel-2:#20201d;
  --panel-3:#292925;
  --edge:#2a2a27;
  --edge-2:#393935;
  --edge-hi:#4b4b46;
  --ink:#eceae3;
  --ink-2:#b5b3aa;
  --ink-3:#8a887f;
  --ink-4:#5d5c56;
  --sig:#f4c21b;
  --sig-2:#b98f0a;
  --sig-ink:#171300;
  --sig-dim:#2e2811;
  --mono:'Martian Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --sans:'IBM Plex Sans', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --hh:56px;
  --noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --rail:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='22'><rect x='3.5' y='7' width='7' height='7' rx='1' fill='%23080807' stroke='%23343430'/></svg>");
  --screw:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><circle cx='5' cy='5' r='4.2' fill='%232c2c28' stroke='%23111110'/><path d='M2.6 6.4 7.4 3.6' stroke='%23111110' stroke-width='1.3'/></svg>");
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{
  margin:0;min-height:100dvh;color:var(--ink);
  background-color:var(--bg);background-image:var(--noise);
  font:14px/1.45 var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
[hidden]{display:none !important}
::selection{background:var(--sig);color:var(--sig-ink)}
:focus-visible{outline:2px solid var(--sig);outline-offset:2px}

.mono{font-family:var(--mono)}
.dim{color:var(--ink-4)}

/* ---------- клавиши ---------- */
.key{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  font:500 11px/1 var(--mono);font-stretch:87.5%;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2);background:var(--panel-2);
  border:1px solid var(--edge-2);border-top-color:var(--edge-hi);border-radius:5px;
  padding:9px 12px;
  box-shadow:0 2px 0 #050505,0 3px 0 #000;
  transition:transform .05s linear,box-shadow .05s linear,color .1s;
  user-select:none;-webkit-user-select:none;
}
.key:hover{color:var(--ink)}
.key:active{transform:translateY(2px);box-shadow:0 0 0 #050505,0 1px 0 #000}
.key.on{transform:translateY(1px);box-shadow:0 1px 0 #050505,0 2px 0 #000;color:var(--ink);background:var(--panel-3)}
.key.sig{background:var(--sig);color:var(--sig-ink);border-color:#d7a915;border-top-color:#ffe07a}
.key.sig:hover{color:var(--sig-ink)}
.led{width:6px;height:6px;border-radius:1px;background:#0a0a09;border:1px solid #3c3c37;flex:none}
.on>.led,.led.on{background:var(--sig);border-color:var(--sig-2)}

kbd{
  font:500 10px/1 var(--mono);color:var(--ink-3);
  border:1px solid var(--edge-2);border-bottom-width:2px;border-radius:3px;padding:3px 5px;background:var(--panel)
}

/* ---------- шапка ---------- */
.top{
  position:sticky;top:0;z-index:30;height:var(--hh);
  display:flex;align-items:center;gap:18px;padding:0 20px;
  background:rgba(18,18,17,.78);
  -webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid var(--edge);
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 17px/1 var(--mono);font-stretch:112.5%;letter-spacing:-.01em}
.logo span{color:var(--ink-3);font-weight:400}
.logo svg{flex:none}
.mode{display:flex;gap:0;padding:3px;background:var(--well);border:1px solid var(--edge);border-radius:7px}
.mode a{
  text-decoration:none;font:500 11px/1 var(--mono);font-stretch:87.5%;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-3);padding:8px 14px;border-radius:5px;display:flex;align-items:center;gap:8px;border:1px solid transparent
}
.mode a.on{background:var(--panel-3);color:var(--ink);border-color:var(--edge-2);border-top-color:var(--edge-hi);box-shadow:0 1px 0 #000}
.top .meta{margin-left:auto;display:flex;align-items:center;gap:14px;font:400 11px/1 var(--mono);font-stretch:87.5%;color:var(--ink-3)}
.top .meta b{color:var(--ink-2);font-weight:500}

/* ---------- флажковый счётчик ---------- */
.flap{display:inline-flex;gap:1px;font:600 20px/1 var(--mono);font-stretch:87.5%;font-variant-numeric:tabular-nums}
.fc{
  position:relative;display:inline-block;min-width:.78em;text-align:center;padding:4px 2px 3px;
  background:#0a0a09;color:var(--ink);border-radius:2px;border:1px solid #000;
}
.fc::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#000}
.fc.fl{animation:flip .11s steps(3,end)}
@keyframes flip{from{transform:scaleY(.15)}to{transform:scaleY(1)}}

/* ---------- каталог: раскладка ---------- */
.cat{display:grid;grid-template-columns:272px minmax(0,1fr);gap:0;min-height:calc(100dvh - var(--hh))}
.bays{
  position:sticky;top:var(--hh);align-self:start;height:calc(100dvh - var(--hh));overflow:auto;
  padding:18px 12px 24px 16px;border-right:1px solid var(--edge);
}
.bays-h{font:500 10px/1 var(--mono);letter-spacing:.14em;color:var(--ink-4);margin:4px 8px 12px;text-transform:uppercase}
.bay-b{
  width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:6px;
  background:none;border:1px solid transparent;border-radius:4px;padding:8px 8px;text-align:left;color:var(--ink-2)
}
.bay-b .u{font:500 10px/1 var(--mono);color:var(--ink-4)}
.bay-b .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.bay-b b{font:500 11px/1 var(--mono);font-stretch:87.5%;color:var(--ink-3)}
.bay-b:hover{background:var(--panel);color:var(--ink)}
.bay-b.on{background:var(--panel-2);border-color:var(--edge-2);color:var(--ink)}
.bay-b.on .u{color:var(--sig)}
.bay-b.zero{opacity:.38}
.bays-foot{margin:18px 8px 0;font:400 10.5px/1.6 var(--mono);font-stretch:87.5%;color:var(--ink-4)}
.bays-foot b{color:var(--ink-3);font-weight:500}

.work{min-width:0;padding:18px 24px 80px}

/* пульт: линзы и запрос */
.console{
  position:relative;background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:16px 18px 14px;
  background-image:var(--screw),var(--screw),var(--screw),var(--screw);
  background-repeat:no-repeat;background-position:left 6px top 6px,right 6px top 6px,left 6px bottom 6px,right 6px bottom 6px;
}
.lenses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.lens{flex-direction:column;align-items:flex-start;gap:10px;padding:10px 12px 11px;min-width:0}
.lens .lk{display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lens .flap{font-size:19px}
.lens.on .lk{color:var(--ink)}
.lens.on .led{background:var(--sig);border-color:var(--sig-2)}
.lens .ls{display:none}

.query{
  margin-top:14px;display:flex;align-items:center;gap:10px;
  background:var(--well);border:1px solid var(--edge-2);border-radius:6px;padding:0 10px 0 14px;height:46px;
  box-shadow:inset 0 2px 0 #000;
}
.query .pr{font:600 16px/1 var(--mono);color:var(--sig)}
.query input{
  flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;
  font:400 14px/1 var(--mono);font-stretch:87.5%;color:var(--ink);caret-color:var(--sig)
}
.query input::placeholder{color:var(--ink-4)}
.query .clr{background:none;border:0;color:var(--ink-3);font:500 11px/1 var(--mono);padding:6px}
.parse{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;min-height:22px;font:400 11px/1 var(--mono);font-stretch:87.5%;color:var(--ink-3)}
.tok{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--edge-2);border-radius:3px;padding:4px 6px;color:var(--ink-2);max-width:100%;overflow:hidden}
.tok i{font-style:normal;color:var(--ink-4)}
.tok b{font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hint{background:none;border:1px dashed var(--edge-2);border-radius:3px;padding:4px 6px;color:var(--ink-3);font:inherit}
.hint:hover{color:var(--sig);border-color:var(--sig-2)}
.parse .cnt{margin-left:auto;color:var(--ink-2)}
.parse .cnt b{color:var(--sig);font-weight:600}

.bar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:16px 2px 6px}
.seg{display:inline-flex;padding:3px;background:var(--well);border:1px solid var(--edge);border-radius:6px;gap:2px}
.seg button{
  background:none;border:1px solid transparent;border-radius:4px;padding:7px 10px;
  font:500 10.5px/1 var(--mono);font-stretch:87.5%;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)
}
.seg button small{font-size:10px;color:var(--ink-4);margin-left:5px;letter-spacing:0}
.seg button.on{background:var(--panel-3);color:var(--ink);border-color:var(--edge-2);border-top-color:var(--edge-hi);box-shadow:0 1px 0 #000}
.bar .lbl{font:500 10px/1 var(--mono);letter-spacing:.12em;color:var(--ink-4);text-transform:uppercase;margin-right:-8px}

/* стойка: рельсы и модули */
.rack{position:relative;margin-top:14px;padding:0 22px;background:var(--well);border:1px solid var(--edge);border-radius:6px}
.rack::before,.rack::after{content:"";position:absolute;top:0;bottom:0;width:15px;background:var(--panel-2) var(--rail) repeat-y center top;border-color:var(--edge)}
.rack::before{left:0;border-right:1px solid var(--edge);border-radius:6px 0 0 6px}
.rack::after{right:0;border-left:1px solid var(--edge);border-radius:0 6px 6px 0}

.bay{padding:6px 0 10px}
.bay+.bay{border-top:1px solid var(--edge)}
.bay-h{display:flex;align-items:baseline;gap:12px;padding:16px 10px 10px}
.bay-h .n{font:600 11px/1 var(--mono);color:var(--sig)}
.bay-h h2{margin:0;font:600 13px/1.2 var(--mono);font-stretch:100%;letter-spacing:.04em;text-transform:uppercase}
.bay-h .m{font:400 11px/1 var(--mono);font-stretch:87.5%;color:var(--ink-3);white-space:nowrap}
.bay-h .rule{flex:1;height:1px;background:var(--edge);align-self:center;min-width:12px}

.rows{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.row{
  position:relative;display:grid;align-items:center;gap:14px;
  grid-template-columns:44px minmax(0,1fr) 168px 92px 104px 84px 30px;
  background:var(--panel);border:1px solid var(--edge);border-top-color:#33332f;border-radius:4px;
  padding:9px 10px 9px 12px;cursor:pointer;min-height:58px;
  box-shadow:0 1px 0 #000;
}
.row:hover{background:var(--panel-2);border-color:var(--edge-2)}
.row:focus-visible{outline:2px solid var(--sig);outline-offset:1px}
.row.sel{border-color:var(--sig-2)}
.kd{
  font:600 10px/1 var(--mono);font-stretch:87.5%;letter-spacing:.06em;color:var(--ink-2);
  border:1px solid var(--edge-hi);border-radius:3px;padding:5px 0;text-align:center
}
.kd.plugin{background:var(--ink-2);color:var(--well);border-color:var(--ink-2)}
.kd.mcp{border-style:dashed}
.nm{min-width:0}
.nm .l1{display:flex;align-items:baseline;gap:10px;min-width:0}
.nm b{font:500 13.5px/1.25 var(--mono);font-stretch:87.5%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.nm .au{font:400 11px/1 var(--mono);font-stretch:75%;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}
.nm small{display:block;margin-top:4px;color:var(--ink-3);font-size:12.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw{font:600 9.5px/1 var(--mono);font-style:normal;letter-spacing:.06em;color:var(--sig-ink);background:var(--sig);border-radius:2px;padding:3px 4px;flex:none}
.in{font:400 11px/1.3 var(--mono);font-stretch:75%;color:var(--ink-2);display:flex;align-items:center;gap:8px;min-width:0}
.in span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mt{width:8px;height:8px;border-radius:1px;flex:none;background:var(--sig);border:1px solid var(--sig-2)}
.mt.off{background:transparent;border-color:var(--ink-3)}
.pp{font:500 12px/1 var(--mono);font-stretch:87.5%;text-align:right;white-space:nowrap}
.pp u{text-decoration:none;color:var(--ink-3);font-weight:400;font-size:10px;margin-left:4px}
.jv{display:flex;align-items:flex-end;gap:10px;justify-content:flex-end}
.bars{display:flex;align-items:flex-end;gap:2px;height:20px}
.bars i{display:block;width:5px;background:var(--ink-4);border-radius:1px 1px 0 0;min-height:2px}
.bars i.pk{background:var(--ink-2)}
.jv b{font:600 14px/1 var(--mono);font-stretch:87.5%;min-width:32px;text-align:center;padding:4px 0;border-radius:3px;border:1px solid transparent}
.jv.hi b{background:var(--sig);color:var(--sig-ink)}
.jv.hi .bars i.pk{background:var(--sig)}
.rs{text-align:right}
.rk{font:500 9.5px/1 var(--mono);font-stretch:87.5%;letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--edge-hi);border-radius:2px;padding:4px 5px;white-space:nowrap}
.fv{background:none;border:0;color:var(--ink-4);font-size:16px;line-height:1;padding:6px;border-radius:4px}
.fv:hover{color:var(--ink)}
.fv.on{color:var(--sig)}
.row .mob{display:none}
.row .rcat{display:none}
.flat .row .rcat{display:inline;font:400 10.5px/1 var(--mono);font-stretch:75%;color:var(--ink-4);white-space:nowrap}

.more{
  margin:10px 0 2px;width:100%;background:none;border:1px dashed var(--edge-2);border-radius:4px;padding:10px;
  font:500 11px/1 var(--mono);font-stretch:87.5%;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)
}
.more:hover{color:var(--ink);border-color:var(--ink-4)}
.empty{padding:48px 16px;text-align:center;color:var(--ink-3);font:400 12px/1.6 var(--mono)}
.empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:6px}

/* ---------- карточка вещи (матовое стекло) ---------- */
.scrim{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .18s}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{
  position:fixed;z-index:41;top:0;right:0;bottom:0;width:min(580px,100vw);
  background:rgba(30,30,27,.8);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);backdrop-filter:blur(22px) saturate(1.15);
  border-left:1px solid var(--edge-2);
  transform:translateX(104%);transition:transform .26s cubic-bezier(.2,.9,.15,1);
  overflow:auto;overscroll-behavior:contain;
}
.sheet.on{transform:none}
.sh-top{
  position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 16px;
  background:rgba(24,24,22,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--edge)
}
.sh-top .ser{font:400 11px/1 var(--mono);font-stretch:75%;color:var(--ink-3)}
.sh-top .sp{flex:1}
.sh-in{padding:18px 22px 40px}
.sh-in h1{margin:0;font:600 26px/1.1 var(--mono);font-stretch:87.5%;letter-spacing:-.01em;overflow-wrap:anywhere}
.sh-by{margin-top:8px;font:400 12px/1.4 var(--mono);font-stretch:87.5%;color:var(--ink-3);overflow-wrap:anywhere}
.sh-ru{margin-top:12px;font-weight:600;font-size:15px}
.sh-desc{margin-top:10px;color:var(--ink-2);font-size:14px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.sh-desc.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.linkish{background:none;border:0;padding:4px 0;color:var(--ink-3);font:500 11px/1 var(--mono);text-decoration:underline;text-underline-offset:3px}
.blk{margin-top:18px;border-top:1px solid var(--edge);padding-top:14px}
.blk-h{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.blk-h .r{margin-left:auto;letter-spacing:0;text-transform:none;font-stretch:87.5%}

.jev{display:grid;grid-template-columns:1fr;gap:14px}
.jev-s{display:flex;align-items:baseline;gap:12px;font:600 44px/0.9 var(--mono);font-stretch:87.5%}
.jev-s small{font-size:13px;color:var(--ink-3);font-weight:400;margin-left:2px}
.jev-s em{font:400 11px/1.3 var(--mono);font-style:normal;color:var(--ink-3);font-stretch:87.5%}
.lvls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:end}
.lv{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0}
.lv .p{font:500 10.5px/1 var(--mono);font-stretch:87.5%;text-align:center;color:var(--ink-2)}
.lv .c{height:78px;background:var(--well);border:1px solid var(--edge);border-radius:2px;display:flex;align-items:flex-end;padding:2px}
.lv .c i{display:block;width:100%;background:var(--ink-4);border-radius:1px;min-height:1px}
.lv.pk .c i{background:var(--sig)}
.lv.pk .p{color:var(--sig)}
.lv .k{font:500 10px/1 var(--mono);text-align:center;color:var(--ink-2)}
.lv .t{font-size:11px;line-height:1.2;text-align:center;color:var(--ink-3);min-height:2.4em;-webkit-hyphens:auto;hyphens:auto}

.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.slot em:empty{display:none}
.slot{
  position:relative;border:1px solid var(--edge);border-radius:3px;padding:8px 7px 7px;background:var(--well);min-width:0
}
.slot .led{position:absolute;top:7px;right:7px}
.slot b{display:block;font:500 10.5px/1.2 var(--mono);font-stretch:75%;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:9px}
.slot em{display:block;margin-top:4px;font:400 9.5px/1 var(--mono);font-style:normal;font-stretch:75%;color:var(--ink-4);min-height:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slot.on{border-color:var(--sig-2);background:var(--sig-dim)}
.slot.on b{color:var(--ink)}
.slot.on em{color:var(--ink-2)}
.slot.off .led{background:transparent;border-color:var(--ink-2)}
.slot.off b{color:var(--ink-2)}
.slot-note{margin-top:10px;font-size:13px;color:var(--ink-2)}

.risk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center}
.risk-big{font:600 13px/1 var(--mono);letter-spacing:.06em;border:1px solid var(--edge-hi);border-radius:3px;padding:8px 10px;white-space:nowrap}
.risk-big.none{color:var(--ink-3)}
.risk-big.hot{border-color:var(--ink-2);background:var(--panel-3)}
.rp{display:grid;gap:5px}
.rp div{display:grid;grid-template-columns:96px minmax(0,1fr) 36px;align-items:center;gap:8px;font:400 10.5px/1 var(--mono);font-stretch:87.5%;color:var(--ink-3)}
.rp div.pk{color:var(--ink)}
.rp s{display:block;height:5px;background:var(--well);border:1px solid var(--edge);text-decoration:none}
.rp s i{display:block;height:100%;background:var(--ink-3)}
.rp div.pk s i{background:var(--ink)}
.rp div span:last-child{text-align:right}

.kv{display:grid;grid-template-columns:128px minmax(0,1fr);gap:8px 12px;font-size:13px}
.kv dt{font:400 11px/1.6 var(--mono);font-stretch:87.5%;color:var(--ink-3)}
.kv dd{margin:0;color:var(--ink-2);overflow-wrap:anywhere}
.kv dd b{color:var(--ink);font:600 13px/1.4 var(--mono);font-stretch:87.5%}
.sh-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sh-act a{text-decoration:none}

/* ---------- стенд ---------- */
.lab{display:grid;grid-template-columns:372px minmax(0,1fr);height:calc(100dvh - var(--hh));min-height:640px}
.chat{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--edge);background:rgba(10,10,9,.35)}
.jr{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--edge);font:400 11px/1.3 var(--mono);font-stretch:87.5%;color:var(--ink-3)}
.jr .lbl{letter-spacing:.12em;text-transform:uppercase;font-size:10px;color:var(--ink-4)}
.jr-it{display:flex;align-items:center;gap:8px;min-width:0;flex:1;background:var(--panel);border:1px solid var(--edge-2);border-radius:4px;padding:7px 9px;color:var(--ink-2);text-align:left}
.jr-it span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.jr-it b{color:var(--ink);font-weight:500}
.dut{padding:12px 14px 10px;border-bottom:1px solid var(--edge)}
.dut-h{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);display:flex;gap:8px;align-items:center}
.dut-h .sp{flex:1}
.dut-n{display:flex;align-items:center;gap:10px;margin-top:8px;min-width:0}
.dut-n b{font:600 16px/1.2 var(--mono);font-stretch:87.5%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dut-n .kd{width:40px;flex:none}
.rig{margin-top:6px;font:400 10.5px/1.5 var(--mono);font-stretch:75%;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rig br{display:none}
.rig span::before{content:" · "}
.dut-empty{margin-top:8px;font-size:12px;color:var(--ink-3)}
.run-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.run-options label{display:grid;gap:4px;min-width:0;font:400 9px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}
.run-options select{width:100%;min-width:0;background:var(--well);border:1px solid var(--edge-2);border-radius:4px;padding:7px 5px;color:var(--ink-2);font:400 10px/1.2 var(--mono);text-overflow:ellipsis}
.run-options select:disabled{opacity:.65}
.history{max-height:220px;overflow:auto;padding:9px 12px;border-bottom:1px solid var(--edge);background:var(--well)}
.history-h{display:flex;align-items:center;gap:10px;margin:0 2px 7px;font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}
.history-h .mini{margin-left:auto;text-transform:uppercase}
.history ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.history-entry{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;text-align:left;background:var(--panel);border:1px solid var(--edge);border-radius:4px;padding:7px 8px;color:var(--ink-2)}
.history-entry:hover,.history-entry[aria-current="true"]{border-color:var(--sig-2);color:var(--ink)}
.history-entry .history-task{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 10px/1.2 var(--mono)}
.history-entry .history-meta{font:400 9px/1.2 var(--mono);color:var(--ink-4)}
.history-entry .history-state{font:500 8.5px/1.2 var(--mono);text-transform:uppercase;color:var(--ink-3)}
.audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font:400 10.5px/1.4 var(--mono);color:var(--ink-3)}
.audit-grid>div{min-width:0;display:grid;align-content:start;gap:4px;border:1px solid var(--edge);border-radius:4px;padding:7px}
.audit-grid b{font-weight:500;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.audit-loc{display:block;overflow-wrap:anywhere;color:var(--ink-4)}
.similar-note{font-size:12px;color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}
.log{flex:1;min-height:0;overflow:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:100%}
.msg .who{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px;display:flex;gap:8px}
.msg .body{font-size:13px;line-height:1.42;overflow-wrap:anywhere;white-space:pre-wrap}
.msg.me .body{background:var(--panel-2);border:1px solid var(--edge-2);border-radius:6px 6px 2px 6px;padding:8px 11px}
.msg.sys .body{color:var(--ink-2);border-left:2px solid var(--edge-hi);padding:1px 0 1px 10px}
.msg.sys .body b{color:var(--ink);font-weight:600}
.msg.warn .body{border-left-color:var(--sig)}
.cmp{margin:0 14px;border:1px solid var(--edge);border-radius:6px;overflow:hidden;background:var(--panel)}
.cmp table{width:100%;border-collapse:collapse;font:400 11.5px/1 var(--mono);font-stretch:87.5%}
.cmp th,.cmp td{padding:6px 10px;text-align:right;border-bottom:1px solid var(--edge);white-space:nowrap}
.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:0}
.cmp th{text-align:left;font-weight:400;color:var(--ink-3)}
.cmp thead th{font:500 10px/1 var(--mono);letter-spacing:.1em;color:var(--ink-3);text-align:right}
.cmp thead th:first-child{text-align:left}
.cmp .a{color:var(--ink)}
.cmp .flag{outline:1px solid var(--sig);outline-offset:-4px;border-radius:3px}
.cmp td.wait{color:var(--ink-4)}
.cmp td.wait.flag{outline:0}
.cmp caption{caption-side:bottom;text-align:left;padding:8px 10px;font:400 10.5px/1.4 var(--mono);font-stretch:87.5%;color:var(--ink-3);border-top:1px solid var(--edge)}
.chA{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:3px;background:var(--sig);color:var(--sig-ink);font:700 11px/1 var(--mono)}
.chB{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:3px;background:var(--ink);color:var(--well);font:700 11px/1 var(--mono)}
.verdict{margin:12px 14px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.verdict-h{margin:14px 14px 0;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);display:flex;gap:8px}
.verdict-h .r{margin-left:auto;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.verdict .key{justify-content:center;padding:10px 6px}
.ask{margin:14px;display:grid;gap:8px}
.ask textarea{
  width:100%;min-height:74px;max-height:180px;resize:vertical;background:var(--well);border:1px solid var(--edge-2);border-radius:6px;
  padding:10px 12px;font:400 13.5px/1.45 var(--sans);color:var(--ink);outline:0;box-shadow:inset 0 2px 0 #000
}
.ask textarea:focus{border-color:var(--ink-4)}
.ask .row2{display:flex;gap:8px;align-items:center}
.ask .row2 .sp{flex:1;font:400 10.5px/1.3 var(--mono);font-stretch:75%;color:var(--ink-4)}

.bench{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px 14px 14px}
.scope{background:var(--panel);border:1px solid var(--edge);border-radius:8px;padding:10px 14px 8px;
  background-image:var(--screw),var(--screw);background-repeat:no-repeat;background-position:left 5px top 5px,right 5px top 5px}
.scope-c{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.scope-c .lbl{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}
.scope-c .sp{flex:1}
.clock{font:600 18px/1 var(--mono);font-stretch:87.5%;font-variant-numeric:tabular-nums;background:var(--well);border:1px solid #000;border-radius:3px;padding:5px 8px;color:var(--ink)}
.clock small{font-size:11px;color:var(--ink-3);font-weight:400;margin-left:3px}
.lanes{position:relative;padding-left:26px;cursor:crosshair;user-select:none;-webkit-user-select:none}
.lane{position:relative;height:34px;display:flex;align-items:center}
.lane .ln{position:absolute;left:-26px;top:5px}
.track{position:relative;flex:1;height:100%}
.track .base{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--edge-2)}
.track .span{position:absolute;left:0;top:50%;height:1px;border-top:1px dashed var(--ink-4)}
.track .run{position:absolute;left:0;top:calc(50% - 2px);height:4px;border-radius:1px}
.lane.a .run{background:var(--sig)}
.lane.b .run{background:var(--ink)}
.mk{position:absolute;top:calc(50% - 7px);width:2px;height:14px;margin-left:-1px;background:var(--ink-3);font-style:normal}
.mk.tool{background:var(--ink);height:16px;top:calc(50% - 8px)}
.mk.think{background:var(--ink-2);height:8px;top:calc(50% - 4px);width:6px;margin-left:-3px;border-radius:1px}
.mk.done{width:8px;height:8px;margin-left:-4px;top:calc(50% - 4px);background:var(--well);border:2px solid var(--ink)}
.mk.minor{width:5px;height:5px;margin-left:-2.5px;top:calc(50% - 2.5px);border-radius:50%}
.mk.cluster{width:9px;height:9px;margin-left:-4.5px;top:calc(50% - 4.5px);border-radius:50%;outline:1px solid var(--well)}
.mk em{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font:500 9.5px/1 var(--mono);font-stretch:75%;font-style:normal;color:var(--ink-3);white-space:nowrap}
.mk.start em{left:0;transform:none}
.mk.end em{left:auto;right:0;transform:none}
.mk.fut{opacity:.28}
.gap{position:absolute;top:calc(50% + 5px);text-align:center;font:400 9.5px/1 var(--mono);font-stretch:75%;color:var(--ink-4);white-space:nowrap;pointer-events:none}
.gap.end{text-align:right;padding-right:10px}
.nm b mark{background:var(--sig);color:var(--sig-ink);border-radius:1px}
.axis{position:relative;height:18px;margin-top:2px;border-top:1px solid var(--edge)}
.axis i{position:absolute;top:0;width:1px;height:4px;background:var(--ink-4)}
.axis i.lg{height:7px;background:var(--ink-3)}
.axis span{position:absolute;top:8px;transform:translateX(-50%);font:400 9.5px/1 var(--mono);font-stretch:75%;color:var(--ink-4)}
.head{position:absolute;top:-4px;bottom:0;width:1px;background:var(--ink);pointer-events:none;margin-left:26px}
.head::before{content:"";position:absolute;top:-2px;left:-4px;border:4px solid transparent;border-top:5px solid var(--ink)}

.chans{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ch{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,40%) minmax(0,1fr);background:var(--panel);border:1px solid var(--edge);border-radius:8px;overflow:hidden}
.ch-h{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--edge);min-width:0}
.ch-h .nm2{min-width:0;flex:1}
.ch-h .nm2 b{display:block;font:600 12.5px/1.2 var(--mono);font-stretch:87.5%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-h .nm2 span{display:block;margin-top:3px;font:400 10.5px/1.2 var(--mono);font-stretch:75%;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat{display:flex;align-items:center;gap:7px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.stat .led.run{background:var(--ink);border-color:var(--ink);animation:blink 1s steps(2,end) infinite}
@keyframes blink{50%{opacity:.2}}
.steps{list-style:none;margin:0;padding:6px 0;overflow:auto;min-height:0;background:var(--well);border-bottom:1px solid var(--edge);font-size:12.5px}
.st{display:grid;grid-template-columns:44px 64px minmax(0,1fr);gap:8px;padding:6px 12px;align-items:start}
.st+.st{border-top:1px solid #1a1a18}
.st time{font:400 10.5px/1.5 var(--mono);font-stretch:75%;color:var(--ink-4);text-align:right;font-variant-numeric:tabular-nums}
.st .tg{font:600 9.5px/1 var(--mono);font-stretch:87.5%;letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--edge-2);border-radius:2px;padding:3px 4px;text-align:center;margin-top:1px}
.st .tx{min-width:0;color:var(--ink-2);line-height:1.45;overflow-wrap:anywhere}
.st .tx b{color:var(--ink);font:500 12px/1 var(--mono);font-stretch:87.5%}
.st .tx .ok{font:500 10.5px/1 var(--mono);color:var(--ink-3);margin-left:6px;white-space:nowrap}
.st .tx mark{background:none;color:var(--sig);font-weight:600}
.a-side .st-tool .tg,.a-side .st-file .tg{border-color:var(--sig-2);color:var(--sig)}
.st-think .tx{font-style:italic;color:var(--ink-3)}
.st-say .tx{white-space:pre-wrap;color:var(--ink)}
.st-say .tx.cl{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.st-done .tg{background:var(--ink);color:var(--well);border-color:var(--ink)}
.st-live .tx{color:var(--ink-3);font:400 11px/1.5 var(--mono);font-stretch:87.5%}
.st-live .tg{border-style:dashed}
.diff{margin-top:5px;font:400 10.5px/1.45 var(--mono);font-stretch:75%;background:#0f0f0e;border:1px solid var(--edge);border-radius:3px;padding:5px 7px;white-space:pre-wrap;overflow-wrap:anywhere}
.diff .m{color:var(--ink-3)}
.diff .p{color:var(--ink)}
.expand{background:none;border:0;padding:3px 0 0;font:500 10.5px/1 var(--mono);color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}

.res{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}
.res-h{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--edge);font:400 10.5px/1 var(--mono);font-stretch:75%;color:var(--ink-3);min-width:0}
.res-h .path{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--well);border:1px solid var(--edge);border-radius:3px;padding:5px 8px;color:var(--ink-2)}
.res-h .seg button{padding:5px 7px;font-size:9.5px}
.mini{background:none;border:1px solid var(--edge-2);border-radius:3px;padding:5px 7px;font:500 9.5px/1 var(--mono);color:var(--ink-2);letter-spacing:.06em}
.mini:hover{color:var(--ink);border-color:var(--ink-4)}
.vp{position:relative;overflow:hidden;background:#fff;min-height:0}
.vp.phone{background:var(--well)}
.vp iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#fff}
.vp .wait{position:absolute;inset:0;display:grid;place-items:center;background:var(--well);color:var(--ink-3);font:400 11px/1.6 var(--mono);text-align:center;padding:20px}
.vp .wait b{display:block;color:var(--ink-2);font-weight:500}
.vp .upd{position:absolute;right:8px;top:8px;background:var(--ink);color:var(--well);font:600 9.5px/1 var(--mono);padding:4px 6px;border-radius:2px;letter-spacing:.06em}

/* во весь экран: A/B переключатель */
.viewer{position:fixed;inset:0;z-index:60;background:rgba(8,8,7,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;grid-template-rows:auto minmax(0,1fr);padding:12px}
.viewer-h{display:flex;align-items:center;gap:12px;padding:0 2px 10px;font:400 11px/1 var(--mono);color:var(--ink-3)}
.viewer-h .sp{flex:1}
.viewer .vp{border-radius:6px;border:1px solid var(--edge-2)}

.mtabs{display:none}
.mprev{display:none}

/* ---------- телефон ---------- */
@media (max-width:760px){
  :root{--hh:52px}
  body{font-size:15px}
  .top{padding:0 12px;gap:10px}
  .logo{font-size:15px}
  .logo svg{width:22px}
  .top .meta{display:none}
  .mode{margin-left:auto}
  .mode a{padding:8px 10px}

  .cat{display:block}
  .bays{
    position:static;height:auto;overflow-x:auto;overflow-y:hidden;display:flex;gap:6px;padding:0 12px 4px;border:0;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-top:12px
  }
  .bays::-webkit-scrollbar{display:none}
  .bays-h,.bays-foot{display:none}
  .bay-b{width:auto;flex:none;grid-template-columns:auto auto;padding:8px 10px;background:var(--panel);border-color:var(--edge)}
  .bay-b .u{display:none}
  .bay-b .t{font-size:13px}
  .work{padding:12px 12px 60px}
  .work .console{margin:0}
  .console{padding:12px 12px 10px}
  .lenses{gap:6px}
  .lens{padding:8px 6px 9px;gap:8px;font-size:9px;letter-spacing:.02em}
  .lens .lk{gap:5px}
  .lens .led{width:5px;height:5px}
  .lens .flap{font-size:14px}
  .lens .fc{padding:3px 1px 2px}
  .query{height:44px;margin-top:12px}
  .query input{font-size:16px}
  .bar{gap:8px;margin:12px 0 4px}
  .bar .lbl{display:none}
  .seg button{padding:7px 8px;font-size:10px}
  .seg button small{display:none}
  .rack{padding:0 8px;margin-top:10px}
  .rack::before,.rack::after{width:5px;background-image:none}
  .bay-h{padding:14px 4px 8px;flex-wrap:wrap;gap:6px 10px}
  .bay-h .rule{display:none}
  .row{
    grid-template-columns:34px minmax(0,1fr) auto;gap:4px 10px;padding:10px 8px 8px 10px;
    grid-template-areas:"kd nm jv" "kd mob fv";min-height:0
  }
  .row .kd{grid-area:kd;align-self:start;margin-top:2px;padding:4px 0;font-size:9px}
  .row .nm{grid-area:nm}
  .row .jv{grid-area:jv;align-self:start}
  .row .fv{grid-area:fv;align-self:end;padding:8px 4px 2px 8px;font-size:18px}
  .row .in,.row .pp,.row .rs{display:none}
  .row .mob{grid-area:mob;display:flex;align-items:center;gap:8px;min-width:0;font:400 10.5px/1.2 var(--mono);font-stretch:75%;color:var(--ink-3);white-space:nowrap;overflow:hidden}
  .row .mob>span{flex:none}
  .row .mob .in2{display:flex;align-items:center;gap:5px;min-width:0;flex:0 1 auto;overflow:hidden;color:var(--ink-2)}
  .row .mob .in2 span{overflow:hidden;text-overflow:ellipsis;min-width:0}
  .row .mob .rk{font-size:9px;padding:3px 4px}
  .lens .lf{display:none}
  .lens .ls{display:inline}
  .parse .hint:nth-of-type(n+4){display:none}
  .nm b{font-size:13.5px}
  .nm .au{display:none}
  .nm small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px}
  .bars{height:16px}
  .bars i{width:4px}
  .jv{gap:6px}
  .jv b{font-size:13px;min-width:30px}
  .flat .row .rcat{display:none}

  .sheet{width:100vw;top:0;border-left:0;transform:translateY(104%)}
  .sheet.on{transform:none}
  .sh-in{padding:14px 16px 40px}
  .sh-in h1{font-size:22px}
  .blk{margin-top:14px;padding-top:12px}
  .jev{gap:12px}
  .jev-s{gap:10px;font-size:34px}
  .lv .t{font-size:10px}
  .lv .c{height:56px}
  .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rp div{grid-template-columns:84px minmax(0,1fr) 32px}
  .kv{grid-template-columns:104px minmax(0,1fr)}

  .lab{display:block;height:auto;min-height:0}
  .chat{border:0;background:none}
  .log{overflow:visible;padding:12px}
  .log .msg.sys.more2{display:none}
  .bench{display:block;padding:0 12px 12px}
  .scope{margin-top:12px}
  .scope-c .lbl{display:none}
  .gap{font-size:8.5px}
  .chans{display:block}
  .ch{display:none;grid-template-rows:auto auto}
  .ch.mon{display:grid}
  .ch .res{display:none}
  .steps{max-height:none;border-bottom:0}
  .mtabs{display:flex;margin:12px 0 8px}
  .mtabs .seg{width:100%}
  .mtabs .seg button{flex:1;padding:10px 8px}
  .mprev{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 14px 0}
  .mprev .pv{border:1px solid var(--edge-2);border-radius:6px;overflow:hidden;background:var(--panel);text-align:left;padding:0}
  .mprev .pv .vp{height:230px}
  .mprev .pv .cap{display:flex;align-items:center;gap:6px;padding:7px 8px;font:500 10px/1.2 var(--mono);font-stretch:75%;color:var(--ink-2);border-top:1px solid var(--edge)}
  .mprev .pv .cap span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .verdict{margin-top:10px}
  .order-m{display:flex;flex-direction:column}
  .order-m .jr{order:0}
.order-m .dut{order:1}
.order-m .history{order:1}
  .order-m .log{order:2}
  .order-m .mprev{order:3}
  .order-m .cmp{order:4;margin-top:12px}
  .order-m .verdict-h{order:5}
  .order-m .verdict{order:6}
  .order-m .ask{order:7}
  .rig{white-space:normal}
  .rig br{display:inline}
  .rig span::before{content:none}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
}
input[type=search]{-webkit-appearance:none;appearance:none}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}

/* Средняя ширина окна (761-1200 px, например приложение Safari в Dock): строка каталога в две строки, как на телефоне.
   Иначе пять колонок фиксированной ширины съедают название до нуля (приёмка чифа 2026-09-27, окно около 1000 px). */
@media (min-width:761px) and (max-width:1200px){
  .row{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 14px;grid-template-areas:"kd nm jv" "kd mob fv"}
  .row .kd{grid-area:kd;align-self:start;margin-top:2px}
  .row .nm{grid-area:nm}
  .row .jv{grid-area:jv;align-self:start}
  .row .fv{grid-area:fv;align-self:end}
  .row .in,.row .pp,.row .rs{display:none}
  .row .mob{grid-area:mob;display:flex;align-items:center;gap:8px;min-width:0;font:400 10.5px/1.2 var(--mono);font-stretch:75%;color:var(--ink-3);white-space:nowrap;overflow:hidden}
  .row .mob>span{flex:none}
  .row .mob .in2{display:flex;align-items:center;gap:5px;min-width:0;flex:0 1 auto;overflow:hidden;color:var(--ink-2)}
  .row .mob .in2 span{overflow:hidden;text-overflow:ellipsis;min-width:0}
  .row .mob .rk{font-size:9px;padding:3px 4px}
}
/* Подписи счётчиков: длинные («Стоит у меня») не помещаются до ~1080 px, там короткие, как на телефоне. */
@media (min-width:761px) and (max-width:1080px){
  .lens .lf{display:none}
  .lens .ls{display:inline}
}
/* Узкое окно 761-900 px: боковая панель и поля счётчиков уже, чтобы короткие подписи помещались. */
@media (min-width:761px) and (max-width:900px){
  .cat{grid-template-columns:224px minmax(0,1fr)}
  .lens{padding:10px 8px 11px}
  .lens .lk{gap:5px}
}

/* ---------- вход владельца и режим просмотра ---------- */
body.auth-pending{visibility:hidden}
body.auth-open> :not(#login):not(script){visibility:hidden}
body.view-only #ask,body.view-only .run-options,body.view-only [data-open]{display:none !important}
.login{
  position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;
  background-color:var(--bg);background-image:var(--noise)
}
.login-panel{
  width:min(420px,100%);padding:28px;background:var(--panel);
  border:1px solid var(--edge-2);border-top-color:var(--edge-hi);border-radius:7px;
  box-shadow:0 10px 32px rgba(0,0,0,.3)
}
.login-logo{width:max-content;font-size:16px}
.login-panel h1{margin:24px 0 6px;font:600 21px/1.2 var(--mono);font-stretch:87.5%;letter-spacing:-.03em}
.login-panel>p{margin:0;color:var(--ink-3);font-size:14px}
.login-panel form{display:grid;gap:9px;margin-top:24px}
.login-panel label{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.login-panel input{
  width:100%;min-width:0;height:44px;padding:0 11px;background:var(--well);
  border:1px solid var(--edge-2);border-radius:4px;outline:0
}
.login-panel input:focus{border-color:var(--sig-2)}
.login-panel form button{justify-self:start;margin-top:5px}
.login-error{min-height:18px;margin:0;color:var(--sig);font-size:12px}
.verdict-readonly{
  grid-column:1/-1;padding:9px 10px;border:1px solid var(--edge-2);border-radius:4px;
  color:var(--ink);font:500 11px/1.3 var(--mono);font-stretch:87.5%
}

@media(max-width:760px){
  .login{padding:16px}
  .login-panel{padding:22px}
}
