/* Loggia · app
   Same brand as the landing page: Source Serif 4 + Geist, warm paper, slate-green ink,
   pigments from the paintings for the four kinds of margin note. */

:root{
  --bg:#f3f1eb;
  --side:#ebe7dd;
  --card:#fbfaf6;
  --paper:#f8f7f2;
  --paper-2:#ece8df;
  --paper-3:#e2ddd1;
  --ink:#15201e;
  --ink-2:#3d4946;
  --ink-3:#6c7572;
  --ink-4:#99a09c;
  --line:rgba(21,32,30,.1);
  --line-2:rgba(21,32,30,.18);
  --terra:#b0532c; --terra-t:rgba(176,83,44,.14); --terra-d:#8f3f1e;
  --sky:#3b6c9b; --sky-t:rgba(59,108,155,.13); --sky-d:#2c5785;
  --ochre:#9d7420; --ochre-t:rgba(176,132,36,.16); --ochre-d:#7a5a14;
  --sage:#56744b; --sage-t:rgba(86,116,75,.15); --sage-d:#41603a;
  --plum:#7a4a5e; --plum-t:rgba(122,74,94,.13);
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --sidew:252px;
  --ease:cubic-bezier(.22,.7,.2,1);
  --sh-1:0 0 0 1px var(--line),0 1px 2px rgba(21,32,30,.04);
  --sh-pop:0 0 0 1px var(--line),0 18px 44px -14px rgba(21,32,30,.28);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{list-style:none;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:8px}
::selection{background:rgba(59,108,155,.2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.serif{font-family:var(--serif)}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink-3)}
kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;font:500 11px/1 var(--sans);color:var(--ink-3);background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line-2)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 15px;border-radius:999px;font-weight:500;font-size:13.5px;white-space:nowrap;transition:background-color .15s,box-shadow .15s,color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-ink{background:var(--ink);color:#f6f4ee}
.btn-ink:hover{background:#24332f}
.btn-ghost{box-shadow:inset 0 0 0 1px var(--line-2);background:rgba(255,255,255,.35)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--ink-3);background:rgba(255,255,255,.7)}
.btn-quiet{color:var(--ink-2)}
.btn-quiet:hover{background:rgba(21,32,30,.06)}
.btn-danger{background:#9b3b23;color:#fff}
.btn-danger:hover{background:#86311c}
.btn-sm{height:30px;padding:0 12px;font-size:12.5px}
.btn svg{flex:none}
.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--ink-2);position:relative;flex:none;transition:background-color .15s}
.icon-btn:hover{background:rgba(21,32,30,.06);color:var(--ink)}
.icon-btn .dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--terra);box-shadow:0 0 0 2px var(--bg)}
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;color:var(--ink-2);background:var(--paper-2);white-space:nowrap}
.chip-line{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2)}
button.chip:hover{box-shadow:inset 0 0 0 1px var(--ink-4)}
.tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;background:var(--paper-2);color:var(--ink-2)}
.tag button{opacity:.55;font-size:13px;line-height:1}
.tag button:hover{opacity:1}
.av{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none;background:var(--paper-3)}
.av-28{width:28px;height:28px}.av-32{width:32px;height:32px}.av-20{width:20px;height:20px}.av-40{width:40px;height:40px}
.avs{display:flex}.avs .av{box-shadow:0 0 0 2px var(--card)}.avs .av+.av{margin-left:-7px}
.av-loggia{display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#f3f0e8}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink-4)}
.st-done::before{background:var(--sage)}
.st-review::before{background:var(--sky)}
.st-revising::before{background:var(--ochre)}
.st-drafting::before{background:var(--terra)}
.st-outlined::before{background:var(--ink-4)}
.bar{display:block;height:4px;border-radius:4px;background:var(--paper-3);overflow:hidden;position:relative}
.bar i{display:block;height:100%;border-radius:inherit;background:var(--ink);transform-origin:left center}
.bar.terra i{background:var(--terra)}

/* file type tags (shared with the landing page) */
.ft{display:inline-grid;place-items:center;min-width:52px;height:22px;padding:0 7px;border-radius:6px;font:600 10px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;font-style:normal;flex:none}
.ft-book{background:rgba(21,32,30,.08);color:var(--ink-2)}
.ft-paper{background:var(--sky-t);color:var(--sky-d)}
.ft-chapter{background:rgba(21,32,30,.06);color:var(--ink-3)}
.ft-archive{background:var(--ochre-t);color:var(--ochre-d)}
.ft-interview{background:var(--sage-t);color:var(--sage-d)}
.ft-web{background:var(--plum-t);color:var(--plum)}
.ft-data{background:var(--terra-t);color:var(--terra-d)}

/* tooltips with shortcuts */
[data-tip]{position:relative}
[data-tip]:hover::after,[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);z-index:90;padding:6px 9px;border-radius:8px;background:var(--ink);color:#f3f0e8;font:500 12px/1.2 var(--sans);white-space:pre;pointer-events:none;animation:tipin .15s .35s both}
[data-tip-pos="right"]:hover::after{top:50%;left:calc(100% + 10px);transform:translateY(-50%)}
[data-tip-pos="left"]:hover::after{left:auto;right:0;transform:none}
[data-tip][aria-expanded="true"]::after{display:none!important}
@keyframes tipin{from{opacity:0}}

/* ---------- login ---------- */
body.on-login{background:#cfc6b1}
.login{position:relative;min-height:100dvh;display:grid;place-items:center;padding:100px 48px 44px;overflow:hidden;isolation:isolate}
.lg-bg{position:absolute;inset:-30px;z-index:-1;background:url(../img/login-bg.webp) center/cover no-repeat;transform:scale(1.04)}
.lg-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 50%,rgba(250,246,236,0) 40%,rgba(60,48,30,.28) 100%),linear-gradient(rgba(245,240,228,.18),rgba(245,240,228,.08))}
.lg-logo{position:absolute;left:clamp(24px,10vw,150px);top:38px;display:flex;align-items:center;gap:11px;font:440 34px/1 var(--serif);letter-spacing:-.03em;color:#15191a}
.lg-corner{position:absolute;font:italic 400 15px/1.3 var(--serif);color:#2c2a24}
.lg-corner::after{content:"";display:block;width:20px;height:1px;background:currentColor;opacity:.6;margin-top:12px}
.lg-tr{right:clamp(24px,3vw,46px);top:44px}
.lg-bl{left:clamp(20px,2vw,36px);bottom:40px;color:#f6f1e4;text-shadow:0 1px 10px rgba(30,20,10,.4)}
.lg-card{position:relative;width:min(1140px,100%);height:min(812px,calc(100dvh - 144px));min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);border-radius:30px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 50px 120px -30px rgba(40,30,15,.55),0 0 0 1px rgba(255,255,255,.25)}
.lg-art{position:relative;overflow:hidden;background:#b6a37c}
.lg-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.lg-note{position:absolute;right:11%;top:13%;font:italic 400 clamp(18px,1.7vw,24px)/1.22 var(--serif);color:#22231f;transform:rotate(-8deg);transform-origin:left bottom}
.lg-note::after{content:"";display:block;width:22px;height:1px;background:currentColor;margin:14px 0 0 8px;opacity:.7}
.lg-caps{position:absolute;left:34px;bottom:32px;font:500 11.5px/2.05 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#fbf7ee;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.lg-side{position:relative;display:flex;flex-direction:column;padding:34px clamp(32px,5vw,70px) 28px;background:#efebe4;overflow:auto}
.lg-leaves{position:absolute;inset:0;pointer-events:none;opacity:.5;background:
  radial-gradient(160px 70px at 6% 6%,rgba(70,60,40,.16),transparent 70%),
  radial-gradient(120px 60px at 20% 2%,rgba(70,60,40,.12),transparent 70%),
  radial-gradient(220px 90px at 0% 70%,rgba(70,60,40,.1),transparent 70%),
  radial-gradient(260px 120px at 100% 100%,rgba(70,60,40,.08),transparent 70%);filter:blur(6px)}
.lg-back{position:relative;display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font-size:15px;font-weight:500;color:#1d2222;padding:6px 0}
.lg-back:hover{color:var(--ink-3)}
.lg-main{position:relative;margin:auto 0;padding:14px 0 12px;width:100%;max-width:470px}
.lg-eyebrow{font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.lg-main h1{margin-top:16px;font:430 clamp(38px,3.7vw,54px)/1.02 var(--serif);letter-spacing:-.03em;color:#141817;text-wrap:balance}
.lg-main h1 em{font-style:italic}
.lg-sub{margin-top:14px;font-size:16.5px;line-height:1.45;color:#6a6862;max-width:27em}
.lg-form{margin-top:24px;display:grid;gap:12px}
.field{position:relative;display:flex;align-items:center;height:52px;border-radius:17px;background:rgba(255,255,255,.32);box-shadow:inset 0 0 0 1px rgba(21,32,30,.1),0 1px 0 rgba(255,255,255,.6);color:#55554f;transition:box-shadow .15s,background-color .15s}
.field:focus-within{background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1.5px rgba(21,32,30,.45)}
.field svg{position:absolute;left:19px;pointer-events:none}
.field input{flex:1;min-width:0;height:100%;padding:0 52px 0 52px;border:0;background:none;outline:0;font-size:15.5px;color:#151a19}
.field input::placeholder{color:#8f8d86}
.field.bad{box-shadow:inset 0 0 0 1.5px rgba(176,83,44,.7)}
.eye{position:absolute;right:12px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#55554f}
.eye:hover{background:rgba(21,32,30,.06)}
.eye svg{position:static}
.lg-msg{font-size:13px;color:var(--terra-d);margin:-4px 0 0 4px}
.lg-msg.ok{color:var(--sage-d)}
.lg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 2px 6px;font-size:13.5px;color:#44443f}
.check{display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check span{width:17px;height:17px;border-radius:5px;box-shadow:inset 0 0 0 1.3px #6b6b64;display:grid;place-items:center;transition:background-color .15s}
.check input:checked+span{background:#15191a;box-shadow:none}
.check input:checked+span::after{content:"";width:9px;height:5px;border-left:1.6px solid #fff;border-bottom:1.6px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.check input:focus-visible+span{outline:2px solid var(--sky);outline-offset:2px}
.lg-forgot{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(21,32,30,.4);color:#2a2b28}
.lg-forgot:hover{text-decoration-color:currentColor}
.lg-go{display:flex;align-items:center;justify-content:center;gap:14px;height:52px;border-radius:999px;background:#15191a;color:#f7f4ec;font-size:16px;font-weight:500;box-shadow:0 10px 24px -12px rgba(0,0,0,.6);transition:background-color .15s,transform .15s}
.lg-go:hover{background:#262b2b}
.lg-go:active{transform:translateY(1px)}
.lg-go.busy span::after{content:"";display:inline-block;width:12px;height:12px;margin-left:10px;border-radius:50%;border:1.6px solid rgba(255,255,255,.35);border-top-color:#fff;vertical-align:-1px;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lg-or{display:flex;align-items:center;gap:16px;margin:20px 0 14px;font:500 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#85837b}
.lg-or::before,.lg-or::after{content:"";flex:1;height:1px;background:rgba(21,32,30,.13)}
.lg-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lg-social button{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;border-radius:17px;box-shadow:inset 0 0 0 1px rgba(21,32,30,.1);background:rgba(255,255,255,.22);font-size:14.5px;font-weight:500;color:#1d2121;transition:background-color .15s,box-shadow .15s}
.lg-social button:hover{background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px rgba(21,32,30,.22)}
.lg-foot{position:relative;display:flex;align-items:center;gap:24px;padding-top:14px}
.lg-flogo{display:inline-flex;align-items:center;gap:9px;font:440 28px/1 var(--serif);letter-spacing:-.03em;color:#15191a}
.lg-fline{padding-left:24px;border-left:1px solid rgba(21,32,30,.18);font:400 15px/1.25 var(--serif);color:#3a3a35}
.login.leaving .lg-card{animation:leave .5s var(--ease) forwards}
@media (min-width:761px) and (max-height:860px){
  .login{padding:76px 40px 50px}
  .lg-card{height:calc(100dvh - 126px);min-height:600px}
  .lg-logo{top:22px;font-size:30px}
  .lg-tr{top:22px}
  .lg-main h1{font-size:clamp(32px,3vw,42px)}
  .lg-side{padding-top:24px;padding-bottom:20px}
  .lg-main{padding:6px 0}
  .lg-form{margin-top:18px}
  .lg-go{height:48px}
  .lg-or{margin:14px 0 10px}
  .lg-social button{height:46px}
}
@media (max-width:1419px){ .lg-bl{display:none} }
@media (min-width:761px) and (max-height:740px){
  .lg-card{min-height:560px}
  .lg-foot{display:none}
}
@keyframes leave{to{opacity:0;transform:scale(.985) translateY(-6px)}}
.ariadne{font:500 12.5px/1 var(--sans);padding:7px 11px;border-radius:999px;background:rgba(20,22,26,.88);color:#fff;letter-spacing:.01em;box-shadow:0 0 0 1px rgba(255,255,255,.14);opacity:.92;white-space:nowrap}
.ariadne b{font-weight:600;color:#ff8a3d}
.ariadne-fixed{position:fixed;right:14px;bottom:14px;z-index:50}

/* ---------- shell ---------- */
body.on-app{overflow:hidden}
.app{display:grid;grid-template-columns:var(--sidew) minmax(0,1fr);height:100dvh}
.side{display:flex;flex-direction:column;min-height:0;background:var(--side);border-right:1px solid var(--line)}
.side-top{display:flex;align-items:center;gap:6px;padding:12px 10px 6px}
.ws{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:12px;text-align:left;transition:background-color .15s}
.ws:hover,.ws[aria-expanded="true"]{background:rgba(21,32,30,.055)}
.ws-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--ink);color:#f1ede3;flex:none}
.ws-t{min-width:0;flex:1}
.ws-name{display:block;font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws-sub{display:block;font-size:12px;color:var(--ink-3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws>svg{color:var(--ink-3);flex:none}
.side-x{display:none}
.side-search{display:flex;align-items:center;gap:9px;margin:4px 12px 8px;height:36px;padding:0 8px 0 11px;border-radius:11px;background:rgba(255,255,255,.5);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-3);font-size:13.5px;transition:background-color .15s}
.side-search:hover{background:rgba(255,255,255,.8)}
.side-search span{flex:1;text-align:left}
.nav{flex:1;min-height:0;overflow:auto;padding:2px 10px 10px;scrollbar-width:thin}
.nav-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:500;color:var(--ink-3);padding:16px 10px 6px}
.nav-h button{color:var(--ink-4);border-radius:6px;padding:2px}
.nav-h button:hover{color:var(--ink);background:rgba(21,32,30,.06)}
.nav a{display:flex;align-items:center;gap:11px;height:34px;padding:0 10px;border-radius:9px;font-size:14px;color:var(--ink-2);transition:background-color .12s,color .12s}
.nav a svg{flex:none;color:var(--ink-3)}
.nav a:hover{background:rgba(21,32,30,.05);color:var(--ink)}
.nav a.on{background:var(--card);color:var(--ink);font-weight:500;box-shadow:0 0 0 1px var(--line),0 1px 3px rgba(21,32,30,.06)}
.nav a.on svg{color:var(--ink)}
.nav a span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav .ct{flex:none;margin-left:auto;font-size:12px;color:var(--ink-4);font-variant-numeric:tabular-nums}
.nav .ct.hot{min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--terra);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center}
.nav .pin-dot{width:8px;height:8px;border-radius:3px;flex:none;margin:0 3px}
.side-foot{padding:10px 12px 8px;border-top:1px solid var(--line);display:grid;gap:8px}
.goal{display:block;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.45);box-shadow:inset 0 0 0 1px var(--line)}
.goal:hover{background:rgba(255,255,255,.7)}
.goal-t{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;color:var(--ink-2)}
.goal-t b{font:500 13.5px/1.2 var(--serif)}
.goal .bar{margin-top:8px}
.goal-s{margin-top:6px;font-size:11.5px;color:var(--ink-3)}
.me{display:flex;align-items:center;gap:10px;width:100%;padding:6px;border-radius:11px;text-align:left}
.me:hover,.me[aria-expanded="true"]{background:rgba(21,32,30,.055)}
.me span{min-width:0;flex:1;line-height:1.25}
.me b{display:block;font-weight:500;font-size:13.5px}
.me small{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ariadne-side{display:table;align-self:flex-start;margin:2px 0 12px 22px}
.main{display:flex;flex-direction:column;min-width:0;min-height:0}
.top{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px 0 22px;border-bottom:1px solid var(--line);background:rgba(243,241,235,.92);flex:none}
.menu-btn{display:none}
.crumbs{display:flex;align-items:center;gap:8px;min-width:0;flex:1;font-size:13.5px;color:var(--ink-3);white-space:nowrap}
.crumbs a:hover{color:var(--ink)}
.crumbs i{font-style:normal;color:var(--ink-4)}
.crumbs b{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.top-r{display:flex;align-items:center;gap:6px;flex:none}
.top-search{display:none;align-items:center;gap:8px;height:34px;padding:0 8px 0 11px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-3);font-size:13px;background:rgba(255,255,255,.5)}
.view{flex:1;min-height:0;overflow:auto;outline:0}
.view.full{overflow:hidden}
.view.full>.doc,.view.full>.th{height:100%}
.lnk{color:var(--ink-3);text-decoration:underline;text-underline-offset:2px}
.lnk:hover{color:var(--ink)}
.nav a[data-tip]::after,.side-search[data-tip]::after,.me[data-tip]::after{display:none}
.page{max-width:1240px;margin:0 auto;padding:30px 32px 72px}
.page-n{max-width:980px}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.ph h1{font:440 34px/1.08 var(--serif);letter-spacing:-.025em}
.ph h1 em{font-style:italic}
.ph p{margin-top:8px;color:var(--ink-3);font-size:14.5px;max-width:44em}
.ph-a{display:flex;align-items:center;gap:8px;flex:none}
.scrim{position:fixed;inset:0;z-index:40;background:rgba(21,32,30,.32)}

/* cards */
.card{background:var(--card);border-radius:16px;box-shadow:var(--sh-1);min-width:0}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}
.card-h h2{font:460 19px/1.2 var(--serif);letter-spacing:-.01em}
.card-h a,.card-h .lnk{font-size:13px;color:var(--ink-3)}
.card-h a:hover,.card-h .lnk:hover{color:var(--ink)}
.card-b{padding:14px 18px 18px}
.grid{display:grid;gap:16px}
.g-2{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:48px 20px;color:var(--ink-3)}
.empty p:first-child{font:italic 400 19px/1.35 var(--serif);color:var(--ink-2)}
.empty svg{color:var(--ink-4);margin-bottom:4px}

/* segmented + tabs */
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}
.seg button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--ink-3);white-space:nowrap}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"],.seg button[aria-selected="true"]{background:var(--card);color:var(--ink);box-shadow:0 0 0 1px var(--line),0 1px 4px -1px rgba(21,32,30,.2)}
.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a,.tabs button{position:relative;display:inline-flex;align-items:center;gap:7px;height:40px;font-size:13.5px;font-weight:500;color:var(--ink-3);white-space:nowrap}
.tabs a:hover,.tabs button:hover{color:var(--ink)}
.tabs .on{color:var(--ink)}
.tabs .on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--ink)}
.tabs .ct{font-size:12px;color:var(--ink-4);font-weight:400}

/* inputs */
.input{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:11px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-3);min-width:0}
.input:focus-within{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.input input,.input select{flex:1;min-width:0;border:0;background:none;outline:0;color:var(--ink);font-size:13.5px;height:100%}
.input input::placeholder{color:var(--ink-4)}
.txt{width:100%;padding:10px 12px;border-radius:11px;border:0;background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line-2);outline:0;font-size:14px;color:var(--ink);resize:vertical}
.txt:focus{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink-3)}
select.txt{height:38px;padding:0 10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%236c7572' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
.lbl{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
.frow{display:grid;gap:6px;margin-bottom:14px}
.switch{position:relative;width:36px;height:21px;border-radius:999px;background:var(--paper-3);box-shadow:inset 0 0 0 1px var(--line);flex:none;transition:background-color .2s}
.switch::after{content:"";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s var(--ease)}
.switch[aria-checked="true"]{background:var(--ink)}
.switch[aria-checked="true"]::after{transform:translateX(15px)}

/* tables */
.tbl-wrap{overflow:auto;border-radius:16px}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.tbl th{position:sticky;top:0;z-index:1;background:var(--card);text-align:left;font-weight:500;font-size:12.5px;color:var(--ink-3);padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th button{display:inline-flex;align-items:center;gap:4px;color:inherit;font:inherit}
.tbl th button:hover{color:var(--ink)}
.tbl th[aria-sort] button{color:var(--ink)}
.tbl th .arr{opacity:.4;font-size:10px}
.tbl th[aria-sort] .arr{opacity:1}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{cursor:pointer;transition:background-color .1s}
.tbl tbody tr:hover{background:rgba(236,232,223,.5)}
.tbl tbody tr.sel{background:rgba(236,232,223,.8)}
.tbl .r{text-align:right}
.tbl .t-title{display:block;font-weight:500;color:var(--ink);max-width:460px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbl .t-sub{display:block;font-size:12.5px;color:var(--ink-3);max-width:460px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbl-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.pg{display:inline-grid;grid-template-columns:repeat(var(--n,3),auto);gap:6px}

/* ---------- desk ---------- */
.hello{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border-radius:22px;overflow:hidden;background:var(--paper-2);box-shadow:var(--sh-1);margin-bottom:16px;min-height:260px}
.hello-c{padding:28px 30px 26px;display:flex;flex-direction:column}
.hello-c .k{font-size:13px;color:var(--ink-3)}
.hello h1{margin-top:8px;font:440 38px/1.05 var(--serif);letter-spacing:-.03em}
.hello h1 em{font-style:italic}
.hello-p{margin-top:12px;color:var(--ink-2);font-size:15px;line-height:1.5;max-width:34em}
.hello-p b{font-weight:600}
.hello-a{margin-top:auto;padding-top:20px;display:flex;gap:8px;flex-wrap:wrap}
.hello-art{position:relative;min-height:220px}
.hello-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 55%}
.hello-art p{position:absolute;right:8%;top:12%;font:italic 400 18px/1.25 var(--serif);color:#3a2f22;transform:rotate(-5deg)}
.kpi{padding:16px 18px 16px}
.kpi-l{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--ink-3)}
.kpi-n{margin-top:10px;font:420 34px/1 var(--serif);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi-n small{font:400 14px/1 var(--sans);color:var(--ink-3);letter-spacing:0;margin-left:4px}
.kpi-s{margin-top:8px;font-size:12.5px;color:var(--ink-3)}
.kpi-s b{font-weight:500;color:var(--sage-d)}
.kpi-s b.neg{color:var(--ink-2)}
.spark{display:flex;align-items:flex-end;gap:3px;height:28px}
.spark i{flex:1;width:6px;background:var(--ink-4);border-radius:2px;transform-origin:bottom}
.spark i.today{background:var(--terra)}
.spark-wide{justify-content:space-between;gap:6px}
.spark-wide i{flex:none;width:clamp(8px,2.4%,18px)}
.typedots{display:flex;gap:4px}
.typedots i{width:8px;height:8px;border-radius:50%}
.chart{position:relative;padding:8px 18px 14px}
.chart svg{width:100%;height:220px;overflow:visible}
.chart .gl{stroke:var(--line);stroke-width:1}
.chart .gt{fill:var(--ink-4);font:11px var(--sans)}
.chart .bars rect{fill:#c9c2b2;transition:fill .15s}
.chart .bars rect.wk{fill:var(--ink-2)}
.chart .bars rect:hover,.chart .bars rect.hov{fill:var(--terra)}
.chart .goal-l{stroke:var(--terra);stroke-dasharray:3 4;stroke-width:1.2}
.chart .goal-t{fill:var(--terra);font:500 11px var(--sans)}
.tip{position:absolute;pointer-events:none;padding:7px 10px;border-radius:9px;background:var(--ink);color:#f3f0e8;font-size:12px;line-height:1.35;white-space:nowrap;transform:translate(-50%,-100%);z-index:3}
.tip b{font-weight:600}
.legend{display:flex;gap:14px;font-size:12.5px;color:var(--ink-3)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px}
.nlist>li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.nlist>li:first-child{border-top:0;padding-top:4px}
.ntype{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.ntype::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ty-source{color:var(--terra)}.ty-counter{color:var(--sky)}.ty-repeat{color:var(--ochre)}.ty-unclear{color:var(--sage)}
.nl-doc{font-size:12px;color:var(--ink-3)}
.nl-t{margin-top:4px;font-size:13.5px;color:var(--ink-2);line-height:1.45}
.nl-a{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.qmini>li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.qmini>li:first-child{border-top:0;padding-top:2px}
.qmini b{display:block;font-weight:500;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qmini small{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qmini .bar{width:64px}
.feed>li{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-2);line-height:1.4}
.feed>li:first-child{border-top:0;padding-top:2px}
.feed b{font-weight:500;color:var(--ink)}
.feed time{display:block;font-size:12px;color:var(--ink-4)}
.feed a:hover b{text-decoration:underline;text-underline-offset:2px}
.thmini>li a{display:block;padding:11px 0;border-top:1px solid var(--line)}
.thmini>li:first-child a{border-top:0;padding-top:2px}
.thmini b{display:block;font:460 15px/1.35 var(--serif)}
.thmini small{font-size:12px;color:var(--ink-3)}
.thmini a:hover b{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ink-4)}

/* ---------- drafts ---------- */
.prog{display:grid;grid-template-columns:minmax(60px,110px) auto;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.dgroup td{background:var(--paper);font:500 12.5px/1 var(--sans);color:var(--ink-3);padding:10px 12px;cursor:default}
.dgroup:hover td{background:var(--paper)!important}

/* ---------- editor ---------- */
.doc{display:grid;grid-template-columns:232px minmax(0,1fr) 312px;height:100%;min-height:0}
.doc.focus{grid-template-columns:0 minmax(0,1fr) 0}
.doc.focus .d-out,.doc.focus .d-mar{visibility:hidden}
.d-out{border-right:1px solid var(--line);overflow:auto;padding:16px 12px;min-height:0;background:rgba(236,232,223,.35)}
.d-out h3{font:500 12px/1 var(--sans);color:var(--ink-3);margin:6px 8px 10px}
.d-out ol{display:grid;gap:1px;margin-bottom:18px}
.d-out li a,.d-out li button{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:baseline;gap:4px;width:100%;padding:7px 8px;border-radius:8px;font-size:13px;color:var(--ink-2);text-align:left;line-height:1.3}
.d-out li a:hover,.d-out li button:hover{background:rgba(21,32,30,.05)}
.d-out li a.on{background:var(--card);color:var(--ink);font-weight:500;box-shadow:var(--sh-1)}
.d-out li em{font-style:normal;font-size:11.5px;color:var(--ink-4);font-variant-numeric:tabular-nums}
.d-out li span{color:var(--ink-4);font-variant-numeric:tabular-nums;font-size:12px}
.d-out .secs button{grid-template-columns:12px minmax(0,1fr);font-size:12.5px;color:var(--ink-3)}
.d-out .secs button::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ink-4);align-self:center}
.d-center{display:flex;flex-direction:column;min-height:0;min-width:0}
.d-bar{display:flex;align-items:center;gap:4px;height:48px;padding:0 14px;border-bottom:1px solid var(--line);flex:none;overflow-x:auto;scrollbar-width:none}
.d-bar::-webkit-scrollbar{display:none}
.d-bar .sep{width:1px;height:20px;background:var(--line-2);margin:0 6px;flex:none}
.d-bar .wc{margin-left:auto;font-size:12.5px;color:var(--ink-3);white-space:nowrap;padding:0 6px;font-variant-numeric:tabular-nums}
.d-bar .wc b{font-weight:500;color:var(--ink)}
.d-scroll{flex:1;min-height:0;overflow:auto;padding:40px 24px 120px;scroll-behavior:smooth}
.sheet{max-width:700px;margin:0 auto}
.sheet .kicker{font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.sheet .dtitle{margin:12px 0 8px;font:440 40px/1.08 var(--serif);letter-spacing:-.025em;outline:0}
.sheet .dmeta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);margin-bottom:30px}
.prose{font:400 19px/1.72 var(--serif);color:#1f2a28;outline:0;caret-color:var(--terra)}
.prose h2{font:470 23px/1.25 var(--serif);letter-spacing:-.01em;margin:34px 0 10px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 18px}
.prose p:empty::before{content:attr(data-ph);color:var(--ink-4)}
.prose mark{color:inherit;background:transparent;border-radius:2px;padding:0 1px;transition:background-color .2s,box-shadow .2s;-webkit-box-decoration-break:clone;box-decoration-break:clone;cursor:pointer}
.prose mark.m-source{background:var(--terra-t);box-shadow:inset 0 -1.5px 0 rgba(176,83,44,.55)}
.prose mark.m-counter{background:var(--sky-t);box-shadow:inset 0 -1.5px 0 rgba(59,108,155,.55)}
.prose mark.m-repeat{background:var(--ochre-t);box-shadow:inset 0 -1.5px 0 rgba(157,116,32,.55)}
.prose mark.m-unclear{background:var(--sage-t);box-shadow:inset 0 -1.5px 0 rgba(86,116,75,.55)}
.prose mark.hot{background:rgba(176,83,44,.26)}
.prose mark.m-counter.hot{background:rgba(59,108,155,.26)}
.prose mark.m-repeat.hot{background:rgba(176,132,36,.3)}
.prose mark.m-unclear.hot{background:rgba(86,116,75,.28)}
.prose mark.m-off{background:none;box-shadow:none;cursor:text}
.prose .new{background:rgba(86,116,75,.16);border-radius:3px;transition:background-color 2.4s ease}
.prose .new.fade{background:transparent}
.prose cite{font-style:normal;color:var(--terra);cursor:pointer;user-select:none}
.prose cite.sup{font:600 11px/1 var(--sans);vertical-align:super;margin-left:1px;padding:0 1px}
.prose cite.par{font-size:.9em;color:var(--terra-d)}
.prose cite:hover{text-decoration:underline;text-underline-offset:2px}
.prose .cmt-a{box-shadow:inset 0 -2px 0 rgba(122,74,94,.35)}
.fns{margin-top:40px;padding-top:18px;border-top:1px solid var(--line)}
.fns h4{font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.fns ol{display:grid;gap:8px}
.fns li{display:grid;grid-template-columns:24px minmax(0,1fr);font:400 14.5px/1.5 var(--serif);color:var(--ink-2)}
.fns li span{font:600 11px/1.9 var(--sans);color:var(--terra)}
.fns li.hang{display:block;padding-left:1.6em;text-indent:-1.6em}
.d-mar{border-left:1px solid var(--line);background:rgba(236,232,223,.4);display:flex;flex-direction:column;min-height:0}
.d-mar .tabs{margin:0;padding:0 16px;gap:18px;flex:none}
.d-mar-b{flex:1;min-height:0;overflow:auto;padding:14px 14px 40px;display:grid;align-content:start;gap:10px}
.mn{position:relative;background:var(--card);border-radius:13px;padding:12px 14px 13px;box-shadow:0 0 0 1px var(--line),0 6px 16px -12px rgba(21,32,30,.3);font-size:13.5px;line-height:1.45;transition:box-shadow .2s,transform .2s,opacity .3s}
.mn.hot{box-shadow:0 0 0 1.5px var(--c,var(--ink-3)),0 10px 24px -14px rgba(21,32,30,.4)}
.mn.k-source{--c:var(--terra)}.mn.k-counter{--c:var(--sky)}.mn.k-repeat{--c:var(--ochre)}.mn.k-unclear{--c:var(--sage)}
.mn-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.mn-t{color:var(--ink-2)}
.mn-src{display:inline-flex;margin-top:7px;font:italic 400 13px/1.3 var(--serif);color:var(--ink-3);text-align:left}
button.mn-src:hover{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.mn-sug{margin-top:8px;padding:8px 10px;border-radius:9px;background:var(--paper-2);font:400 14px/1.45 var(--serif);color:var(--ink)}
.mn-sug del{color:var(--ink-4)}
.mn-a{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap}
.mn time{font-size:11.5px;color:var(--ink-4)}
.mn-who{display:flex;align-items:center;gap:8px;font-size:12.5px}
.mn-who b{font-weight:500}
.mn-rep{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:8px}
.mn-rep p{font-size:13px;color:var(--ink-2)}
.mn-rep .input{height:32px;border-radius:9px}
.mn-done{color:var(--ink-3);font-size:12.5px;padding:4px 4px 0}
.mar-sum{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 2px 6px;font-size:12px;color:var(--ink-3)}
.cite-pop{position:fixed;z-index:75;width:360px;max-width:calc(100vw - 24px);background:var(--card);border-radius:16px;box-shadow:var(--sh-pop);overflow:hidden}
.cite-pop .input{margin:10px;border-radius:10px}
.cite-pop ul{max-height:260px;overflow:auto;padding:0 6px 6px}
.cite-pop li button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:8px;border-radius:10px;text-align:left}
.cite-pop li button:hover,.cite-pop li button.on{background:var(--paper-2)}
.cite-pop li b{display:block;font-weight:500;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cite-pop li small{display:block;font-size:12px;color:var(--ink-3)}
.cite-pop .cp-f{display:flex;align-items:center;gap:8px;padding:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.cite-pop .cp-f .input{margin:0;flex:1;height:32px}
.cite-card{position:fixed;z-index:75;width:340px;max-width:calc(100vw - 24px);padding:14px 16px;background:var(--card);border-radius:14px;box-shadow:var(--sh-pop)}
.cite-card q{display:block;margin-top:8px;font:italic 400 15px/1.45 var(--serif);color:var(--ink-2)}
.cite-card .cc-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:12px;color:var(--ink-3)}
.cite-card .ok{color:var(--sage-d);font-weight:500}

/* ---------- library ---------- */
.fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.fbar .input{width:280px}
.fbar .sp{flex:1}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{height:30px;padding:0 12px;border-radius:999px;font-size:13px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);background:rgba(255,255,255,.3);white-space:nowrap}
.chips button:hover{box-shadow:inset 0 0 0 1px var(--ink-4)}
.chips button[aria-pressed="true"]{background:var(--ink);color:#f3f0e8;box-shadow:none}
.chips button .ct{color:inherit;opacity:.6;margin-left:4px;font-variant-numeric:tabular-nums}
.st-pill{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.st-pill .bar{width:48px}
.new-row td{background:rgba(176,83,44,.05)}
/* drawer */
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(520px,100%);background:var(--card);box-shadow:-30px 0 80px -30px rgba(21,32,30,.4),-1px 0 0 var(--line);display:flex;flex-direction:column;animation:drin .32s var(--ease)}
.drawer.out{animation:drout .22s ease forwards}
@keyframes drin{from{transform:translateX(30px);opacity:0}}
@keyframes drout{to{transform:translateX(30px);opacity:0}}
.dr-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);flex:none}
.dr-h .crumb{font-size:13px;color:var(--ink-3)}
.dr-b{flex:1;min-height:0;overflow:auto;padding:22px 24px 40px}
.dr-f{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);flex:none;flex-wrap:wrap}
.cover{display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;align-items:start}
.book3d{position:relative;height:118px;border-radius:3px 7px 7px 3px;background:var(--cl,#7a5a3a);box-shadow:inset 6px 0 0 rgba(0,0,0,.12),inset 7px 0 0 rgba(255,255,255,.08),0 10px 18px -8px rgba(21,32,30,.5);display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}
.book3d::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 3px)}
.book3d span{position:relative;background:#f4efe3;color:#2a2620;font:500 9.5px/1.25 var(--serif);padding:6px 5px;text-align:center;border-radius:1px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.dr-b h2{font:460 24px/1.2 var(--serif);letter-spacing:-.015em}
.dr-b .by{margin-top:6px;font-size:13.5px;color:var(--ink-3)}
.meta{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 12px;margin:20px 0;font-size:13px}
.meta dt{color:var(--ink-3)}
.meta dd{color:var(--ink);min-width:0;overflow-wrap:anywhere}
.sec-t{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px;font:500 13px/1 var(--sans);color:var(--ink)}
.sec-t span{color:var(--ink-3);font-weight:400}
.hls{display:grid;gap:8px}
.hls li{display:grid;grid-template-columns:3px minmax(0,1fr);gap:12px;padding:10px 12px 10px 10px;border-radius:10px;background:var(--paper)}
.hls li::before{content:"";border-radius:3px;background:var(--hc,var(--terra))}
.hls q{font:400 15px/1.45 var(--serif);color:var(--ink);quotes:"“" "”"}
.hls small{display:block;margin-top:5px;font-size:12px;color:var(--ink-3)}
.citebox{padding:14px;border-radius:12px;background:var(--paper);font:400 14.5px/1.5 var(--serif);color:var(--ink-2)}
.citebox-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.usedin a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}
.usedin a:hover{color:var(--terra)}
.usedin a span{color:var(--ink-3);font-size:12.5px}
.tagrow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tagrow input{width:110px;height:24px;border:0;border-radius:6px;background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);padding:0 8px;font-size:12px;outline:0}
.drop{display:grid;place-items:center;gap:6px;padding:28px;border-radius:14px;border:1.5px dashed var(--line-2);text-align:center;color:var(--ink-3);transition:background-color .15s,border-color .15s}
.drop.over{background:var(--paper-2);border-color:var(--ink-3)}
.drop b{font-weight:500;color:var(--ink)}

/* ---------- threads ---------- */
.th{display:grid;grid-template-columns:320px minmax(0,1fr);height:100%;min-height:0}
.th-list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:rgba(236,232,223,.3)}
.th-list-h{padding:16px 14px 10px;display:grid;gap:10px;flex:none}
.th-list-h .row{display:flex;align-items:center;justify-content:space-between}
.th-list-h h1{font:440 24px/1.1 var(--serif);letter-spacing:-.02em}
.th-items{flex:1;min-height:0;overflow:auto;padding:0 8px 20px}
.th-items a{display:block;padding:11px 10px;border-radius:11px;margin-bottom:2px}
.th-items a:hover{background:rgba(21,32,30,.04)}
.th-items a.on{background:var(--card);box-shadow:var(--sh-1)}
.th-items b{display:block;font:460 15px/1.35 var(--serif);color:var(--ink)}
.th-items small{display:flex;gap:6px;align-items:center;margin-top:4px;font-size:12px;color:var(--ink-3)}
.th-main{display:flex;flex-direction:column;min-height:0;min-width:0}
.th-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line);flex:none}
.th-head h2{font:460 20px/1.25 var(--serif);letter-spacing:-.01em;min-width:0}
.th-head small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.th-scroll{flex:1;min-height:0;overflow:auto;padding:24px 24px 30px}
.convo{max-width:760px;margin:0 auto;display:grid;gap:22px}
.q-b{display:flex;gap:10px;justify-content:flex-end;align-items:flex-start}
.q-b p{max-width:80%;background:var(--paper-2);padding:10px 14px;border-radius:16px 16px 4px 16px;font-size:14.5px;color:var(--ink)}
.a-b{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px}
.a-who{font-size:12.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px}
.a-who span{font-weight:400;color:var(--ink-4)}
.a-t{margin-top:6px;font:400 17px/1.6 var(--serif);color:var(--ink-2)}
.a-t.typing::after{content:"";display:inline-block;width:1.5px;height:1em;background:var(--ink-2);margin-left:2px;vertical-align:-.12em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.a-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.a-chips button{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:12px;color:var(--ink-2);background:rgba(255,255,255,.3)}
.a-chips button:hover{box-shadow:inset 0 0 0 1px var(--ink-3);color:var(--ink)}
.split{margin-top:14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);padding:13px 15px}
.split-h{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ochre-d);margin-bottom:10px}
.split-h::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ochre)}
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split-2 p{font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.split-2 b{font-weight:600;color:var(--ink)}
.split-2 em{font:italic 400 13px/1 var(--serif);color:var(--ink-3)}
.a-acts{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.composer{flex:none;padding:12px 24px 18px;border-top:1px solid var(--line);background:var(--bg)}
.composer form{max-width:760px;margin:0 auto;border-radius:18px;background:var(--card);box-shadow:var(--sh-1),0 10px 30px -20px rgba(21,32,30,.35);padding:10px 10px 10px 16px}
.composer textarea{width:100%;border:0;outline:0;background:none;resize:none;font-size:15px;line-height:1.5;min-height:46px;max-height:160px;color:var(--ink)}
.composer textarea::placeholder{color:var(--ink-4)}
.composer .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.composer select{width:auto;border:0;background:var(--paper-2);border-radius:999px;height:28px;padding:0 26px 0 10px;font-size:12.5px;color:var(--ink-2);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%236c7572' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;max-width:60%}
.send{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#f3f0e8;display:grid;place-items:center}
.send:disabled{opacity:.35;cursor:default}

/* ---------- outline ---------- */
.ol-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.ol-book{padding:18px 20px}
.ol-book b{display:block;font:440 26px/1.1 var(--serif);letter-spacing:-.02em}
.ol-book small{display:block;margin-top:4px;color:var(--ink-3);font-size:13px}
.ol-book .bar{margin-top:14px;height:6px}
.part{margin-bottom:22px}
.part-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px}
.part-h h2{font:460 17px/1.2 var(--serif)}
.part-h span{font-size:12.5px;color:var(--ink-3)}
.chs{display:grid;gap:10px}
.ch{display:grid;grid-template-columns:44px minmax(0,1fr) 180px 120px auto;align-items:center;gap:14px;padding:14px 16px}
.ch-n{font:420 26px/1 var(--serif);color:var(--ink-4);font-variant-numeric:tabular-nums}
.ch-t{min-width:0}
.ch-t b{display:block;font:460 17px/1.3 var(--serif);outline:0;border-radius:4px}
.ch-t b[contenteditable="true"]:focus{box-shadow:0 0 0 2px var(--sky-t);background:#fff}
.ch-secs{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12.5px;color:var(--ink-3)}
.ch-secs span{display:inline-flex;align-items:center;gap:6px}
.ch-secs span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ink-4)}
.ch-w{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ch-w .bar{margin-top:6px}
.ch-w input{width:6.2ch;border:0;background:transparent;font:inherit;color:var(--ink-2);padding:2px 3px;margin-left:-1px;border-radius:5px;text-align:left}
.ch-w input:hover{box-shadow:inset 0 0 0 1px var(--line-2)}
.ch-w input:focus{outline:0;box-shadow:inset 0 0 0 1.5px var(--ink-3);background:#fff}
.ch-acts{display:flex;gap:2px}
.board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:10px}
.col{background:rgba(236,232,223,.6);border-radius:16px;padding:10px;min-height:300px;box-shadow:inset 0 0 0 1px var(--line);transition:background-color .15s}
.col.over{background:var(--paper-3)}
.col-h{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 10px;font-size:13px;font-weight:500}
.col-h span{color:var(--ink-3);font-weight:400}
.bcard{display:block;padding:12px 13px;margin-bottom:8px;border-radius:12px;background:var(--card);box-shadow:var(--sh-1),0 4px 12px -10px rgba(21,32,30,.4);cursor:grab}
.bcard:active{cursor:grabbing}
.bcard.drag{opacity:.4}
.bcard small{font-size:11.5px;color:var(--ink-3)}
.bcard b{display:block;margin:3px 0 8px;font:460 15px/1.3 var(--serif)}
.bcard .row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-3)}

/* ---------- collections ---------- */
.colls{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.coll{display:flex;flex-direction:column;border-radius:18px;background:var(--card);box-shadow:var(--sh-1);overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s}
.coll:hover{transform:translateY(-2px);box-shadow:var(--sh-1),0 18px 34px -22px rgba(21,32,30,.45)}
.cloth{position:relative;height:118px;background:var(--cl);display:flex;align-items:flex-end;padding:14px 16px;overflow:hidden}
.cloth::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0 1px,transparent 1px 3px),linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.1))}
.cloth::after{content:"";position:absolute;left:18px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.18);box-shadow:5px 0 0 rgba(0,0,0,.08)}
.cloth .label{position:relative;max-width:78%;background:#f4efe3;color:#26231e;padding:8px 10px;border-radius:2px;font:500 14px/1.2 var(--serif);box-shadow:0 1px 0 rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.06)}
.cl-terra{--cl:#94452a}.cl-sky{--cl:#335a80}.cl-ochre{--cl:#8a6823}.cl-sage{--cl:#4d6743}.cl-ink{--cl:#1f2b29}.cl-plum{--cl:#6a4053}.cl-stone{--cl:#7b7569}
.coll-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.coll-b p{font-size:13.5px;color:var(--ink-2);line-height:1.45}
.coll-f{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-3)}
.coll-new{display:grid;place-items:center;align-content:center;gap:8px;min-height:200px;border-radius:18px;border:1.5px dashed var(--line-2);color:var(--ink-3);font-size:14px;transition:background-color .15s}
.coll-new:hover{background:rgba(255,255,255,.4);color:var(--ink)}
.chead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:end;margin-bottom:22px}
.chead .cloth{width:120px;height:150px;border-radius:4px 10px 10px 4px;padding:12px;box-shadow:0 18px 30px -16px rgba(21,32,30,.6)}
.chead .cloth .label{font-size:12px}
.stats-row{display:flex;gap:22px;margin-top:12px;font-size:13px;color:var(--ink-3)}
.stats-row b{font:440 20px/1 var(--serif);color:var(--ink);margin-right:5px}

/* ---------- queue ---------- */
.qrow{display:grid;grid-template-columns:24px 82px minmax(0,1fr) 150px 90px 200px;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--line)}
.qrow:first-child{border-top:0}
.qrow>.ft{justify-self:start}
.qrow .q-acts{justify-content:flex-end}
.qrow .grip{color:var(--ink-4);cursor:grab;display:grid;place-items:center}
.qrow b{display:block;font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qrow small{display:block;font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qrow .why{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}
.qrow.drag{opacity:.4}
.qrow.over{box-shadow:inset 0 2px 0 var(--terra)}
.pri{font-size:12px;font-weight:500;white-space:nowrap}
.pri-high{color:var(--terra)}.pri-normal{color:var(--ink-3)}.pri-later{color:var(--ink-4)}
.reader{max-width:680px;margin:0 auto;font:400 18px/1.75 var(--serif);color:#1f2a28}
.reader p{margin:0 0 16px}
.reader .rh{background:var(--ochre-t);box-shadow:inset 0 -1.5px 0 rgba(157,116,32,.5)}

/* ---------- settings ---------- */
.set{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px}
.set-nav{display:grid;align-content:start;gap:2px;position:sticky;top:0}
.set-nav a{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:9px;font-size:13.5px;color:var(--ink-2)}
.set-nav a:hover{background:rgba(21,32,30,.05)}
.set-nav a.on{background:var(--card);color:var(--ink);font-weight:500;box-shadow:var(--sh-1)}
.set-sec{padding:20px 22px;margin-bottom:16px}
.set-sec h2{font:460 19px/1.2 var(--serif)}
.set-sec>p{margin-top:4px;font-size:13.5px;color:var(--ink-3)}
.set-rows{margin-top:14px}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.set-row:first-child{border-top:0}
.set-row b{display:block;font-weight:500;font-size:14px}
.set-row small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.set-row .ctl{flex:none;display:flex;align-items:center;gap:8px}
.set-row>div:first-child,.set-row>div:first-child>div{min-width:0}
.set-row small{overflow-wrap:anywhere}
.int-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--paper-2);font:600 14px/1 var(--serif);color:var(--ink-2);flex:none}
.plan-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:16px;background:var(--ink);color:#f3f0e8}
.plan-card b{font:440 26px/1 var(--serif)}
.plan-card small{display:block;margin-top:6px;color:#a9b2ad;font-size:13px}
.plan-card .btn-ghost{color:#f3f0e8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);background:transparent}
.danger{box-shadow:0 0 0 1px rgba(155,59,35,.25)}

/* ---------- popovers, menus, modals, palette, toasts ---------- */
.pop{position:fixed;z-index:70;min-width:230px;max-width:calc(100vw - 16px);padding:6px;border-radius:14px;background:var(--card);box-shadow:var(--sh-pop);animation:popin .16s var(--ease)}
@keyframes popin{from{opacity:0;transform:translateY(-4px)}}
.pop .mi{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;border-radius:9px;font-size:13.5px;color:var(--ink-2);text-align:left}
.pop .mi:hover,.pop .mi:focus-visible{background:var(--paper-2);color:var(--ink);outline:0}
.pop .mi svg{color:var(--ink-3);flex:none}
.pop .mi kbd{margin-left:auto}
.pop .mi .chk{margin-left:auto;color:var(--ink)}
.pop .mi.dng{color:#9b3b23}
.pop hr{border:0;border-top:1px solid var(--line);margin:5px 4px}
.pop .mh{font-size:12px;color:var(--ink-3);padding:6px 10px 4px}
.pop-ws .mi{padding:8px 10px}
.pop-ws .mi b{display:block;font-weight:500;color:var(--ink)}
.pop-ws .mi small{display:block;font-size:12px;color:var(--ink-3)}
.notifs{width:380px;padding:0;overflow:hidden}
.notifs-h{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.notifs-h b{font:460 16px/1 var(--serif)}
.notifs-h button{font-size:12.5px;color:var(--ink-3)}
.notifs-h button:hover{color:var(--ink)}
.notifs ul{max-height:420px;overflow:auto}
.notifs li a{display:grid;grid-template-columns:28px minmax(0,1fr) 8px;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45;color:var(--ink-2)}
.notifs li:last-child a{border-bottom:0}
.notifs li a:hover{background:var(--paper)}
.notifs li b{font-weight:500;color:var(--ink)}
.notifs time{display:block;font-size:12px;color:var(--ink-4);margin-top:2px}
.notifs .ud{width:7px;height:7px;border-radius:50%;background:var(--terra);margin-top:6px}
.modal-wrap{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(21,32,30,.36);animation:fade .2s}
@keyframes fade{from{opacity:0}}
.modal{width:min(520px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;border-radius:20px;background:var(--card);box-shadow:0 40px 100px -30px rgba(0,0,0,.5);animation:popin2 .26s var(--ease)}
.modal-lg{width:min(760px,100%)}
@keyframes popin2{from{opacity:0;transform:translateY(8px) scale(.985)}}
.modal-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 6px}
.modal-h h2{font:460 22px/1.2 var(--serif);letter-spacing:-.01em}
.modal-h p{margin-top:4px;font-size:13.5px;color:var(--ink-3)}
.modal-b{padding:14px 22px;overflow:auto}
.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 18px}
.pal-wrap{position:fixed;inset:0;z-index:85;background:rgba(21,32,30,.3);padding:12vh 16px 16px;animation:fade .15s}
.pal{width:min(640px,100%);margin:0 auto;border-radius:18px;background:var(--card);box-shadow:0 40px 100px -30px rgba(0,0,0,.5),0 0 0 1px var(--line);overflow:hidden;animation:popin2 .2s var(--ease)}
.pal-in{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--line);color:var(--ink-3)}
.pal-in input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:16px;color:var(--ink)}
.pal-in input::placeholder{color:var(--ink-4)}
.pal-l{max-height:min(420px,56dvh);overflow:auto;padding:6px}
.pal-g{font-size:12px;color:var(--ink-3);padding:10px 10px 4px}
.pal-i{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:7px 10px;border-radius:10px;text-align:left;font-size:14px;color:var(--ink-2)}
.pal-i svg{flex:none;color:var(--ink-3)}
.pal-i span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal-i small{color:var(--ink-4);font-size:12px;white-space:nowrap}
.pal-i.on{background:var(--paper-2);color:var(--ink)}
.pal-f{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3)}
.pal-f span{display:inline-flex;align-items:center;gap:6px}
.toasts{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:95;display:grid;gap:8px;justify-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 24px)}
.toast{display:flex;align-items:center;gap:14px;padding:10px 10px 10px 16px;border-radius:14px;background:var(--ink);color:#f3f0e8;font-size:13.5px;box-shadow:0 18px 40px -16px rgba(0,0,0,.5);pointer-events:auto;animation:toastin .3s var(--ease)}
.toast.out{animation:toastout .25s ease forwards}
@keyframes toastin{from{opacity:0;transform:translateY(10px)}}
@keyframes toastout{to{opacity:0;transform:translateY(6px)}}
.toast button{height:28px;padding:0 11px;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:500}
.toast button:hover{background:rgba(255,255,255,.2)}
.toast .tx{opacity:.7;background:none;padding:0 6px}
.keys{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.keys div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink-2)}
.keys span{display:inline-flex;gap:4px}

/* ---------- responsive ---------- */
@media (max-width:1480px){
  .doc{grid-template-columns:0 minmax(0,1fr) 300px}
  .doc .d-out{visibility:hidden}
  .doc.show-out{grid-template-columns:232px minmax(0,1fr) 300px}
  .doc.show-out .d-out{visibility:visible}
}
@media (max-width:1280px){
  .doc{grid-template-columns:0 minmax(0,1fr) 296px}
  .doc .d-out{visibility:hidden}
  .doc.show-out{grid-template-columns:232px minmax(0,1fr) 296px}
  .doc.show-out .d-out{visibility:visible}
  .ol-top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ol-top .ol-book{grid-column:1/-1}
}
@media (max-width:1199px) and (min-width:761px){
  .nav a[data-tip]:hover::after,.side-search[data-tip]:hover::after,.me[data-tip]:hover::after{display:block}
}
@media (max-width:1199px){
  :root{--sidew:68px}
  .side{align-items:stretch}
  .ws{justify-content:center;padding:7px 0}
  .ws .ws-t,.ws>svg{display:none}
  .side-search{justify-content:center;padding:0;margin:4px 12px 8px}
  .side-search span,.side-search kbd{display:none}
  .nav{padding:2px 10px}
  .nav-h{justify-content:center;padding:12px 0 4px;font-size:0}
  .nav-h::after{content:"";width:18px;height:1px;background:var(--line-2)}
  .nav-h button{display:none}
  .nav a{justify-content:center;padding:0}
  .nav a span,.nav a .ct:not(.hot){display:none}
  .nav a .ct.hot{position:absolute;margin:0;transform:translate(11px,-9px);min-width:16px;height:16px;font-size:10px;padding:0 4px}
  .nav a{position:relative}
  .goal{display:none}
  .me{justify-content:center}
  .me span{display:none}
  .ariadne-side{display:none}
  .top-search{display:inline-flex}
  .tbl .hide-t{display:none}
  .g-4{grid-template-columns:1fr 1fr}
  .hello{grid-template-columns:1fr}
  .hello-art{min-height:180px;order:-1}
  .g-2{grid-template-columns:1fr}
  .th{grid-template-columns:260px minmax(0,1fr)}
  .ch{grid-template-columns:36px minmax(0,1fr) 150px auto}
  .ch .ch-st{display:none}
}
@media (max-width:1024px){
  .doc,.doc.show-out{grid-template-columns:minmax(0,1fr)}
  .doc .d-out{display:none}
  .d-mar{position:fixed;top:0;right:0;bottom:0;z-index:55;width:min(360px,92vw);box-shadow:-30px 0 80px -30px rgba(21,32,30,.4);transform:translateX(105%);transition:transform .3s var(--ease);background:var(--side)}
  .doc.show-mar .d-mar{transform:none}
  .set{grid-template-columns:minmax(0,1fr)}
  .set-nav{position:static;display:flex;overflow-x:auto;gap:4px;scrollbar-width:none}
  .set-nav a{white-space:nowrap}
  .th{grid-template-columns:minmax(0,1fr)}
  .th.has-sel .th-list{display:none}
  .th:not(.has-sel) .th-main{display:none}
  .qrow{grid-template-columns:20px 82px minmax(0,1fr) 110px 200px}
  .qrow .q-time{display:none}
}
@media (min-width:1025px){ .mar-toggle{display:none} }
@media (max-width:760px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(300px,86vw);transform:translateX(-102%);transition:transform .3s var(--ease);box-shadow:30px 0 80px -30px rgba(21,32,30,.4)}
  .app.side-open .side{transform:none}
  .ws{justify-content:flex-start;padding:7px 8px}
  .ws .ws-t,.ws>svg{display:block}
  .side-x{display:inline-grid}
  .side-search{justify-content:flex-start;padding:0 8px 0 11px}
  .side-search span{display:block}
  .nav-h{justify-content:space-between;padding:16px 10px 6px;font-size:12px}
  .nav-h::after{display:none}
  .nav a{justify-content:flex-start;padding:0 10px}
  .nav a span,.nav a .ct:not(.hot){display:block}
  .nav a .ct.hot{position:static;transform:none}
  .goal{display:block}
  .me{justify-content:flex-start}
  .me span{display:block}
  .ariadne-side{display:table;margin:4px auto 14px}
  .menu-btn{display:inline-grid}
  .crumbs a,.crumbs i{display:none}
  .qrow .q-acts{grid-column:2/-1;justify-content:flex-start}
  .top{padding:0 10px;gap:6px}
  .top-search span,.top-search kbd{display:none}
  .top-search{width:34px;justify-content:center;padding:0}
  .top-r .hide-m{display:none}
  .page{padding:20px 16px 64px}
  .ph{flex-direction:column;align-items:flex-start;gap:14px}
  .ph h1{font-size:28px}
  .ph-a{flex-wrap:wrap}
  .hello h1{font-size:30px}
  .hello-c{padding:22px 20px}
  .g-3,.g-4{grid-template-columns:1fr}
  .kpi-n{font-size:30px}
  .fbar .input{width:100%}
  .fbar .sp{display:none}
  .tbl .hide-m{display:none}
  .tbl .t-title,.tbl .t-sub{max-width:210px}
  .d-scroll{padding:24px 18px 100px}
  .sheet .dtitle{font-size:30px}
  .prose{font-size:17.5px}
  .th-head{padding:12px 16px}
  .th-scroll{padding:18px 16px}
  .composer{padding:10px 12px 14px}
  .split-2{grid-template-columns:1fr}
  .ol-top{grid-template-columns:1fr}
  .ch{grid-template-columns:30px minmax(0,1fr) auto;gap:10px}
  .ch .ch-w{grid-column:2/4;grid-row:2}
  .ch .ch-acts{grid-column:3;grid-row:1}
  .qrow{grid-template-columns:auto minmax(0,1fr);gap:8px 10px}
  .qrow .grip,.qrow .q-prog{display:none}
  .chead{grid-template-columns:1fr}
  .chead .cloth{display:none}
  .stats-row{flex-wrap:wrap;gap:12px 18px}
  .set-row{flex-wrap:wrap;gap:10px 16px}
  .set-row>div:first-child{flex:1 1 210px}
  .set-row .ctl{margin-left:auto}
  .notifs{width:calc(100vw - 16px)}
  .keys{grid-template-columns:1fr}
  .lg-card{grid-template-columns:1fr;height:auto;min-height:0}
  .login{padding:84px 14px 28px;display:block}
  .lg-logo{left:20px;top:24px;font-size:28px}
  .lg-tr,.lg-bl{display:none}
  .lg-art{height:220px}
  .lg-art img{object-position:50% 72%}
  .lg-note{display:none}
  .lg-caps{display:none}
  .lg-side{padding:24px 20px 26px;overflow:visible}
  .lg-main h1{font-size:34px}
  .lg-social{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .lg-social button{font-size:13px;gap:7px;height:48px;border-radius:14px}
  .lg-foot{gap:16px}
  .lg-fline{padding-left:16px;font-size:14px}
  .ariadne-fixed{position:static;display:table;margin:22px auto 0}
  .split-2,.keys{grid-template-columns:1fr}
}
@media (max-width:400px){
  .lg-social button svg{display:none}
}

@media (hover:none){
  [data-tip]::after{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
