.tb-shell{margin:14px 0 28px;display:grid;gap:12px}
.tb-panel{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:14px}
.tb-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.tb-topbar label{margin:0 0 5px}
.tb-book-select{width:100%;min-height:42px;padding:9px 36px 9px 11px;font-size:15px}
.tb-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.tb-icon-btn{min-width:42px;min-height:42px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);
  background:var(--card2);color:var(--tx);font:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer}
.tb-icon-btn:hover,.tb-icon-btn:focus-visible{border-color:var(--mint);outline:none}
.tb-icon-btn.danger{color:var(--red)}
.tb-pagebar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}
.tb-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:2px}
.tb-tab{border:1px solid var(--line);background:var(--card2);color:var(--dim);border-radius:999px;
  padding:7px 12px;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.tb-tab.on{border-color:var(--green);background:#54d98c20;color:var(--green)}
.tb-add-pages{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tb-add-pages .btn{width:100%;min-height:42px}
.tb-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px}
.tb-title-input{margin:0;padding:10px 11px;font-size:17px;font-weight:650}
.tb-page-tools{display:flex;gap:7px}
.tb-notes{display:block;width:100%;min-height:56vh;resize:vertical;padding:12px 12px 12px 48px;
  color:var(--tx);font:17px/29px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;
  background-color:#1b1b20;
  background-image:linear-gradient(90deg,transparent 0,transparent 38px,#ff6b6b55 39px,transparent 40px),
    repeating-linear-gradient(180deg,transparent 0,transparent 28px,#ffffff18 29px,#ffffff18 30px);
  background-position:0 12px;border:1px solid var(--line);border-radius:14px;caret-color:var(--mint)}
.tb-notes:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 2px #5fe0c020}
.tb-sketch-wrap{display:grid;gap:10px}
.tb-canvas{display:block;width:100%;height:56vh;min-height:360px;border:1px solid var(--line);border-radius:14px;
  background:#1b1b20;touch-action:none;cursor:crosshair}
.tb-sketch-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tb-colours{display:flex;gap:8px;align-items:center}
.tb-colour{width:30px;height:30px;border-radius:50%;border:2px solid #ffffff24;cursor:pointer;padding:0}
.tb-colour[aria-pressed="true"]{border-color:#fff;box-shadow:0 0 0 2px var(--mint)}
.tb-width{display:flex;align-items:center;gap:7px;color:var(--dim);font-size:13px}
.tb-width select{padding:8px 28px 8px 9px}
.tb-sketch-actions{display:flex;gap:7px;margin-left:auto}
.tb-empty{text-align:center;color:var(--dim);padding:52px 18px}
.tb-empty strong{display:block;color:var(--tx);font-size:18px;margin-bottom:6px}
.tb-status{font-size:12px;color:var(--faint);text-align:right;padding:0 4px}
.tb-status.error{color:var(--red);font-weight:600}
.tb-modal-backdrop{position:fixed;inset:0;z-index:100;background:#000b;display:grid;place-items:center;padding:18px}
.tb-modal{width:min(560px,100%);max-height:min(82vh,760px);overflow:auto;background:var(--card);
  border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 24px 80px #000b}
.tb-modal-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.tb-modal-head h2{font-size:18px;margin:0;flex:1}
.tb-search-results{display:grid;gap:8px;margin-top:12px}
.tb-search-hit{width:100%;text-align:left;border:1px solid var(--line);background:var(--card2);color:var(--tx);
  border-radius:12px;padding:11px 12px;cursor:pointer}
.tb-search-hit strong{display:block;font-size:14px;margin-bottom:3px}
.tb-search-hit span{display:block;color:var(--dim);font-size:12px;line-height:1.45}
.tb-calc-display{font-size:40px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;
  overflow:hidden;text-overflow:ellipsis;padding:12px;background:var(--card2);border-radius:13px;margin:8px 0 12px}
.tb-calc-tape{max-height:110px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;
  margin-bottom:10px;text-align:right;color:var(--dim);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.tb-calc-tape:empty{display:none}
.tb-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.tb-calc-key{min-height:52px;border:1px solid var(--line);border-radius:13px;background:var(--card2);
  color:var(--tx);font-size:20px;font-weight:600;cursor:pointer}
.tb-calc-key.op{background:#5fe0c0d9;color:#06211c;border-color:var(--mint)}
.tb-calc-key.utility{background:#ffffff14}
.tb-calc-actions{display:flex;gap:8px;justify-content:space-between;align-items:center;margin:10px 0 12px;flex-wrap:wrap}
@media(max-width:560px){
  .tb-topbar{grid-template-columns:1fr}.tb-actions{justify-content:flex-start}
  .tb-page-head{grid-template-columns:1fr}.tb-page-tools{justify-content:flex-end}
  .tb-canvas,.tb-notes{min-height:52vh}.tb-sketch-actions{width:100%;margin-left:0;justify-content:flex-end}
}
@media(prefers-reduced-motion:no-preference){.tb-modal{animation:tb-pop .16s ease-out}}
@keyframes tb-pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
