@font-face{font-family:"Geist";src:url("/static/fonts/geist-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("/static/fonts/geist-mono-latin.woff2") format("woff2");font-weight:400 600;font-style:normal;font-display:swap}

/* Tokens (from the design prototype; motion tokens adapted from transitions.dev) */
:root{color-scheme:light;--ink:#0A0A0A;--muted:#66666F;--ink2:#3F3F46;--ink3:#55555E;--line:#EDEDF0;--line2:#F2F2F4;--soft:#F2F2F4;--soft-h:#EBEBEE;--panel:#FBFBFC;--accent:#3651E6;--accent-h:#2B43C9;--warn:#E2683C;--warn-bg:#FDEBE4;--warn-fg:#6E2A12;--ok:#22A06B;--ok-bg:#E8F6EF;--ok-fg:#0F6B45;--m-bg:#FDE9DE;--m-fg:#9A4313;--d-bg:#FDECEC;--d-fg:#A12222;--stack-bg:#F3F5FB;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(0.22,1,0.36,1);--tabs-dur:250ms;--resize-dur:300ms;--tt-in-dur:150ms;--tt-out-dur:50ms;--tt-scale:0.98;--tt-delay:80ms;--tt-bg:#FFFFFF;--tt-fg:#2F2F2F;
  --modal-open-dur:250ms;--modal-close-dur:150ms;--toast-open:350ms;--toast-close:250ms;--matrix-cycle:1200ms;--matrix-base:#E4E4E7;--matrix-active:#0A0A0A;
  --toggle-dur:350ms;--toggle-travel:14px;--toggle-ease:cubic-bezier(0.34,1.35,0.64,1);--acc-dur:250ms;
  --icon-swap-dur:250ms;--shimmer-dur:2000ms;--learn-shift:2px}
*{box-sizing:border-box}
html,body{margin:0;background:#FFFFFF;height:100%}
body{font-family:"Geist","Segoe UI",system-ui,sans-serif;font-size:14px;letter-spacing:-0.006em;color:var(--ink);caret-color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.4}
::selection{background:rgba(46,91,255,0.16);color:var(--ink)}
::placeholder{color:#7A7A84;opacity:1}
button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:0.4;cursor:default}
a{color:var(--ink);text-underline-offset:3px;text-decoration-color:rgba(10,10,15,0.25)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[hidden]{display:none !important}
h1,h2,h3{margin:0}
p{margin:0}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.sm{font-size:11.5px}
.spacer{flex:1}
.grow{flex:1}
.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.thin-scroll{scrollbar-width:thin;scrollbar-color:#D4D4DA transparent}
.thin-scroll::-webkit-scrollbar{width:8px;height:8px}
.thin-scroll::-webkit-scrollbar-thumb{background:#D4D4DA;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.clipboard-fallback{position:fixed;opacity:0;pointer-events:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border:0;border-radius:999px;font-size:13.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:transform 160ms var(--ease),background-color 160ms ease}
.btn.small{height:32px;padding:0 13px;font-size:13px}
.btn.dark{background:var(--ink);color:#FFFFFF}
.btn.dark:hover:not(:disabled){background:var(--accent-h)}
.btn.soft{background:var(--soft);color:var(--ink)}
.btn.soft:hover:not(:disabled){background:var(--soft-h)}
.btn.accent{background:rgba(54,81,230,0.12);color:var(--accent)}
.btn.danger{background:#B42318;color:#FFFFFF}
.btn.danger:hover:not(:disabled){background:#912018}
.danger-text{color:#B42318 !important}
.press:active:not(:disabled){transform:scale(0.98)}
.pill-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px 0 8px;border:0;border-radius:999px;background:var(--soft);color:var(--ink);font-size:13px;font-weight:500;text-decoration:none;transition:transform 160ms var(--ease),background-color 160ms ease}
.pill-btn.r{padding:0 8px 0 12px}
.pill-btn:hover:not(:disabled){background:var(--soft-h)}
.round-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border:0;border-radius:999px;background:var(--soft);color:var(--ink);transition:transform 160ms var(--ease),background-color 160ms ease}
.round-btn.small{width:28px;height:28px;color:var(--ink2)}
.round-btn:hover:not(:disabled){background:var(--soft-h)}
.chip-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 8px;border:0;border-radius:999px;background:var(--soft);color:var(--ink2);font-size:12.5px;font-weight:500;white-space:nowrap;transition:transform 160ms var(--ease),background-color 160ms ease}
.chip-btn:hover:not(:disabled){background:var(--soft-h)}
.win-meta .chip-btn{height:26px;font-size:12px}
.link{font-size:13px;font-weight:500}
.link-strong{display:inline-flex;align-items:center;gap:1px;font-size:13px;font-weight:500;color:var(--ink);text-decoration:none}
.t-learn-chevron{display:inline-flex;transition:transform 350ms var(--ease)}
.t-learn:hover .t-learn-chevron{transform:translateX(var(--learn-shift))}
.t-icon-swap{position:relative;display:inline-grid;flex:none}
.t-icon-swap .t-icon{grid-area:1/1;display:inline-flex;transition:opacity var(--icon-swap-dur) ease-in-out,filter var(--icon-swap-dur) ease-in-out,transform var(--icon-swap-dur) ease-in-out}
.t-icon-swap[data-state="a"] .t-icon[data-icon="b"],.t-icon-swap[data-state="b"] .t-icon[data-icon="a"]{opacity:0;filter:blur(2px);transform:scale(0.25)}
.ok-ic{display:inline-flex;color:var(--ok)}

/* Status pills and tags */
.status{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px 0 9px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;background:var(--soft);color:var(--ink2)}
.status .dot,.dot{width:6px;height:6px;border-radius:50%;background:#A1A1AA;flex:none;display:inline-block}
.status.ok{background:var(--ok-bg);color:var(--ok-fg)}.status.ok .dot{background:var(--ok)}
.status.warn{background:var(--warn-bg);color:#8A3416}.status.warn .dot{background:var(--warn)}
.status.info{background:#EEF1FD;color:#2B3A8C}.status.info .dot{background:var(--accent)}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:var(--soft);color:var(--ink2);font-size:12px;font-weight:500;white-space:nowrap}
.tag.ok{background:var(--ok-bg);color:var(--ok-fg)}
.tag.warn{background:var(--warn-bg);color:#8A3416}
.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;font-weight:600;box-shadow:inset 0 0 0 1px rgba(10,10,15,0.07)}

/* Login */
.login{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:linear-gradient(180deg,#F3F5FB 0%,#FFFFFF 55%)}
.login-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px}
.login-brand{display:flex;align-items:center;gap:8px;margin-bottom:22px;color:var(--ink)}
.login-brand .wordmark{font-size:20px}
.wordmark{font-weight:600;letter-spacing:-0.045em;line-height:1;white-space:nowrap}
.login h1{font-size:30px;font-weight:600;letter-spacing:-0.035em;line-height:1.1}
.login-intro{color:var(--ink2);font-size:15px;line-height:1.5;margin-bottom:10px;text-wrap:pretty}
.login label,.dialog-form label,.sheet label{display:block;margin:14px 0 6px;font-size:12.5px;font-weight:500;color:var(--ink2)}
.login-row{display:flex;gap:8px}
.login-row input{flex:1;min-width:0}
input:not([type=checkbox]):not([type=range]),select,textarea{height:40px;padding:0 12px;border:0;border-radius:10px;background:var(--soft);font-size:14px;color:var(--ink);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow 160ms ease,background-color 160ms ease;width:100%}
textarea{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;background:#FFFFFF;box-shadow:0 0 0 2px var(--ink)}
.login-row .btn{height:40px;padding:0 18px}
.hint{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:6px}
.login-error{padding:10px 12px;border-radius:10px;background:var(--warn-bg);color:var(--warn-fg);font-size:13px}

/* Shell + sidebar */
.shell{display:flex;min-height:100vh;height:100vh}
.rt-nav{position:relative;z-index:5;flex:0 0 240px;width:240px;min-width:0;display:flex;flex-direction:column;gap:18px;padding:10px 8px;background:#0A0A0A;color:#FFFFFF;transition:flex-basis var(--resize-dur) var(--ease),width var(--resize-dur) var(--ease);overflow:hidden}
.rt-nav.is-collapsed{flex-basis:56px;width:56px}
.brand{display:flex;align-items:center;gap:6px;height:32px;padding-left:9px;color:#FFFFFF}
.brand svg{flex:none}
.brand .wordmark{font-size:16px;padding-bottom:1px}
.nav-label{transition:opacity 220ms var(--ease),filter 220ms var(--ease),transform 220ms var(--ease)}
.rt-nav.is-collapsed .nav-label{opacity:0;filter:blur(2px);transform:translateX(-4px);pointer-events:none}
.nav-fade{transition:opacity 200ms ease}
.rt-nav.is-collapsed .nav-fade{opacity:0;pointer-events:none;visibility:hidden}
.nav-list{position:relative;display:flex;flex-direction:column;gap:2px}
.nav-ind,.nav-hov{position:absolute;left:0;right:0;top:0;height:30px;border-radius:6px;pointer-events:none;transition:transform var(--tabs-dur) var(--ease),opacity 150ms ease}
.nav-ind{background:rgba(255,255,255,0.1)}
.nav-hov{background:rgba(255,255,255,0.055);opacity:0}
.nav-row{position:relative;z-index:1;display:flex;align-items:center;gap:10px;height:30px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:#A3A3A3;font-size:14px;text-align:left;text-decoration:none;white-space:nowrap;transition:color 160ms ease}
#nav-search{gap:12px;padding:0 14px}
.nav-row:hover,.nav-row:focus-visible,.nav-row.is-active{color:#FFFFFF}
.nav-row.is-active{font-weight:500}
.nav-row svg{flex:none}
.nav-row:focus-visible{outline:2px solid #FFFFFF;outline-offset:1px}
.nav-kbd{margin-left:auto;font:inherit;font-size:11.5px;color:#6B6B70}
.nav-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--warn);color:#FFFFFF;font-size:11px;font-weight:600}
.nav-dot{position:absolute;left:27px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px #0A0A0A;opacity:0;transition:opacity 200ms ease}
.rt-nav.is-collapsed .nav-dot.on{opacity:1}
.nav-tt{position:absolute;left:calc(100% + 14px);top:0;padding:6px 10px;border-radius:8px;background:var(--tt-bg);color:var(--tt-fg);font-size:12.5px;font-weight:500;white-space:nowrap;box-shadow:0 0 0 1px rgba(0,0,0,0.06),0 4px 12px rgba(0,0,0,0.08);opacity:0;scale:var(--tt-scale);transform-origin:0% 50%;pointer-events:none;z-index:50;transition:opacity var(--tt-out-dur) ease-out,scale var(--tt-out-dur) ease-out,translate 160ms var(--ease)}
.nav-tt[data-show="true"]{opacity:1;scale:1;transition:opacity var(--tt-in-dur) ease-out var(--tt-delay),scale var(--tt-in-dur) ease-out var(--tt-delay),translate 160ms var(--ease)}
.rt-nav.is-collapsed{overflow:visible}
.acc-head{display:flex;align-items:center;justify-content:space-between;width:100%;height:30px;margin-bottom:4px;padding:0 8px 0 10px;border:0;border-radius:8px;background:transparent;color:#8A8A8A;font-size:12px;font-weight:500;text-align:left;transition:background-color 160ms ease,color 160ms ease}
.acc-head:hover{background:rgba(255,255,255,0.07);color:#FFFFFF}
.acc-head:focus-visible,.bank-item:focus-visible,.nav-collapse:focus-visible{outline:2px solid #FFFFFF;outline-offset:1px}
.t-acc{display:flex;flex-direction:column;min-height:0}
.t-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--acc-dur) var(--ease);min-height:0}
.t-acc[data-open="true"] .t-acc-panel{grid-template-rows:1fr}
.t-acc-panel-inner{overflow:hidden;opacity:0;filter:blur(2px);transition:opacity var(--acc-dur) var(--ease),filter var(--acc-dur) var(--ease);display:flex;flex-direction:column;gap:2px}
.t-acc[data-open="true"] .t-acc-panel-inner{opacity:1;filter:none;overflow-y:auto;max-height:calc(100vh - 502px);min-height:60px;scrollbar-width:none}
.t-acc-chevron{display:inline-flex;transform:scaleY(1);transition:transform var(--acc-dur) var(--ease)}
.t-acc[data-open="true"] .t-acc-chevron{transform:scaleY(-1)}
.bank-item{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:6px;color:#FFFFFF;text-decoration:none;transition:background-color 160ms ease}
.bank-item:hover{background:rgba(255,255,255,0.07)}
.bank-item.is-selected{background:rgba(255,255,255,0.1)}
.bank-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bank-sub{font-size:12px;color:#8A8A8A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bank-empty{padding:4px 10px;font-size:12.5px;color:#8A8A8A}
.nav-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px}
.live-card{display:flex;align-items:center;gap:12px;height:54px;padding:0 12px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.1);overflow:hidden}
.live-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
#live-count{font-size:12.5px;font-weight:500;color:#FFFFFF;white-space:nowrap}
.live-last{font-size:12px;color:#8A8A8A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-collapse{color:#8A8A8A;font-size:13px}
.nav-collapse:hover{color:#FFFFFF}
.t-matrix{display:grid;grid-template-columns:repeat(4,2px);grid-auto-rows:2px;gap:2px;flex:none}
.t-matrix i{display:block;background:var(--matrix-base);animation:t-matrix-pulse var(--matrix-cycle) ease-in-out infinite}
.t-matrix.paused i{animation-play-state:paused}
.nav-matrix{--matrix-base:rgba(255,255,255,0.16);--matrix-active:#FFFFFF}
@keyframes t-matrix-pulse{0%,45%,100%{background-color:var(--matrix-base)}15%{background-color:var(--matrix-active)}}

/* Main + pages */
.view{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;background:#FFFFFF;overflow:hidden;outline:none}
.page{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}
.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;padding:22px 24px 18px 28px;border-bottom:1px solid var(--line);flex:none}
.head-title{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}
.page-head h1{font-size:26px;font-weight:600;letter-spacing:-0.035em;line-height:1.1}
.page-sub{font-size:13.5px;color:var(--muted)}
.head-actions{display:flex;flex-wrap:wrap;gap:8px}
.page-pad{width:100%;max-width:1040px;padding:24px 28px 56px;display:flex;flex-direction:column;gap:12px}
.page-intro{color:var(--ink2);font-size:14px;line-height:1.5;max-width:62ch}
.sec-h{font-size:16px;font-weight:600;letter-spacing:-0.02em;margin-top:16px}
.sec-h:first-child{margin-top:0}
.t-page-in-l{animation:t-page-in-l 250ms var(--ease) both}
.t-page-in-r{animation:t-page-in-r 250ms var(--ease) both}
@keyframes t-page-in-l{from{opacity:0;transform:translateX(-8px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes t-page-in-r{from{opacity:0;transform:translateX(8px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.t-stagger-1{animation:t-rise 500ms var(--ease) both}
.t-stagger-2{animation:t-rise 500ms var(--ease) 40ms both}
@keyframes t-rise{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.t-reveal{animation:t-reveal 400ms ease-in-out both}
@keyframes t-reveal{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}
.t-skel{animation:t-skel 1000ms linear infinite;background:#ECECF1;border-radius:8px}
@keyframes t-skel{0%,100%{opacity:1}50%{opacity:0.5}}
.skel-text{display:inline-block;padding:4px 10px;color:var(--muted);background:#F4F4F6}
.skel-row{height:64px;margin-bottom:8px}
.skel-row.thin{height:22px;margin:8px 10px}
.skel-block{height:360px;margin:32px}
.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;text-align:center;color:var(--ink3);font-size:13.5px;line-height:1.5}
.empty strong{font-size:15px;font-weight:600;letter-spacing:-0.02em;color:var(--ink)}
.empty .btn{margin-top:6px}

/* Records (keys, tasks, backups, branches) */
.records{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.record{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;padding:16px 4px;border-bottom:1px solid var(--line2)}
.rec-lead{flex:none;padding-top:2px}
.rec-main{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:5px}
.rec-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.rec-title h3{font-size:15px;font-weight:600;letter-spacing:-0.015em;overflow-wrap:anywhere}
.rec-sub{font-size:13px;color:var(--muted)}
.rec-main>p:not(.rec-sub):not(.hint){font-size:13.5px;color:var(--ink2);line-height:1.5}
.rec-next{font-size:13.5px}
.rec-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bank-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.bank-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;background:var(--soft);font-size:12px;color:var(--muted)}
.bank-chip .mono{color:var(--ink)}
.bank-chip.w{background:#EEF1FD}
.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px}
.card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border-radius:14px;background:var(--panel);box-shadow:0 0 0 1px var(--line)}
.card h3{font-size:14px;font-weight:600}
.card p{font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.url{font-size:12.5px;padding:6px 8px;border-radius:8px;background:#FFFFFF;box-shadow:0 0 0 1px var(--line);word-break:break-all}
.warn-text{color:#8A3416}
.branch-ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--soft);color:var(--ink2)}
.ab{display:inline-flex;gap:6px;font-family:var(--mono);font-size:12px}
.ahead{color:var(--ok-fg)}.behind{color:var(--m-fg)}
.conflicts{margin:10px 0 0;padding-left:18px;font-size:12.5px;line-height:1.7}

/* Tabs, Work page, records as rows */
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.tab{display:inline-flex;align-items:center;gap:6px;height:40px;flex:none;padding:0 12px;border:0;background:transparent;color:var(--muted);font-size:13.5px;font-weight:500;box-shadow:inset 0 -2px 0 transparent;transition:color 160ms ease,box-shadow 200ms var(--ease)}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.tab:focus-visible{outline-offset:-2px}
.tab-count{font-size:12px;color:var(--muted);font-weight:400}
.work-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
.work-tabs{flex:1 1 auto;min-width:0}
.work-bar+.records{border-top:0}
.filters{display:flex;gap:8px;margin-left:auto}
.filters select{width:auto;height:36px;max-width:200px}
.rec-btn{width:100%;margin:0;border:0;border-bottom:1px solid var(--line2);background:transparent;color:inherit;text-align:left;transition:background-color 140ms ease}
.rec-btn:hover{background:#FAFAFB}
.rec-btn:focus-visible{outline-offset:-2px}
.rec-h{font-size:15px;font-weight:600;letter-spacing:-0.015em;overflow-wrap:anywhere}
.rec-sum{font-size:13.5px;color:var(--ink2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rec-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.rec-doc{margin-top:16px}
.rec-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.55;color:var(--ink2)}
.rec-hist{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6;color:var(--ink2)}
.tab-panel{display:flex;flex-direction:column;padding-top:20px}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:10px;padding-bottom:24px}
.stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border:0;border-radius:14px;background:var(--panel);box-shadow:0 0 0 1px var(--line);color:var(--ink2);font-size:13px;text-align:left;transition:transform 160ms var(--ease),background-color 160ms ease}
.stat:hover{background:var(--soft)}
.stat-n{font-size:22px;font-weight:600;letter-spacing:-0.03em;color:var(--ink)}
.journal-sec{display:flex;flex-direction:column;gap:12px;padding-bottom:28px}

/* Connect and Transfer dialogs */
.connect-btn{height:40px}
.sheet .seg[role="tablist"]{margin:12px 0 4px}
.btn.big{width:100%;height:48px;margin-top:16px;font-size:14.5px}
.checkin{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--panel);box-shadow:0 0 0 1px var(--line);font-size:13.5px;color:var(--ink2)}
.steps{padding-left:20px;margin:14px 0 0;font-size:13.5px;line-height:1.6;color:var(--ink2)}
.pause-label{margin-top:18px !important}

/* Range control ("luma") */
.luma{position:relative;z-index:20;display:flex;width:204px;padding:4px;border-radius:999px;background:var(--soft);box-shadow:0 0 0 1px rgba(19,26,74,0.08);flex:none}
.luma-ind{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:999px;background:var(--ink);transition:transform var(--tabs-dur) var(--ease)}
.luma-btn{position:relative;z-index:1;flex:1;height:32px;padding:0;border:0;border-radius:999px;background:transparent;color:#5A5F7A;font-size:13px;font-weight:600;transition:color 200ms var(--ease)}
.luma-lbl{display:inline-block;transition:transform 300ms var(--ease)}
.luma-btn[aria-pressed="true"]{color:#FFFFFF}
.luma-btn[aria-pressed="true"] .luma-lbl{transform:scale(1.1)}
.luma-btn[aria-pressed="false"]:hover{color:#131A4A}
.luma-tip{position:absolute;left:50%;top:calc(100% + 12px);translate:-50% 0;padding:6px 10px;border-radius:8px;background:var(--tt-bg);color:var(--tt-fg);font-size:12.5px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,0.06);opacity:0;scale:var(--tt-scale);transition:opacity var(--tt-out-dur) ease-out,scale var(--tt-out-dur) ease-out}
.luma-btn:hover .luma-tip,.luma-btn:focus-visible .luma-tip{opacity:1;scale:1;transition:opacity var(--tt-in-dur) ease-out var(--tt-delay),scale var(--tt-in-dur) ease-out var(--tt-delay)}

/* Agents home */
.view-agents{overflow:hidden}
.home-head{flex-wrap:wrap}
.t-avatar-group{display:flex;align-items:center;padding-left:8px;margin-right:4px}
.t-avatar{position:relative;display:grid;place-items:center;width:32px;height:32px;margin-left:-8px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:0 0 0 2px #FFFFFF;transition:transform 320ms var(--ease)}
.t-avatar:hover,.t-avatar:focus-visible{transform:translateY(-4px) scale(1.05);z-index:20 !important}
.av-more{display:grid;place-items:center;height:32px;min-width:32px;margin-left:-8px;padding:0 8px;border-radius:999px;background:var(--soft);color:var(--ink2);font-size:12px;font-weight:600;box-shadow:0 0 0 2px #FFFFFF}
.menu-scrim{position:fixed;inset:0;z-index:-1;padding:0;border:0;background:transparent;cursor:default}
.home-body{flex:1;display:flex;flex-wrap:wrap;min-height:0;overflow-y:auto}
.map{position:relative;flex:999 1 560px;min-width:0;min-height:max(560px,100%);overflow:hidden;background:#FFFFFF}
.map-bg{position:absolute;left:50%;top:50%;margin-left:-600px;margin-top:-500px;pointer-events:none}
.map-links{transition:d 600ms var(--ease)}
.chips{position:absolute;z-index:20;top:18px;left:24px;right:24px;display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px 0 11px;border:0;border-radius:999px;background:var(--soft);color:var(--ink2);font-size:12.5px;font-weight:500;transition:transform 160ms var(--ease),background-color 160ms ease}
.chip[aria-pressed="false"]:hover{background:var(--soft-h)}
.chip[aria-pressed="true"]{background:var(--ink);color:#FFFFFF}
.chip-dot{width:7px;height:7px;border-radius:50%;background:var(--ink)}
.chip-all[aria-pressed="true"] .chip-dot{background:#FFFFFF}
.chip-active .chip-dot{background:var(--ok)}.chip-idle .chip-dot{background:#A1A1AA}.chip-attention .chip-dot{background:var(--warn)}
.chip-count{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.chip[aria-pressed="true"] .chip-count{color:#A1A1AA}
.bubble-layer{position:absolute;left:50%;top:50%;width:0;height:0;transform-origin:0 0}
.bubble{position:absolute;padding:0;border:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;box-shadow:inset 0 0 0 1px rgba(10,10,15,0.07);transition:left 800ms var(--ease),top 800ms var(--ease),width 800ms var(--ease),height 800ms var(--ease),transform 600ms var(--ease),background-color 500ms ease,opacity 300ms ease}
.bubble:focus-visible{outline:none}
.bubble-name{max-width:76%;font-weight:600;line-height:1.08;letter-spacing:-0.025em}
.bubble-name:empty,.bubble-val:empty,.bubble-letter:empty{display:none}
.bubble-val{font-family:var(--mono);opacity:0.72}
.bubble-letter{font-weight:600;letter-spacing:-0.03em}
.bubble-ring{position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 2px var(--accent);opacity:0;transition:opacity 160ms ease;pointer-events:none}
.bubble.is-hl .bubble-ring,.bubble:focus-visible .bubble-ring{opacity:1}
.bubble-attn{position:absolute;top:3%;right:3%;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--warn);color:#FFFFFF;box-shadow:0 0 0 2px #FFFFFF}
.bubble::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid rgba(54,81,230,0.55);opacity:0;pointer-events:none}
.bubble.pulse-a::after{animation:ring-a 1100ms var(--ease) forwards}
.bubble.pulse-b::after{animation:ring-b 1100ms var(--ease) forwards}
.bubble.pulse-a{animation:nudge-a 1100ms var(--ease)}
.bubble.pulse-b{animation:nudge-b 1100ms var(--ease)}
@keyframes ring-a{from{transform:scale(1);opacity:0.6}to{transform:scale(1.16);opacity:0}}
@keyframes ring-b{from{transform:scale(1);opacity:0.6}to{transform:scale(1.16);opacity:0}}
@keyframes nudge-a{0%{translate:0 0}35%{translate:0 -3px}100%{translate:0 0}}
@keyframes nudge-b{0%{translate:0 0}35%{translate:1.5px -2.5px}100%{translate:0 0}}
.tip{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:2;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px;background:var(--tt-bg);color:var(--tt-fg);font-size:12.5px;white-space:nowrap;pointer-events:none;text-align:left;box-shadow:0 0 0 1px rgba(0,0,0,0.06);opacity:0;transform:translateX(-50%);scale:var(--tt-scale);transform-origin:50% 100%;transition:opacity var(--tt-out-dur) ease-out,scale var(--tt-out-dur) ease-out}
.bubble:hover .tip,.bubble:focus-visible .tip,.bar-col:hover .tip{opacity:1;scale:1;transition:opacity var(--tt-in-dur) ease-out var(--tt-delay),scale var(--tt-in-dur) ease-out var(--tt-delay)}
.tip-name{font-weight:600}
.tip-line{color:var(--muted)}
.legend{position:absolute;z-index:20;left:24px;bottom:22px;right:24px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;pointer-events:none}
.legend-dots{display:flex;align-items:flex-end;gap:10px}
.legend-item{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.legend-dot{border-radius:50%;box-shadow:inset 0 0 0 1px rgba(10,10,15,0.07)}
.legend-text{max-width:50ch;font-size:12.5px;color:var(--muted);line-height:1.5}
.map-msg{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:var(--ink3);font-size:13.5px}
.map-msg strong{font-size:15px;color:var(--ink)}
.feed{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line);max-height:100%}
.feed-head{display:flex;align-items:center;gap:10px;padding:18px 16px 12px 20px}
.feed-head h2{margin-left:2px;font-size:15px;font-weight:600;letter-spacing:-0.02em}
.feed-status{flex:1;font-size:12.5px;color:var(--muted)}
.t-shimmer{position:relative;display:inline-block;color:var(--muted)}
.t-shimmer::before{content:attr(data-text);position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,transparent 0%,transparent 40%,var(--ink) 50%,transparent 60%,transparent 100%);background-size:400% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:t-shimmer var(--shimmer-dur) linear infinite}
@keyframes t-shimmer{0%{background-position:100% 0}100%{background-position:0% 0}}
.attn-card{display:flex;align-items:flex-start;gap:10px;width:calc(100% - 24px);margin:0 12px 10px;padding:11px 12px;border:0;border-radius:14px;background:var(--warn-bg);color:var(--warn-fg);text-align:left;transition:transform 160ms var(--ease)}
.attn-icon{display:flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--warn);color:#FFFFFF}
.attn-text{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.4}
.attn-text strong{font-weight:600;color:#4A1C0C}
.feed-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 16px}
.feed-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:start;width:100%;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;transition:background-color 140ms ease}
.feed-row:hover,.feed-row.is-hov{background:#F4F4F5}
.feed-row.feed-in{animation:feed-in 420ms var(--ease)}
@keyframes feed-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.feed-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.feed-top{display:flex;align-items:baseline;gap:7px;min-width:0}
.feed-name{font-size:13.5px;font-weight:600;letter-spacing:-0.015em;white-space:nowrap}
.feed-count{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feed-what{font-size:13px;color:var(--ink2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-what .mono{font-size:12px;color:var(--ink3)}
.feed-fail{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#8A3416}
.feed-fail .dot,.result.bad .dot{background:var(--warn)}
.feed-when{font-size:12px;color:var(--muted);white-space:nowrap;padding-top:1px}
.feed-empty{padding:40px 16px;text-align:center;font-size:13.5px;color:var(--muted);line-height:1.5}

/* Agent detail */
.detail-head{padding:16px 24px;gap:12px 16px}
.detail-nav{display:flex;align-items:center;gap:4px}
.detail-nav .muted{margin-left:6px;font-size:12.5px}
.menu-anchor{position:relative;z-index:30}
.t-dropdown{position:absolute;top:40px;right:0;width:232px;padding:6px;border-radius:14px;background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,15,0.06),0 8px 24px rgba(10,10,15,0.08);transform-origin:top right;animation:t-dd-in 250ms var(--ease) both}
@keyframes t-dd-in{from{transform:scale(0.97);opacity:0}to{transform:scale(1);opacity:1}}
.menu-item{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-size:13.5px;text-align:left;text-decoration:none}
.menu-item svg{color:var(--ink3)}
.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--soft);outline:none}
.menu-sep{height:1px;margin:4px 6px;background:var(--line)}
.detail-body{display:flex;flex-direction:column;width:100%;max-width:1040px;margin:0 auto;padding:32px 32px 48px}
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px;padding-bottom:28px}
.hero-avatar{display:flex;align-items:center;justify-content:center;width:72px;height:72px;flex:none;border-radius:50%;font-size:28px;font-weight:600;box-shadow:inset 0 0 0 1px rgba(10,10,15,0.07)}
.hero-text{display:flex;flex-direction:column;gap:6px;flex:1 1 320px;min-width:0}
.hero-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.hero-title h1{font-size:28px;font-weight:600;letter-spacing:-0.035em;line-height:1.1}
.hero-role{font-size:15px;color:var(--ink2);line-height:1.5}
.hero-last{font-size:13px;color:var(--ink2)}
.hero-last .mono{font-size:12.5px}
.hero-meta{font-size:12.5px;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:8px}
.toggle-pill{display:inline-flex;align-items:center;gap:10px;height:36px;padding:0 14px 0 10px;border-radius:999px;background:var(--soft);font-size:13.5px;font-weight:500;cursor:pointer}
.t-toggle{display:block;width:32px;height:18px;padding:2px;border:0;border-radius:999px;background:#C9CCD6;flex:none}
.t-toggle[data-on="true"]{background:var(--ink)}
.t-toggle:disabled{cursor:not-allowed}
.toggle-pill:has(.t-toggle:disabled){color:var(--muted);cursor:not-allowed}
.t-toggle:disabled[data-on="true"]{background:#9A9AA3}
.t-toggle-thumb{display:block;width:14px;height:14px;border-radius:50%;background:#FFFFFF;translate:0 0}
.t-toggle[data-on="true"] .t-toggle-thumb{translate:var(--toggle-travel) 0}
.t-toggle.is-init[data-on="true"] .t-toggle-thumb{animation:t-toggle-on var(--toggle-dur) var(--toggle-ease) both}
.t-toggle.is-init[data-on="false"] .t-toggle-thumb{animation:t-toggle-off var(--toggle-dur) var(--toggle-ease) both}
@keyframes t-toggle-on{0%{translate:0 0}55%{translate:calc(var(--toggle-travel) + 1px) 0}100%{translate:var(--toggle-travel) 0}}
@keyframes t-toggle-off{0%{translate:var(--toggle-travel) 0}55%{translate:-1px 0}100%{translate:0 0}}
.attn-note{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding:12px 16px;border-radius:14px;background:var(--warn-bg);color:var(--warn-fg);font-size:13.5px}
.attn-note strong{font-weight:600;color:#4A1C0C}
.attn-note .attn-icon{margin:0}
.detail-body h2{font-size:16px;font-weight:600;letter-spacing:-0.02em}
.chart-sec{display:flex;flex-direction:column;gap:20px;padding:28px 0;border-top:1px solid var(--line)}
.sec-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:13.5px;color:var(--ink2)}
.sec-title strong{font-weight:600;color:var(--ink)}
.chart{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px}
.y-axis{position:relative;height:200px;font-size:11px;color:var(--muted)}
.y-axis span{position:absolute;right:0}
.y-top{top:-7px}.y-mid{top:93px}.y-bot{bottom:-7px}
.plot{display:flex;flex-direction:column;gap:10px;min-width:0}
.plot-area{position:relative;height:200px}
.plot-area i{position:absolute;left:0;right:0;height:1px;background:#F0F0F2}
.grid-top{top:0}.grid-mid{top:100px}.plot-area .grid-bot{bottom:0;background:#D9D9DF}
.bars{position:absolute;inset:0;display:grid;align-items:end}
.bar-col{position:relative;height:100%;display:flex;align-items:flex-end}
.bar{width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--accent);transition:background-color 140ms ease}
.bar-col:hover .bar{background:var(--accent-h)}
.bar-col .tip{font-size:12px;padding:6px 10px}
.bar-labels{display:grid;font-size:11px;color:var(--muted)}
.bar-labels span{text-align:center;white-space:nowrap}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:0 48px;border-top:1px solid var(--line)}
.mix-sec,.banks-sec{display:flex;flex-direction:column;gap:18px;padding:28px 0}
.banks-sec{gap:8px}
.banks-sec h2{margin-bottom:10px}
.mix{display:flex;flex-wrap:wrap;align-items:center;gap:24px 32px}
.donut{position:relative;width:140px;height:140px;flex:none}
.donut svg{display:block;width:100%;height:100%;overflow:visible}
.donut-center{position:absolute;inset:0;display:grid;place-content:center;gap:1px;text-align:center}
.donut-center .num{font-size:19px;font-weight:600;letter-spacing:-0.03em}
.donut-center span:last-child{font-size:11.5px;color:var(--muted)}
.t-donut-seg{stroke-linejoin:round;transition:opacity 150ms var(--ease)}
.t-donut-seg.is-dim{opacity:0.2}
.mix-rows{display:flex;flex-direction:column;flex:1 1 200px;min-width:0}
.mix-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:42px;border-bottom:1px solid var(--line2);font-size:13.5px}
.mix-row .sw{width:10px;height:10px;border-radius:3px}
.mix-row .pct{width:40px;text-align:right;font-size:13px}
.bank-row{display:flex;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--line2)}
.bank-ic{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:10px;background:var(--soft);color:var(--ink2)}
.bank-col{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.bank-n{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bank-perms{display:flex;gap:16px;margin-top:3px;font-size:12.5px;color:var(--ink2)}
.perm{display:inline-flex;align-items:center;gap:7px}
.t-check{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:5px;background:#FFFFFF;box-shadow:inset 0 0 0 1.5px #C9CCD6;transition:background 150ms var(--ease),box-shadow 150ms var(--ease)}
.t-check[aria-checked="true"]{background:var(--ink);box-shadow:none}
.t-check svg path{stroke-dasharray:15;stroke-dashoffset:15;transition:stroke-dashoffset 150ms var(--ease)}
.t-check[aria-checked="true"] svg path{stroke-dashoffset:0;transition:stroke-dashoffset 350ms var(--ease)}
.t-check:disabled{opacity:0.5}
.act-sec{display:flex;flex-direction:column;padding:28px 0 0;border-top:1px solid var(--line)}
.act-sec h2{margin-bottom:12px}
.act-scroll{overflow-x:auto}
.act-table{min-width:640px}
.act-row{display:grid;grid-template-columns:110px 90px minmax(0,1fr) 220px;gap:16px;align-items:center;min-height:44px;font-size:13px;border-bottom:1px solid var(--line2)}
.act-headrow{min-height:34px;font-size:12px;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line)}
.act-row .mono{font-size:12.5px;color:var(--ink2)}
.act-row .strong{font-weight:500}
.result{display:inline-flex;align-items:center;gap:7px;color:var(--ink2)}
.result .dot{background:var(--ok)}
.result.bad{color:#8A3416}
.act-empty{padding:16px 0;font-size:13px}

/* History / Browse */
.view-history,.view-browse{overflow:hidden}
.hist{overflow:hidden}
.hist-head{min-height:60px;padding:12px 20px 12px 24px;gap:10px 14px}
.crumb{display:flex;align-items:center;gap:8px;font-size:15px;min-width:0}
.crumb-sub{color:var(--muted);white-space:nowrap}
.crumb-sep{color:#B4B4BC}
.crumb h1{font-size:15px;font-weight:600;letter-spacing:-0.02em}
.branch-chip{position:relative;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;margin:0;border-radius:999px;background:var(--soft);font-family:var(--mono);font-size:12px;font-weight:400;color:var(--ink2)}
.branch-chip select{field-sizing:content;height:24px;padding:0 4px 0 0;background:transparent;box-shadow:none;font-family:var(--mono);font-size:12px;color:var(--ink2);border-radius:0;width:auto;cursor:pointer}
.branch-chip:focus-within{box-shadow:0 0 0 2px var(--ink)}
.branch-chip select:focus{box-shadow:none}
.hist-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.latest-pill{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 11px 0 9px;border-radius:999px;background:var(--ok-bg);color:var(--ok-fg);font-size:12.5px;font-weight:500}
.latest-pill .dot{background:var(--ok)}
.past{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--ink2)}
.past .btn{padding:0 10px 0 14px;gap:2px}
.hist-body{flex:1;display:flex;flex-wrap:wrap;min-height:0;overflow-y:auto}
.versions{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;background:var(--stack-bg);min-height:100%}
.stage{position:relative;flex:1;min-height:600px;overflow:hidden}
.stage.is-browse .stack-win{top:24px;width:calc(100% - 48px)}
.stage-msg{position:absolute;inset:0;display:grid;place-items:center;padding:24px}
.stack-win{position:absolute;left:24px;top:96px;bottom:24px;width:calc(100% - 108px);display:flex;flex-direction:column;background:#FFFFFF;border-radius:16px;box-shadow:0 0 0 1px rgba(10,10,15,0.06);overflow:hidden;transform-origin:100% 0%;transition:transform 640ms var(--ease),opacity 460ms var(--ease),filter 460ms ease}
.stack-win .veil{position:absolute;inset:0;z-index:3;background:var(--stack-bg);opacity:var(--veil,0);pointer-events:none;transition:opacity 460ms var(--ease)}
.stack-win:not(.is-front):hover .veil{opacity:0.1}
.win-head{display:flex;align-items:flex-start;gap:12px;width:100%;height:42px;flex:none;padding:9px 18px 0;border:0;border-bottom:1px solid var(--line);background:#FFFFFF;color:var(--ink);text-align:left}
.is-front .win-head{cursor:default}
.win-v{font-size:12px;font-weight:500;color:#7A7A84;padding-top:1px}
.is-front .win-v{color:var(--ink)}
.win-msg{flex:1;min-width:0;font-size:14px;font-weight:600;letter-spacing:-0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win-when{font-size:12.5px;color:var(--muted);white-space:nowrap}
.win-when .mono{font-size:12px}
.win-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;min-height:58px;flex:none;padding:10px 14px 10px 18px;border-bottom:1px solid var(--line)}
.author{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500}
.author-chip{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:#E6EBFF;color:#2B3A8C;font-size:10.5px;font-weight:600}
.win-meta .muted{font-size:12.5px}
.win-meta .mono{font-size:12px}
.vs{display:inline-flex;align-items:center;gap:8px}
.stats{display:inline-flex;gap:4px;font-size:12px}
.st{padding:2px 7px;border-radius:999px}
.st.a{background:var(--ok-bg);color:var(--ok-fg)}.st.m{background:var(--m-bg);color:var(--m-fg)}.st.d{background:var(--d-bg);color:var(--d-fg)}
.win-actions,.confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.win-actions .btn,.confirm .btn{height:34px}
.confirm>span{font-size:13px;color:var(--ink2);margin-right:4px}
.win-banner{display:flex;align-items:center;gap:10px;flex:none;padding:10px 18px;background:rgba(10,10,10,0.07);border-bottom:1px solid var(--line);font-size:13px}
.win-tools{display:flex;align-items:center;gap:10px;min-height:52px;flex:none;padding:9px 14px 9px 18px;border-bottom:1px solid var(--line)}
.search{display:flex;align-items:center;gap:8px;flex:0 1 220px;min-width:120px;height:32px;margin:0 !important;padding:0 10px;border-radius:10px;background:var(--soft);color:var(--muted);font-weight:400 !important;transition:box-shadow 160ms ease,background-color 160ms ease}
.search:focus-within{box-shadow:0 0 0 2px var(--ink);background:#FFFFFF}
.search input{height:30px !important;padding:0 !important;background:transparent !important;box-shadow:none !important;font-size:13px !important;border-radius:0 !important}
.search input:focus-visible{outline:none}
.toggle-label{display:inline-flex !important;align-items:center;gap:8px;flex:none;height:28px;margin:0 !important;padding:0 2px 0 6px;font-size:12.5px !important;font-weight:400 !important;color:var(--ink2);white-space:nowrap;cursor:pointer}
.win-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}
.tree-pane{overflow-y:auto;min-height:0;padding:0 8px}
.tree-cols{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;height:34px;padding:0 10px;background:#FFFFFF;font-size:12px;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line)}
.tree-cols span:first-child{flex:1}
.c-size{flex:none;width:72px;text-align:right;font-size:12.5px;color:var(--ink3)}
.c-op{display:flex;justify-content:flex-end;flex:none;width:26px}
.tree{padding:6px 0 12px}
.tree-root{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;font-size:13.5px}
.tree-root strong{font-weight:600;letter-spacing:-0.01em}
.tree-row{display:flex;align-items:center;height:34px;padding:0 10px;border-radius:8px;font-size:13.5px;color:var(--ink);cursor:pointer;outline:none;transition:background-color 140ms ease}
.tree-dir:hover,.tree-file[aria-selected="false"]:hover{background:#F6F7FA}
.tree-file[aria-selected="true"]{background:rgba(10,10,10,0.08)}
.tree-row:focus-visible{box-shadow:inset 0 0 0 2px var(--ink)}
.guides{display:flex;flex:none;align-self:stretch}
.tree-g{display:block;flex:none;overflow:visible}
.tree-g path{fill:none;stroke:#C3C8D8;stroke-width:1;stroke-linecap:square}
.tree-dir .t-icon-swap{color:#6B7194;transition:color 200ms ease}
.tree-dir[aria-expanded="true"] .t-icon-swap{color:var(--ink)}
.dir-name{margin:0 8px;font-weight:500;letter-spacing:-0.01em;white-space:nowrap}
.slash{color:#A0A3B5}
.tree-chev{display:inline-flex;margin-left:10px;color:#8E8E98;transition:transform 250ms var(--ease)}
.tree-dir[aria-expanded="true"] .tree-chev{transform:rotate(90deg)}
.tree-file svg{flex:none;color:#8E8E98}
.file-name{flex:1;min-width:0;margin-left:8px;font-weight:500;letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tree-file[aria-selected="true"] .file-name{font-weight:600}
.tree-file .c-size{margin-left:12px}
.tree-file .c-op{margin-left:12px}
.is-del .file-name{color:#7A7A84;text-decoration:line-through}
.op-pill{display:inline-flex;align-items:center;height:20px;margin-left:4px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:500}
.op-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;border-radius:999px;font-size:11px;font-weight:500}
.op-pill.a,.op-badge.a{background:var(--ok-bg);color:var(--ok-fg)}
.op-pill.m,.op-badge.m{background:var(--m-bg);color:var(--m-fg)}
.op-pill.d,.op-badge.d{background:var(--d-bg);color:var(--d-fg)}
.tree-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:56px 18px;text-align:center;color:var(--ink3);font-size:13.5px}
.preview-pane{position:relative;min-height:0;border-left:1px solid var(--line);background:var(--panel)}
.pv-none{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:32px;color:var(--ink3);font-size:13.5px;line-height:1.5}
.pv-none strong{font-size:15px;font-weight:600;letter-spacing:-0.02em;color:var(--ink)}
.pv{position:absolute;inset:0;display:flex;flex-direction:column}
.pv-head{display:flex;align-items:flex-start;gap:10px;flex:none;padding:14px 12px 10px 16px}
.pv-titles{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pv-titles strong{font-size:14px;font-weight:600;letter-spacing:-0.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-titles .mono{overflow-wrap:anywhere}
.pv-seg{flex:none;padding:0 16px 12px}
.seg{position:relative;display:flex;padding:3px;border-radius:999px;background:#EFEFF2}
.seg-ind{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,15,0.06);transition:transform var(--tabs-dur) var(--ease)}
.seg-btn{position:relative;z-index:1;flex:1;height:28px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:12.5px;font-weight:500}
.seg-btn[aria-pressed="true"],.seg-btn[aria-selected="true"]{color:var(--ink)}
.seg-btn[aria-pressed="false"]:hover,.seg-btn[aria-selected="false"]:hover{color:var(--ink)}
.seg.three .seg-ind{width:calc((100% - 6px) / 3)}
.seg.three .seg-btn{min-width:0;padding:0 4px;white-space:nowrap}
.seg-btn:disabled{cursor:not-allowed}
.seg:has(.seg-btn:disabled){opacity:0.6}
#setup-client{margin-bottom:14px}
.pv-note{flex:none;padding:0 16px 10px;font-size:12.5px;color:var(--ink3);text-wrap:pretty}
.pv-lines{flex:1;min-height:0;overflow:auto;padding:8px 0 16px;background:#FFFFFF;border-top:1px solid var(--line);font-size:12px;line-height:20px}
.ln{display:grid;grid-template-columns:36px 16px minmax(0,1fr);color:var(--ink2)}
.ln-n{text-align:right;padding-right:8px;color:#A1A1AA;user-select:none}
.ln-s{user-select:none}
.ln-t{white-space:pre-wrap;word-break:break-word;padding-right:14px}
.ln.add{background:#EAF7F0;color:#0F5132}
.ln.del{background:#FDEEEE;color:#8A1F1F}
.transport{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-height:56px;padding:10px 24px;background:#FFFFFF;border-top:1px solid var(--line);flex:none}
.scrub{flex:1 1 200px;min-width:0;-webkit-appearance:none;appearance:none;background:transparent;height:24px;cursor:pointer}
.scrub::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#E4E4E8}
.scrub::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,15,0.12),0 1px 3px rgba(10,10,15,0.1);transition:transform 160ms var(--ease)}
.scrub:active::-webkit-slider-thumb{transform:scale(1.08)}
.scrub::-moz-range-track{height:4px;border-radius:4px;background:#E4E4E8}
.scrub::-moz-range-thumb{width:18px;height:18px;border:0;border-radius:50%;background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,15,0.12)}
.counter{font-size:12px;color:var(--ink2);white-space:nowrap}
.transport-hint{font-size:12.5px;color:var(--muted)}
.timeline{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line);max-height:100%}
.tl-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 18px 6px 20px}
.tl-head h2{font-size:15px;font-weight:600;letter-spacing:-0.02em}
.tl-head .muted{font-size:12.5px}
.tl-list{flex:1;min-height:0;overflow-y:auto;padding:0 10px 20px}
.tl-group{display:flex;flex-direction:column;gap:2px}
.tl-group h3{padding:16px 10px 6px 40px;font-size:12px;font-weight:500;color:var(--muted)}
.tl-item{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;width:100%;padding:10px 10px 10px 6px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;transition:background-color 160ms ease,box-shadow 200ms ease}
.tl-item[aria-current="false"]:hover{background:var(--soft)}
.tl-item[aria-current="true"]{background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,15,0.09)}
.tl-rail{position:relative;display:flex;justify-content:center}
.tl-line{position:absolute;top:-12px;bottom:-12px;left:11.5px;width:1px;background:#E4E4E8}
.tl-node{position:relative;margin-top:4px;width:11px;height:11px;border-radius:50%;background:#FFFFFF;border:2px solid #D4D4DA;box-shadow:0 0 0 3px var(--panel);transition:background-color 200ms ease,border-color 200ms ease}
.tl-item[data-older="true"] .tl-node{border-color:#8E8E98}
.tl-item[aria-current="true"] .tl-node{background:var(--ink);border-color:var(--ink)}
.tl-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.tl-top{display:flex;align-items:center;gap:8px}
.tl-msg{flex:1;min-width:0;font-size:13.5px;font-weight:500;letter-spacing:-0.012em;line-height:1.3;overflow-wrap:anywhere}
.tl-item[aria-current="true"] .tl-msg{font-weight:600}
.head-tag{flex:none;padding:1px 7px;border-radius:999px;background:var(--ink);font-size:10px;color:#FFFFFF}
.tl-meta{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:12px;color:var(--muted)}
.tl-meta .mono{font-size:11.5px}

/* Palette */
.palette{width:min(560px,calc(100% - 32px));max-width:none;margin:12vh auto auto;padding:0;border:0;border-radius:16px;background:#FFFFFF;box-shadow:0 0 0 1px rgba(10,10,15,0.06),0 24px 48px rgba(13,17,48,0.16);overflow:hidden;color:var(--ink)}
.palette::backdrop{background:rgba(13,17,48,0.32)}
.palette[open]{animation:t-modal-in var(--modal-open-dur) var(--ease) both}
.palette[open]::backdrop{animation:t-fade-in var(--modal-open-dur) var(--ease) both}
@keyframes t-modal-in{from{transform:scale(0.96);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes t-fade-in{from{opacity:0}to{opacity:1}}
.palette-input{display:flex;align-items:center;gap:10px;height:56px;padding:0 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.palette-input.is-error{color:var(--warn)}
.palette-input input{flex:1;min-width:0;height:auto !important;padding:0 !important;border:0;background:transparent !important;box-shadow:none !important;font-size:15px !important;color:var(--ink)}
.palette-input kbd,.nav-kbd{font-family:inherit}
.palette-input kbd{padding:2px 7px;border-radius:6px;background:var(--soft);font-size:11.5px;color:var(--muted)}
.palette-results{max-height:400px;overflow-y:auto;padding:8px}
.palette-group{padding:8px 10px 6px;font-size:12px;font-weight:500;color:var(--muted)}
.palette-group~.palette-group{padding-top:12px}
.palette-row{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left}
.palette-row[aria-selected="true"]{background:#F4F4F5}
.lead-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:9px;background:#F4F4F5;color:var(--ink)}
.pal-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pal-title{font-size:14px;font-weight:600;letter-spacing:-0.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-title.mono{font-size:13px;font-weight:500}
.pal-sub{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-meta{font-size:12px;color:var(--muted);white-space:nowrap}
.palette-empty{padding:32px 12px;text-align:center;font-size:13.5px;color:var(--muted)}
.t-shake-a{animation:t-shake 400ms var(--ease)}
@keyframes t-shake{0%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}100%{transform:translateX(0)}}

/* Toast */
.toast-wrap{position:fixed;left:0;right:0;bottom:28px;z-index:200;display:flex;justify-content:center;pointer-events:none;padding:0 16px}
.t-toast{display:flex;align-items:center;gap:14px;min-height:44px;padding:6px 6px 6px 18px;border-radius:999px;background:#17181C;color:#FFFFFF;font-size:13.5px;opacity:0;transform:translateY(16px) scale(0.97);filter:blur(2px);pointer-events:none;transition:opacity var(--toast-close) var(--ease),transform var(--toast-close) var(--ease),filter var(--toast-close) var(--ease)}
.t-toast:not(:has(#toast-undo:not([hidden]))){padding-right:18px}
.t-toast.is-open{opacity:1;transform:none;filter:none;pointer-events:auto;transition:opacity var(--toast-open) var(--ease),transform var(--toast-open) var(--ease),filter var(--toast-open) var(--ease)}
.t-toast.is-error{background:#7A2410}
#toast-undo{height:32px;padding:0 14px;border:0;border-radius:999px;background:rgba(255,255,255,0.14);color:#FFFFFF;font-size:13px;font-weight:500}
#toast-undo:focus-visible{outline-color:#FFFFFF}

/* Agent settings */
.settings{display:flex;flex-direction:column;width:100%;max-width:640px}
.settings fieldset{border:0;margin:0;padding:0;min-width:0}
.set-sec{display:flex;flex-direction:column;padding:24px 0;border-top:1px solid var(--line)}
.settings>.set-sec:first-child,.set-note+.set-sec{border-top:0;padding-top:4px}
.set-sec label{display:block;margin:14px 0 6px;font-size:12.5px;font-weight:500;color:var(--ink2)}
.set-sec fieldset>label:first-child{margin-top:0}
.set-sec .hint{margin-top:6px}
.set-note{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--soft);color:var(--ink2);font-size:13px}
.access-list{margin-top:8px;border-top:1px solid var(--line2)}
.access-row{flex-wrap:wrap;gap:8px 12px;padding:8px 0}
.access-row .bank-col{flex:1 1 120px}
.access-row .seg{flex:none;width:min(320px,100%)}

/* Dialogs */
.sheet{width:min(520px,calc(100% - 32px));max-width:none;max-height:calc(100vh - 48px);padding:22px 24px 24px;border:0;border-radius:18px;background:#FFFFFF;color:var(--ink);box-shadow:0 0 0 1px rgba(10,10,15,0.06),0 24px 48px rgba(13,17,48,0.16);overflow-y:auto}
.sheet.wide{width:min(640px,calc(100% - 32px))}
.sheet::backdrop{background:rgba(13,17,48,0.32)}
.sheet[open]{animation:t-modal-in var(--modal-open-dur) var(--ease) both}
.sheet[open]::backdrop{animation:t-fade-in var(--modal-open-dur) var(--ease) both}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px;margin-bottom:6px}
.eyebrow{font-size:12px;font-weight:500;color:var(--muted)}
.sheet h2{font-size:20px;font-weight:600;letter-spacing:-0.03em;line-height:1.2;margin-bottom:6px}
.sheet h3{font-size:15px;font-weight:600;margin-top:22px}
.dialog-body{font-size:14px;color:var(--ink2);line-height:1.5;margin-top:4px}
.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:20px}
.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.check-label{display:flex !important;align-items:center;gap:8px;font-weight:400 !important;font-size:13.5px !important;color:var(--ink) !important}
.check-label input{width:16px;height:16px;accent-color:var(--ink)}
.code{max-height:260px;overflow:auto;padding:12px;border-radius:10px;background:var(--panel);box-shadow:0 0 0 1px var(--line);font-family:var(--mono);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.setup-access{margin:8px 0 4px;padding:10px 12px;border-radius:10px;background:var(--soft);color:var(--ink2);font-size:13px}
.setup-note{margin:8px 0 12px;padding:10px 12px;border-radius:10px;background:var(--ok-bg);color:var(--ok-fg);font-size:13px}
#setup-steps{padding-left:20px;margin:0 0 14px;font-size:13.5px;line-height:1.6;color:var(--ink2)}
details{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
summary{cursor:pointer;font-size:13.5px;font-weight:500}
summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}

/* Notes (Apple Notes–style; the warm yellow accent is scoped to this page) */
.view-notes{overflow:hidden}
.notes{--nt-accent:#E3B23C;--nt-ink:#8A5F00;--nt-tint:#FBF1D6;--nt-sel:#E9E9EC;flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(260px,320px) minmax(0,1fr);caret-color:#C9971F}
.notes ::selection{background:rgba(227,178,60,0.32)}
.nt-folders{display:flex;flex-direction:column;min-height:0;padding:16px 10px 12px;background:#F7F7F8;border-right:1px solid var(--line)}
.nt-h{padding:4px 10px 8px;font-size:12px;font-weight:600;color:var(--muted)}
.nt-folder-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.nt-folder{display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:8px;font-size:13.5px;cursor:pointer;transition:background-color 140ms ease}
.nt-folder svg{flex:none;color:var(--nt-ink)}
.nt-folder:hover{background:rgba(10,10,15,0.04)}
.nt-folder[aria-selected="true"]{background:var(--nt-tint);font-weight:500}
.nt-folder-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-folder-n{font-size:12.5px;color:var(--muted)}
.nt-folder:focus-visible,.nt-row:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.nt-new-folder{display:flex;align-items:center;gap:8px;height:34px;margin-top:8px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--nt-ink);font-size:13.5px;font-weight:500}
.nt-new-folder:hover:not(:disabled){background:rgba(10,10,15,0.04)}
.nt-list-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);transition:background-color 160ms ease,box-shadow 160ms ease}
.nt-list-pane.is-drop{background:var(--nt-tint);box-shadow:inset 0 0 0 2px var(--nt-accent)}
.nt-list-head{display:flex;align-items:center;gap:6px;padding:16px 12px 10px 18px}
.nt-list-head .round-btn{color:var(--nt-ink)}
.nt-list-titles{display:flex;flex-direction:column;gap:1px;min-width:0}
.nt-list-title{font-size:19px;font-weight:700;letter-spacing:-0.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-count{font-size:12px;color:var(--muted)}
.nt-search{flex:none;margin:0 12px 8px !important;min-width:0}
.nt-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 16px}
.nt-group-h{padding:14px 12px 6px;font-size:12px;font-weight:600;color:var(--ink2)}
.nt-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:2px;padding:10px 12px;border-radius:10px;cursor:pointer}
.nt-row+.nt-row::before{content:"";position:absolute;left:12px;right:12px;top:0;height:1px;background:var(--line)}
.nt-row[aria-selected="true"]::before,.nt-row[aria-selected="true"]+.nt-row::before{opacity:0}
.nt-row[aria-selected="true"]{background:var(--nt-sel)}
.nt-row-title{display:flex;align-items:center;gap:5px;min-width:0;font-size:14px;font-weight:600;letter-spacing:-0.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-pin{display:inline-flex;flex:none;color:var(--nt-ink)}
.nt-row-sub{grid-column:1;display:flex;gap:8px;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap}
.nt-row-date{flex:none;color:var(--ink2)}
.nt-row-snip{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nt-row-kind{grid-column:2;grid-row:1/span 2;display:flex;color:var(--muted)}
.nt-note-pane{display:flex;flex-direction:column;min-height:0;min-width:0}
.nt-tools{display:flex;align-items:center;gap:6px;min-height:56px;padding:10px 16px}
.nt-tools .round-btn{background:transparent;color:var(--ink2)}
.nt-tools .round-btn:hover:not(:disabled){background:var(--soft)}
.nt-tools .round-btn[aria-pressed="true"]{color:var(--nt-ink);background:var(--nt-tint)}
.nt-saved{margin-right:6px;font-size:12px;color:var(--muted)}
.nt-back{display:none}
.nt-body{flex:1;min-height:0;overflow-y:auto;padding:4px 48px 72px}
.nt-doc{display:flex;flex-direction:column;gap:14px;max-width:720px;margin:0 auto}
.nt-date{text-align:center;font-size:12px;color:var(--muted)}
.nt-title{font-size:28px;font-weight:700;letter-spacing:-0.035em;line-height:1.2;overflow-wrap:anywhere;outline:none}
.notes .nt-doc .nt-title-in{height:auto;padding:2px 6px;margin:0 -6px;width:calc(100% + 12px);border-radius:8px;background:transparent;font-size:28px;font-weight:700;letter-spacing:-0.035em;line-height:1.2}
.notes .nt-doc .nt-text{min-height:50vh;field-sizing:content;padding:4px 6px;margin:0 -6px;width:calc(100% + 12px);border-radius:8px;background:transparent;font-size:15px;line-height:1.65;resize:none}
.notes .nt-doc .nt-title-in:focus,.notes .nt-doc .nt-text:focus{background:transparent;box-shadow:inset 3px 0 0 var(--nt-accent);border-radius:0 8px 8px 0}
.nt-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;background:var(--panel);box-shadow:0 0 0 1px var(--line);color:var(--ink);text-decoration:none;transition:background-color 160ms ease}
a.nt-card:hover{background:var(--soft)}
.nt-card-ic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:10px;background:var(--nt-tint);color:var(--nt-ink)}
.nt-card-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.nt-card-text strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.nt-card-host{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.nt-card-desc,.nt-desc{font-size:14px;line-height:1.55;color:var(--ink2);white-space:pre-wrap;overflow-wrap:anywhere}
.nt-frame{width:100%;height:70vh;border:0;border-radius:12px;background:#FFFFFF;box-shadow:0 0 0 1px var(--line)}
.nt-img{display:block;align-self:flex-start;max-width:100%;height:auto;border-radius:12px;box-shadow:0 0 0 1px var(--line)}
.nt-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;text-align:center;color:var(--ink3);font-size:13.5px;line-height:1.5;text-wrap:pretty}
.nt-empty strong{font-size:16px;font-weight:600;letter-spacing:-0.02em;color:var(--ink)}
.nt-empty .btn{margin-top:8px}
.nt-body>.nt-empty{max-width:380px;margin:12vh auto 0}
.nt-loading{padding:8px 4px}
@media (max-width:1000px){.notes{grid-template-columns:180px minmax(220px,260px) minmax(0,1fr)}.nt-body{padding:4px 28px 64px}}
@media (max-width:700px){
  .notes{grid-template-columns:minmax(0,1fr)}
  .notes[data-pane="folders"] :is(.nt-list-pane,.nt-note-pane),.notes[data-pane="list"] :is(.nt-folders,.nt-note-pane),.notes[data-pane="note"] :is(.nt-folders,.nt-list-pane){display:none}
  .nt-folders,.nt-list-pane{border-right:0}
  .nt-back{display:inline-flex;color:var(--nt-ink);background:transparent;padding-left:2px}
  .nt-list-head{flex-wrap:wrap;padding:10px 10px 8px 12px}
  .nt-list-head .nt-back{flex-basis:100%;justify-content:flex-start}
  .nt-tools{padding:8px 10px}
  .nt-body{padding:4px 20px 56px}
  .nt-title,.notes .nt-doc .nt-title-in{font-size:24px}
}

/* Responsive */
@media (max-width:1100px){
  .win-body{grid-template-columns:minmax(0,1fr)}
  .preview-pane{border-left:0;border-top:1px solid var(--line);min-height:300px}
  .stack-win{overflow-y:auto}
  .win-body{flex:none}
  .tree-pane{max-height:420px}
}
@media (max-width:720px){
  .rt-nav{flex-basis:56px !important;width:56px !important;overflow:visible}
  .rt-nav .nav-label{opacity:0;filter:blur(2px);pointer-events:none}
  .rt-nav .nav-fade{opacity:0;pointer-events:none;visibility:hidden}
  .nav-collapse{display:none}
  .nav-dot.on{opacity:1}
  .page-head{padding:16px 16px 14px}
  .page-head h1{font-size:22px}
  .hist-head{padding:12px 16px}
  .page-pad{padding:18px 16px 40px}
  .detail-body{padding:24px 16px 40px}
  .connect-btn{width:40px;padding:0}
  .connect-btn span{display:none}
  .filters{margin-left:0;width:100%}
  .t-avatar-group{display:none}
  .luma{width:168px}
  .seg.three .seg-btn{font-size:12px}
  .map{min-height:480px;flex-basis:100%}
  .feed{flex-basis:100%;border-left:0;border-top:1px solid var(--line);max-height:none}
  .feed-list{max-height:none}
  .legend-text{display:none}
  .stack-win{left:12px;width:calc(100% - 24px) !important;top:24px}
  .stage{min-height:640px}
  .transport{padding:10px 12px}
  .transport-hint{display:none}
  .timeline{flex-basis:100%;border-left:0;border-top:1px solid var(--line);max-height:none}
  .win-meta{padding:10px 12px}
  .win-tools{padding:9px 12px;flex-wrap:wrap}
  .crumb-sub,.crumb-sep{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important}
  .rt-nav,.nav-label,.nav-fade,.nav-tt,.nav-ind,.nav-hov,.t-acc-panel,.t-acc-panel-inner,.t-acc-chevron,.luma-ind,.luma-lbl,.luma-tip,.t-icon-swap .t-icon,.t-toast,.seg-ind,.tree-chev,.t-learn-chevron,.t-check,.t-check svg path,.map-links{transition:none !important}
  .bubble{transition:opacity 200ms ease !important}
  .stack-win{transition:opacity 200ms ease !important}
  .t-matrix i,.t-shimmer::before{animation:none !important}
  .t-shimmer::before{display:none}
  .press:active{transform:none !important}
}
