/* ── top toolbar ──────────────────────────────────────── */
#toolbar{
  height:52px;flex:none;display:flex;align-items:center;gap:12px;padding:0 14px;
  background:var(--panel);border-bottom:1px solid var(--line);position:relative;z-index:40;
}
.tb-left,.tb-mid,.tb-right{display:flex;align-items:center;gap:8px}
.tb-mid{margin-left:auto;margin-right:auto}
.tb-sep{width:1px;height:22px;background:var(--line2);margin:0 4px}
.logo{width:30px;height:30px;border-radius:9px;background:var(--panel2);border:1px solid var(--line2);display:grid;place-items:center}
.brand{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:var(--fd);font-weight:700;font-size:13px;letter-spacing:3.5px}
.brand-sub{font-family:var(--fm);font-size:7px;letter-spacing:2.2px;color:var(--dim);text-transform:uppercase}
.doc-name{
  width:200px;background:transparent;border:1px solid transparent;border-radius:7px;padding:5px 8px;
  font-family:var(--fd);font-size:12px;color:var(--mut);transition:all .15s;
}
.doc-name:hover{border-color:var(--line2)}
.doc-name:focus{outline:none;border-color:var(--acc);color:var(--text);background:var(--inset)}
.zoom-lbl{font-family:var(--fm);font-size:10px;color:var(--dim);width:38px;text-align:center}

/* panels toggle + theme icons */
body.no-panels #palettePanel, body.no-panels #inspectorPanel{display:none}
#presBtn .ic-collapse{display:none}
#presBtn.on .ic-expand{display:none}
#presBtn.on .ic-collapse{display:block}
#themeBtn .ic-moon{display:none}
html.light #themeBtn .ic-sun{display:none}
html.light #themeBtn .ic-moon{display:block}

/* ── side panels ──────────────────────────────────────── */
#palettePanel,#inspectorPanel{flex:none;width:238px;background:var(--panel);display:flex;flex-direction:column;z-index:30}
#palettePanel{border-right:1px solid var(--line)}
#inspectorPanel{border-left:1px solid var(--line);width:264px}
.panel-head{
  flex:none;display:flex;align-items:baseline;justify-content:space-between;
  padding:13px 15px 10px;border-bottom:1px solid var(--line);
}
.panel-title{font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--mut)}
.panel-hint{font-family:var(--fm);font-size:8.5px;letter-spacing:1px;color:var(--dim)}
#palette,#insp{flex:1;overflow-y:auto;padding:10px}
#palette::-webkit-scrollbar,#insp::-webkit-scrollbar{width:8px}
#palette::-webkit-scrollbar-thumb,#insp::-webkit-scrollbar-thumb{background:var(--line2);border-radius:4px}

/* ── palette items ────────────────────────────────────── */
.p-item{
  display:flex;align-items:center;gap:11px;padding:8px 9px;margin-bottom:4px;border-radius:9px;
  border:1px solid transparent;cursor:grab;transition:all .15s ease;position:relative;
}
.p-item:hover{background:var(--chip);border-color:var(--line2);transform:translateX(3px)}
.p-item:active{cursor:grabbing}
.p-ic{
  flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--c);
  background:color-mix(in srgb,var(--c) 16%,var(--mix2));
  border:1px solid color-mix(in srgb,var(--c) 30%,transparent);
}
.p-ic svg{width:18px;height:18px}
.p-name{font-family:var(--fd);font-weight:600;font-size:12px;line-height:1.2}
.p-sub{font-size:9.5px;color:var(--dim);margin-top:2px}
.p-plus{margin-left:auto;font-family:var(--fm);color:var(--dim);opacity:0;transition:opacity .15s}
.p-item:hover .p-plus{opacity:1}
.palette-ghost{position:fixed;z-index:96;pointer-events:none;width:180px;opacity:.88;transform:translate(-50%,-50%) rotate(-2deg)}

/* ── inspector forms ──────────────────────────────────── */
.i-head{display:flex;gap:11px;align-items:center;padding:4px 2px 13px;border-bottom:1px solid var(--line);margin-bottom:13px}
.i-chip{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#0d1117;background:var(--c);flex:none}
.i-chip svg{width:20px;height:20px}
.i-chip.link{background:var(--chip);color:var(--sel);border:1px solid var(--line2)}
.i-title{font-family:var(--fd);font-weight:600;font-size:13px;line-height:1.25;word-break:break-word}
.i-sub{font-family:var(--fm);font-size:8px;letter-spacing:1.8px;color:var(--dim);margin-top:3px}
.i-sec{margin-bottom:13px}
.i-lab{display:block;font-family:var(--fm);font-size:8.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.in{
  width:100%;background:var(--inset);border:1px solid var(--line2);border-radius:8px;
  padding:7px 10px;font-size:12.5px;color:var(--text);transition:border-color .15s,box-shadow .15s;resize:vertical;
}
.in:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 14%,transparent)}
.i-note{font-size:10px;color:var(--dim);margin-top:5px;line-height:1.5}
.i-row{display:flex;gap:8px;margin-top:14px}
.btn{
  flex:1;height:32px;border-radius:8px;font-size:11.5px;font-weight:600;
  background:var(--panel2);border:1px solid var(--line2);color:var(--mut);transition:all .15s;
}
.btn:hover{color:var(--text);border-color:var(--line3)}
.btn.acc{background:color-mix(in srgb,var(--acc) 12%,var(--panel2));border-color:color-mix(in srgb,var(--acc) 45%,var(--line2));color:var(--acc)}
.btn.acc:hover{color:var(--acc)}
.btn.danger:hover{color:#e5484d;border-color:color-mix(in srgb,#e5484d 50%,var(--line2))}

/* swatches */
.sw-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sw{width:19px;height:19px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .12s}
.sw:hover{transform:scale(1.2)}
.sw.on{border-color:#fff;box-shadow:0 0 0 1px #000}
.colorpick{width:28px;height:23px;padding:0;border:1px solid var(--line2);border-radius:6px;background:var(--inset);cursor:pointer}

/* stepper */
.step{display:flex;align-items:center;background:var(--inset);border:1px solid var(--line2);border-radius:8px;overflow:hidden;width:130px}
.step button{width:30px;height:30px;font-size:15px;color:var(--mut);transition:all .12s}
.step button:hover{color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.step input{flex:1;width:0;background:transparent;border:none;text-align:center;font-family:var(--fm);font-size:12px;color:var(--text)}
.step input:focus{outline:none}

/* segmented */
.seg{display:flex;background:var(--inset);border:1px solid var(--line2);border-radius:8px;padding:3px;gap:3px}
.seg button{flex:1;height:26px;border-radius:6px;font-family:var(--fm);font-size:12px;color:var(--dim);transition:all .13s}
.seg button:hover{color:var(--text)}
.seg button.on{background:var(--chip);color:var(--sel)}

/* switch */
.sw-line{display:flex;align-items:center;justify-content:space-between}
.switch{position:relative;width:38px;height:20px;border-radius:20px;background:var(--line2);transition:background .18s;flex:none}
.switch::after{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--mut);transition:all .18s cubic-bezier(.34,1.56,.64,1)}
.switch.on{background:var(--acc)}
.switch.on::after{left:21px;background:#062824}



/* range */
input[type=range]{width:100%;accent-color:var(--acc)}
.range-row{display:flex;align-items:center;gap:10px}
.range-val{font-family:var(--fm);font-size:10px;color:var(--acc);width:34px;text-align:right}

/* empty state / stats */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.stat{background:var(--inset);border:1px solid var(--line);border-radius:9px;padding:10px;text-align:center}
.stat b{font-family:var(--fd);font-size:20px;display:block}
.stat span{font-family:var(--fm);font-size:8px;letter-spacing:1.6px;color:var(--dim);text-transform:uppercase}
.kbd-list{font-size:10.5px;color:var(--mut);line-height:2.1}
.kbd{font-family:var(--fm);font-size:9px;background:var(--panel2);border:1px solid var(--line2);border-bottom-width:2px;border-radius:5px;padding:1.5px 5px;margin-right:6px}

/* ── status bar ───────────────────────────────────────── */
#statusbar{
  height:30px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 14px;
  background:var(--panel);border-top:1px solid var(--line);
  font-family:var(--fm);font-size:9.5px;letter-spacing:.8px;color:var(--dim);
}
.st-left,.st-right{display:flex;align-items:center;gap:9px}
.st-left b{color:var(--mut);font-weight:500}
.st-sep{opacity:.45}
.st-dot{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px color-mix(in srgb,var(--acc) 60%,transparent)}
.st-dot.paused{background:var(--dim);box-shadow:none}
.st-brand{letter-spacing:2.5px}

.in.mono{font-family:var(--fm);font-size:11px}

.p-sep{font-family:var(--fm);font-size:8px;letter-spacing:2px;color:var(--dim);text-transform:uppercase;margin:10px 4px 6px}
.palette-ghost.zone-ghost{
  width:160px;height:110px;border:1.5px dashed #9db0cb;border-radius:12px;
  background:color-mix(in srgb,#9db0cb 6%,transparent);position:fixed;
}
.zg-tab{
  position:absolute;top:-10px;left:12px;font-family:var(--fm);font-size:8px;letter-spacing:1.8px;
  color:#9db0cb;background:var(--panel);border:1px dashed #9db0cb;border-radius:5px;padding:1px 7px;
}

.topic-edit{display:flex;gap:6px;margin-bottom:6px}
.topic-edit input{flex:1}
.topic-del{flex:none;width:32px;height:32px;border-radius:6px;background:var(--panel2);border:1px solid var(--line2);color:var(--dim);font-size:16px;transition:all .12s}
.topic-del:hover{color:#e5484d;border-color:color-mix(in srgb,#e5484d 50%,var(--line2))}

/* крупные стрелки в Direction */
#f-dir button{
  font-size:18px;      /* было ~12-13px */
  height:34px;         /* чуть выше кнопки, если нужно */
  line-height:1;
}

/* ── docs library ─────────────────────────────────────── */
#docsPanel{
  position:fixed;top:56px;right:14px;z-index:90;width:320px;
  background:var(--panel);border:1px solid var(--line2);border-radius:12px;
  box-shadow:0 20px 50px #00000066;display:flex;flex-direction:column;overflow:hidden;
}
#docsPanel[hidden]{display:none}
.docs-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.docs-save{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.docs-list{max-height:46vh;overflow:auto;padding:6px}
.docs-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .12s}
.docs-row:hover{background:var(--panel2)}
.docs-row.cur{box-shadow:inset 0 0 0 1px var(--acc)}
.docs-meta{flex:1;min-width:0}
.docs-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docs-sub{font-family:var(--fm);font-size:8.5px;letter-spacing:.8px;color:var(--dim);margin-top:2px}
.docs-del{flex:none;width:24px;height:24px;border-radius:6px;background:transparent;border:none;color:var(--dim);font-size:14px;cursor:pointer;transition:all .12s}
.docs-del:hover{color:#e5484d;background:var(--panel2)}
.docs-empty{padding:18px;text-align:center;font-family:var(--fm);font-size:9px;letter-spacing:1px;color:var(--dim)}
.docs-foot{padding:8px 14px;border-top:1px solid var(--line);font-family:var(--fm);font-size:8.5px;letter-spacing:.8px;color:var(--dim)}
#docsUsage.warn{color:#e5484d}

/* ── toolbar dropdown ─────────────────────────────────── */
.tb-drop{position:relative;display:flex}
.drop-menu{
  position:absolute;top:calc(100% + 8px);left:0;z-index:95;min-width:160px;
  background:var(--panel);border:1px solid var(--line2);border-radius:10px;
  box-shadow:0 14px 34px #00000055;padding:5px;
  display:flex;flex-direction:column;gap:2px;
}
.drop-menu[hidden]{display:none}
.drop-item{
  padding:8px 10px;border-radius:7px;border:none;background:transparent;
  color:var(--mut);font-size:11.5px;font-weight:600;text-align:left;cursor:pointer;
  font-family:var(--fd);transition:all .12s;
}
.drop-item:hover{background:var(--panel2);color:var(--txt)}