  :root{--bg:#0d1117;--panel:#161b22;--panel2:#0c1117;--ac:#4f9cf9;--tx:#e6edf3;--mut:#a7b1bd;--bd:#272e38;--ok:#3fb950;--warn:#e3b341;--err:#f85149;--vio:#bda4f0;}
  :root[data-theme=light]{--bg:#f6f8fa;--panel:#ffffff;--panel2:#eef1f5;--ac:#1f6feb;--tx:#1f2328;--mut:#5a636d;--bd:#d0d7de;--ok:#1a7f37;--warn:#9a6700;--err:#cf222e;--vio:#8250df;}
  :root[data-theme=light] .rail button:hover,:root[data-theme=light] .rail button.on{background:#eaeef2;}
  :root[data-theme=light] button.sec{background:#eaeef2;color:#1f2328;border:1px solid var(--bd);}
  :root[data-theme=light] button.danger{background:#ffebe9;color:#cf222e;border:1px solid #ffced3;}
  :root[data-theme=light] .pill,:root[data-theme=light] .chip{background:#eef1f5;}
  :root[data-theme=light] .msg.user .bubble{background:#eef4ff;} :root[data-theme=light] code,:root[data-theme=light] pre{background:#eef1f5 !important;}
  :root[data-theme=light] .chip.tool{background:#fff4e0;color:#9a6700;} :root[data-theme=light] .chip.step{background:#e6f4ea;color:#1a7f37;}
  :root[data-theme=light] .chip.plan{background:#f1ecff;color:#8250df;} :root[data-theme=light] .chip.deleg{background:#e3effb;color:#0a4a8f;}
  :root[data-theme=light] .bar .track{background:#e6e9ee;}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;}
  .skel{background:linear-gradient(90deg,var(--panel) 25%,var(--panel2) 37%,var(--panel) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:8px;height:52px;margin-bottom:9px;border:1px solid var(--bd);}
  @keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
  h3{font-size:15px;font-weight:650;letter-spacing:-.01em;margin:18px 0 8px;} h4{font-size:13.5px;font-weight:600;}
  *{box-sizing:border-box;} html,body{height:100%;margin:0;}
  body{font:14px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx);display:flex;flex-direction:column;}
  header{display:flex;gap:8px;align-items:center;padding:9px 14px;background:var(--panel);border-bottom:1px solid var(--bd);}
  header b{color:var(--ac);white-space:nowrap;} .grow{flex:1;}
  .crumb{display:flex;align-items:center;gap:7px;font-size:var(--t-sm);min-width:0;}
  .crumb .crumb-sep{opacity:.5;} .crumb #viewTitle{color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  @media(max-width:560px){.crumb #viewGroup,.crumb .crumb-sep{display:none;}}
  .hamburger{display:none;background:transparent;border:none;color:var(--tx);font-size:20px;line-height:1;padding:4px 8px;cursor:pointer;border-radius:8px;}
  .hamburger:hover{background:var(--glass2);}
  .nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:45;}
  input,textarea,select,button{font:inherit;}
  input,textarea,select{background:var(--panel2);color:var(--tx);border:1px solid var(--bd);border-radius:6px;padding:6px 8px;}
  input:focus,textarea:focus,select:focus{outline:2px solid #1f6feb55;border-color:var(--ac);}
  button:focus-visible,.card.click:focus-visible{outline:2px solid var(--ac);outline-offset:2px;}
  button{background:var(--ac);color:#06122a;border:0;border-radius:6px;padding:6px 11px;cursor:pointer;font-weight:600;}
  button:disabled{opacity:.55;cursor:not-allowed;}
  button.sec{background:#30363d;color:var(--tx);} button.tiny{padding:2px 7px;font-size:12px;} button.danger{background:#3d1d1d;color:#ffb4ab;}
  .pill{font-size:12px;padding:2px 8px;border-radius:999px;background:#21262d;color:var(--mut);white-space:nowrap;}
  .pill.ok{color:var(--ok);} .pill.warn{color:var(--warn);} .pill.err{color:var(--err);} .pill.ac{color:var(--ac);}
  .body{flex:1;display:flex;overflow:hidden;}
  .rail{width:150px;background:var(--panel2);border-right:1px solid var(--bd);padding:8px 0;flex-shrink:0;overflow:auto;}
  .rail button{display:block;width:100%;text-align:left;background:transparent;color:var(--mut);border-radius:0;padding:9px 14px;font-weight:600;}
  .rail button:hover{color:var(--tx);background:#10161f;}
  .rail button.on{color:var(--ac);background:#10161f;border-left:2px solid var(--ac);}
  .rail-group{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);opacity:.7;padding:12px 14px 3px;}
  .main{flex:1;overflow:hidden;display:flex;}
  .view{display:none;flex:1;overflow:auto;} .view.on{display:flex;}
  .pane{padding:16px;width:100%;max-width:1040px;margin:0 auto;}
  h3{margin:14px 0 6px;} .mut{color:var(--mut);} small.mut{font-size:12px;}
  .row{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center;}
  .card{background:var(--panel);border:1px solid var(--bd);border-radius:8px;padding:13px 15px;margin-bottom:9px;box-shadow:0 1px 2px #0003;}
  .card h4{margin:0 0 6px;} .card.click{cursor:pointer;transition:transform .12s,border-color .12s;} .card.click:hover{border-color:var(--ac);transform:translateY(-1px);}
  .feed-item{background:var(--panel);border:1px solid var(--bd);border-left:3px solid var(--ac);border-radius:8px;padding:13px 15px;margin-bottom:10px;box-shadow:0 1px 3px #0004;}
  .feed-item.travel{border-left-color:#4f9cf9;} .feed-item.wallet{border-left-color:#bda4f0;} .feed-item.renewal{border-left-color:var(--warn);} .feed-item.deal{border-left-color:var(--ok);} .feed-item.goal{border-left-color:#e8a0bf;} .feed-item.connection{border-left-color:#38bdf8;background:linear-gradient(to right, rgba(56, 189, 248, 0.08), transparent);} .feed-item.intention{border-left-color:#c98bdb;} .feed-item.prep{border-left-color:#46b67c;} .feed-item b{font-size:15px;}
  .card.sel{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac) inset;}
  pre{background:var(--panel);border:1px solid var(--bd);border-radius:8px;padding:11px;white-space:pre-wrap;word-break:break-word;font-size:12px;max-height:340px;overflow:auto;}
  .empty{color:var(--mut);text-align:center;padding:26px 10px;}
  .spin{display:inline-block;width:14px;height:14px;border:2px solid #ffffff44;border-top-color:var(--ac);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  /* chat */
  #chat{display:none;} #chat.on{display:flex;}
  .threads{width:230px;border-right:1px solid var(--bd);background:var(--panel2);overflow:auto;flex-shrink:0;}
  .threads .hd{padding:9px 12px;display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--bd);}
  .thread{padding:8px 12px;cursor:pointer;border-left:2px solid transparent;display:flex;justify-content:space-between;gap:6px;}
  .thread:hover{background:#0f151d;} .thread.on{border-left-color:var(--ac);background:#0f151d;}
  .thread span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .conv{flex:1;display:flex;flex-direction:column;min-width:0;}
  .msgs{flex:1;overflow:auto;padding:16px;} .msg{max-width:820px;margin:0 auto 14px;}
  .msg .role{font-size:11px;color:var(--mut);margin-bottom:3px;}
  .bubble{background:var(--panel);border:1px solid var(--bd);border-radius:10px;padding:10px 13px;word-break:break-word;}
  .bubble p{margin:.3em 0;} .bubble pre{margin:.4em 0;} .bubble ul,.bubble ol{margin:.3em 0 .3em 1.2em;padding:0;} .bubble code{background:#0c1117;padding:1px 4px;border-radius:4px;}
  .bubble a{color:var(--ac);}
  .msg.user .bubble{background:#13233b;border-color:#1f3b63;white-space:pre-wrap;}
  details.think{margin:0 auto 6px;max-width:820px;background:var(--panel2);border:1px solid var(--bd);border-radius:8px;}
  details.think summary{cursor:pointer;padding:7px 11px;color:var(--mut);font-size:13px;}
  .steps{padding:4px 12px 10px;display:flex;flex-direction:column;gap:5px;}
  .chip{display:inline-block;font-size:12px;padding:2px 8px;border-radius:6px;background:#21262d;}
  .chip.tool{background:#2d2410;color:var(--warn);} .chip.step{background:#10231a;color:var(--ok);}
  .chip.plan{background:#1c1330;color:var(--vio);} .chip.deleg{background:#11233b;color:#79c0ff;}
  .tres{font-size:12px;color:var(--mut);margin-left:10px;}
  .composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--bd);} .composer textarea{flex:1;resize:none;}
  /* live */
  .livewrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:20px;}
  .orb{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4f9cf9,#1b3a63);box-shadow:0 0 40px #1f6feb55;transition:.3s;}
  .orb.listening{background:radial-gradient(circle at 35% 30%,#3fb950,#10231a);box-shadow:0 0 50px #3fb95066;animation:pulse 1.2s infinite;}
  .orb.speaking{background:radial-gradient(circle at 35% 30%,#bda4f0,#2a1f4d);box-shadow:0 0 55px #8957e566;}
  .orb.thinking{background:radial-gradient(circle at 35% 30%,#e3b341,#3a2e10);}
  @keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
  .bar{display:flex;align-items:center;gap:8px;margin:3px 0;} .bar .lbl{width:160px;color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .bar .track{flex:1;background:#0c1117;border-radius:4px;overflow:hidden;height:16px;} .bar .fill{height:100%;background:var(--ac);}
  .kpi{display:inline-block;min-width:130px;background:var(--panel);border:1px solid var(--bd);border-radius:8px;padding:10px;margin:0 8px 8px 0;}
  .kpi b{font-size:22px;display:block;color:var(--ac);}
  .dtbl{width:100%;border-collapse:collapse;font-size:12px;} .dtbl th,.dtbl td{text-align:left;padding:5px 7px;border-bottom:1px solid var(--bd);white-space:nowrap;} .dtbl th{color:var(--mut);font-weight:600;}
  .dtbl td.wrap{white-space:normal;max-width:260px;overflow:hidden;text-overflow:ellipsis;}
  .qcard{border-left:3px solid var(--bd);} .qcard.achieved{border-left-color:var(--ok);} .qcard.partial{border-left-color:var(--warn);} .qcard.failed{border-left-color:var(--err);} .qcard.unclear{border-left-color:var(--mut);}
  .live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:5px;animation:pulse 1.2s infinite;}
  .abanner{background:#241c10;color:#e3b341;border-bottom:1px solid #3a2e10;padding:8px 14px;font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  label.mut{font-size:12px;display:inline-flex;gap:4px;align-items:center;}
  .seg{display:inline-flex;border:1px solid var(--bd);border-radius:8px;overflow:hidden;}
  .seg button{background:transparent;color:var(--mut);border-radius:0;border-right:1px solid var(--bd);} .seg button:last-child{border-right:0;} .seg button.on{background:#10161f;color:var(--ac);}
  /* apps / dashboard */
  .appframe{width:100%;height:520px;border:1px solid var(--bd);border-radius:8px;background:#fff;}
  .wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
  .widget{background:var(--panel);border:1px solid var(--bd);border-radius:8px;padding:12px;min-height:90px;position:relative;}
  .widget .wx{position:absolute;top:6px;right:6px;}
  .widget table{width:100%;border-collapse:collapse;font-size:12px;} .widget th,.widget td{text-align:left;padding:3px 5px;border-bottom:1px solid var(--bd);}
  /* notifications */
  .bell{position:relative;background:transparent;color:var(--tx);padding:6px 8px;}
  .badge{position:absolute;top:-2px;right:-2px;background:var(--err);color:#fff;border-radius:999px;font-size:10px;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 3px;}
  .drop{position:absolute;top:46px;right:10px;width:340px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--bd);border-radius:10px;box-shadow:0 12px 40px #0008;z-index:30;display:none;}
  .drop.on{display:block;} .drop .ni{padding:10px 12px;border-bottom:1px solid var(--bd);position:relative;} .drop .ni.unread{background:#0f1d2e;}
  .drop .ni .ni-x{position:absolute;top:6px;right:6px;background:none;border:none;color:var(--mut);cursor:pointer;font-size:15px;line-height:1;padding:2px 5px;border-radius:4px;opacity:.6;} .drop .ni .ni-x:hover{opacity:1;background:rgba(127,127,127,.18);}
  /* toasts + modal */
  .toasts{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:60;}
  .toast{background:var(--panel);border:1px solid var(--bd);border-left:3px solid var(--ac);border-radius:8px;padding:9px 13px;max-width:380px;box-shadow:0 8px 30px #0007;animation:slidein .2s;}
  .toast.err{border-left-color:var(--err);} .toast.ok{border-left-color:var(--ok);}
  @keyframes slidein{from{transform:translateX(20px);opacity:0;}}
  .backdrop{position:fixed;inset:0;background:#0009;display:none;align-items:center;justify-content:center;z-index:70;} .backdrop.on{display:flex;}
  .modal{background:var(--panel);border:1px solid var(--bd);border-radius:12px;padding:18px;max-width:420px;width:90%;}
  .modal .row{justify-content:flex-end;margin:14px 0 0;}
  @media(max-width:720px){
    .hamburger{display:inline-flex;align-items:center;}
    /* Off-canvas nav drawer — the persistent rail used to eat a third of the phone screen. */
    .rail{position:fixed;top:0;left:0;bottom:0;width:250px;max-width:84vw;z-index:50;transform:translateX(-100%);transition:transform .22s ease;box-shadow:2px 0 26px rgba(0,0,0,.45);overflow:auto;}
    .rail.open{transform:none;}
    .rail.open ~ .nav-backdrop{display:block;}
    #rail .grp{padding:12px 16px;font-size:var(--t-sm);line-height:1.3;} #rail .subitems button{padding:9px 16px 9px 30px;font-size:var(--t-sm);line-height:1.3;}
    .rail-group{display:none;} .threads{width:140px;} .grid2,.grid3{grid-template-columns:1fr;}
    header{flex-wrap:wrap;} header input,header select{flex:1 1 40%;min-width:0;}
    .composer{flex-wrap:wrap;} .composer textarea{flex:1 1 100%;}}

  /* ===== Glassmorphism + micro-animations ===== */
  :root{--glass:rgba(18,24,32,.58);--glass2:rgba(36,44,55,.5);--glassbd:rgba(255,255,255,.08);}
  :root[data-theme=light]{--glass:rgba(255,255,255,.64);--glass2:rgba(255,255,255,.74);--glassbd:rgba(10,20,40,.09);}
  body{background:
    radial-gradient(1100px 640px at 6% -10%, rgba(79,156,249,.18), transparent 58%),
    radial-gradient(940px 560px at 110% 4%, rgba(189,164,240,.15), transparent 54%),
    radial-gradient(820px 740px at 52% 126%, rgba(63,185,80,.09), transparent 56%),
    var(--bg); background-attachment:fixed;}
  :root[data-theme=light] body{background:
    radial-gradient(1100px 640px at 6% -10%, rgba(31,111,235,.10), transparent 58%),
    radial-gradient(940px 560px at 110% 4%, rgba(130,80,223,.08), transparent 54%),
    var(--bg); background-attachment:fixed;}
  header,.rail{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:var(--glass);}
  .pane{backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);background:var(--glass);border:1px solid var(--glassbd);border-radius:16px;margin:12px auto;box-shadow:0 8px 40px rgba(0,0,0,.25);}
  .card{background:var(--glass2);border:1px solid var(--glassbd);}
  .feed-item{background:var(--glass2);}
  .drop,.modal{backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);background:rgba(22,27,34,.86);border:1px solid var(--glassbd);}
  :root[data-theme=light] .drop,:root[data-theme=light] .modal{background:rgba(255,255,255,.92);}
  .toast{backdrop-filter:blur(14px);background:var(--glass);}
  button{background:linear-gradient(135deg,var(--ac),#6aa8fb);transition:transform .12s ease,filter .14s ease,box-shadow .16s ease;}
  button.sec{background:var(--glass2);} button.danger{background:linear-gradient(135deg,#b3261e,#d64a42);color:#fff;}
  button:hover{filter:brightness(1.08);} button:active{transform:translateY(1px) scale(.99);}
  .view.on{animation:viewIn .3s cubic-bezier(.2,.7,.2,1);}
  @keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .card,.feed-item{animation:cardIn .24s ease both;}
  @keyframes cardIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
  .feed-item{transition:transform .16s ease,box-shadow .16s ease;} .feed-item:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.34);}
  .pill,.chip{backdrop-filter:blur(4px);}
  .canvas{flex:1.1;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--glassbd);background:var(--glass);backdrop-filter:blur(14px);animation:viewIn .25s ease;}
  #canvasBody table{border-collapse:collapse;width:100%;margin:8px 0;} #canvasBody th,#canvasBody td{border:1px solid var(--glassbd);padding:6px 9px;text-align:left;} #canvasBody th{background:var(--glass2);}
  .bubble-actions{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap;opacity:.5;transition:opacity .15s;} .msg:hover .bubble-actions{opacity:1;}
  @media(hover:none){.bubble-actions{opacity:1;}}  /* touch: no hover to reveal Copy/Canvas/Task/Watch — keep them visible */
  /* GA4 App A/G: citation/source strip under an answer */
  .sources{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:7px;}
  .src-chip{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;padding:2px 8px;border-radius:999px;
    background:var(--chip-bg,rgba(127,127,127,.12));color:inherit;text-decoration:none;border:1px solid rgba(127,127,127,.18);}
  .src-chip:hover{background:rgba(127,127,127,.22);} .src-chip img{width:14px;height:14px;border-radius:3px;}
  .src-chip .src-n{font-weight:700;opacity:.6;font-size:.72rem;}
  .bubble-actions button{font-size:11px;padding:1px 7px;background:var(--glass2);}
  @media(max-width:900px){.canvas{position:fixed;inset:0;z-index:40;flex:none;}}

  /* ===== C5 design system: spacing/type/layout tokens, page headers, grids, states, kanban ===== */
  :root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r1:6px;--r2:10px;--r3:16px;
    --t-xs:12px;--t-sm:13px;--t-base:14px;--t-lg:16px;--t-xl:20px;--t-2xl:25px;
    --e1:0 1px 2px rgba(0,0,0,.18);--e2:0 6px 22px rgba(0,0,0,.24);--e3:0 14px 44px rgba(0,0,0,.34);--content-max:1180px;}
  .pane{max-width:var(--content-max);}
  /* page header — every view opens with the same structure */
  .view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);margin:2px 0 var(--s5);flex-wrap:wrap;}
  .view-head .vh-l{min-width:0;} .view-title{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.15;}
  .view-sub{color:var(--mut);margin:6px 0 0;max-width:66ch;font-size:var(--t-sm);}
  .view-actions{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;}
  .section-title{font-size:var(--t-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin:var(--s5) 0 var(--s2);}
  /* cohesion: unify the vertical rhythm of in-pane section headers (one rule vs editing every view) */
  .pane h3{font-size:var(--t-base);font-weight:650;letter-spacing:-.01em;color:var(--tx);margin:var(--s5) 0 var(--s2);}
  .grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s4);}
  /* unified empty / error states */
  .empty{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s6) var(--s4);color:var(--mut);text-align:center;}
  .empty .empty-ico{font-size:30px;opacity:.5;line-height:1;}
  .error-state{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s5);color:var(--mut);text-align:center;border:1px dashed var(--glassbd);border-radius:var(--r2);}
  .error-state .err-ico{font-size:24px;color:var(--warn);}
  /* kebab overflow menu (collapse the 4-5 inline buttons per card) */
  .kebab{position:relative;display:inline-block;} .kebab>button{background:transparent;color:var(--mut);padding:2px 8px;font-size:16px;line-height:1;}
  .kebab-menu{position:absolute;right:0;top:28px;background:rgba(22,27,34,.97);border:1px solid var(--glassbd);border-radius:var(--r2);box-shadow:var(--e2);z-index:25;display:none;min-width:160px;padding:4px;backdrop-filter:blur(18px);}
  .kebab.on .kebab-menu{display:block;}
  .kebab-menu button{display:block;width:100%;text-align:left;background:transparent;color:var(--tx);border-radius:var(--r1);padding:7px 10px;font-weight:500;font-size:var(--t-sm);}
  .kebab-menu button:hover{background:var(--glass2);}
  :root[data-theme=light] .kebab-menu{background:rgba(255,255,255,.98);}
  /* ===== Kanban board (Tasks) — first-class: horizontal scroll, never cramps/wraps ===== */
  .board{display:flex;gap:var(--s3);align-items:flex-start;overflow-x:auto;overflow-y:visible;padding:2px 2px var(--s2);scroll-snap-type:x proximity;scrollbar-width:thin;}
  .board-col{flex:0 0 266px;width:266px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--glassbd);border-radius:var(--r2);padding:var(--s2);min-height:160px;transition:background .15s,box-shadow .15s;}
  .board-col.drag-over{background:var(--glass2);box-shadow:0 0 0 2px var(--ac) inset;}
  .board-col>.col-hd{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:var(--s1) var(--s1) var(--s2);font-size:var(--t-xs);color:var(--tx);text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
  .board-col>.col-hd .col-name{display:flex;align-items:center;gap:7px;min-width:0;}
  .board-col>.col-hd .dot{width:8px;height:8px;border-radius:50%;background:var(--mut);flex:none;}
  .board-col>.col-hd .cnt{background:var(--glass2);border-radius:999px;padding:1px 8px;color:var(--mut);font-size:11px;font-weight:700;}
  .board-col[data-col="todo"] .dot{background:#8b94a7;}
  .board-col[data-col="in_progress"] .dot{background:var(--ac);}
  .board-col[data-col="blocked"] .dot{background:#e0894f;}
  .board-col[data-col="review"] .dot{background:#c98bdb;}
  .board-col[data-col="done"] .dot{background:#46b67c;}
  .board-col[data-col="done"] .task-card .tc-title{text-decoration:line-through;opacity:.7;}
  .task-card{background:var(--panel);border:1px solid var(--glassbd);border-radius:var(--r1);padding:var(--s3);margin-bottom:var(--s2);box-shadow:var(--e1);cursor:grab;animation:cardIn .2s ease both;}
  .task-card:hover{border-color:var(--ac);box-shadow:var(--e2);}
  .task-card:active{cursor:grabbing;} .task-card.dragging{opacity:.45;}
  .task-card .tc-title{font-weight:600;font-size:var(--t-sm);line-height:1.35;word-break:break-word;}
  .task-card .tc-desc{font-size:12px;color:var(--mut);margin-top:3px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .task-card .tc-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:var(--s2);}
  .task-card .tc-tags .pill{font-size:11px;padding:1px 7px;}
  .task-card .pill.due-over{background:rgba(224,108,108,.16);color:#e06c6c;}
  .task-card .tc-meta{display:flex;gap:6px;align-items:center;margin-top:var(--s2);flex-wrap:wrap;}
  .col-empty{font-size:var(--t-xs);color:var(--mut);text-align:center;padding:var(--s4) var(--s2);opacity:.7;border:1px dashed var(--glassbd);border-radius:var(--r1);}
  @media(max-width:720px){.board-col{flex-basis:82%;width:82%;}}
  /* settings accordion */
  .settings-group{border:1px solid var(--glassbd);border-radius:var(--r2);margin-bottom:var(--s2);background:var(--glass2);overflow:hidden;}
  .settings-group>summary{cursor:pointer;padding:var(--s3) var(--s4);font-weight:650;list-style:none;display:flex;justify-content:space-between;align-items:center;}
  .settings-group>summary::-webkit-details-marker{display:none;}
  .settings-group>summary::after{content:'▸';color:var(--mut);transition:transform .15s;}
  .settings-group[open]>summary::after{transform:rotate(90deg);}
  .settings-group .sg-body{padding:0 var(--s4) var(--s4);}
  /* account chip (header, post-connect) */
  .acct-chip{display:inline-flex;align-items:center;gap:6px;background:var(--glass2);border:1px solid var(--glassbd);border-radius:999px;padding:3px 8px 3px 4px;font-size:var(--t-sm);}
  .acct-chip .avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--ac),#6aa8fb);color:#06122a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;}
  /* sub-nav (segmented) under a view header */
  .subnav{margin:0 0 var(--s4);}
  /* C6: two-level rail — clickable group headers + collapsible child items (only active group expands) */
  .rail .grp{display:block;width:100%;text-align:left;background:transparent;color:var(--tx);border-radius:0;padding:10px 14px;font-weight:700;font-size:var(--t-sm);border-left:2px solid transparent;cursor:pointer;}
  .rail .grp:hover{background:#10161f;} .rail .grp.on{color:var(--ac);}
  .rail .subitems{padding:1px 0 6px;}
  .rail .subitems button{display:block;width:100%;text-align:left;background:transparent;color:var(--mut);border-radius:0;padding:7px 14px 7px 30px;font-weight:500;font-size:var(--t-sm);border-left:2px solid transparent;}
  .rail .subitems button:hover{color:var(--tx);background:#10161f;} .rail .subitems button.on{color:var(--ac);background:#10161f;border-left-color:var(--ac);}
  :root[data-theme=light] .rail .grp:hover,:root[data-theme=light] .rail .subitems button:hover,:root[data-theme=light] .rail .subitems button.on{background:#eaeef2;}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
