/* notebook.css — the Notebook surface (Notes · Journal · Meetings): rich formatting + one
 * buttonology system, on Spectral's Aurora tokens (REQ-SPECTRAL-051). Consumed by public/js/notes.js. */

.nb-top{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.nb-top .nb-sub{color:var(--text-muted);font-size:13px;margin:5px 0 0;max-width:60ch}
.nb-toolbar{display:flex;gap:8px;margin-left:auto}

/* tabs + chips */
.nb-tabs{display:flex;gap:8px;margin:18px 0 12px}
.nb-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:9px;font-size:13px;
  font-weight:600;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:.15s}
.nb-tab:hover{color:var(--text);border-color:rgba(255,255,255,.16)}
.nb-tab.on{background:rgba(0,200,255,.12);color:var(--cyan);border-color:rgba(0,200,255,.4)}
.nb-tab svg{width:15px;height:15px}
.nb-chips{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.nb-chip{padding:3.5px 12px;border-radius:999px;font-size:12px;border:1px solid var(--border);
  background:transparent;color:var(--text-muted);cursor:pointer;transition:.14s}
.nb-chip:hover{color:var(--text)}
.nb-chip.on{background:rgba(0,200,255,.12);color:var(--cyan);border-color:rgba(0,200,255,.35)}

/* ONE buttonology system */
.nb-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:9px;font-size:12.5px;
  font-weight:600;font-family:inherit;border:1px solid var(--border);background:rgba(255,255,255,.035);
  color:var(--text);cursor:pointer;transition:.14s;white-space:nowrap}
.nb-btn:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);transform:translateY(-1px)}
.nb-btn:active{transform:translateY(0)}
.nb-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.nb-btn svg{width:15px;height:15px;flex:none}
.nb-btn.primary{background:linear-gradient(180deg,rgba(0,200,255,.22),rgba(0,200,255,.1));border-color:rgba(0,200,255,.45);color:#bdeeff}
.nb-btn.mint{background:rgba(0,255,180,.12);border-color:rgba(0,255,180,.4);color:var(--mint)}
.nb-btn.violet{background:rgba(120,80,255,.16);border-color:rgba(120,80,255,.45);color:#b9a6ff}
.nb-btn.amber{background:rgba(255,170,48,.13);border-color:rgba(255,170,48,.4);color:var(--warning)}
.nb-btn.ghost{background:transparent}
.nb-btn.sm{padding:5px 10px;font-size:11.5px;border-radius:8px}
.nb-btn.block{justify-content:center;width:100%;padding:11px}
.nb-actionbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05)}

/* layout */
.nb-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:16px;align-items:start;margin-top:16px}
@media(max-width:900px){.nb-split{grid-template-columns:1fr}}
.nb-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}
.nb-card.sel{outline:1.5px solid rgba(0,200,255,.38);outline-offset:-1px}
.nb-stack{display:flex;flex-direction:column;gap:9px}

/* list cards */
.nb-lc{background:var(--deep);border:1px solid var(--border);border-radius:12px;padding:12px 13px;cursor:pointer;transition:.14s}
.nb-lc:hover{border-color:rgba(255,255,255,.15);background:#141824}
.nb-lc.sel{border-color:rgba(0,200,255,.45);background:#111a24}
.nb-lc .nb-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nb-lc h4{margin:0;font-size:13.5px;font-weight:640;color:var(--text)}
.nb-lc .nb-snip{color:var(--text-muted);font-size:12.5px;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nb-lc .nb-atts{font-size:11px;color:var(--text-muted);margin-top:5px;display:flex;align-items:center;gap:5px}
.nb-lc .nb-atts svg{width:11px;height:11px}
.nb-time{margin-left:auto;color:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums}

/* processing ticker row */
.nb-proc{display:flex;align-items:center;gap:11px;background:var(--deep);border:1px solid var(--border);
  border-radius:12px;padding:12px 13px}
.nb-proc .nb-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,200,255,.25);
  border-top-color:var(--cyan);animation:nb-spin .8s linear infinite;flex:none}
@keyframes nb-spin{to{transform:rotate(360deg)}}

/* badges */
.nb-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;padding:2px 8px;border-radius:7px;
  background:rgba(255,255,255,.05);color:var(--text-muted);border:1px solid transparent;font-weight:600}
.nb-badge svg{width:11px;height:11px}
.nb-badge.cyan{background:rgba(0,200,255,.12);color:var(--cyan)}
.nb-badge.mint{background:rgba(0,255,180,.12);color:var(--mint)}
.nb-badge.violet{background:rgba(120,80,255,.15);color:#b9a6ff}
.nb-badge.amber{background:rgba(255,170,48,.13);color:var(--warning)}

/* detail */
.nb-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nb-titlerow h3{margin:0;font-size:17px;font-weight:640;letter-spacing:-.01em;color:var(--text)}
.nb-metaline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-dim);font-size:11.5px;margin-top:7px}
.nb-metaline span{display:inline-flex;align-items:center;gap:5px}
.nb-metaline svg{width:12px;height:12px}
.nb-metaline .mono{font-variant-numeric:tabular-nums}
.nb-avstack{display:flex}.nb-avstack .nb-av:not(:first-child){margin-left:-7px}
.nb-av{box-sizing:border-box;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;line-height:1;text-align:center;letter-spacing:-.3px;padding-top:2px;font-size:9.5px;font-weight:700;border:1.5px solid var(--void)}

.nb-eyebrow{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-weight:650;
  display:flex;align-items:center;gap:7px;margin-bottom:8px}
.nb-eyebrow svg{width:13px;height:13px;color:var(--text-muted)}
.nb-sec{margin-top:16px}
.nb-body{font-size:14px;line-height:1.7;white-space:pre-wrap;color:var(--text)}
.nb-summary{font-size:13.5px;line-height:1.7;color:var(--text)}

.nb-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:12.5px;margin-top:14px}
.nb-banner.trans{background:rgba(0,200,255,.1);color:var(--cyan)}
.nb-banner svg{width:14px;height:14px;flex:none}

.nb-decision{display:flex;gap:9px;align-items:flex-start;padding:6px 0;font-size:13px;color:var(--text)}
.nb-decision svg{width:16px;height:16px;color:var(--mint);flex:none;margin-top:2px}
.nb-action{display:flex;gap:9px;align-items:flex-start;padding:8px 11px;border-radius:9px;background:var(--deep);
  border:1px solid rgba(255,255,255,.05);margin-bottom:6px}
.nb-action svg{width:15px;height:15px;color:var(--text-dim);flex:none;margin-top:2px}
.nb-action .nb-due{color:var(--warning);font-size:11px;font-variant-numeric:tabular-nums;margin-top:2px}

/* audio player */
.nb-player{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;
  background:linear-gradient(180deg,rgba(0,200,255,.07),rgba(255,255,255,.015));border:1px solid var(--border);margin-top:14px}
.nb-player .nb-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;
  background:rgba(0,200,255,.14);color:var(--cyan)}
.nb-player audio{flex:1;min-width:0;height:34px}
.nb-player .nb-dlaudio{flex:none}

/* transcript */
.nb-turn{display:flex;gap:11px;padding:9px 0;border-top:1px solid rgba(255,255,255,.05)}
.nb-turn:first-child{border-top:none}
.nb-spk{box-sizing:border-box;width:26px;height:26px;border-radius:8px;flex:none;display:grid;place-items:center;line-height:1;text-align:center;letter-spacing:-.2px;padding-top:2px;font-size:11px;font-weight:700}
/* Name-the-speakers affordance (tracker 46ee9b6e): a summary that reads as a real BUTTON, not a header
   label. The <details> stays for the expand/collapse, but its summary is styled + labelled like a CTA. */
.nb-namer{border:1px solid var(--border,#2a3550);border-radius:10px;padding:0;background:rgba(120,80,255,.06)}
.nb-namer>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;
  border-radius:9px;font-size:12.5px;font-weight:600;color:#b9a6ff;background:rgba(120,80,255,.16);
  border:1px solid rgba(120,80,255,.45);transition:background .15s,transform .1s}
.nb-namer>summary:hover{background:rgba(120,80,255,.24);transform:translateY(-1px)}
.nb-namer>summary::-webkit-details-marker{display:none}
.nb-namer>summary .nb-chev{margin-left:2px;transition:transform .15s}
.nb-namer[open]>summary .nb-chev{transform:rotate(180deg)}
.nb-namer[open]{padding:4px 14px 14px}
.nb-namer[open]>summary{margin-bottom:6px}
.nb-turnbody{min-width:0;flex:1}
.nb-who{display:flex;align-items:center;gap:8px;font-size:11.5px}
.nb-who .nb-name{font-weight:650}
.nb-langtag{font-size:10.5px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px;
  padding:1px 7px;border-radius:6px;background:rgba(255,255,255,.05)}
.nb-langtag svg{width:10px;height:10px}
.nb-said{font-size:13px;color:var(--text);margin-top:3px;line-height:1.55}
.nb-orig{display:flex;gap:6px;align-items:flex-start;margin-top:4px;font-size:12px;color:var(--text-muted);font-style:italic;line-height:1.5}
.nb-orig svg{width:11px;height:11px;color:var(--text-dim);flex:none;margin-top:3px}
.nb-tstamp{margin-left:auto;color:var(--text-dim);font-size:10.5px;font-variant-numeric:tabular-nums}

/* journal */
.nb-reminders{background:linear-gradient(180deg,rgba(255,170,48,.1),rgba(255,170,48,.02));
  border:1px solid rgba(255,170,48,.26);border-radius:13px;padding:14px 16px;margin-bottom:16px}
.nb-reminders .nb-eyebrow{color:var(--warning)}
.nb-reminders .nb-eyebrow svg{color:var(--warning)}
.nb-rem{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px;color:var(--text);border-top:1px solid rgba(255,170,48,.12)}
.nb-rem:first-of-type{border-top:none}
.nb-rem svg{width:15px;height:15px;color:var(--warning);flex:none}
.nb-rem .nb-when{margin-left:auto;font-size:11px;color:var(--warning);font-variant-numeric:tabular-nums;white-space:nowrap}
.nb-jhead{display:flex;align-items:baseline;gap:10px;margin:2px 0 14px}
.nb-jhead h3{margin:0;font-size:18px;font-weight:650;color:var(--text)}
.nb-jhead .nb-d{color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums}
.nb-tl{position:relative;padding-left:26px}
.nb-tl::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--border)}
.nb-je{position:relative;margin-bottom:14px;cursor:pointer}
.nb-je .nb-dot{position:absolute;left:-22px;top:3px;width:14px;height:14px;border-radius:50%;border:2.5px solid var(--void)}
.nb-je .nb-ehead{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.nb-je .nb-etime{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}
.nb-je .nb-ebody{font-size:13px;color:var(--text);line-height:1.6}

.nb-empty{text-align:center;padding:44px 20px;color:var(--text-muted)}
.nb-empty svg{width:36px;height:36px;color:var(--text-dim);margin-bottom:8px}
.nb-empty h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text)}
.nb-empty p{margin:0;font-size:12.5px}
.nb-msg{margin-top:8px;font-size:12px;color:var(--text-muted)}
.nb-toast{margin-top:8px;padding:8px 12px;border-radius:8px;font-size:12.5px}
.nb-toast.ok{background:rgba(0,255,180,.1);color:var(--mint)}
.nb-toast.err{background:rgba(255,68,102,.1);color:var(--error)}

/* agentic promote (doc §3) — the in-notebook approval card */
.nb-pc-slot:empty{display:none}
.nb-pc-loading{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;border-radius:12px;
  background:rgba(0,200,255,.06);border:1px solid var(--border);font-size:12.5px;color:var(--text-muted)}
.nb-pc-err{margin-top:12px;padding:10px 13px;border-radius:10px;background:rgba(255,68,102,.1);color:var(--error);font-size:12.5px}
.nb-pc{margin-top:14px;padding:15px 16px;border-radius:14px;border:1px solid rgba(120,80,255,.28);
  background:linear-gradient(180deg,rgba(120,80,255,.08),rgba(255,255,255,.015))}
.nb-pc.sev-amber{border-color:rgba(255,170,48,.34);background:linear-gradient(180deg,rgba(255,170,48,.08),rgba(255,255,255,.015))}
.nb-pc.sev-warning{border-color:rgba(255,68,102,.36);background:linear-gradient(180deg,rgba(255,68,102,.08),rgba(255,255,255,.015))}
.nb-pc-answer{font-size:12.5px;line-height:1.6;color:var(--text-muted);margin-bottom:11px;padding-bottom:11px;
  border-bottom:1px solid rgba(255,255,255,.06);white-space:pre-wrap}
.nb-pc-head{display:flex;align-items:center;gap:9px}
.nb-pc-head svg{width:15px;height:15px;color:var(--violet)}
.nb-pc-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:650;color:var(--text-dim)}
.nb-pc-head .nb-badge{margin-left:auto;text-transform:capitalize}
.nb-badge.warning{background:rgba(255,68,102,.14);color:var(--error)}
.nb-pc-desc{font-size:14px;line-height:1.6;color:var(--text);margin-top:10px;font-weight:520}
.nb-pp{margin-top:11px;border-radius:10px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.05);overflow:hidden}
.nb-pp-row{display:flex;gap:10px;padding:6px 11px;font-size:12px;border-top:1px solid rgba(255,255,255,.04)}
.nb-pp-row:first-child{border-top:none}
.nb-pp-k{color:var(--text-dim);min-width:96px;font-weight:600}
.nb-pp-v{color:var(--text);word-break:break-word;font-variant-numeric:tabular-nums}
.nb-pc-meta{margin-top:10px;font-size:11px;color:var(--text-dim)}
.nb-pc-actions{display:flex;gap:8px;margin-top:13px}
.nb-pc-none{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:12.5px;color:var(--text-muted)}
.nb-pc-none svg{width:14px;height:14px;flex:none}
.nb-pc-result{margin-top:12px;padding:9px 12px;border-radius:9px;font-size:12.5px;line-height:1.5}
.nb-pc-result.ok{background:rgba(0,255,180,.1);color:var(--mint)}
.nb-pc-result.err{background:rgba(255,68,102,.1);color:var(--error)}
.nb-pc-result.muted{background:rgba(255,255,255,.05);color:var(--text-muted)}
.nb-spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.15);
  border-top-color:var(--cyan);animation:nb-spin .8s linear infinite;flex:none}
