:root {
  --ui-bg: #e9e9e9;
  --ui-bg2: #f6f6f6;
  --ui-line: #a9a9a9;
  --ui-dark: #6f6f6f;
  --ui-text: #111;
  --ui-mute: #555;
  --accent: #0a2bd6;
  --accent-text: #fff;
  --btn: #fbfbfb;
  --btn-hover: #dfe9ff;
  --btn-on: #ffe9b0;
  --frame: #b7b25a;
  font-family: "Meiryo UI", "Yu Gothic UI", "Hiragino Sans", "Noto Sans JP", system-ui, sans-serif;
  font-size: 12px;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--ui-bg); color: var(--ui-text); overflow: hidden; }
#app { display: grid; grid-template-rows: auto auto auto 1fr auto; grid-template-columns: minmax(0, 1fr); height: 100vh; }

#titlebar { display: flex; gap: 14px; align-items: center; padding: 3px 10px; background: #fff; border-bottom: 1px solid var(--ui-line); white-space: nowrap; overflow: hidden; }
#titlebar .logo { font-weight: 700; color: var(--accent); letter-spacing: .5px; }
#titlebar span { color: var(--ui-mute); }
#titlebar #t-work { color: var(--ui-text); font-weight: 600; }
.spacer { flex: 1; }
#t-step.ok { color: #137a2a; }
#t-step.ng { color: #a35a00; }
#t-srv.ok { color: #137a2a; }
#t-srv.ng { color: #fff; background: #c00000; padding: 0 6px; font-weight: 700; }

#pagebar { display: flex; align-items: stretch; gap: 4px; padding: 3px 6px 0; background: #cfd3da; border-bottom: 1px solid var(--ui-line); min-width: 0; }
#tabs { display: flex; gap: 2px; overflow-x: auto; min-width: 0; }
.ptab { display: flex; align-items: center; gap: 4px; padding: 2px 2px 2px 8px; background: #e4e6ea; border: 1px solid #9aa0aa; border-bottom: 0; cursor: pointer; white-space: nowrap; max-width: 260px; }
.ptab .pt { overflow: hidden; text-overflow: ellipsis; }
.ptab.on { background: #fff; color: #000; font-weight: 600; box-shadow: inset 0 3px 0 var(--accent); }
.ptab.min { opacity: .55; font-style: italic; }
.ptab .pb { min-height: 18px; padding: 0 5px; border: 0; background: transparent; color: #444; }
.ptab .pb:hover { background: #d33; color: #fff; }
.pk { font-size: 10px; padding: 0 4px; border-radius: 2px; color: #fff; font-weight: 700; font-style: normal; }
.pk-draw { background: #555; } .pk-nest { background: #2a7a52; } .pk-model { background: #6a3bb8; }
#pagebar > button { min-height: 22px; padding: 2px 8px; margin-bottom: 2px; }
#canvas-wrap.split { display: grid; grid-template-columns: 1fr 1fr; }
#canvas-wrap.split #cv { border-right: 2px solid #3a3f48; }
#v3d { position: relative; min-width: 0; min-height: 0; }
#v3d[hidden] { display: none; }
#cv3d { display: block; width: 100%; height: 100%; }
#v3d-bar { position: absolute; left: 6px; top: 6px; display: flex; gap: 2px; flex-wrap: wrap; }
#v3d-bar button { background: rgba(40,44,52,.85); color: #ddd; border-color: #555; padding: 2px 7px; min-height: 20px; }
#v3d-bar button:hover { background: #3a5bd9; color: #fff; }
#v3d-bar { right: 6px; align-items: center; pointer-events: none; }
#v3d-bar > * { pointer-events: auto; }
#v3d-bar .v3d-br { flex-basis: 100%; height: 0; pointer-events: none; }
#v3d-bar label { background: rgba(40,44,52,.85); color: #ddd; border: 1px solid #555; padding: 1px 5px; font-size: 12px; display: flex; gap: 4px; align-items: center; min-height: 20px; }
#v3d-bar label[hidden], #v3d-pal[hidden] { display: none; }
#v3d-bar select { background: #1d2026; color: #eee; border: 1px solid #666; font: inherit; padding: 0 2px; }
#v3d-bar button.on { background: #e0a000; color: #000; outline: 0; font-weight: 700; }
#v3d-pal { display: flex; gap: 1px; background: rgba(40,44,52,.85); border: 1px solid #555; padding: 2px; }
#v3d-bar .v3d-sw { width: 18px; min-height: 18px; height: 18px; padding: 0; border: 1px solid #222; }
#v3d-bar .v3d-sw:hover { outline: 2px solid #fff; background-clip: padding-box; }
#v3d-bar .v3d-sw0 { background: #333; color: #ddd; font-size: 11px; line-height: 1; }

#toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 6px; background: var(--ui-bg); border-bottom: 1px solid var(--ui-line); max-height: 38vh; overflow-y: auto; min-width: 0; }
.tb-group { display: flex; flex-wrap: wrap; border: 1px solid var(--ui-line); background: var(--ui-bg2); max-width: 100%; }
.tb-group button, .tb-group label { white-space: nowrap; }
/* 窓が小さいとき: ボタンを小さくして、消えないようにする */
@media (max-width: 1180px), (max-height: 720px) {
  #toolbar { gap: 3px; padding: 2px 4px; }
  #toolbar button { padding: 2px 6px; min-height: 22px; font-size: 12px; }
  #toolbar .props label { font-size: 12px; }
  #toolbar .props select { max-width: 92px; font-size: 12px; }
}
/* たたむ: ボタンを 1 行にして横に送る（図面を広く使う） */
body.tb-fold #toolbar { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; max-height: none; scrollbar-width: thin; }
body.tb-fold #toolbar .tb-group { flex-wrap: nowrap; flex: none; max-width: none; }
#tb-fold { min-height: 20px; padding: 0 8px; font-size: 12px; flex: none; }
#titlebar .logo, #titlebar .logo-img, #titlebar #t-work { flex: none; }
#titlebar #t-sheet { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tb-group button { border: 0; border-right: 1px solid var(--ui-line); }
.tb-group button:last-child { border-right: 0; }

button { font: inherit; color: var(--ui-text); background: var(--btn); border: 1px solid var(--ui-line); padding: 4px 10px; cursor: pointer; min-height: 24px; }
button:hover { background: var(--btn-hover); }
button:active { background: #c9d8ff; }
button.on { background: var(--btn-on); outline: 1px solid #c08a00; outline-offset: -1px; color: #c00000; }
button.accent { background: #fff3f3; color: #b00000; font-weight: 600; }
button:disabled { color: #999; cursor: default; background: #f0f0f0; }

#main { display: grid; grid-template-columns: 1fr 220px; min-height: 0; }
#canvas-wrap { position: relative; min-width: 0; min-height: 0; background: #000; }
#cv { display: block; width: 100%; height: 100%; outline: none; cursor: none; }
#sim-bar[hidden] { display: none; }
#sim-bar { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); background: rgba(20,20,20,.85); color: #eee; padding: 6px 10px; border: 1px solid #555; display: flex; gap: 10px; align-items: center; font-variant-numeric: tabular-nums; }

#panel { border-left: 1px solid var(--ui-line); background: var(--ui-bg); padding: 8px; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; }
#panel > * { flex: none; }
#histbar { display: flex; justify-content: flex-end; gap: 4px; }
#histbar button { padding: 3px 12px; font-weight: 600; }
#modes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
#modes button { background: #c9cbd6; color: #223; border: 1px solid #8a8fa8; padding: 5px 2px; font-weight: 600; }
#modes button.on { background: var(--accent); color: #fff; border-color: var(--accent); outline: 0; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 3px; background: var(--ui-bg2); }
.frame-cat { border: 3px solid #3d8f86; }
.frame-sub { border: 3px solid #a8a24a; min-height: 120px; align-content: start; }
.grid2 button { padding: 7px 2px; border: 1px solid #b9b9b9; border-radius: 0; margin: -1px 0 0 -1px; }
.grid2 button.on { background: #fff; color: #d00000; outline: 0; font-weight: 600; }
.grid2 button.cat-on { background: #fff; color: #d00000; font-weight: 600; box-shadow: inset 0 0 0 1px #d00000; }
.grid2 .blank { border: 1px solid #d0d0d0; margin: -1px 0 0 -1px; min-height: 31px; background: #f0f0f0; }
#tool-name { color: var(--ui-mute); text-align: center; min-height: 1em; }
#info { border: 1px solid var(--ui-line); background: #fff; padding: 6px 8px; min-height: 60px; line-height: 1.6; font-variant-numeric: tabular-nums; white-space: pre-wrap; word-break: break-all; }
#info b { color: var(--accent); }

#statusbar { display: flex; gap: 10px; align-items: center; padding: 3px 8px; background: var(--ui-bg); border-top: 1px solid var(--ui-line); white-space: nowrap; overflow: hidden; min-width: 0; }
#prompt { flex: 1 1 auto; min-width: 200px; overflow: hidden; text-overflow: ellipsis; color: #003; font-weight: 600; }
#cmdline { width: 240px; font: inherit; padding: 2px 6px; border: 1px solid var(--ui-line); }
#coords { min-width: 180px; flex: none; text-align: right; font-variant-numeric: tabular-nums; }
.props { align-items: center; gap: 8px; padding: 0 8px; }
.props label { display: inline-flex; gap: 4px; align-items: center; color: var(--ui-mute); }
.props select { font: inherit; padding: 1px 2px; max-width: 150px; }
.tog { display: inline-flex; gap: 3px; align-items: center; color: var(--ui-mute); cursor: pointer; }

#modal { position: fixed; inset: 0; background: rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; z-index: 10; }
#modal[hidden] { display: none; }
.dlg { background: var(--ui-bg); border: 1px solid #555; box-shadow: 0 8px 30px rgba(0,0,0,.4); min-width: 360px; max-width: min(1280px, 97vw); max-height: 90vh; display: flex; flex-direction: column; }
.dlg-title { display: flex; align-items: center; background: var(--accent); color: #fff; padding: 4px 4px 4px 10px; font-weight: 600; }
.dlg-title span { flex: 1; }
.dlg-title .x { background: transparent; color: #fff; border: 0; font-size: 16px; padding: 0 8px; }
.dlg-body { padding: 12px; overflow: auto; }
.dlg-foot { display: flex; gap: 6px; justify-content: flex-end; padding: 8px 12px; border-top: 1px solid var(--ui-line); }
.dlg-foot button.primary { background: #e7eeff; border-color: #3a5bd9; font-weight: 600; }
.form { display: grid; grid-template-columns: auto 1fr; gap: 6px 10px; align-items: center; }
.form label { color: var(--ui-mute); }
.form input, .form select, .form textarea { font: inherit; padding: 3px 6px; border: 1px solid var(--ui-line); background: #fff; min-width: 0; }
.form .full { grid-column: 1 / -1; }
.note { color: var(--ui-mute); margin: 8px 0 0; line-height: 1.5; }
.warn { color: #a00; }
table.grid { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
table.grid th, table.grid td { border: 1px solid var(--ui-line); padding: 3px 6px; text-align: left; background: #fff; }
table.grid th { background: #ddd; font-weight: 600; }
table.grid td input { width: 100%; font: inherit; border: 1px solid #ccc; padding: 2px 4px; }
table.grid td.num, table.grid th.num { text-align: right; }
textarea.code { width: 100%; height: 360px; font-family: Consolas, "MS Gothic", monospace; font-size: 12px; background: #0b0b0b; color: #9f9; border: 1px solid #333; padding: 8px; }
.layers { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.radio-row { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }

#toast { position: fixed; left: 50%; bottom: 40px; transform: translateX(-50%); background: #222; color: #fff; padding: 8px 14px; border-radius: 3px; z-index: 20; max-width: 80vw; white-space: pre-wrap; }
#toast.err { background: #8a1010; }

@media (max-width: 760px) {
  #main { grid-template-columns: 1fr; grid-template-rows: 1fr auto; }
  #panel { border-left: 0; border-top: 1px solid var(--ui-line); max-height: 34vh; }
  #main { grid-template-rows: minmax(140px, 1fr) auto; }
  #prompt { min-width: 0; }
  #cmdline { width: 120px; }
  .tog { display: none; }
}

/* オープニング */
#splash { position: fixed; inset: 0; z-index: 50; background: #050b18; display: flex; align-items: center; justify-content: center; transition: opacity .6s; }
#splash.out { opacity: 0; pointer-events: none; }
#splash video { width: 100%; height: 100%; object-fit: contain; }
#splash-skip { position: absolute; right: 24px; bottom: 24px; background: rgba(20,40,80,.7); color: #cde; border: 1px solid #4a6ea8; padding: 6px 16px; }
.logo-img { width: 20px; height: 20px; border-radius: 4px; }
/* ピアス */
#pierce-box { border: 3px solid #a8a24a; background: var(--ui-bg2); padding: 3px; display: flex; flex-direction: column; gap: 3px; }
#pierce-box[hidden] { display: none; }
.pb-mode { display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
#pb-auto { padding: 1px 10px; color: #000; }
#pb-auto.semi { background: #00e5ff; } #pb-auto.auto { background: #ffb000; }
.pb-row { cursor: pointer; border: 1px solid #999; background: #fff; }
.pb-row:hover { outline: 2px solid var(--accent); }
.pb-t { font-size: 11px; padding: 1px 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-row canvas { display: block; width: 100%; height: 64px; }
.pierce-dlg { display: flex; flex-direction: column; gap: 8px; width: min(640px, 90vw); }
.pierce-top { display: flex; gap: 10px; align-items: flex-start; }
.pierce-top canvas { border: 1px solid #555; flex: none; }
.pierce-list { max-height: 52vh; overflow: auto; }
#pp-tbl tr[data-pn] { cursor: pointer; }
#pp-tbl tr.on td { background: #0a5ad6; color: #fff; }
.preset-row { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.est td.num, .est th.num { text-align: right; }
.est input { width: 70px; }

.tabs2 { display: flex; gap: 2px; margin-bottom: 6px; }
.tabs2 button.on { background: var(--accent); color: #fff; }
.mach td { vertical-align: top; }
.mach tr[data-it] { cursor: pointer; }
.mach tr.on td { background: #fff6cc; }
.mk { display: inline-block; font-size: 10px; padding: 0 4px; border-radius: 2px; color: #fff; background: #777; margin-right: 2px; }
.mk-tap { background: #c0392b; } .mk-cbore { background: #8e44ad; } .mk-drill { background: #2471a3; } .mk-step { background: #b9770e; } .mk-cham { background: #5d6d7e; }
.mk-gas { background: #1e8449; } .mk-shape { background: #117864; } .mk-note { background: #555; }
.mk-boring { background: #6c3483; }

.pb-dir { float: right; font-size: 11px; padding: 0 6px; margin-left: 4px; }

.cchip{display:inline-block;width:11px;height:11px;border-radius:2px;border:1px solid #0006;vertical-align:-1px;margin-right:3px}

/* Noguactor に聞く（NOGUACTOR の ChatDock と同じ見た目） */
#ngd-fab{position:fixed;right:14px;bottom:44px;z-index:8500;width:48px;height:48px;border-radius:50%;padding:0;border:2px solid #4fe3ff;
  background:#06142a;box-shadow:0 0 0 4px rgba(79,227,255,.15),0 8px 24px rgba(0,0,0,.5);cursor:pointer;overflow:visible;transition:transform .2s}
#ngd-fab:hover{transform:scale(1.07)}
#ngd-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
#ngd-fab b{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;border-radius:50%;background:#4fe3ff;color:#001a26;font-size:11px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.5)}
#ngd-fab.ngd-hide{display:none}
#ngd{position:fixed;top:0;right:0;bottom:0;z-index:8600;width:400px;max-width:100vw;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#071528,#050c18);border-left:1px solid rgba(79,227,255,.45);box-shadow:-12px 0 40px rgba(0,0,0,.55);
  transform:translateX(105%);transition:transform .28s ease;font-family:'Noto Sans JP','Meiryo',system-ui,sans-serif;color:#d8ecff;font-size:14px;line-height:1.6}
#ngd.ngd-open{transform:none}
#ngd *{box-sizing:border-box}
body.ngd-pinned{margin-right:400px !important;transition:margin .28s}
@media (max-width:760px){#ngd{width:100vw}body.ngd-pinned{margin-right:0 !important}#ngd #ngd-pin{display:none}}
#ngd .ngd-hd{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(79,227,255,.25);background:rgba(10,30,60,.6)}
#ngd .ngd-face{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #4fe3ff;flex:none}
#ngd.ngd-busy .ngd-face{animation:ngdPulse 1s ease-in-out infinite;border-color:#ffc04d}
@keyframes ngdPulse{50%{box-shadow:0 0 0 6px rgba(255,192,77,.25)}}
#ngd .ngd-tt{flex:1;min-width:0}
#ngd .ngd-tt b{display:block;font-size:14px;color:#e8f6ff}
#ngd .ngd-tt span{display:block;font-size:11px;color:#86a3c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ngd .ngd-ib{background:none;border:1px solid transparent;color:#86a3c4;border-radius:8px;width:29px;height:29px;flex:none;cursor:pointer;font-size:15px;display:grid;place-items:center;padding:0;min-width:0}
#ngd .ngd-ib:hover{border-color:rgba(79,227,255,.35);color:#e8f6ff}
#ngd .ngd-ib.on{background:#4fe3ff;color:#001a26}
#ngd .ngd-log{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:12px}
#ngd .ngd-log::-webkit-scrollbar{width:6px}#ngd .ngd-log::-webkit-scrollbar-thumb{background:rgba(79,227,255,.3);border-radius:6px}
#ngd .ngd-me{align-self:flex-end;max-width:85%;background:#16304f;border:1px solid rgba(80,170,255,.25);border-radius:14px 14px 4px 14px;padding:8px 12px;white-space:pre-wrap;word-break:break-word}
#ngd .ngd-ai{align-self:stretch;background:rgba(10,26,48,.75);border:1px solid rgba(80,170,255,.2);border-radius:4px 14px 14px 14px;padding:10px 12px}
#ngd .ngd-tx{white-space:pre-wrap;word-break:break-word}
#ngd .ngd-tx a{color:#4fe3ff;word-break:break-all}
#ngd .ngd-tx .ngd-k{color:#4fe3ff;font-weight:600}
#ngd .ngd-lv{display:inline-block;font-size:10px;font-weight:700;padding:0 8px;border-radius:999px;margin:0 4px 4px 0}
#ngd .ngd-lv.Easy{background:rgba(62,230,160,.15);color:#3ee6a0}#ngd .ngd-lv.Hard{background:rgba(255,192,77,.15);color:#ffc04d}
#ngd .ngd-lv.Help{background:rgba(79,227,255,.12);color:#4fe3ff}
#ngd .ngd-acts{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:8px}
#ngd .ngd-acts button{background:#0b1d36;border:1px solid rgba(80,170,255,.22);color:#bcd6f2;border-radius:8px;padding:2px 9px;font-size:12px;cursor:pointer;min-width:0}
#ngd .ngd-acts button.sel{border-color:#4fe3ff;color:#4fe3ff}
#ngd .ngd-acts .ngd-lb{font-size:10px;color:#86a3c4;margin-left:6px}
#ngd .ngd-acts .ngd-sec{font-size:10px;color:#5f7fa3;margin-left:auto}
#ngd .ngd-fb{display:none;width:100%;margin-top:6px}
#ngd .ngd-fb textarea{width:100%;min-height:54px;background:#050f1f;color:#d8ecff;border:1px solid rgba(80,170,255,.35);border-radius:8px;padding:6px 8px;font:inherit;font-size:12px}
#ngd .ngd-fb button{margin-top:4px}
#ngd .ngd-done{font-size:11px;color:#3ee6a0;margin-left:4px}
#ngd .ngd-think{color:#86a3c4;font-size:13px}
#ngd .ngd-think i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4fe3ff;margin-left:3px;animation:ngdDot 1s infinite}
#ngd .ngd-think i:nth-child(2){animation-delay:.15s}#ngd .ngd-think i:nth-child(3){animation-delay:.3s}
@keyframes ngdDot{50%{opacity:.2;transform:translateY(-3px)}}
#ngd .ngd-hints{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}
#ngd .ngd-hints button{background:rgba(79,227,255,.07);border:1px solid rgba(79,227,255,.3);color:#9fe9ff;border-radius:999px;padding:3px 10px;font-size:11px;cursor:pointer;min-width:0}
#ngd .ngd-hints button:hover{background:#4fe3ff;color:#001a26}
#ngd .ngd-ft{padding:8px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid rgba(79,227,255,.2)}
#ngd .ngd-file{font-size:11px;color:#ffc04d;margin-bottom:4px;cursor:pointer}
#ngd .ngd-file:empty{display:none}
#ngd .ngd-box{display:flex;align-items:flex-end;gap:6px;background:#0a1a30;border:1px solid rgba(80,170,255,.4);border-radius:18px;padding:4px 4px 4px 8px}
#ngd .ngd-box:focus-within{border-color:#4fe3ff}
#ngd .ngd-box textarea{flex:1;resize:none;border:none;outline:none;background:none;color:#e8f6ff;font:inherit;font-size:14px;max-height:120px;min-height:34px;padding:6px 0}
#ngd .ngd-box label,#ngd .ngd-send{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none;border:none;font-size:15px;padding:0;min-width:0}
#ngd .ngd-box label{color:#86a3c4}#ngd .ngd-box label:hover{background:#10233f}
#ngd .ngd-send{background:#4fe3ff;color:#001a26;font-weight:900}
#ngd .ngd-send:disabled{background:#10233f;color:#5f7fa3}
#ngd.ngd-drag{outline:3px dashed #4fe3ff;outline-offset:-8px}
#ngd .ngd-note{font-size:10px;color:#5f7fa3;text-align:center;margin-top:5px}

#ngd .ngd-do{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#ngd .ngd-do button{background:#0f2a4a;border:1px solid #4fe3ff;color:#4fe3ff;border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer}
#ngd .ngd-do button:hover{background:#163a63}
#ngd .ngd-do button:disabled{opacity:.4;cursor:default}

#ngc{position:fixed;left:-50px;top:-50px;z-index:100000;pointer-events:none;display:none;transition-property:left,top;transition-timing-function:cubic-bezier(.4,.1,.2,1);filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
#ngc svg{display:block;transition:transform .12s}
#ngc.down svg{transform:scale(.82)}
#ngc span{position:absolute;left:22px;top:24px;white-space:nowrap;background:#071528;color:#4fe3ff;border:1px solid #4fe3ff;border-radius:6px;padding:1px 7px;font-size:12px}
.ngc-hl{outline:3px solid #4fe3ff !important;outline-offset:1px;box-shadow:0 0 12px #4fe3ff !important}
#ngd .ngd-ib svg{width:15px;height:15px;fill:currentColor}
#ngd .ngd-tt{min-width:0}
#ngd .ngd-tt b{white-space:nowrap}

#rot-pad{position:fixed;z-index:9000;background:#fff;border:2px solid #1f3fd0;border-radius:8px;padding:6px 8px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;max-width:250px;box-shadow:0 4px 14px rgba(0,0,0,.35);font-size:12px}
#rot-pad b{color:#1f3fd0;margin-right:2px}
#rot-pad input{width:64px;padding:2px 4px}
#rot-pad button{padding:2px 6px;font-size:12px;min-width:0}
