:root{
  --bg:#f3f6f4;
  --surface:#ffffff;
  --surface-2:#f7f9f8;
  --surface-3:#e9eeeb;
  --text:#18201d;
  --text-2:#4d5954;
  --muted:#707b76;
  --line:#dce4e0;
  --line-strong:#c5d0ca;
  --accent:#2b825f;
  --accent-strong:#216e51;
  --accent-soft:#e5f1eb;
  --accent-ink:#1f624a;
  --accent-contrast:#ffffff;
  --success:#2f8b63;
  --warning:#a66b20;
  --danger:#c4514b;
  --shadow:0 18px 44px rgba(27,64,48,.09);
  --shadow-soft:0 8px 24px rgba(27,64,48,.06);
  --radius:8px;
  --sidebar:236px;
  --topbar:68px;
  --font:"Segoe UI Variable",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei UI",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --focus-canvas:#08130f;
  --focus-canvas-2:#10251c;
  --focus-border:#345444;
  --focus-accent:#6cc79a;
  --focus-accent-soft:#183a2b;
  --focus-sand:#7dbb99;
  --focus-sand-highlight:#d3e8dc;
  --focus-metal:#73887d;
  --focus-text:#f1f6f3;
  --focus-muted:#9cafa5;
  --focus-on-accent:#0b1f16;
  --focus-particle-core:184 225 202;
  --focus-particle-mid:111 189 149;
  --focus-particle-edge:47 151 103;
}

body[data-theme="light"]{color-scheme:light}
body[data-theme="dark"]{
  --bg:#101513;
  --surface:#171d1a;
  --surface-2:#1d2421;
  --surface-3:#252e2a;
  --surface-raised:#212925;
  --surface-inset:#0c110f;
  --surface-overlay:#29332e;
  --surface-soft:var(--surface-2);
  --text:#f1f5f3;
  --text-2:#c4ceca;
  --muted:#929f99;
  --line:#2b3631;
  --line-strong:#3e4c45;
  --stroke-subtle:rgba(222,234,231,.07);
  --stroke-hover:rgba(222,234,231,.16);
  --accent:#65c295;
  --accent-strong:#83d2aa;
  --accent-soft:#183028;
  --accent-ink:#afe6ca;
  --accent-contrast:#102219;
  --success:#70cb9b;
  --warning:#e3b66f;
  --danger:#f08d84;
  --focus-ring:rgba(101,194,149,.42);
  --shadow:0 24px 72px rgba(2,7,9,.42);
  --shadow-soft:0 10px 28px rgba(2,7,9,.24);
  color-scheme:dark;
}
body[data-palette="ocean"]{
  --bg:#f3f5f8;
  --surface:#ffffff;
  --surface-2:#f7f8fa;
  --surface-3:#e9edf2;
  --text:#17202a;
  --text-2:#4b5765;
  --muted:#6f7b88;
  --line:#dce2e8;
  --line-strong:#c3ccd5;
  --accent:#346f9e;
  --accent-strong:#285a82;
  --accent-soft:#e7eff6;
  --accent-ink:#1f5277;
  --accent-contrast:#ffffff;
  --shadow:0 18px 44px rgba(30,52,76,.09);
  --shadow-soft:0 8px 24px rgba(30,52,76,.06);
  --focus-canvas:#09141d;
  --focus-canvas-2:#132735;
  --focus-border:#36586d;
  --focus-accent:#75b8df;
  --focus-accent-soft:#183449;
  --focus-sand:#7fb6d1;
  --focus-sand-highlight:#d5e9f4;
  --focus-metal:#748996;
  --focus-text:#f1f6f9;
  --focus-muted:#9eafb9;
  --focus-on-accent:#0c2230;
  --focus-particle-core:202 232 247;
  --focus-particle-mid:112 183 222;
  --focus-particle-edge:52 126 168;
}
body[data-palette="ocean"][data-theme="dark"]{
  --bg:#101419;
  --surface:#171c22;
  --surface-2:#1d242c;
  --surface-3:#252e38;
  --surface-raised:#212934;
  --surface-inset:#0c1014;
  --surface-overlay:#293440;
  --surface-soft:var(--surface-2);
  --text:#f2f5f8;
  --text-2:#c5ccd4;
  --muted:#919ca8;
  --line:#2b3540;
  --line-strong:#3e4b59;
  --stroke-subtle:rgba(222,229,237,.07);
  --stroke-hover:rgba(222,229,237,.16);
  --accent:#70b7e6;
  --accent-strong:#91ccf1;
  --accent-soft:#172c3a;
  --accent-ink:#bfe3fa;
  --accent-contrast:#10202a;
  --focus-ring:rgba(112,183,230,.42);
  --shadow:0 24px 72px rgba(3,8,14,.44);
  --shadow-soft:0 10px 28px rgba(3,8,14,.26);
}
body[data-palette="amber"]{
  --bg:#f6f5f2;
  --surface:#ffffff;
  --surface-2:#faf9f6;
  --surface-3:#eeece6;
  --text:#211f1b;
  --text-2:#5a564d;
  --muted:#7b766b;
  --line:#e5e1d8;
  --line-strong:#d1cabd;
  --accent:#9b651f;
  --accent-strong:#774b16;
  --accent-soft:#f7efdf;
  --accent-ink:#6c4619;
  --accent-contrast:#ffffff;
  --shadow:0 18px 44px rgba(65,52,29,.09);
  --shadow-soft:0 8px 24px rgba(65,52,29,.06);
  --focus-canvas:#17120a;
  --focus-canvas-2:#2b2012;
  --focus-border:#665033;
  --focus-accent:#daa05d;
  --focus-accent-soft:#48311a;
  --focus-sand:#c79d67;
  --focus-sand-highlight:#f1dfc3;
  --focus-metal:#8e816f;
  --focus-text:#f7f3ec;
  --focus-muted:#b7aa95;
  --focus-on-accent:#2a190a;
  --focus-particle-core:245 224 192;
  --focus-particle-mid:218 160 93;
  --focus-particle-edge:155 101 31;
}
body[data-palette="amber"][data-theme="dark"]{
  --bg:#15130f;
  --surface:#1d1a16;
  --surface-2:#25211b;
  --surface-3:#2e2921;
  --surface-raised:#29241e;
  --surface-inset:#110f0c;
  --surface-overlay:#332d24;
  --surface-soft:var(--surface-2);
  --text:#f6f3ed;
  --text-2:#d0c9bc;
  --muted:#a0988a;
  --line:#383229;
  --line-strong:#4d4538;
  --stroke-subtle:rgba(239,231,217,.07);
  --stroke-hover:rgba(239,231,217,.16);
  --accent:#daa05d;
  --accent-strong:#e8b675;
  --accent-soft:#39291b;
  --accent-ink:#f2d2a8;
  --accent-contrast:#2a190a;
  --focus-ring:rgba(218,160,93,.42);
  --shadow:0 24px 72px rgba(9,7,3,.44);
  --shadow-soft:0 10px 28px rgba(9,7,3,.26);
}
body[data-palette="plum"]{
  --bg:#f5f4f6;
  --surface:#ffffff;
  --surface-2:#f9f8fa;
  --surface-3:#eeebf0;
  --text:#211e24;
  --text-2:#58525d;
  --muted:#7a737e;
  --line:#e3dfe5;
  --line-strong:#cec7d1;
  --accent:#765780;
  --accent-strong:#5f4568;
  --accent-soft:#f0eaf2;
  --accent-ink:#563d5e;
  --accent-contrast:#ffffff;
  --shadow:0 18px 44px rgba(61,45,65,.09);
  --shadow-soft:0 8px 24px rgba(61,45,65,.06);
  --focus-canvas:#151018;
  --focus-canvas-2:#2a1f2e;
  --focus-border:#5b4862;
  --focus-accent:#bf9acb;
  --focus-accent-soft:#3c2943;
  --focus-sand:#b495be;
  --focus-sand-highlight:#eadcef;
  --focus-metal:#87798c;
  --focus-text:#f6f2f7;
  --focus-muted:#b2a5b7;
  --focus-on-accent:#28172d;
  --focus-particle-core:235 215 241;
  --focus-particle-mid:191 154 203;
  --focus-particle-edge:118 87 128;
}
body[data-palette="plum"][data-theme="dark"]{
  --bg:#141216;
  --surface:#1c191f;
  --surface-2:#242029;
  --surface-3:#2d2733;
  --surface-raised:#28232d;
  --surface-inset:#100d12;
  --surface-overlay:#322b38;
  --surface-soft:var(--surface-2);
  --text:#f5f2f6;
  --text-2:#cec7d2;
  --muted:#9d94a2;
  --line:#37303d;
  --line-strong:#4b4253;
  --stroke-subtle:rgba(234,226,237,.07);
  --stroke-hover:rgba(234,226,237,.16);
  --accent:#c29bd0;
  --accent-strong:#d4b3df;
  --accent-soft:#302237;
  --accent-ink:#ead9ef;
  --accent-contrast:#241529;
  --focus-ring:rgba(194,155,208,.42);
  --shadow:0 24px 72px rgba(8,4,10,.44);
  --shadow-soft:0 10px 28px rgba(8,4,10,.26);
}
body[data-palette="teal"]{
  --bg:#f1f6f5;
  --surface:#ffffff;
  --surface-2:#f6faf9;
  --surface-3:#e5efed;
  --text:#17211f;
  --text-2:#4b5a57;
  --muted:#6e7c79;
  --line:#d8e3e0;
  --line-strong:#bfceca;
  --accent:#287871;
  --accent-strong:#1f615c;
  --accent-soft:#e3f1ef;
  --accent-ink:#1d5955;
  --accent-contrast:#ffffff;
  --shadow:0 18px 44px rgba(25,67,63,.09);
  --shadow-soft:0 8px 24px rgba(25,67,63,.06);
  --focus-canvas:#081515;
  --focus-canvas-2:#102928;
  --focus-border:#345a57;
  --focus-accent:#71c1b9;
  --focus-accent-soft:#183c39;
  --focus-sand:#79b8b1;
  --focus-sand-highlight:#d1e8e5;
  --focus-metal:#748b88;
  --focus-text:#f1f7f6;
  --focus-muted:#9fb4b1;
  --focus-on-accent:#0a2422;
  --focus-particle-core:202 235 231;
  --focus-particle-mid:104 190 181;
  --focus-particle-edge:40 120 113;
}
body[data-palette="teal"][data-theme="dark"]{
  --bg:#0f1515;
  --surface:#161d1d;
  --surface-2:#1c2524;
  --surface-3:#242e2d;
  --surface-raised:#202928;
  --surface-inset:#0b1111;
  --surface-overlay:#293433;
  --surface-soft:var(--surface-2);
  --text:#f0f5f4;
  --text-2:#c2cecc;
  --muted:#8f9e9b;
  --line:#293635;
  --line-strong:#3c4c4a;
  --stroke-subtle:rgba(220,234,231,.07);
  --stroke-hover:rgba(220,234,231,.16);
  --accent:#68beb5;
  --accent-strong:#84d1c8;
  --accent-soft:#17312f;
  --accent-ink:#b8e6e1;
  --accent-contrast:#0f2422;
  --focus-ring:rgba(104,190,181,.42);
  --shadow:0 24px 72px rgba(2,9,8,.44);
  --shadow-soft:0 10px 28px rgba(2,9,8,.26);
}

body[data-theme="dark"] .primary-button,
body[data-theme="dark"] .composer-send,
body[data-theme="dark"] .assistant-entry-icon,
body[data-theme="dark"] .nav-item.active .nav-count,
body[data-theme="dark"] .task-row.done .task-check{color:var(--accent-contrast)}

*{box-sizing:border-box}
html{min-width:320px;background:var(--bg);scroll-behavior:smooth}
body{min-width:320px;min-height:100dvh;margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html.marketing-preview,
html.marketing-preview *{
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--text) 26%,transparent) transparent;
}
html.marketing-preview::-webkit-scrollbar,
html.marketing-preview *::-webkit-scrollbar{width:8px;height:8px}
html.marketing-preview::-webkit-scrollbar-track,
html.marketing-preview *::-webkit-scrollbar-track{background:transparent}
html.marketing-preview::-webkit-scrollbar-thumb,
html.marketing-preview *::-webkit-scrollbar-thumb{
  border:2px solid transparent;
  border-radius:999px;
  background:color-mix(in srgb,var(--text) 28%,transparent);
  background-clip:content-box;
}
html.marketing-preview::-webkit-scrollbar-thumb:hover,
html.marketing-preview *::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 46%,transparent);background-clip:content-box}
button,input,select,textarea{font:inherit;letter-spacing:0}
button{border:0;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
input,select,textarea{color:var(--text)}
button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}
::selection{background:var(--accent-soft);color:var(--accent-ink)}

.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100dvh}
.sidebar{position:sticky;top:0;z-index:20;display:flex;height:100dvh;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);background:var(--surface);padding:18px 14px 14px}
.brand{display:flex;min-width:0;align-items:center;gap:11px;padding:4px 8px;background:transparent;color:var(--text);text-align:left}
.brand-mark{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:8px;background:var(--text);color:var(--surface);font-size:17px;font-weight:800}
.brand strong,.brand small{display:block}
.brand strong{font-size:17px;line-height:1.2}
.brand small{margin-top:3px;color:var(--muted);font-size:13px;font-weight:600}
.brand.compact{padding:0}

.exam-peek{margin:22px 2px 17px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}
.exam-peek-head,.exam-peek-line{display:flex;align-items:center;justify-content:space-between;gap:8px}
.exam-peek-head{color:var(--text-2);font-size:14px;font-weight:700}
.exam-peek-head button{display:grid;width:26px;height:26px;place-items:center;border-radius:6px;background:transparent;color:var(--muted)}
.exam-peek-head button:hover{background:var(--surface-3);color:var(--text)}
.exam-peek>strong{display:block;margin-top:10px;font:700 38px/1 var(--mono);letter-spacing:-1px}
.exam-peek>p{margin:4px 0 12px;color:var(--muted);font-size:14px}
.exam-peek-line{padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.exam-peek-line span:last-child{color:var(--accent-ink);font-weight:700}

.primary-nav{display:grid;gap:3px}
.nav-group-label{padding:3px 10px 4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}
.nav-group-label.secondary{margin-top:7px;border-top:1px solid var(--line);padding-top:10px}
.nav-item{position:relative;display:flex;width:100%;min-height:42px;align-items:center;gap:11px;padding:0 11px;border-radius:7px;background:transparent;color:var(--text-2);text-align:left;font-size:15px;font-weight:650;transition:background-color .16s ease,color .16s ease,transform .08s ease}
.nav-item i{width:20px;flex:none;color:var(--muted);font-size:19px;text-align:center}
.nav-item span:not(.nav-count){min-width:0;flex:1}
.nav-item kbd{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);font:650 10px/1 var(--mono)}
.nav-item:hover{background:var(--surface-2);color:var(--text)}
.nav-item.active{background:var(--accent-soft);color:var(--accent-ink)}
.nav-item.active i{color:var(--accent)}
.nav-item.active kbd{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--surface);color:var(--accent-strong)}
.nav-item:active,.primary-button:active,.secondary-button:active,.icon-button:active{transform:translateY(1px)}
.nav-count{display:grid;min-width:22px;height:20px;place-items:center;border-radius:6px;background:var(--surface-3);color:var(--text-2);font:700 13px/1 var(--mono)}
.nav-item.active .nav-count{background:var(--accent);color:var(--accent-contrast)}
.sidebar-bottom{display:grid;gap:5px;margin-top:auto}
.assistant-entry{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;margin-bottom:6px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--text);text-align:left}
.assistant-entry:hover{border-color:var(--line-strong);background:var(--surface-3)}
.assistant-entry-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:var(--accent);color:var(--accent-contrast);font-size:18px}
.assistant-entry strong,.assistant-entry small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assistant-entry strong{font-size:14px}
.assistant-entry small{margin-top:3px;color:var(--muted);font-size:12px}
.assistant-entry>i{color:var(--muted)}

.workspace{min-width:0}
.topbar{position:sticky;top:0;z-index:15;display:flex;height:var(--topbar);align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);padding:0 28px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.topbar-leading,.topbar-actions{display:flex;min-width:0;align-items:center}
.topbar-leading{gap:10px}
.topbar-actions{gap:8px}
.topbar-title strong,.topbar-title span{display:block}
.topbar-title strong{font-size:16px}
.topbar-title span{margin-top:2px;color:var(--muted);font-size:13px}
.icon-button{display:grid;width:38px;height:38px;flex:none;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text-2);font-size:18px;transition:background-color .16s ease,border-color .16s ease,transform .08s ease}
.icon-button:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}
.mobile-menu-button{display:none}
.primary-button,.secondary-button,.danger-button,.text-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;border-radius:7px;padding:0 14px;font-size:14px;font-weight:750;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .08s ease}
.primary-button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast)}
.primary-button:hover{border-color:var(--accent-strong);background:var(--accent-strong)}
.secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}
.secondary-button:hover{background:var(--surface-2)}
.danger-button{border:1px solid color-mix(in srgb,var(--danger) 50%,var(--line));background:transparent;color:var(--danger)}
.danger-button:hover{background:var(--accent-soft)}
.text-button{min-height:32px;padding:0 5px;background:transparent;color:var(--accent-strong)}

.main-content{width:min(100%,1500px);margin:0 auto;padding:28px 30px 64px}
.view{animation:view-in .3s cubic-bezier(.16,1,.3,1)}
@keyframes view-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.page-head-copy{min-width:0}
.page-head h1{margin:0;font-size:26px;line-height:1.25;letter-spacing:0}
.page-head p{max-width:680px;margin:7px 0 0;color:var(--text-2);font-size:14px;line-height:1.6}
.page-head-actions{display:flex;flex:none;align-items:center;gap:8px}
.date-label{color:var(--muted);font-size:14px;font-weight:650}

.command-panel{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.62fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.command-main{min-width:0;padding:25px 26px 23px}
.command-aside{display:flex;min-width:0;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line);background:var(--surface-2);padding:22px}
.section-kicker{display:flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:13px;font-weight:800}
.section-kicker i{font-size:16px}
.command-main h2{max-width:820px;margin:14px 0 8px;font-size:28px;line-height:1.3}
.command-reason{margin:0;color:var(--text-2);font-size:14px;line-height:1.65}
.command-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;color:var(--muted);font-size:14px}
.command-meta span{display:flex;align-items:center;gap:6px}
.command-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.command-actions .primary-button{min-height:42px;padding:0 17px}
.command-empty{max-width:660px}
.command-empty h2{margin-bottom:8px}
.exam-large-label{display:flex;align-items:center;justify-content:space-between;color:var(--text-2);font-size:14px;font-weight:700}
.exam-large-number{display:flex;align-items:flex-end;gap:7px;margin-top:17px}
.exam-large-number strong{font:700 48px/.9 var(--mono);letter-spacing:-2px}
.exam-large-number span{padding-bottom:4px;color:var(--muted);font-size:14px}
.exam-target{margin:15px 0 0;color:var(--text);font-size:14px;font-weight:700}
.pace-copy{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.pace-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:19px}
.pace-scale span{height:5px;border-radius:3px;background:var(--surface-3)}
.pace-scale span.active{background:var(--accent)}

.quick-capture{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 22px}
.quick-capture button{display:flex;min-height:52px;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text-2);font-size:14px;font-weight:700;text-align:left}
.quick-capture button:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}
.quick-capture i{color:var(--accent);font-size:19px}

.home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.72fr);gap:14px}
.stack{display:grid;align-content:start;gap:14px}
.section-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.section-panel.flush{overflow:hidden}
.section-head{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:14px;padding:0 17px;border-bottom:1px solid var(--line)}
.section-head h2{margin:0;font-size:16px}
.section-head h2 span{margin-left:6px;color:var(--muted);font:600 13px/1 var(--mono)}
.section-head p{margin:0;color:var(--muted);font-size:13px}
.section-head-actions{display:flex;align-items:center;gap:8px}
.section-body{padding:16px 17px}
.section-body.no-pad{padding:0}

.task-list{display:grid}
.task-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:66px;padding:10px 16px;border-bottom:1px solid var(--line)}
.task-row:last-child{border-bottom:0}
.task-check{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:transparent;font-size:16px}
.task-check:hover{border-color:var(--accent);color:var(--accent)}
.task-row.done{opacity:.58}
.task-row.done .task-check{border-color:var(--success);background:var(--success);color:#fff}
.task-row.done .task-title{text-decoration:line-through}
.task-copy{min-width:0}
.task-title{display:block;overflow:hidden;color:var(--text);font-size:14px;font-weight:700;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.task-sub{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;color:var(--muted);font-size:12px}
.task-sub span{display:inline-flex;align-items:center;gap:4px}
.subject-label{display:inline-flex;min-height:22px;align-items:center;border-radius:5px;background:var(--surface-3);padding:0 7px;color:var(--text-2);font-size:12px;font-weight:750;white-space:nowrap}
.priority-high{color:var(--accent-strong)}
.row-actions{display:flex;align-items:center;gap:5px}
.mini-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:17px}
.mini-button:hover{border-color:var(--line);background:var(--surface-2);color:var(--text)}

.metric-row{display:grid;grid-template-columns:repeat(3,1fr)}
.metric{min-width:0;padding:17px;border-right:1px solid var(--line)}
.metric:last-child{border-right:0}
.metric span,.metric strong,.metric small{display:block}
.metric span{color:var(--muted);font-size:12px;font-weight:700}
.metric strong{margin-top:7px;font:700 24px/1 var(--mono)}
.metric small{margin-top:5px;color:var(--text-2);font-size:12px}

.week-bars{display:grid;grid-template-columns:repeat(7,minmax(28px,1fr));align-items:end;gap:8px;height:130px;padding-top:8px}
.week-bar{display:grid;height:100%;grid-template-rows:1fr auto;gap:8px;align-items:end;text-align:center}
.week-bar-track{position:relative;width:100%;height:100%;min-height:70px;border-radius:5px;background:var(--surface-2)}
.week-bar-fill{position:absolute;right:0;bottom:0;left:0;min-height:3px;border-radius:5px;background:var(--accent);transition:height .35s cubic-bezier(.16,1,.3,1)}
.week-bar.today .week-bar-track{box-shadow:inset 0 0 0 1px var(--line-strong)}
.week-bar label{color:var(--muted);font-size:12px}

.review-list{display:grid;gap:8px}
.review-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.review-item strong{display:block;overflow:hidden;font-size:14px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.review-item span{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.review-item button{min-height:30px;padding:0 9px}

.assistant-brief{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius);background:var(--accent-soft);padding:17px}
.assistant-brief-head{display:flex;align-items:center;gap:8px;color:var(--accent-ink);font-size:14px;font-weight:800}
.assistant-brief p{margin:10px 0 13px;color:var(--text-2);font-size:14px;line-height:1.65}
.assistant-brief .secondary-button{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--surface) 72%,transparent)}
.sample-notice{display:flex;align-items:center;gap:8px;margin-top:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px 12px;color:var(--muted);font-size:12px}
.sample-notice i{color:var(--accent);font-size:17px}.sample-notice span{min-width:0;flex:1}.sample-notice button{background:transparent;color:var(--accent-strong);font-size:12px;font-weight:750}

.empty-state{display:grid;min-height:160px;place-items:center;padding:24px;text-align:center}
.empty-state.compact{min-height:110px}
.empty-state i{color:var(--line-strong);font-size:34px}
.empty-state strong{display:block;margin-top:9px;font-size:14px}
.empty-state p{max-width:360px;margin:6px auto 12px;color:var(--muted);font-size:13px;line-height:1.6}

/* Plan */
.plan-now-card{display:grid;grid-template-columns:minmax(0,1fr) 310px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-soft)}
.plan-now-main{min-width:0;padding:22px 24px 21px}
.plan-now-kicker{display:flex;align-items:center;gap:8px;color:var(--accent-strong);font-size:12px;font-weight:800}
.plan-now-kicker span{display:grid;width:23px;height:23px;place-items:center;border-radius:6px;background:var(--accent);color:var(--accent-contrast);font:750 11px/1 var(--mono)}
.plan-now-title-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 12px;margin-top:12px}
.plan-now-main h2{margin:12px 0 0;font-size:23px;line-height:1.38}
.plan-now-title-row h2{min-width:min(100%,420px);margin:0}
.plan-now-title-row>span{border-radius:5px;background:var(--surface-3);padding:4px 7px;color:var(--muted);font-size:10px;font-weight:750}
.plan-now-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;margin-top:13px;color:var(--muted);font-size:12px}
.plan-now-meta>span{display:inline-flex;align-items:center;gap:4px}
.plan-now-main>p{max-width:700px;margin:12px 0 0;color:var(--text-2);font-size:13px;line-height:1.65}
.plan-now-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.plan-now-actions button{min-height:40px}
.plan-now-status{display:grid;align-content:center;border-left:1px solid var(--line);background:var(--surface-2);padding:20px}
.plan-now-status>header{display:flex;align-items:end;justify-content:space-between;gap:12px}
.plan-now-status>header>span{color:var(--muted);font-size:11px;font-weight:750}
.plan-now-status>header>strong{font:750 25px/1 var(--mono)}
.plan-now-status>header small{color:var(--muted);font-size:13px;font-weight:650}
.plan-now-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}
.plan-now-facts div{min-width:0;border-left:2px solid var(--line-strong);padding-left:8px}
.plan-now-facts div.attention{border-color:var(--accent)}
.plan-now-facts strong,.plan-now-facts span{display:block}
.plan-now-facts strong{font:750 17px/1 var(--mono)}
.plan-now-facts span{margin-top:5px;color:var(--muted);font-size:10px;white-space:nowrap}
.plan-now-status>p{margin:15px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.plan-week-section{margin-top:17px}
.plan-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:9px;padding:0 2px}
.plan-section-head h2{margin:0;font-size:17px}
.plan-section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.plan-week-agenda{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.plan-agenda-day{display:grid;grid-template-columns:112px minmax(0,1fr) 126px;align-items:start;min-height:86px;border-bottom:1px solid var(--line)}
.plan-agenda-day:last-child{border-bottom:0}
.plan-agenda-day.today{background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface))}
.plan-agenda-day.past{background:var(--surface-2)}
.plan-agenda-date{display:grid;align-content:center;align-self:stretch;border-right:1px solid var(--line);padding:13px 15px}
.plan-agenda-date span{font-size:13px;font-weight:800}
.plan-agenda-date strong{margin-top:3px;color:var(--text-2);font-size:11px}
.plan-agenda-date em{margin-top:7px;color:var(--muted);font-size:9px;font-style:normal;font-weight:750}
.plan-agenda-day.today .plan-agenda-date span,.plan-agenda-day.today .plan-agenda-date em{color:var(--accent-strong)}
.plan-agenda-body{min-width:0;padding:10px 12px}
.plan-agenda-tasks{display:grid;gap:7px}
.plan-agenda-tasks .task-row{min-height:58px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 10px}
.plan-agenda-tasks .task-row:last-child{border-bottom:1px solid var(--line)}
.plan-agenda-tasks .task-check{width:25px;height:25px}
.past-day-summary{display:flex;min-height:64px;align-items:center;gap:10px;color:var(--muted)}
.past-day-summary>i{color:var(--success);font-size:21px}
.past-day-summary strong,.past-day-summary span{display:block}
.past-day-summary strong{color:var(--text-2);font-size:12px}
.past-day-summary span{margin-top:4px;font-size:11px}
.day-completed-note{display:flex;align-items:center;gap:5px;margin:1px 0 7px;color:var(--success);font-size:10px;font-weight:750}
.plan-agenda-empty{margin:13px 2px;color:var(--muted);font-size:12px;line-height:1.55}
.plan-day-add{display:flex;min-height:36px;align-items:center;justify-content:center;align-self:center;gap:5px;margin:0 12px;border:1px dashed var(--line-strong);border-radius:7px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}
.plan-day-add:hover{border-color:var(--accent);color:var(--accent-strong)}
.plan-backlog-panel{margin-top:17px}
.plan-backlog-panel .section-head>div p{margin:4px 0 0;color:var(--muted);font-size:11px}

/* Focus */
.focus-layout{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(300px,.7fr);gap:14px}


.focus-goal-label{color:var(--muted);font-size:13px;font-weight:700}
.focus-goal{margin:7px 0 25px;font-size:17px;line-height:1.5}

.focus-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.focus-ring.running{animation:focus-breathe 3s ease-in-out infinite}
@keyframes focus-breathe{50%{transform:scale(1.012)}}
.focus-time{position:relative;z-index:1}

.focus-time span{display:block;margin-top:8px;color:var(--muted);font-size:13px}





.focus-side{display:grid;align-content:start;gap:14px}
.session-list{display:grid;gap:8px}
.session-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.session-row:last-child{border-bottom:0}
.session-row strong{font-size:13px}
.session-row span{color:var(--muted);font:600 12px/1 var(--mono)}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.switch-row:last-child{border-bottom:0}
.switch-copy strong,.switch-copy small{display:block}
.switch-copy strong{font-size:14px}
.switch-copy small{margin-top:4px;color:var(--muted);font-size:12px}
.switch{position:relative;width:38px;height:22px;flex:none;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-3)}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .18s ease}
.switch.on{border-color:var(--accent);background:var(--accent)}
.switch.on::after{transform:translateX(16px)}

/* Practice and insights */
.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.summary-metric{padding:17px 18px;border-right:1px solid var(--line)}
.summary-metric:last-child{border-right:0}
.summary-metric span,.summary-metric strong,.summary-metric small{display:block}
.summary-metric span{color:var(--muted);font-size:12px;font-weight:700}
.summary-metric strong{margin-top:8px;font:700 24px/1 var(--mono)}
.summary-metric small{margin-top:5px;color:var(--text-2);font-size:12px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr);gap:14px}
.subject-performance{display:grid;gap:13px}
.performance-row{display:grid;grid-template-columns:76px minmax(0,1fr) 54px;align-items:center;gap:10px}
.performance-row strong{font-size:13px}
.performance-track{height:7px;border-radius:4px;background:var(--surface-3)}
.performance-fill{height:100%;border-radius:4px;background:var(--accent)}
.performance-row span{text-align:right;color:var(--text-2);font:700 13px/1 var(--mono)}
.data-table{width:100%;border-collapse:collapse}
.data-table th{height:40px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;text-align:left}
.data-table td{height:54px;padding:8px 14px;border-bottom:1px solid var(--line);font-size:13px}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:var(--surface-2)}
.table-main{max-width:420px;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.rate-good{color:var(--success);font-weight:800}
.rate-mid{color:var(--warning);font-weight:800}
.rate-low{color:var(--danger);font-weight:800}
.chart-area{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:190px;padding:15px 6px 0}
.chart-column{display:grid;height:100%;grid-template-rows:1fr auto;gap:9px;align-items:end;text-align:center}
.chart-column-bars{display:flex;height:100%;align-items:end;justify-content:center;gap:3px}
.chart-column-bars i{display:block;width:8px;min-height:3px;border-radius:4px 4px 2px 2px;background:var(--accent)}
.chart-column-bars i:last-child{background:color-mix(in srgb,var(--accent) 32%,var(--surface-3))}
.chart-column span{color:var(--muted);font-size:12px}

/* Wrong review */
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.segmented{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.segmented button{min-height:30px;border-radius:5px;background:transparent;padding:0 10px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}
.segmented button.active{background:var(--surface-3);color:var(--text)}
.review-queue{display:grid;gap:9px}
.wrong-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.wrong-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}
.mastery-box{display:grid;width:46px;height:46px;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font:800 12px/1 var(--mono)}
.wrong-copy{min-width:0}
.wrong-copy strong{display:block;overflow:hidden;font-size:14px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
.wrong-copy p{display:-webkit-box;max-width:820px;overflow:hidden;margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.wrong-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;color:var(--muted);font-size:12px}
.wrong-actions{display:flex;align-items:center;gap:7px}

/* Assistant */
.assistant-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100dvh - 148px);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.assistant-sidebar{border-right:1px solid var(--line);background:var(--surface-2);padding:16px}
.assistant-sidebar h2{margin:4px 0 5px;font-size:17px}
.assistant-sidebar>p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.55}
.assistant-modes{display:grid;gap:6px}
.assistant-mode{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-height:50px;padding:8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-2);text-align:left}
.assistant-mode:hover{background:var(--surface-3)}
.assistant-mode.active{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
.assistant-mode i{display:grid;width:32px;height:32px;place-items:center;border-radius:6px;background:var(--surface);color:var(--accent);font-size:16px}
.assistant-mode strong,.assistant-mode small{display:block}
.assistant-mode strong{font-size:13px}
.assistant-mode small{margin-top:3px;color:var(--muted);font-size:12px}
.context-box{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.context-box strong{font-size:13px}
.context-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.context-tags span{border:1px solid var(--line);border-radius:5px;background:var(--surface);padding:5px 7px;color:var(--muted);font-size:12px}
.assistant-chat{display:grid;min-width:0;grid-template-rows:auto 1fr auto}

.assistant-chat-head strong{font-size:14px}
.assistant-provider{color:var(--muted);font-size:12px}
.chat-messages{display:flex;min-height:360px;flex-direction:column;gap:14px;overflow-y:auto;padding:20px}
.chat-welcome{max-width:650px;margin:auto;text-align:center}
.chat-welcome-icon{display:grid;width:52px;height:52px;margin:0 auto 14px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:24px}
.chat-welcome h3{margin:0;font-size:18px}
.chat-welcome p{margin:8px auto 16px;color:var(--muted);font-size:13px;line-height:1.65}
.suggestion-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;text-align:left}
.suggestion-grid button{min-height:48px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--text-2);font-size:12px;line-height:1.45;text-align:left}
.suggestion-grid button:hover{border-color:var(--line-strong);background:var(--surface-3);color:var(--text)}
.message{position:relative;max-width:min(760px,88%);border-radius:7px;padding:11px 13px;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
.message.user{align-self:flex-end;background:var(--text);color:var(--surface)}
.message.assistant{align-self:flex-start;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}
.ai-plan-proposal{display:grid;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.ai-plan-proposal>strong{font-size:12px}.ai-plan-proposal>div{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:7px;border-radius:6px;background:var(--surface);padding:7px}
.ai-plan-proposal span{color:var(--accent-strong);font-size:12px;font-weight:750}.ai-plan-proposal p{margin:0;font-size:12px;line-height:1.45}.ai-plan-proposal small{color:var(--muted);font-size:12px}.ai-plan-proposal button{width:max-content;margin-top:4px}
.chat-composer{padding:13px 16px 16px;border-top:1px solid var(--line)}
.composer-box{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:end;gap:8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);padding:7px}
.composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.composer-box textarea{width:100%;min-height:42px;max-height:140px;resize:none;border:0;outline:0;background:transparent;padding:9px;color:var(--text);font-size:14px;line-height:1.5}
.composer-box textarea::placeholder{color:var(--muted)}
.composer-send{display:grid;width:40px;height:40px;place-items:center;border-radius:7px;background:var(--accent);color:var(--accent-contrast);font-size:18px}
.composer-hint{margin:6px 2px 0;color:var(--muted);font-size:12px}

/* Insights and library */
.insight-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr);gap:14px}
.risk-list{display:grid;gap:8px}
.risk-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:11px;border-radius:7px;background:var(--surface-2)}
.risk-item i{display:grid;width:32px;height:32px;place-items:center;border-radius:6px;background:var(--surface);color:var(--accent);font-size:16px}
.risk-item strong,.risk-item span{display:block}
.risk-item strong{font-size:13px}
.risk-item span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}
.balance-chart{display:flex;height:210px;align-items:flex-end;justify-content:space-around;gap:16px;padding:18px 8px 0}
.balance-item{display:grid;height:100%;grid-template-rows:1fr auto auto;gap:7px;align-items:end;text-align:center}
.balance-stick{width:24px;min-height:3px;margin:auto;border-radius:5px 5px 2px 2px;background:var(--accent)}
.balance-item strong{font:700 13px/1 var(--mono)}
.balance-item span{color:var(--muted);font-size:12px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.resource-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.resource-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}
.resource-site-icon{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:19px}
.resource-site-icon img{display:none;width:26px;height:26px;object-fit:contain}
.resource-site-icon.is-loaded{background:#fff}
.resource-site-icon.is-loaded img{display:block}
.resource-site-icon.is-loaded>i{display:none}
.resource-card strong,.resource-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resource-card strong{font-size:14px}
.resource-card small{margin-top:5px;color:var(--muted);font-size:12px}
.resource-card a{display:grid;width:31px;height:31px;place-items:center;border-radius:6px;color:var(--muted);text-decoration:none}
.resource-card a:hover{background:var(--surface-2);color:var(--text)}
.milestone-list{display:grid}
.milestone{display:grid;grid-template-columns:92px 18px minmax(0,1fr);gap:10px;min-height:72px}
.milestone time{padding-top:3px;color:var(--muted);font:600 12px/1.4 var(--mono)}
.milestone-axis{position:relative}
.milestone-axis::before{content:"";position:absolute;top:7px;bottom:-7px;left:8px;width:1px;background:var(--line)}
.milestone:last-child .milestone-axis::before{display:none}
.milestone-axis::after{content:"";position:absolute;top:4px;left:4px;width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:var(--line-strong);box-shadow:0 0 0 1px var(--line-strong)}
.milestone.current .milestone-axis::after{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.milestone-copy strong,.milestone-copy span{display:block}
.milestone-copy strong{font-size:14px}
.milestone-copy span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}

/* Quark Drive study workflow */
.library-command-center{max-width:1320px}.quark-skill-hero{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--radius);background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 58%,var(--surface)),var(--surface) 58%);padding:17px 18px;box-shadow:var(--shadow-soft)}
.quark-brand-mark{display:grid;width:52px;height:52px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:12px;background:var(--surface);color:var(--accent-strong);font-size:26px;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 12%,transparent)}
.quark-hero-copy{min-width:0}.quark-hero-copy>span{display:block;color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.04em}.quark-hero-copy h2{margin:3px 0 4px;font-size:20px;line-height:1.3}.quark-hero-copy p{margin:0;color:var(--text-2);font-size:13px;line-height:1.55}.quark-hero-copy small{display:flex;align-items:flex-start;gap:6px;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45}.quark-hero-copy small i{margin-top:2px;color:var(--accent)}
.quark-hero-actions{display:flex;align-items:center;gap:7px}.quark-hero-actions a{text-decoration:none}.quark-status-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:7px 10px;color:var(--muted);font-size:11px;font-weight:700}.quark-skill-hero.is-connected{border-color:color-mix(in srgb,var(--success) 28%,var(--line))}.quark-skill-hero.is-error{border-color:color-mix(in srgb,var(--danger) 28%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}
.quark-skill-hero.is-loading .ph-circle-notch,.quark-search-loading .ph-circle-notch,.quark-transfer-items .running>i,.quark-transfer-form .ph-circle-notch{animation:quark-spin .9s linear infinite}@keyframes quark-spin{to{transform:rotate(360deg)}}
.quark-work-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:14px;align-items:start}.quark-work-grid.is-locked{opacity:.76}.quark-work-grid .section-panel{overflow:hidden}.quark-search-panel .section-body,.quark-inbox-panel .section-body{padding:14px}
.quark-search-form{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);padding:5px 5px 5px 12px}.quark-search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.quark-search-form>i{color:var(--muted);font-size:17px}.quark-search-form input{min-width:0;height:38px;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.quark-search-form .primary-button{min-height:38px}
.quark-inline-state,.quark-search-loading{display:flex;min-height:190px;align-items:center;justify-content:center;gap:12px;color:var(--muted);text-align:left}.quark-inline-state>i,.quark-search-loading>i{display:grid;width:38px;height:38px;flex:none;place-items:center;border-radius:10px;background:var(--surface-2);color:var(--accent);font-size:20px}.quark-inline-state strong,.quark-inline-state span,.quark-search-loading strong,.quark-search-loading span{display:block}.quark-inline-state strong,.quark-search-loading strong{color:var(--text);font-size:13px}.quark-inline-state span,.quark-search-loading span{margin-top:4px;font-size:11px;line-height:1.45}.quark-inline-state.error>i{color:var(--danger)}.quark-inline-state.compact{min-height:132px}
.quark-result-wrap{margin-top:14px}.quark-result-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--muted);font-size:10px}.quark-result-summary strong{color:var(--text);font-size:12px}.quark-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.quark-result-table{width:100%;border-collapse:collapse;min-width:640px;background:var(--surface)}.quark-result-table th{background:var(--surface-2);padding:9px 10px;color:var(--muted);font-size:9px;font-weight:800;text-align:left;white-space:nowrap}.quark-result-table td{border-top:1px solid var(--line);padding:10px;color:var(--text-2);font-size:10px;white-space:nowrap}.quark-result-table td:nth-child(2){max-width:260px;white-space:normal}.quark-result-table td strong{display:block;color:var(--text);font-size:11px;line-height:1.45}.quark-result-table img{display:block;width:34px;height:34px;border-radius:6px;object-fit:cover}.quark-result-table a{color:var(--accent-strong);font-weight:800;text-decoration:none}.quark-file-type{display:inline-flex;border-radius:5px;background:var(--accent-soft);padding:3px 6px;color:var(--accent-ink);font-weight:750}
.quark-browse-all{display:grid;gap:5px;margin-top:9px;border-radius:8px;background:var(--surface-2);padding:10px}.quark-browse-all a{display:inline-flex;width:max-content;align-items:center;gap:5px;color:var(--accent-strong);font-size:11px;font-weight:800;text-decoration:none}.quark-browse-all code{overflow:hidden;color:var(--muted);font:9px/1.4 var(--mono);text-overflow:ellipsis;white-space:nowrap}.quark-browse-all p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.quark-transfer-progress{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:11px}.quark-transfer-progress header{display:flex;align-items:center;justify-content:space-between;gap:8px}.quark-transfer-progress header strong,.quark-transfer-progress header span{display:block}.quark-transfer-progress header strong{font-size:11px}.quark-transfer-progress header span{margin-top:2px;color:var(--muted);font-size:9px}.quark-transfer-progress header b{font:750 13px/1 var(--mono);color:var(--accent-strong)}.quark-progress-track{height:4px;margin:9px 0;overflow:hidden;border-radius:99px;background:var(--line)}.quark-progress-track i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .28s ease}.quark-transfer-items{display:grid;gap:4px;max-height:190px;overflow:auto}.quark-transfer-items>div{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:7px;border-radius:6px;padding:6px}.quark-transfer-items>div>i{margin-top:2px;color:var(--muted)}.quark-transfer-items .success>i{color:var(--success)}.quark-transfer-items .failed>i{color:var(--danger)}.quark-transfer-items strong,.quark-transfer-items small{display:block}.quark-transfer-items strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.quark-transfer-items small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.4}
.quark-history-list{display:grid}.quark-history-list article{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 2px}.quark-history-list article+article{border-top:1px solid var(--line)}.quark-history-list article>i{color:var(--success);font-size:17px}.quark-history-list article>div{min-width:0}.quark-history-list strong,.quark-history-list span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quark-history-list strong{font-size:11px}.quark-history-list span{margin-top:3px;color:var(--muted);font-size:9px}.quark-history-list time{color:var(--muted);font:8px/1 var(--mono)}
.library-secondary-grid{margin-top:14px}.library-official-panel{margin-top:14px}.quark-transfer-form textarea{min-height:210px;resize:vertical}.quark-privacy-note{display:flex;grid-column:1/-1;align-items:flex-start;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:8px;background:var(--accent-soft);padding:10px;color:var(--accent-ink);font-size:10px;line-height:1.5}.quark-privacy-note i{margin-top:2px;flex:none}
.quark-transfer-preview>header{display:flex;align-items:center;gap:11px;margin-bottom:12px}.quark-transfer-preview>header>i{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:21px}.quark-transfer-preview>header strong,.quark-transfer-preview>header span{display:block}.quark-transfer-preview>header strong{font-size:15px}.quark-transfer-preview>header span{margin-top:3px;color:var(--muted);font-size:10px}.quark-transfer-preview>div{display:grid;max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:8px}.quark-transfer-preview article{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px}.quark-transfer-preview article+article{border-top:1px solid var(--line)}.quark-transfer-preview article>i{color:var(--accent)}.quark-transfer-preview article strong,.quark-transfer-preview article small{display:block}.quark-transfer-preview article strong{font-size:11px}.quark-transfer-preview article small{margin-top:2px;color:var(--muted);font-size:9px}.quark-transfer-preview>p{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.quark-transfer-preview>p i{margin-top:2px;color:var(--accent)}
.quark-auth-help{text-align:center}.quark-auth-help>i{font-size:36px;color:var(--warning)}.quark-auth-help p{margin:10px 0 6px;color:var(--text);font-weight:750}.quark-auth-help span{display:block;color:var(--muted);font-size:11px;line-height:1.6}.quark-auth-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:8px;background:var(--accent-soft);padding:9px 12px;color:var(--accent-strong);font-size:11px;font-weight:800;text-decoration:none}.quark-auth-link:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface))}.quark-auth-code-form{margin-top:16px;text-align:left}.quark-assistant-result>header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px;color:var(--accent-strong);font-size:10px;font-weight:800}.quark-assistant-result>header small{color:var(--muted);font-weight:600}.quark-answer-body{padding:14px 0}.quark-answer-body .ai-knowledge-callout{background:var(--accent-soft)}.quark-reasoning{border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.quark-reasoning summary{display:flex;align-items:center;gap:7px;padding:10px;color:var(--text);font-size:11px;font-weight:800;cursor:pointer}.quark-reasoning summary i:last-child{margin-left:auto}.quark-reasoning>div{border-top:1px solid var(--line);padding:10px}.quark-assistant-result>footer{display:flex;align-items:flex-start;gap:6px;margin-top:12px;color:var(--muted);font-size:9px;line-height:1.5}.quark-assistant-result>footer i{margin-top:2px;color:var(--accent)}
.quark-permission-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:999px;background:var(--accent-soft);padding:6px 9px;color:var(--accent-ink);font-size:9px;font-weight:800;white-space:nowrap}
.quark-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);padding:7px 8px;transition:border-color .18s ease,background .18s ease}.quark-selection-bar.is-active{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--accent-soft) 46%,var(--surface))}.quark-selection-bar>label{display:flex;align-items:center;gap:7px;color:var(--text);font-size:10px;font-weight:800;white-space:nowrap}.quark-selection-bar input,.quark-result-table input{width:15px;height:15px;accent-color:var(--accent)}.quark-selection-bar>div{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.quark-selection-bar button{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:6px;background:transparent;padding:6px 7px;color:var(--text-2);font:750 9px/1.2 inherit;cursor:pointer}.quark-selection-bar button:hover:not(:disabled){background:var(--surface);color:var(--accent-strong)}.quark-selection-bar button:disabled{cursor:not-allowed;opacity:.4}.quark-selection-bar button.quark-assistant-handoff{background:var(--accent);color:var(--on-accent)}.quark-selection-bar button.quark-assistant-handoff:hover:not(:disabled){background:var(--accent-strong);color:var(--on-accent)}.quark-result-table tr.is-selected td{background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.quark-check-cell{width:26px}.quark-scope-preview{display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:10px}.quark-scope-preview strong{font-size:12px}.quark-scope-preview span{color:var(--muted);font-size:10px;line-height:1.5}.quark-danger-note{display:flex;grid-column:1/-1;align-items:flex-start;gap:8px;border:1px solid color-mix(in srgb,var(--warning) 38%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--warning) 8%,var(--surface));padding:10px;color:var(--text-2);font-size:10px;line-height:1.5}.quark-danger-note i{margin-top:2px;color:var(--warning)}.quark-choice{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:11px}.quark-choice input{accent-color:var(--accent)}
.quark-note-list{display:grid}.quark-note-list article{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding:4px 0}.quark-note-list article>button:first-child{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px;border:0;background:transparent;padding:7px 4px;color:var(--text);text-align:left;cursor:pointer}.quark-note-list article>button:first-child>i{color:var(--accent);font-size:17px}.quark-note-list span,.quark-note-list strong,.quark-note-list small{display:block;min-width:0}.quark-note-list strong,.quark-note-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quark-note-list strong{font-size:10px}.quark-note-list small{margin-top:3px;color:var(--muted);font-size:8px}.quark-side-divider{display:flex;align-items:center;gap:8px;margin:13px 0 5px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em}.quark-side-divider:before,.quark-side-divider:after{height:1px;flex:1;background:var(--line);content:""}
.quark-read-file{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:11px;color:var(--text);text-decoration:none}.quark-read-file+.quark-read-file{margin-top:7px}.quark-read-file>i:first-child{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:18px}.quark-read-file span,.quark-read-file strong,.quark-read-file small{display:block;min-width:0}.quark-read-file strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.quark-read-file small{margin-top:3px;color:var(--muted);font-size:9px}.quark-read-file:hover{border-color:var(--accent)}.quark-share-result{display:grid;justify-items:center;gap:9px;text-align:center}.quark-share-result>i{color:var(--success);font-size:42px}.quark-share-result>a{max-width:100%;overflow-wrap:anywhere;color:var(--accent-strong);font-size:11px}.quark-share-result p{margin:0;color:var(--muted);font-size:11px}.quark-upload-preview{display:grid;gap:6px}.quark-upload-preview header{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px}.quark-upload-preview header strong{font-size:14px}.quark-upload-preview header span{color:var(--muted);font-size:9px}.quark-upload-preview article{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;border-radius:7px;background:var(--surface-2);padding:8px}.quark-upload-preview article>i{color:var(--accent)}.quark-upload-preview article strong,.quark-upload-preview article small{display:block}.quark-upload-preview article strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.quark-upload-preview article small{margin-top:2px;color:var(--muted);font-size:8px}.quark-upload-preview>p{display:flex;align-items:flex-start;gap:6px;margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.quark-upload-preview>p i{color:var(--warning)}
.quark-media-result>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.quark-media-result>header>i{color:var(--success);font-size:34px}.quark-media-result>header strong,.quark-media-result>header span{display:block}.quark-media-result>header strong{font-size:14px}.quark-media-result>header span{margin-top:3px;color:var(--muted);font-size:9px}.quark-media-table{display:grid;border:1px solid var(--line);border-radius:8px}.quark-media-table>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px}.quark-media-table>div+div{border-top:1px solid var(--line)}.quark-media-table strong{font-size:10px}.quark-media-table span{color:var(--accent-strong);font-size:9px;font-weight:800}.quark-media-table small{grid-column:1/-1;color:var(--muted);font-size:8px}.quark-media-result>a{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--accent-strong);font-size:10px;font-weight:800;text-decoration:none}.quark-media-choice{text-align:center}.quark-media-choice>i{color:var(--accent);font-size:42px}.quark-media-choice p{margin:10px 0 5px;color:var(--text);font-size:12px;line-height:1.55}.quark-media-choice small{color:var(--muted);font-size:9px;line-height:1.5}

@media (max-width:1050px){.quark-work-grid{grid-template-columns:1fr}.quark-inbox-panel{order:2}.quark-skill-hero{grid-template-columns:48px minmax(0,1fr)}.quark-skill-hero>.primary-button,.quark-skill-hero>.quark-hero-actions,.quark-skill-hero>.quark-status-pill{grid-column:2;justify-self:start}}
@media (max-width:640px){.quark-skill-hero{grid-template-columns:42px minmax(0,1fr);align-items:start;padding:14px}.quark-brand-mark{width:42px;height:42px;border-radius:10px;font-size:21px}.quark-hero-copy h2{font-size:17px}.quark-hero-copy p{font-size:11px}.quark-hero-copy small{font-size:9px}.quark-hero-actions{width:100%;flex-wrap:wrap}.quark-hero-actions>*{flex:1}.quark-search-panel .section-body,.quark-inbox-panel .section-body{padding:11px}.quark-search-form{grid-template-columns:18px minmax(0,1fr);padding:6px 8px}.quark-search-form .primary-button{grid-column:1/-1;width:100%}.quark-inline-state,.quark-search-loading{min-height:150px}.quark-selection-bar{align-items:stretch;flex-direction:column}.quark-selection-bar>div{display:grid;grid-template-columns:repeat(3,1fr)}.quark-selection-bar button{justify-content:center;border:1px solid var(--line);background:var(--surface)}.quark-table-scroll{overflow:visible;border:0}.quark-result-table{display:block;min-width:0;background:transparent}.quark-result-table thead{display:none}.quark-result-table tbody{display:grid;gap:8px}.quark-result-table tr{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:9px}.quark-result-table td{display:flex;align-items:center;gap:7px;border:0;padding:2px 0;white-space:normal}.quark-result-table td:before{width:68px;flex:none;color:var(--muted);font-size:8px;content:attr(data-label)}.quark-result-table .quark-check-cell{grid-row:1 / 6;width:auto}.quark-result-table .quark-check-cell:before{display:none}.quark-result-table td:not(.quark-check-cell){grid-column:2}.quark-result-table td strong{font-size:10px}.quark-history-list article{grid-template-columns:18px minmax(0,1fr)}.quark-history-list time{grid-column:2}.library-secondary-grid{margin-top:11px}.quark-transfer-form textarea{min-height:180px}}

/* Library task hierarchy: connection is status, search is the primary task */
.quark-connection-bar{display:flex;min-height:54px;align-items:center;gap:11px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft));padding:8px 10px 8px 9px}
.quark-connection-bar.is-connected{border-color:color-mix(in srgb,var(--success) 22%,var(--line));background:color-mix(in srgb,var(--success) 4%,var(--surface))}
.quark-connection-bar.is-error{border-color:color-mix(in srgb,var(--danger) 24%,var(--line));background:color-mix(in srgb,var(--danger) 4%,var(--surface))}
.quark-connection-icon{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:9px;background:var(--surface);color:var(--accent-strong);font-size:19px;box-shadow:inset 0 0 0 1px var(--line)}
.quark-connection-bar.is-error .quark-connection-icon{color:var(--danger)}
.quark-connection-copy{display:grid;min-width:0;flex:1;gap:2px}
.quark-connection-copy>div{display:flex;min-width:0;align-items:center;gap:8px}
.quark-connection-copy strong{color:var(--text);font-size:12px;font-weight:800;line-height:1.35}
.quark-connection-copy>span,.quark-connection-copy small{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.quark-connected-label{display:inline-flex;align-items:center;border-radius:5px;background:var(--accent-soft);padding:2px 5px;color:var(--accent-ink);font-size:8px;font-weight:800}
.quark-connection-actions{display:flex;flex:none;align-items:center;gap:3px}
.quark-connection-actions a{text-decoration:none}
.quark-connection-actions .text-button{min-height:32px;padding:0 7px;font-size:10px}
.quark-connection-status{display:inline-flex;flex:none;align-items:center;gap:5px;color:var(--muted);font-size:9px;font-weight:750}
.quark-connection-bar.is-loading .ph-circle-notch{animation:quark-spin .9s linear infinite}
.compact-button{min-height:34px;padding:0 11px;font-size:10px}
.quark-primary-workspace{margin-bottom:14px;overflow:hidden}
.quark-primary-workspace.is-locked,.quark-support-grid.is-locked{opacity:.72}
.quark-primary-workspace .section-head{padding-top:15px;padding-bottom:13px}
.quark-primary-workspace .section-head h2{font-size:16px}
.quark-primary-workspace .section-body{padding:15px}
.quark-primary-workspace .quark-search-form{grid-template-columns:22px minmax(0,1fr) auto;padding:5px 5px 5px 13px}
.quark-primary-workspace .quark-search-form input{height:40px;font-size:13px}
.quark-primary-workspace .quark-inline-state,.quark-primary-workspace .quark-search-loading{min-height:132px}
.quark-primary-workspace .quark-result-table td[data-label="文件名"]{min-width:300px;max-width:none;white-space:normal}
.quark-support-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:14px;align-items:start;margin-bottom:14px}
.quark-support-grid .section-panel{overflow:hidden}
.quark-support-grid .section-body{padding:12px 14px}
.quark-support-grid .quark-inline-state.compact{min-height:108px}
.quark-support-grid .quark-note-list article:last-child{border-bottom:0}
.quark-support-grid .quark-history-list article:first-child{padding-top:3px}

@media (max-width:1050px){.quark-support-grid{grid-template-columns:1fr}}
@media (max-width:640px){.quark-connection-bar{display:grid;grid-template-columns:36px minmax(0,1fr);padding:9px}.quark-connection-copy>span,.quark-connection-copy small{white-space:normal}.quark-connection-actions,.quark-connection-bar>.compact-button,.quark-connection-status{grid-column:2;justify-self:start}.quark-connection-actions{flex-wrap:wrap}.quark-primary-workspace .section-head{align-items:flex-start}.quark-primary-workspace .section-body{padding:11px}.quark-primary-workspace .quark-search-form{grid-template-columns:18px minmax(0,1fr);padding:6px 8px}.quark-primary-workspace .quark-search-form .primary-button{grid-column:1/-1;width:100%}.quark-primary-workspace .quark-inline-state,.quark-primary-workspace .quark-search-loading{min-height:116px}.quark-primary-workspace .quark-result-table td[data-label="文件名"]{min-width:0}.quark-support-grid{gap:10px;margin-bottom:11px}.quark-support-grid .section-body{padding:10px 11px}}

/* Library product layout: one primary task with progressively disclosed support tools */
.library-command-center>.page-head{margin-bottom:14px}
.library-command-center>.page-head p{max-width:560px}
.library-command-center .section-panel{border-radius:10px;box-shadow:none}
.library-command-center .quark-connection-bar{min-height:48px;margin-bottom:12px;border-radius:9px;background:var(--surface);padding:6px 9px}
.library-command-center .quark-connection-icon{width:34px;height:34px;border-radius:8px;font-size:17px;box-shadow:none}
.library-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:12px;align-items:start}
.library-workspace-grid .quark-primary-workspace{margin-bottom:0}
.library-workspace-grid .quark-primary-workspace .section-head{min-height:64px;padding:13px 15px}
.library-workspace-grid .quark-primary-workspace .section-head h2{font-size:15px}
.library-workspace-grid .quark-primary-workspace .section-head p{margin-top:4px}
.library-workspace-grid .quark-primary-workspace .section-body{padding:13px 14px 14px}
.library-workspace-grid .quark-primary-workspace .quark-search-form{border-color:var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 5%,transparent)}
.library-workspace-grid .quark-primary-workspace .quark-search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent)}
.library-workspace-grid .quark-primary-workspace .quark-search-form .primary-button{min-width:82px;border-radius:7px}
.library-search-start{display:grid;min-height:92px;align-content:center;justify-items:start;gap:8px;padding:13px 3px 2px}
.library-search-start>span{color:var(--text-2);font-size:10px;font-weight:800}
.library-search-start>div{display:flex;flex-wrap:wrap;gap:7px}
.library-search-start button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);padding:0 10px;color:var(--text-2);font-size:10px;font-weight:750;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}
.library-search-start button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
.library-search-start button:active:not(:disabled){transform:translateY(1px)}
.library-search-start button:disabled{cursor:not-allowed;opacity:.48}
.library-search-start small{color:var(--muted);font-size:9px;line-height:1.45}
.library-activity-panel{overflow:hidden}
.library-activity-panel.is-locked{opacity:.72}
.library-activity-head{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:12px 13px}
.library-activity-head h2,.library-activity-head p{margin:0}
.library-activity-head h2{font-size:14px}
.library-activity-head p{margin-top:4px;color:var(--muted);font-size:9px}
.library-activity-head .text-button{flex:none;min-height:30px;padding:0 5px;font-size:9px}
.library-activity-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-bottom:1px solid var(--line);background:var(--surface-2);padding:5px}
.library-activity-tabs button{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:5px;min-height:34px;border:0;border-radius:6px;background:transparent;padding:0 7px;color:var(--muted);font-size:9px;font-weight:750;text-align:left;cursor:pointer}
.library-activity-tabs button:hover{color:var(--text)}
.library-activity-tabs button[aria-pressed="true"]{background:var(--surface);color:var(--accent-ink);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 7%,transparent)}
.library-activity-tabs button>i{font-size:14px}
.library-activity-tabs button em{display:grid;min-width:18px;height:18px;place-items:center;border-radius:5px;background:var(--surface-3);color:var(--muted);font:750 8px/1 var(--mono)}
.library-activity-tabs button[aria-pressed="true"] em{background:var(--accent-soft);color:var(--accent-ink)}
.library-activity-body{padding:10px 12px}
.library-activity-body .quark-inline-state.compact{min-height:100px}
.library-activity-body .quark-note-list article:last-child,.library-activity-body .quark-history-list article:last-child{border-bottom:0}
.library-resource-panel{margin-top:12px;overflow:hidden}
.library-resource-panel>.section-head{min-height:58px;padding:11px 14px}
.library-resource-panel>.section-body{padding:12px 14px 14px}
.library-resource-actions{display:flex;flex:none;align-items:center;gap:4px}
.library-resource-actions .text-button{min-height:31px;padding:0 7px;font-size:10px}
.library-resource-grid{gap:7px}
.library-resource-grid .resource-card{min-height:62px;border-radius:8px;padding:9px 10px;transition:border-color .16s ease,background .16s ease}
.library-resource-grid .resource-card:hover{border-color:var(--line-strong);background:var(--surface-2);box-shadow:none}
.library-resource-grid .resource-card strong{font-size:12px}
.library-resource-grid .resource-card small{margin-top:4px;font-size:9px}
.library-add-options{display:grid;gap:7px}
.library-add-options>button{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:68px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:10px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.library-add-options>button:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--accent-soft)}
.library-add-options>button:active{transform:translateY(1px)}
.library-add-options>button>i:first-child{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--accent-strong);font-size:19px}
.library-add-options>button>i:last-child{color:var(--muted)}
.library-add-options strong,.library-add-options small{display:block}
.library-add-options strong{font-size:12px}
.library-add-options small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}

@media (max-width:1050px){.library-workspace-grid{grid-template-columns:1fr}.library-activity-panel{min-height:0}}
@media (max-width:640px){.library-command-center>.page-head{margin-bottom:11px}.library-command-center>.page-head-actions .primary-button{width:100%;justify-content:center}.library-command-center .quark-connection-bar{margin-bottom:10px}.library-workspace-grid{gap:10px}.library-workspace-grid .quark-primary-workspace .section-head{min-height:0;padding:11px}.library-workspace-grid .quark-primary-workspace .section-body{padding:10px}.library-search-start{min-height:82px;padding:11px 1px 1px}.library-search-start>div{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.library-search-start button{min-width:0;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-activity-head{min-height:58px;padding:10px 11px}.library-activity-body{padding:9px 10px}.library-resource-panel{margin-top:10px}.library-resource-panel>.section-head{align-items:flex-start}.library-resource-actions{align-items:flex-end;flex-direction:column}.library-resource-panel>.section-body{padding:10px}.library-resource-grid{grid-template-columns:1fr}.library-add-options>button{grid-template-columns:34px minmax(0,1fr) 16px;min-height:64px;padding:9px}.library-add-options>button>i:first-child{width:34px;height:34px;font-size:17px}}

/* Settings */
.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}
.settings-nav{position:sticky;top:90px;display:grid;align-content:start;gap:3px;height:max-content}
.settings-nav button{min-height:42px;border-radius:7px;background:transparent;padding:0 11px;color:var(--text-2);font-size:14px;font-weight:700;text-align:left}
.settings-nav button:hover,.settings-nav button.active{background:var(--surface-3);color:var(--text)}
.settings-sections{display:grid;gap:14px}
.settings-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid var(--line)}
.settings-section-head h2{margin:0;font-size:16px}
.settings-section-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.settings-section-body{padding:18px 19px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field-label-row{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:10px}
.field-label-row .model-fetch-button{min-height:24px;padding:0;font-size:13px}
.model-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.model-card{display:flex;min-height:42px;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text-2);font-size:13px;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease;text-align:left}
.model-card:hover{border-color:var(--accent-strong);color:var(--text)}
.model-card.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.model-card i{font-size:15px;flex:none}
.model-manual-input{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);padding:8px 10px;color:var(--text);font-size:14px;outline:0}
.model-manual-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
.model-manual-input::placeholder{color:var(--muted)}
.field label{color:var(--text-2);font-size:13px;font-weight:700}
.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);padding:8px 10px;color:var(--text);font-size:14px;outline:0}
.field textarea{min-height:92px;resize:vertical;line-height:1.55}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
.field small{color:var(--muted);font-size:12px;line-height:1.5}
.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.profile-editor{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start}
.avatar-editor{display:grid;gap:8px;text-align:center}
.avatar-preview{display:grid;width:88px;height:88px;place-items:center;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);font-size:22px;font-weight:800}
.avatar-preview img{display:none;width:100%;height:100%;object-fit:cover}
.avatar-preview.has-image img{display:block}
.avatar-preview.has-image span{display:none}
.avatar-upload{position:relative;display:inline-flex;min-height:31px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text-2);font-size:12px;font-weight:700;cursor:pointer}
.avatar-upload input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.subject-settings{display:grid;gap:7px}
.subject-setting-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.subject-swatch{width:18px;height:18px;border:0;border-radius:5px;padding:0;background:var(--accent)}
.subject-setting-row strong{font-size:13px}
.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.provider-option{min-height:60px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--text-2);text-align:left}
.provider-option.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.provider-option strong,.provider-option small{display:block}
.provider-option strong{font-size:13px}
.provider-option small{margin-top:4px;color:var(--muted);font-size:12px}
.code-block{position:relative;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#25282d;padding:14px;color:#e8eaed;font:500 13px/1.7 var(--mono);white-space:pre}
.code-copy{position:absolute;top:8px;right:8px;min-height:28px;border:1px solid #4a5058;border-radius:5px;background:#30343a;padding:0 8px;color:#e8eaed;font-size:12px}
.backend-status{display:flex;align-items:center;gap:8px;margin-bottom:13px;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--text-2);font-size:13px}
.backend-status i{color:var(--muted);font-size:16px}
.backend-status.ready i{color:var(--success)}
.ai-quick-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);padding:17px}
.advanced-settings,.deployment-settings{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}
.advanced-settings summary,.deployment-settings summary{width:max-content;color:var(--accent-strong);font-weight:750;cursor:pointer;list-style-position:inside}
.advanced-settings[open] summary,.deployment-settings[open] summary{margin-bottom:13px}
.deployment-settings .code-block{margin-bottom:13px}
.deployment-notice{border-left:3px solid var(--accent);background:var(--surface-2);padding:13px 14px}
.deployment-notice strong{display:block}
.deployment-notice p{margin:5px 0 0;color:var(--text-2);line-height:1.65}
.deployment-notice code{color:var(--accent-strong);font-family:var(--mono)}
.demo-data-panel{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;margin:18px 0;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--accent-soft) 38%,var(--surface-2));padding:13px}
.demo-data-icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:9px;background:var(--surface);color:var(--accent-strong);font-size:20px}
.demo-data-panel span,.demo-data-panel strong,.demo-data-panel p,.demo-data-panel small{display:block}
.demo-data-panel span{color:var(--accent-strong);font-size:11px;font-weight:800;letter-spacing:.05em}
.demo-data-panel strong{margin-top:3px;font-size:14px}
.demo-data-panel p{margin:5px 0 0;color:var(--text-2);font-size:12px;line-height:1.55}
.demo-data-panel small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}
.demo-data-panel>button{min-width:150px;white-space:nowrap}
.settings-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.settings-action-grid button{min-height:62px;justify-content:flex-start;text-align:left;white-space:normal}

/* Modal */
.modal-layer,.mobile-drawer{position:fixed;inset:0;z-index:60;display:grid;visibility:hidden;place-items:center;opacity:0;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.modal-layer.open,.mobile-drawer.open{visibility:visible;opacity:1;pointer-events:auto}
.modal-backdrop,.drawer-backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(21,24,29,.54);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.modal{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:0 24px 80px rgba(20,24,30,.25);transform:translateY(8px) scale(.985);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.modal-layer.open .modal{transform:none}
.modal.wide{width:min(760px,calc(100vw - 32px))}
.modal-head{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid var(--line)}
.modal-head h2{margin:0;font-size:17px}
.modal-body{padding:18px}
.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--line);background:var(--surface-2)}
.review-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.review-outcome{min-height:80px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);padding:10px;color:var(--text);text-align:left}
.review-outcome:hover{border-color:var(--accent)}
.review-outcome strong,.review-outcome span{display:block}
.review-outcome strong{font-size:13px}
.review-outcome span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}
.scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.scan-preview{display:grid;min-height:230px;place-items:center;overflow:hidden;border:1px dashed var(--line-strong);border-radius:7px;background:var(--surface-2);color:var(--muted);text-align:center}
.scan-preview img{display:none;width:100%;height:100%;max-height:330px;object-fit:contain}
.scan-preview.has-image img{display:block}
.scan-preview.has-image .scan-placeholder{display:none}
.scan-placeholder i{font-size:28px}
.scan-placeholder span{display:block;margin-top:8px;font-size:12px}

/* Paper recognition */
.modal.wide:has(.paper-import),.modal.wide:has(.paper-review){width:min(980px,calc(100vw - 32px))}
.paper-import{display:grid;gap:18px}
.paper-import-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:5px}
.paper-import-tabs button{display:flex;min-height:58px;align-items:center;gap:10px;border:1px solid transparent;border-radius:8px;background:transparent;padding:9px 12px;color:var(--muted);text-align:left}
.paper-import-tabs button>i{font-size:21px}.paper-import-tabs strong,.paper-import-tabs small{display:block}.paper-import-tabs strong{color:var(--text-2);font-size:14px}.paper-import-tabs small{margin-top:3px;font-size:12px}
.paper-import-tabs button.active{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--surface);box-shadow:var(--shadow-soft)}.paper-import-tabs button.active>i,.paper-import-tabs button.active strong{color:var(--accent-strong)}
.paper-import-intro,.paper-import-intro>div,.paper-review-head,.paper-review-head>div{display:flex;align-items:center;gap:12px}.paper-import-intro,.paper-review-head{justify-content:space-between}.paper-import-intro strong,.paper-review-head strong{font-size:16px}.paper-import-intro p,.paper-review-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.paper-step{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font:800 12px/1 var(--mono)}
.paper-config-state{display:inline-flex;min-height:30px;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--warning) 7%,var(--surface));padding:0 10px;color:var(--warning);font-size:12px;font-weight:700}.paper-config-state.ready{border-color:color-mix(in srgb,var(--success) 27%,var(--line));background:color-mix(in srgb,var(--success) 7%,var(--surface));color:var(--success)}
.paper-upload-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:18px}.paper-source-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px}.paper-source-block{display:grid;min-width:0;grid-template-rows:auto 1fr;gap:7px}.paper-source-block>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.paper-source-block>header strong{font-size:12px}.paper-source-block>header span{display:inline-flex;min-height:22px;align-items:center;border-radius:999px;background:var(--accent-soft);padding:0 7px;color:var(--accent-ink);font-size:10px;font-weight:750}.paper-source-block.answer-source>header span{background:var(--surface-2);color:var(--muted)}.paper-drop-zone{display:grid;min-height:360px;place-items:center;overflow:hidden;border:1px dashed var(--line-strong);border-radius:11px;background:var(--surface-2);padding:14px;color:var(--muted);cursor:pointer}.paper-source-files .paper-drop-zone{min-height:300px}.paper-drop-zone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 28%,var(--surface-2))}.paper-drop-zone>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.paper-file-visual{display:grid;width:100%;height:100%;place-items:center}.paper-file-visual>img{display:block;width:100%;height:100%;max-height:430px;object-fit:contain}.paper-drop-empty{text-align:center}.paper-drop-empty i{display:grid;width:52px;height:52px;margin:0 auto 12px;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--accent);font-size:25px}.paper-drop-empty strong,.paper-drop-empty span{display:block}.paper-drop-empty strong{color:var(--text);font-size:15px}.paper-drop-empty span{margin-top:6px;font-size:12px;line-height:1.45}.paper-file-card{display:grid;width:min(360px,100%);grid-template-columns:46px minmax(0,1fr) 20px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:14px}.paper-file-card>i:first-child{display:grid;width:46px;height:46px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger);font-size:24px}.paper-file-card>i:last-child{color:var(--success);font-size:20px}.paper-file-card strong,.paper-file-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paper-file-card strong{color:var(--text);font-size:14px}.paper-file-card span{margin-top:5px;color:var(--muted);font-size:12px}
.paper-import-fields{display:flex;flex-direction:column;gap:13px}.paper-check{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px}.paper-check input,.paper-question-check,.paper-review-toolbar input{accent-color:var(--accent)}.paper-privacy{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);padding:10px;color:var(--muted);font-size:12px;line-height:1.55}.paper-privacy i{margin-top:1px;color:var(--accent);font-size:17px}.paper-split-status{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);padding:10px 11px}.paper-split-status[hidden],.paper-page-field[hidden]{display:none!important}.paper-split-status>i{margin-top:2px;color:var(--accent);font-size:18px}.paper-split-status.loading>i{animation:paper-spin 1s linear infinite}.paper-split-status.error{border-color:color-mix(in srgb,var(--danger) 28%,var(--line));background:color-mix(in srgb,var(--danger) 6%,var(--surface))}.paper-split-status.error>i{color:var(--danger)}.paper-split-status strong,.paper-split-status small{display:block}.paper-split-status strong{font-size:13px}.paper-split-status small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.paper-submit,.paper-settings-link{width:100%}.paper-submit{margin-top:auto}@keyframes paper-spin{to{transform:rotate(360deg)}}
.single-ocr-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}.single-ocr-drop{min-height:320px}.single-ocr-drop img{display:none;width:100%;height:100%;max-height:390px;object-fit:contain}.single-ocr-drop.has-image img{display:block}.single-ocr-drop.has-image .paper-drop-empty{display:none}.single-ocr-result textarea{min-height:214px;resize:vertical;background:var(--surface-2);line-height:1.65}.single-ocr-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;margin-top:auto}.single-ocr-actions button{width:100%;justify-content:center}
.paper-review{display:grid;gap:14px}.paper-review-head{position:sticky;top:0;z-index:3;margin:-18px -18px 0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:14px 18px;backdrop-filter:blur(8px)}.paper-review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);padding:10px 12px;color:var(--muted);font-size:12px}.paper-review-toolbar label{display:flex;align-items:center;gap:7px;color:var(--text-2);font-weight:700}.paper-question-list{display:grid;gap:10px}.paper-question-card{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:13px}.paper-question-card.duplicate{background:color-mix(in srgb,var(--warning) 4%,var(--surface))}.paper-question-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.paper-question-card>header label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.paper-question-card>header>div{display:flex;align-items:center;gap:5px}.paper-warning-tag,.paper-draft-tag,.paper-ready-tag{display:inline-flex;min-height:24px;align-items:center;border-radius:999px;padding:0 8px;font-size:11px;font-weight:750}.paper-warning-tag,.paper-draft-tag{background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--warning)}.paper-ready-tag{background:var(--accent-soft);color:var(--accent-ink)}.paper-question-grid{display:grid;grid-template-columns:150px 150px minmax(0,1fr);gap:10px}.paper-question-stem-field,.paper-question-options-field{grid-column:1/-1}.paper-question-card .field label{font-size:11px}.paper-question-card .field input,.paper-question-card .field select,.paper-question-card .field textarea{min-height:40px;background:var(--surface-2);font-size:13px}.paper-question-card .field textarea{min-height:68px}.paper-handwriting{margin:10px 0 0;border-top:1px dashed var(--line);padding-top:9px;color:var(--muted);font-size:12px;line-height:1.5}.paper-handwriting i{margin-right:5px;color:var(--accent)}.paper-review-actions{position:sticky;bottom:-18px;z-index:3;display:flex;justify-content:flex-end;gap:8px;margin:0 -18px -18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);padding:12px 18px;backdrop-filter:blur(8px)}

@media(max-width:760px){.paper-upload-grid,.single-ocr-grid{grid-template-columns:1fr}.paper-drop-zone,.paper-source-files .paper-drop-zone,.single-ocr-drop{min-height:240px}.paper-question-grid{grid-template-columns:1fr 1fr}.paper-question-stem-field,.paper-question-options-field{grid-column:1/-1}.paper-import-intro,.paper-review-head{align-items:flex-start}.paper-config-state{flex:none}.paper-review-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.paper-import-tabs,.paper-source-files{grid-template-columns:1fr}.paper-import-intro{align-items:flex-start;flex-direction:column}.paper-upload-grid{gap:12px}.paper-drop-zone,.paper-source-files .paper-drop-zone,.single-ocr-drop{min-height:190px}.single-ocr-actions{grid-template-columns:1fr}.paper-review-head{align-items:stretch;flex-direction:column}.paper-review-head>button{width:100%}.paper-question-grid{grid-template-columns:1fr}.paper-question-stem-field,.paper-question-options-field{grid-column:auto}.paper-question-card>header{align-items:flex-start}.paper-question-card>header>div{flex-wrap:wrap;justify-content:flex-end}.paper-review-actions{display:grid;grid-template-columns:1fr}.paper-review-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.paper-split-status.loading>i{animation:none}}

.toast-region{position:fixed;top:82px;right:18px;z-index:90;display:grid;width:min(340px,calc(100vw - 36px));gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:9px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);box-shadow:var(--shadow);padding:11px 12px;color:var(--text);font-size:13px;animation:toast-in .25s cubic-bezier(.16,1,.3,1)}
.toast i{color:var(--accent);font-size:17px}
@keyframes toast-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.mobile-bottom-nav,.mobile-drawer{display:none}

@media(max-width:1180px){
  :root{--sidebar:218px}
  .main-content{padding-right:22px;padding-left:22px}
  .quick-capture{grid-template-columns:repeat(2,1fr)}
  .home-grid,.content-grid,.insight-grid{grid-template-columns:minmax(0,1fr) 320px}
  .focus-layout{grid-template-columns:minmax(380px,1fr) 300px}
}

@media(max-width:920px){
  .app-shell{display:block}
  .sidebar{display:none}
  .mobile-menu-button{display:grid}
  .topbar{padding:0 16px}
  .main-content{padding:22px 16px 92px}
  .mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);padding:5px 6px calc(5px + env(safe-area-inset-bottom));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .mobile-bottom-nav button{display:grid;min-width:0;min-height:54px;grid-template-rows:28px auto;place-items:center;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}
  .mobile-bottom-nav i{display:grid;width:28px;height:28px;place-items:center;border:1px solid transparent;border-radius:8px;font-size:17px}
  .mobile-bottom-nav span{margin-top:2px}
  .mobile-bottom-nav button.active{background:transparent;color:var(--accent-strong)}
  .mobile-bottom-nav button.active i{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 3px 8px color-mix(in srgb,var(--accent) 18%,transparent)}
  .mobile-drawer{display:block}
  .drawer-panel{position:absolute;top:0;bottom:0;left:0;z-index:1;width:min(310px,84vw);overflow-y:auto;background:var(--surface);padding:16px;transform:translateX(-102%);transition:transform .22s cubic-bezier(.16,1,.3,1)}
  .mobile-drawer.open .drawer-panel{transform:none}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
  .drawer-nav{display:grid;gap:4px;margin-top:24px}
  .drawer-nav button{display:flex;min-height:48px;align-items:center;gap:11px;border:1px solid transparent;border-radius:9px;background:transparent;padding:0 10px;color:var(--text-2);font-size:14px;font-weight:700;text-align:left}
  .drawer-nav button:hover{background:var(--surface-2);color:var(--text)}
  .drawer-nav i{display:grid;width:30px;height:30px;flex:none;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:17px}
  .drawer-nav button.active{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
  .drawer-nav button.active i{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}
  .command-panel{grid-template-columns:minmax(0,1.2fr) minmax(240px,.7fr)}
  .home-grid,.content-grid,.insight-grid,.plan-footer-grid{grid-template-columns:1fr}
  .focus-layout{grid-template-columns:1fr}
  
  .focus-side{grid-template-columns:1fr 1fr}
  .assistant-layout{grid-template-columns:220px minmax(0,1fr)}
  .settings-layout{grid-template-columns:1fr}
  .settings-nav{position:static;display:flex;overflow-x:auto;padding-bottom:3px}
  .settings-nav button{flex:none}
}

@media(max-width:700px){
  :root{--topbar:62px}
  .topbar-title span,.topbar-actions>.icon-button:first-of-type{display:none}
  .topbar{gap:8px;padding:0 12px}
  .topbar-actions{gap:6px}
  .top-add-button{width:38px;padding:0}
  .top-add-button span{display:none}
  .page-head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:17px}
  .page-head h1{font-size:22px}
  .page-head-actions{width:100%;overflow-x:auto;padding-bottom:2px}
  .command-panel{grid-template-columns:1fr}
  .command-main{padding:20px 17px}
  .command-main h2{font-size:22px}
  .command-aside{border-top:1px solid var(--line);border-left:0;padding:17px}
  .exam-large-number{margin-top:12px}
  .exam-large-number strong{font-size:40px}
  .quick-capture{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}
  .quick-capture button{min-height:48px;padding:0 10px}
  .metric-row,.summary-strip{grid-template-columns:1fr 1fr}
  .metric:nth-child(2),.summary-metric:nth-child(2){border-right:0}
  .metric:nth-child(-n+2),.summary-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .task-row{grid-template-columns:30px minmax(0,1fr);padding:10px 12px}
  .task-row .row-actions{grid-column:2;justify-content:flex-end;margin-top:-5px}
  .focus-side{grid-template-columns:1fr}
  
  
  
  .wrong-card{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px}
  .mastery-box{width:42px;height:42px}
  .wrong-actions{grid-column:1/-1;justify-content:flex-end}
  .review-toolbar{align-items:flex-start;flex-direction:column}
  .segmented{max-width:100%;overflow-x:auto}
  .data-table{min-width:620px}
  .section-panel.table-panel{overflow-x:auto}
  .assistant-layout{display:block;min-height:calc(100dvh - 154px)}
  .assistant-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:11px}
  .assistant-sidebar h2,.assistant-sidebar>p,.context-box{display:none}
  .assistant-modes{display:flex;overflow-x:auto}
  .assistant-mode{grid-template-columns:26px auto;min-width:max-content;min-height:42px;padding:6px 8px}
  .assistant-mode i{width:26px;height:26px}
  .assistant-mode small{display:none}
  .assistant-chat{min-height:calc(100dvh - 220px);grid-template-rows:auto minmax(360px,1fr) auto}
  .chat-messages{padding:14px}
  .suggestion-grid{grid-template-columns:1fr}
  .message{max-width:94%}
  .resource-grid{grid-template-columns:1fr}
  .settings-section-head{align-items:flex-start;flex-direction:column}
  .form-grid,.profile-editor{grid-template-columns:1fr}
  .avatar-editor{justify-content:start;text-align:left}
  .provider-grid{grid-template-columns:1fr 1fr}
  .demo-data-panel{grid-template-columns:36px minmax(0,1fr);align-items:start;padding:12px}
  .demo-data-icon{width:36px;height:36px}
  .demo-data-panel>button{grid-column:1/-1;width:100%}
  .settings-action-grid{grid-template-columns:1fr}
  .review-outcomes,.scan-grid{grid-template-columns:1fr}
}

@media(max-width:430px){
  .main-content{padding-right:10px;padding-left:10px}
  .topbar-title strong{font-size:14px}
  .page-head p{font-size:14px}
  .quick-capture button{font-size:13px}
  .section-head{padding:0 13px}
  .section-body{padding:13px}
  .command-actions{display:grid;grid-template-columns:1fr}
  .command-actions button{width:100%}
  .summary-metric,.metric{padding:14px 12px}
  .summary-metric strong,.metric strong{font-size:21px}
  
  .focus-controls{flex-wrap:wrap}
  
  .review-toolbar .primary-button{width:100%}
  .provider-grid{grid-template-columns:1fr}
  .modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  .sample-notice{align-items:flex-start;flex-wrap:wrap}.sample-notice span{flex-basis:calc(100% - 24px)}.sample-notice button{margin-left:23px}
}

/* Local question bank */
.main-content:has(.practice-view){width:min(100%,1640px)}
.practice-view .page-head{margin-bottom:16px}
.practice-view .question-bank-summary{margin-bottom:14px}
.question-bank-tabs{display:flex;width:max-content;max-width:100%;gap:4px;margin:2px 0 18px;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:4px;box-shadow:var(--shadow-soft)}
.question-bank-tabs button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border-radius:8px;background:transparent;color:var(--muted);padding:0 14px;font-size:13px;font-weight:750;white-space:nowrap;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
.question-bank-tabs button i{font-size:17px}
.question-bank-tabs button.active{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent)}
.question-start-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:30px;box-shadow:var(--shadow-soft)}
.question-start-copy{align-self:center;max-width:600px}
.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.02em}
.question-start-copy h2{max-width:440px;margin:12px 0 10px;font-size:28px;line-height:1.22;letter-spacing:-.025em}
.question-start-copy p{max-width:560px;margin:0;color:var(--text-2);font-size:14px;line-height:1.75}
.question-start-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:18px}
.question-start-form label{display:grid;gap:7px}
.question-start-form label>span{color:var(--text-2);font-size:11px;font-weight:750}
.question-start-form select{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 11px}
.question-start-form label:first-child,.question-start-button{grid-column:1/-1}
.question-start-button{margin-top:3px}
.local-data-note{grid-column:1/-1;display:flex;align-items:flex-start;gap:7px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:11px;line-height:1.55}
.local-data-note i{margin-top:2px;color:var(--accent-strong);font-size:15px}
.question-empty-inline{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-2);padding:18px}
.question-empty-inline>i{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:21px}
.question-empty-inline strong,.question-empty-inline span{display:block}.question-empty-inline span{margin-top:4px;color:var(--muted);font-size:11px}.question-empty-inline button{grid-column:1/-1}

.question-session-card{max-width:900px;margin:0 auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:22px 26px 26px;box-shadow:var(--shadow-soft)}
.question-session-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:750}
.question-progress{height:5px;margin:13px 0 24px;overflow:hidden;border-radius:999px;background:var(--surface-3)}
.question-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .28s ease}
.question-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.question-meta span{display:inline-flex;min-height:24px;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text-2);padding:0 9px;font-size:10px;font-weight:700}
.question-meta span:first-child{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
.question-stem{margin:20px 0 18px;font-size:20px;line-height:1.65;letter-spacing:-.012em}
.question-hint{margin:-8px 0 14px;color:var(--muted);font-size:11px}
.question-options{display:grid;gap:10px}
.question-option{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;min-height:56px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);padding:9px 14px;text-align:left;transition:border-color .15s ease,background-color .15s ease,transform .1s ease}
.question-option:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface);transform:translateY(-1px)}
.question-option.selected{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:var(--accent-soft)}
.question-option.is-correct{border-color:color-mix(in srgb,var(--success) 55%,var(--line));background:color-mix(in srgb,var(--success) 10%,var(--surface))}
.question-option.is-wrong{border-color:color-mix(in srgb,var(--danger) 48%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}
.question-option>i{color:var(--success);font-size:19px}
.question-option-key{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-2);font:750 12px/1 var(--mono)}
.question-option.selected .question-option-key{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}
.question-short-answer{display:grid;gap:9px}.question-short-answer>span{color:var(--text-2);font-size:12px;font-weight:750}.question-short-answer textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:13px;line-height:1.7}
.question-session-actions{display:flex;justify-content:flex-end;margin-top:20px}
.question-feedback{margin-top:18px;border:1px solid var(--line);border-left-width:4px;border-radius:10px;background:var(--surface-2);padding:16px 18px}
.question-feedback.correct{border-left-color:var(--success)}.question-feedback.wrong{border-left-color:var(--danger)}.question-feedback.pending{border-left-color:var(--warning)}
.question-feedback-title{display:flex;align-items:center;gap:8px}.question-feedback-title i{font-size:20px}.question-feedback.correct .question-feedback-title{color:var(--success)}.question-feedback.wrong .question-feedback-title{color:var(--danger)}.question-feedback.pending .question-feedback-title{color:var(--warning)}
.question-feedback dl{display:grid;gap:11px;margin:14px 0 0}.question-feedback dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.question-feedback dt{color:var(--muted);font-size:11px;font-weight:750}.question-feedback dd{margin:0;color:var(--text-2);font-size:13px;line-height:1.7}
.self-grade-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}

.question-result-card{max-width:760px;margin:0 auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:36px;text-align:center;box-shadow:var(--shadow-soft)}
.question-result-mark{display:grid;width:58px;height:58px;margin:0 auto 14px;place-items:center;border-radius:16px;background:var(--accent-soft);color:var(--accent-strong);font-size:28px}
.question-result-card h2{margin:8px 0 3px;font:800 44px/1.1 var(--mono);letter-spacing:-.04em}.question-result-card>p{margin:8px 0 22px;color:var(--text-2);font-size:13px}
.question-result-breakdown{display:grid;grid-template-columns:repeat(3,1fr);max-width:520px;margin:0 auto;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.question-result-breakdown div{padding:14px}.question-result-breakdown div+div{border-left:1px solid var(--line)}.question-result-breakdown span,.question-result-breakdown strong{display:block}.question-result-breakdown span{color:var(--muted);font-size:10px}.question-result-breakdown strong{margin-top:5px;font-size:15px}
.question-result-actions{display:flex;justify-content:center;gap:9px;margin-top:22px}

.question-bank-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:16px}
.question-bank-main{min-width:0}
.question-bank-rail{position:sticky;top:calc(var(--topbar) + 14px);display:grid;gap:12px}
.question-rail-card{min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:17px 18px;box-shadow:var(--shadow-soft)}
.question-next-card{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:linear-gradient(145deg,var(--accent-soft),var(--surface) 68%)}
.question-rail-label{display:flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:11px;font-weight:800}
.question-rail-label i{font-size:17px}
.question-next-card h2{margin:13px 0 7px;font-size:20px;line-height:1.35;letter-spacing:-.02em}
.question-next-card p{margin:0;color:var(--text-2);font-size:12px;line-height:1.65}
.question-next-card .primary-button{width:100%;margin-top:17px}
.question-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.question-rail-head h2{margin:0;font-size:14px;letter-spacing:-.01em}
.question-rail-head>span{color:var(--muted);font:700 11px/1 var(--mono)}
.question-rail-stats{display:grid;margin:0}
.question-rail-stats div{display:flex;min-height:37px;align-items:center;justify-content:space-between;gap:12px}
.question-rail-stats div+div{border-top:1px solid var(--line)}
.question-rail-stats dt{color:var(--text-2);font-size:12px}
.question-rail-stats dd{margin:0;font:760 15px/1 var(--mono)}
.question-subject-list{display:grid;margin:0;padding:0;list-style:none}
.question-subject-list li{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px}
.question-subject-list li+li{border-top:1px solid var(--line)}
.question-subject-list span{overflow:hidden;color:var(--text-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.question-subject-list strong{flex:none;font:720 11px/1 var(--mono)}
.question-rail-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.question-data-card{display:grid;gap:15px}
.question-data-status{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}
.question-data-status>i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:18px}
.question-data-status strong,.question-data-status span{display:block}
.question-data-status strong{font-size:12px}
.question-data-status span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}
.question-data-card .secondary-button{width:100%}
.question-library-panel{overflow:hidden;container-type:inline-size}.question-library-head{align-items:center}.question-library-head>div:first-child{min-width:0}.section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.question-library-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 170px 150px;gap:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-2);padding:12px 18px}
.question-search{display:flex;min-height:42px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 11px}.question-search i{color:var(--muted)}.question-search input{width:100%;height:40px;border:0;background:transparent;outline:0;font-size:13px}
.question-library-toolbar select{height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:0 10px;font-size:12px}
.question-library-list{display:grid}.question-library-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 72px;align-items:center;gap:14px;padding:16px 18px}.question-library-row+.question-library-row{border-top:1px solid var(--line)}.question-library-row:hover{background:color-mix(in srgb,var(--surface-2) 75%,transparent)}
.question-library-main{min-width:0}.question-library-main h3{overflow:hidden;margin:9px 0 5px;font-size:14px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.question-library-main p{overflow:hidden;margin:0;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.question-meta .question-incomplete{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--surface));color:var(--warning)}
.question-library-stats{text-align:right}.question-library-stats span,.question-library-stats strong{display:block}.question-library-stats span{color:var(--muted);font-size:10px}.question-library-stats strong{margin-top:4px;font:750 15px/1 var(--mono)}
.question-library-actions{display:flex;justify-content:flex-end;gap:4px}.question-library-footer{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);background:var(--surface-2);padding:11px 18px;color:var(--muted);font-size:10px}.question-library-footer span{display:inline-flex;align-items:center;gap:6px}.question-library-footer i{color:var(--accent-strong);font-size:14px}

@container(max-width:720px){
  .question-library-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:flex-start}.question-library-head .section-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.question-library-head .section-actions button{width:100%;justify-content:center}
}

@media(max-width:1180px){
  .question-bank-workspace{grid-template-columns:1fr}.question-bank-rail{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.question-next-card{grid-row:span 2}.question-data-card{grid-column:2/-1}
}
@media(max-width:920px){
  .question-start-card{grid-template-columns:1fr}.question-start-copy{max-width:none}.local-data-note{grid-column:auto}
  .question-library-toolbar{grid-template-columns:1fr 1fr}.question-search{grid-column:1/-1}
}
@media(max-width:700px){
  .question-bank-rail{grid-template-columns:1fr}.question-next-card{grid-row:auto}.question-data-card{grid-column:auto}
  .question-bank-summary .summary-metric:nth-child(n+3){border-top:1px solid var(--line)}
  .question-bank-tabs{width:100%;overflow-x:auto}.question-bank-tabs button{flex:1;padding:0 10px}
  .question-start-card,.question-session-card,.question-result-card{border-radius:11px;padding:18px}
  .question-start-copy h2{font-size:23px}.question-start-form{padding:13px}.question-stem{font-size:17px;line-height:1.65}
  .question-library-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:flex-start}.question-library-head .section-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.question-library-head .section-actions button{width:100%;justify-content:center}
  .question-library-toolbar{grid-template-columns:1fr;padding:11px 12px}.question-search{grid-column:auto}
  .question-library-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 12px}.question-library-main{grid-column:1/-1}.question-library-main h3{white-space:normal}.question-library-stats{text-align:left}.question-library-footer{align-items:flex-start;flex-direction:column;padding:11px 12px}
  .question-feedback dl div{grid-template-columns:1fr;gap:4px}.question-result-breakdown{grid-template-columns:1fr}.question-result-breakdown div+div{border-top:1px solid var(--line);border-left:0}.question-result-actions,.self-grade-actions{align-items:stretch;flex-direction:column}.question-result-actions button,.self-grade-actions button{width:100%}
}
@media(max-width:430px){
  .question-bank-tabs button span{display:none}.question-bank-tabs button{font-size:11px}.question-start-form{grid-template-columns:1fr}.question-start-form label:first-child,.question-start-button{grid-column:auto}.question-option{grid-template-columns:30px minmax(0,1fr) 18px;padding:9px 10px}.question-session-card{padding:15px}.question-result-card h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.question-progress span,.question-option{transition:none}}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media(prefers-reduced-transparency:reduce){
  .topbar,.mobile-bottom-nav{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  .modal-backdrop,.drawer-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}

.copy-button{position:absolute;top:8px;right:8px;min-height:28px;width:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--muted);font-size:13px;cursor:pointer;opacity:0;transition:opacity .14s ease}
.message:hover .copy-button{opacity:1}
.copy-button:hover{background:var(--surface-2);color:var(--text)}

.ai-strong{color:#1a6b8a;font-weight:700}
.ai-point{position:relative;margin:6px 0;padding-left:14px;border-left:3px solid #5b9aa0;line-height:1.7}
.ai-point::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#5b9aa0 0%,#a8d5ba 100%);border-radius:2px}
.message.assistant p{margin:0 0 8px;line-height:1.75}
.message.assistant p:last-child{margin-bottom:0}

.ai-mark{background:linear-gradient(180deg,#fef3c7 0%,#fde68a 100%);border-radius:3px;padding:1px 4px;color:#92400e;font-weight:600}
.ai-underline{text-decoration:underline;text-decoration-color:#5b9aa0;text-underline-offset:3px;text-decoration-thickness:2px}













.composer-box{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:6px 8px}
#assistantInput{flex:1;min-height:36px;max-height:260px;border:0;border-radius:0;background:transparent;padding:4px 0;font-size:14px;line-height:1.5;resize:none;outline:0;font-family:inherit}
.composer-send{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:var(--accent);color:var(--accent-contrast);font-size:14px;cursor:pointer}
.composer-send:hover{opacity:.85}
.chat-composer{border-top:1px solid var(--line);padding:10px 14px 12px;background:var(--bg)}
.composer-hint{margin:6px 0 0;color:var(--muted);font-size:11px;text-align:center}
.expedition-layout{grid-template-columns:minmax(560px,1.55fr) minmax(300px,.62fr);gap:16px;align-items:start}
.summit-stage{--climb-cycle:2.4s;position:relative;isolation:isolate;display:grid;min-height:640px;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(218,227,225,.16);border-radius:14px;background:#101b28;box-shadow:0 24px 60px rgba(34,48,57,.18)}
.summit-stage::after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -90px 120px rgba(5,12,18,.34);pointer-events:none}
.expedition-heading{position:absolute;top:0;left:0;right:0;z-index:8;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;color:#edf2ef;pointer-events:none}
.expedition-stage-name{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid rgba(234,240,237,.16);border-radius:9px;background:rgba(12,21,29,.38);padding:0 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%);font-size:13px;font-weight:760}
.expedition-stage-name i{color:#ed7965;font-size:17px}
.expedition-countdown{display:flex;align-items:baseline;gap:6px;text-align:right}
.expedition-countdown strong{font:760 32px/1 var(--mono);letter-spacing:-1px}
.expedition-countdown span{color:rgba(237,242,239,.7);font-size:12px;font-weight:650}
.expedition-countdown button{min-height:34px;border:1px solid rgba(234,240,237,.22);border-radius:8px;background:rgba(12,21,29,.54);padding:0 11px;color:#edf2ef;font-size:12px;font-weight:750;pointer-events:auto}
.summit-scene{position:absolute;inset:0;overflow:hidden}
.summit-illustration{display:block;width:100%;height:100%}
.summit-cloud{transform:translate3d(0,0,0)}
.summit-cloud-back{animation:summit-cloud-drift 24s ease-in-out infinite alternate}
.summit-cloud-front{animation:summit-mist-drift 18s ease-in-out infinite alternate}
.summit-light{animation:summit-light-breathe 6s ease-in-out infinite}
#summitRoute{animation:summit-route-march 2.4s linear infinite}
#summitRouteActive{transition:stroke-dashoffset .9s linear;filter:drop-shadow(0 0 5px rgba(224,103,82,.36))}
.summit-marker circle{fill:#dce3df;stroke:#15222c;stroke-width:3}
.summit-marker text{fill:rgba(235,241,237,.68);font:650 11px/1 var(--font);paint-order:stroke;stroke:rgba(10,18,24,.45);stroke-width:3px}
.summit-beacon>circle:not(.beacon-ring){fill:#ed7965}
.summit-beacon .beacon-ring{fill:none;stroke:#ed7965;stroke-width:2;opacity:.42}
.summit-beacon path{fill:#ed7965;stroke:#5f241d;stroke-width:1.5;stroke-linejoin:round}
.summit-stage.running .beacon-ring{animation:summit-beacon-pulse 2.2s ease-out infinite}
.silhouette-mountain-far{fill:#4d6672;opacity:.34}
.silhouette-mountain-mid{fill:#334a54;opacity:.62}
.mountain-ridge-light{fill:none;stroke:url(#ridgeLight);stroke-width:5;stroke-linecap:round}
.mountain-rock-cuts{fill:none;stroke:rgba(165,180,179,.16);stroke-width:2.5;stroke-linecap:round}
.mountain-climber{will-change:transform}
.flash-stickman-rig{filter:drop-shadow(0 2px 1px rgba(2,7,10,.82))}
.climber-contact-shadow{fill:rgba(3,8,10,.34);filter:blur(1.2px)}
.climber-spine{fill:none;stroke:#f2f0e9;stroke-width:4.2;stroke-linecap:round}
.climber-head-ring{fill:#1a272d;stroke:#f2f0e9;stroke-width:3.1}
.climber-joint,.climber-hand{fill:#f2f0e9}
.climber-arm path,.climber-leg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.climber-arm-front path,.climber-leg-front path{stroke:#f2f0e9;stroke-width:4.1}
.climber-arm-rear path,.climber-leg-rear path{stroke:#bcc7c6;stroke-width:3.6}
.climber-rear-hand{fill:#bcc7c6}
.climber-foot{stroke-width:4.4!important}
.climber-body-cycle,.climber-head,.climber-front-upper-arm,.climber-front-forearm,.climber-rear-upper-arm,.climber-rear-forearm,.climber-front-thigh,.climber-front-shin,.climber-front-foot,.climber-rear-thigh,.climber-rear-shin,.climber-rear-foot{transform-box:view-box;will-change:transform}
.climber-body-cycle{transform-origin:10px -24px}
.climber-head{transform-origin:22px -59px}
.climber-front-upper-arm,.climber-rear-upper-arm{transform-origin:18px -46px}
.climber-front-forearm{transform-origin:34px -51px}
.climber-rear-forearm{transform-origin:14px -32px}
.climber-front-thigh,.climber-rear-thigh{transform-origin:10px -24px}
.climber-front-shin{transform-origin:27px -21px}
.climber-rear-shin{transform-origin:-2px -13px}
.climber-front-foot{transform-origin:41px -13px}
.climber-rear-foot{transform-origin:-6px 1px}
.summit-stage.running .climber-body-cycle{animation:silhouette-torso-pull var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-head{animation:flash-head-counter var(--climb-cycle) ease-in-out infinite}
.summit-stage.running .climber-front-upper-arm{animation:silhouette-front-arm-reach var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-front-forearm{animation:silhouette-front-forearm-grip var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-rear-upper-arm{animation:silhouette-rear-arm-reach var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-rear-forearm{animation:silhouette-rear-forearm-grip var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-front-thigh{animation:silhouette-front-knee-drive var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-front-shin{animation:silhouette-front-foot-place var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-rear-thigh{animation:silhouette-rear-leg-push var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-rear-shin{animation:silhouette-rear-foot-push var(--climb-cycle) cubic-bezier(.37,.08,.2,1) infinite}
.summit-stage.running .climber-contact-shadow{animation:climber-contact-pressure var(--climb-cycle) ease-in-out infinite}
.focus-mission-plate{position:absolute;top:72px;left:22px;z-index:8;display:grid;max-width:min(62%,520px);grid-template-columns:minmax(0,1fr) 30px;gap:4px 8px;border-left:2px solid #ed7965;background:linear-gradient(90deg,rgba(10,18,24,.66),rgba(10,18,24,.12));padding:10px 12px;color:#eef2ef;text-shadow:0 1px 10px rgba(3,8,12,.5)}
.focus-mission-plate span{color:rgba(237,242,239,.6);font-size:11px;font-weight:700}
.focus-mission-plate strong{grid-column:1/-1;overflow:hidden;font-size:14px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}
.focus-mission-plate button{display:grid;width:30px;height:30px;place-items:center;border-radius:7px;background:transparent;color:rgba(237,242,239,.68)}
.focus-mission-plate button:hover{background:rgba(255,255,255,.1);color:#fff}
.focus-clock-deck{position:relative;z-index:9;display:flex;min-height:104px;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;border-top:1px solid rgba(224,231,227,.13);background:linear-gradient(90deg,rgba(7,14,20,.92),rgba(18,29,37,.76));padding:16px 20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.focus-clock-copy{display:grid;gap:5px}
.focus-time{color:#f0f3f0;font:770 45px/.95 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-2px}
.focus-state{color:rgba(235,241,237,.62);font-size:12px;font-weight:650}
.focus-controls{display:flex;align-items:center;gap:9px;padding:0;background:transparent}
.focus-start-button,.focus-reset-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:0 15px;font-size:13px;font-weight:800;white-space:nowrap;transition:transform .12s ease,background-color .18s ease,border-color .18s ease}
.focus-start-button{border:1px solid #e46b58;background:#d55745;color:#fff;box-shadow:0 8px 20px rgba(105,35,25,.3),inset 0 1px 0 rgba(255,255,255,.18)}
.focus-start-button:hover{background:#e26753}
.focus-reset-button{border:1px solid rgba(235,241,237,.22);background:rgba(235,241,237,.07);color:#edf2ef}
.focus-reset-button:hover{background:rgba(235,241,237,.13)}
.focus-start-button:active,.focus-reset-button:active{transform:translateY(1px)}
.focus-side{display:grid;gap:12px}
.focus-route-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-soft)}
.focus-route-card>header{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:0 15px}
.focus-route-card>header>span{color:var(--text-2);font-size:13px;font-weight:800}
.focus-route-card>header>strong{color:var(--accent-strong);font:760 18px/1 var(--mono)}
.focus-route-card>header>button{background:transparent;color:var(--accent-strong);font-size:12px;font-weight:750}
.route-position-copy{display:grid;gap:4px;padding:15px}
.route-position-copy strong{font-size:20px;letter-spacing:-.3px}
.route-position-copy span{color:var(--muted);font-size:12px}
.next-camp{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;margin:0 15px 15px;border-radius:9px;background:var(--surface-2);padding:10px}
.next-camp>i{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:17px}
.next-camp span,.next-camp strong{display:block}
.next-camp span{color:var(--muted);font-size:11px}
.next-camp strong{margin-top:3px;font-size:12px}
.daily-ascent-number{display:flex;align-items:baseline;gap:6px;padding:14px 15px 5px}
.daily-ascent-number strong{font:780 34px/1 var(--mono);letter-spacing:-1.5px}
.daily-ascent-number span{color:var(--muted);font-size:12px;font-weight:650}
.daily-ascent-meta{display:flex;gap:18px;padding:4px 15px 13px;color:var(--muted);font-size:11px}
.daily-ascent-meta b{color:var(--text);font:750 12px/1 var(--mono)}
.focus-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 15px 14px}
.focus-presets button{display:grid;min-width:0;min-height:48px;place-content:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);font:760 16px/1 var(--mono)}
.focus-presets button span{margin-top:5px;color:var(--muted);font:650 10px/1 var(--font)}
.focus-presets button:hover{border-color:var(--line-strong);background:var(--surface-3)}
.focus-presets button.active{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}
.focus-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 15px}
.focus-setting-row strong,.focus-setting-row span{display:block}
.focus-setting-row strong{font-size:12px}
.focus-setting-row span{margin-top:3px;color:var(--muted);font-size:11px}
.focus-break-button{display:grid;width:100%;min-height:42px;grid-template-columns:20px minmax(0,1fr) 16px;align-items:center;gap:7px;border-top:1px solid var(--line);background:transparent;padding:0 15px;color:var(--text-2);font-size:12px;text-align:left}
.focus-break-button:hover{background:var(--surface-2);color:var(--text)}
.focus-break-button i:last-child{color:var(--muted)}
.focus-trend{display:grid;height:112px;grid-template-columns:repeat(7,1fr);align-items:end;gap:7px;padding:14px 15px 10px}
.focus-trend-day{display:grid;height:100%;grid-template-rows:minmax(0,1fr) 14px;gap:5px;text-align:center}
.focus-trend-day>div{display:flex;height:100%;align-items:flex-end;justify-content:center}
.focus-trend-day i{display:block;width:6px;min-height:3px;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 58%,var(--text)));opacity:.78}
.focus-trend-day span{color:var(--muted);font:650 10px/1 var(--font)}
.focus-recent-compact{border-top:1px solid var(--line);padding:5px 15px 8px}
.focus-recent-compact>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0}
.focus-recent-compact strong{font-size:11px}
.focus-recent-compact span{color:var(--muted);font:650 11px/1 var(--mono)}
.focus-empty-log{margin:0;border-top:1px solid var(--line);padding:13px 15px;color:var(--muted);font-size:11px;line-height:1.55}
.focus-history-list{display:grid}
.focus-history-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 2px;border-bottom:1px solid var(--line)}
.focus-history-list>div:last-child{border-bottom:0}
.focus-history-list span{color:var(--text-2);font-size:13px}
.focus-history-list strong{font:700 12px/1 var(--mono)}
body[data-theme="dark"] .focus-route-card{background:var(--surface);border-color:var(--line)}
body[data-theme="dark"] .next-camp,body[data-theme="dark"] .focus-presets button{background:var(--surface-2)}
@keyframes summit-cloud-drift{from{transform:translate3d(-3%,2px,0)}to{transform:translate3d(4%,-6px,0)}}
@keyframes summit-mist-drift{from{transform:translate3d(-6%,4px,0)}to{transform:translate3d(5%,-4px,0)}}
@keyframes summit-light-breathe{0%,100%{opacity:.72;transform:scale(.96);transform-origin:694px 80px}50%{opacity:1;transform:scale(1.04);transform-origin:694px 80px}}
@keyframes summit-route-march{to{stroke-dashoffset:-30}}
@keyframes summit-beacon-pulse{0%{opacity:.7;transform:scale(.7)}75%,100%{opacity:0;transform:scale(1.8)}}
@keyframes silhouette-torso-pull{0%,100%{transform:translate3d(0,1px,0) rotate(-2deg)}12%{transform:translate3d(-1px,3px,0) rotate(-5deg)}28%{transform:translate3d(1px,1px,0) rotate(-3deg)}45%{transform:translate3d(4px,-4px,0) rotate(1deg)}55%{transform:translate3d(6px,-8px,0) rotate(2deg)}66%{transform:translate3d(4px,-5px,0) rotate(-1deg)}78%{transform:translate3d(3px,-3px,0) rotate(-4deg)}90%{transform:translate3d(5px,-7px,0) rotate(1deg)}}
@keyframes flash-head-counter{0%,100%{transform:rotate(2deg)}12%{transform:rotate(5deg)}28%{transform:rotate(3deg)}55%{transform:rotate(-2deg)}66%{transform:rotate(1deg)}78%{transform:rotate(4deg)}90%{transform:rotate(-1deg)}}
@keyframes silhouette-front-arm-reach{0%,100%{transform:rotate(8deg)}12%{transform:rotate(-10deg)}28%{transform:rotate(-18deg)}45%{transform:rotate(-7deg)}55%{transform:rotate(5deg)}66%{transform:rotate(12deg)}78%{transform:rotate(15deg)}90%{transform:rotate(10deg)}}
@keyframes silhouette-front-forearm-grip{0%,100%{transform:rotate(14deg)}12%{transform:rotate(-8deg)}28%{transform:rotate(-14deg)}45%{transform:rotate(10deg)}55%{transform:rotate(24deg)}66%{transform:rotate(16deg)}78%{transform:rotate(8deg)}90%{transform:rotate(12deg)}}
@keyframes silhouette-rear-arm-reach{0%,100%{transform:rotate(-12deg)}12%{transform:rotate(3deg)}28%{transform:rotate(12deg)}45%{transform:rotate(16deg)}55%{transform:rotate(-3deg)}66%{transform:rotate(-12deg)}78%{transform:rotate(-20deg)}90%{transform:rotate(-18deg)}}
@keyframes silhouette-rear-forearm-grip{0%,100%{transform:rotate(12deg)}12%{transform:rotate(18deg)}28%{transform:rotate(22deg)}45%{transform:rotate(10deg)}55%{transform:rotate(-6deg)}66%{transform:rotate(-12deg)}78%{transform:rotate(-16deg)}90%{transform:rotate(8deg)}}
@keyframes silhouette-front-knee-drive{0%,100%{transform:rotate(-10deg)}12%{transform:rotate(-22deg)}28%{transform:rotate(-14deg)}45%{transform:rotate(4deg)}55%{transform:rotate(12deg)}66%{transform:rotate(5deg)}78%{transform:rotate(-15deg)}90%{transform:rotate(-18deg)}}
@keyframes silhouette-front-foot-place{0%,100%{transform:rotate(8deg)}12%{transform:rotate(18deg)}28%{transform:rotate(3deg)}45%{transform:rotate(-8deg)}55%{transform:rotate(-12deg)}66%{transform:rotate(-4deg)}78%{transform:rotate(15deg)}90%{transform:rotate(12deg)}}
@keyframes silhouette-rear-leg-push{0%,100%{transform:rotate(5deg)}12%{transform:rotate(12deg)}28%{transform:rotate(16deg)}45%{transform:rotate(10deg)}55%{transform:rotate(-10deg)}66%{transform:rotate(-16deg)}78%{transform:rotate(-8deg)}90%{transform:rotate(2deg)}}
@keyframes silhouette-rear-foot-push{0%,100%{transform:rotate(-4deg)}12%{transform:rotate(-10deg)}28%{transform:rotate(-16deg)}45%{transform:rotate(-12deg)}55%{transform:rotate(10deg)}66%{transform:rotate(18deg)}78%{transform:rotate(12deg)}90%{transform:rotate(0)}}
@keyframes climber-contact-pressure{0%,100%{opacity:.32;transform:scaleX(.82)}12%{opacity:.46;transform:scaleX(.94)}55%{opacity:.62;transform:scaleX(1.08)}66%{opacity:.34;transform:scaleX(.76)}90%{opacity:.58;transform:scaleX(1)}}
@media(max-width:1180px){.expedition-layout{grid-template-columns:minmax(480px,1fr) 300px}.summit-stage{min-height:600px}.focus-mission-plate{max-width:70%}}
@media(max-width:920px){.expedition-layout{grid-template-columns:1fr}.focus-side{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-route-card-log{grid-column:1/-1}.summit-stage{min-height:590px}}
@media(max-width:640px){.focus-view .page-head{align-items:flex-start}.focus-view .page-head-actions{width:100%}.focus-view .page-head-actions .secondary-button{width:100%}.summit-stage{min-height:600px;border-radius:12px}.expedition-heading{padding:14px}.expedition-stage-name{max-width:58%;overflow:hidden}.expedition-stage-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expedition-countdown strong{font-size:26px}.focus-mission-plate{top:62px;left:14px;max-width:calc(100% - 28px)}.focus-clock-deck{align-items:stretch;flex-direction:column;gap:13px;padding:15px}.focus-clock-copy{justify-items:center}.focus-time{font-size:41px}.focus-controls{display:grid;grid-template-columns:1fr auto}.focus-start-button{width:100%}.focus-side{grid-template-columns:1fr}.focus-route-card-log{grid-column:auto}.summit-illustration{width:138%;margin-left:-27%}}
@media(prefers-reduced-motion:reduce){.summit-stage *{animation:none!important;transition:none!important}.summit-cloud-back{transform:translateX(-2%)}.summit-cloud-front{transform:translateX(1%)}}

/* Countdown-synced focus hourglass */
.hourglass-layout{grid-template-columns:minmax(560px,1.55fr) minmax(300px,.62fr);gap:16px;align-items:start}
.hourglass-stage{--upper-sand-scale:1;--lower-sand-scale:.035;position:relative;isolation:isolate;display:grid;min-height:640px;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(207,226,216,.16);border-radius:14px;background:radial-gradient(circle at 50% 43%,rgba(81,151,113,.2),transparent 34%),radial-gradient(circle at 50% 78%,rgba(39,95,68,.15),transparent 32%),linear-gradient(145deg,#1b2c27 0%,#101a17 58%,#0c1412 100%);box-shadow:0 24px 60px rgba(25,53,41,.18)}
.hourglass-stage::after{content:"";position:absolute;inset:0;z-index:7;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -100px 130px rgba(3,10,7,.28);pointer-events:none}
.hourglass-heading{position:absolute;top:0;right:0;left:0;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;color:#edf3ef;pointer-events:none}
.hourglass-stage-name{display:inline-flex;min-height:34px;align-items:center;gap:8px;border:1px solid rgba(232,241,236,.16);border-radius:9px;background:rgba(10,20,16,.42);padding:0 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07);font-size:13px;font-weight:760;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}
.hourglass-stage-name i{color:#78c49c;font-size:18px}
.hourglass-countdown{display:flex;align-items:baseline;gap:6px;text-align:right}
.hourglass-countdown strong{font:760 32px/1 var(--mono);letter-spacing:-1px}
.hourglass-countdown span{color:rgba(237,243,239,.68);font-size:12px;font-weight:650}
.hourglass-countdown button{min-height:34px;border:1px solid rgba(232,241,236,.22);border-radius:8px;background:rgba(10,20,16,.54);padding:0 11px;color:#edf3ef;font-size:12px;font-weight:750;pointer-events:auto}
.hourglass-scene{position:absolute;inset:0 0 104px;display:grid;place-items:center;overflow:hidden;padding:98px 24px 28px}
.hourglass-aura{position:absolute;width:min(64%,470px);aspect-ratio:1;border:1px solid rgba(130,194,160,.08);border-radius:50%;background:radial-gradient(circle,rgba(96,174,132,.16) 0,rgba(61,119,88,.08) 36%,transparent 68%);opacity:.88}
.hourglass-instrument{position:relative;z-index:2;display:grid;justify-items:center;gap:18px;transform:translateY(40px)}
.hourglass-frame{position:relative;width:248px;height:338px;filter:drop-shadow(0 22px 26px rgba(0,0,0,.3))}
.hourglass-cap{position:absolute;right:0;left:0;z-index:4;height:22px;border:1px solid rgba(224,239,231,.28);border-radius:9px;background:linear-gradient(180deg,#d6e0db 0%,#8b9c94 18%,#3c4c45 52%,#17231f 100%);box-shadow:inset 0 2px 1px rgba(255,255,255,.35),0 7px 16px rgba(0,0,0,.25)}
.hourglass-cap span{position:absolute;inset:5px 18px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 38%,rgba(0,0,0,.22))}
.hourglass-cap-top{top:0}
.hourglass-cap-bottom{bottom:0;transform:rotate(180deg)}
.hourglass-rail{position:absolute;top:17px;bottom:17px;z-index:3;width:12px;border:1px solid rgba(217,232,224,.22);border-radius:8px;background:linear-gradient(90deg,#1b2923,#87978f 45%,#2c3b35 76%,#111b17);box-shadow:inset 1px 0 rgba(255,255,255,.18),0 7px 14px rgba(0,0,0,.24)}
.hourglass-rail-left{left:19px;transform:skewX(-3deg)}
.hourglass-rail-right{right:19px;transform:skewX(3deg)}
.hourglass-glass{position:absolute;top:28px;right:40px;bottom:28px;left:40px;z-index:2;isolation:isolate}
.hourglass-glass::after{content:"";position:absolute;inset:-2px -18px;z-index:6;clip-path:polygon(8% 0,92% 0,58% 44%,58% 56%,92% 100%,8% 100%,42% 56%,42% 44%);background:linear-gradient(102deg,transparent 36%,rgba(238,250,244,.08) 44%,rgba(247,255,251,.38) 50%,rgba(220,242,231,.09) 57%,transparent 66%);opacity:.08;transform:translateX(-112px) skewX(-7deg);pointer-events:none}
.hourglass-chamber{position:absolute;right:0;left:0;height:47%;overflow:hidden;background:linear-gradient(90deg,rgba(214,237,226,.04),rgba(222,242,232,.17) 22%,rgba(255,255,255,.05) 52%,rgba(188,221,205,.13) 79%,rgba(204,230,217,.03));box-shadow:inset 0 0 0 1px rgba(220,239,230,.22),inset 18px 0 20px rgba(226,244,235,.035)}
.hourglass-chamber::after{content:"";position:absolute;top:6%;bottom:8%;left:21%;width:9%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0));transform:rotate(5deg);opacity:.7}
.hourglass-chamber-upper{top:0;clip-path:polygon(4% 0,96% 0,62% 88%,55% 100%,45% 100%,38% 88%)}
.hourglass-chamber-lower{bottom:0;clip-path:polygon(45% 0,55% 0,62% 12%,96% 100%,4% 100%,38% 12%)}
.hourglass-neck{position:absolute;top:50%;left:50%;z-index:3;width:17px;height:22px;border-right:1px solid rgba(218,239,228,.2);border-left:1px solid rgba(218,239,228,.2);background:rgba(219,240,229,.05);transform:translate(-50%,-50%)}
.hourglass-sand{position:absolute;inset:0;background:linear-gradient(110deg,#4d9e73,#83c9a1 46%,#a5d9bc 62%,#5baa80);transition:transform .9s linear;will-change:transform}
.hourglass-sand>span{position:absolute;top:-5px;right:-12%;left:-12%;height:12px;border-radius:50%;background:linear-gradient(90deg,#438d66,#a4dbbc 52%,#5aaf81);opacity:.74}
.hourglass-sand-upper{transform:scaleY(var(--upper-sand-scale));transform-origin:center bottom}
.hourglass-sand-lower{transform:scaleY(var(--lower-sand-scale));transform-origin:center bottom}
.hourglass-flow{position:absolute;inset:0;z-index:5;pointer-events:none}
.hourglass-stream{position:absolute;top:49%;left:50%;width:4px;height:61px;border-radius:3px;background:linear-gradient(180deg,rgba(183,231,204,.98),rgba(93,183,133,.78) 72%,rgba(77,151,111,.28));box-shadow:0 0 0 1px rgba(96,182,137,.12),0 5px 9px rgba(52,125,86,.18);opacity:0;transform:translateX(-50%);transform-origin:center top}
.hourglass-grain{position:absolute;top:49%;left:50%;width:4px;height:4px;border-radius:50%;background:#b0dfc7;opacity:0;transform:translateX(-50%);box-shadow:0 1px 2px rgba(31,81,57,.24)}
.hourglass-grain-two{margin-left:-3px;animation-delay:.24s!important}
.hourglass-grain-three{margin-left:3px;animation-delay:.48s!important}
.hourglass-grain-four{width:3px;height:3px;margin-left:-5px;animation-delay:.12s!important}
.hourglass-grain-five{width:3px;height:3px;margin-left:5px;animation-delay:.61s!important}
.hourglass-impact{position:absolute;top:72%;left:50%;width:34px;height:9px;border:1px solid rgba(158,215,184,.64);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.28);pointer-events:none}
.hourglass-stage.running .hourglass-stream{animation:hourglass-stream-pulse .9s ease-in-out infinite;opacity:.86}
.hourglass-stage.running .hourglass-grain{animation:hourglass-grain-fall .78s linear infinite}
.hourglass-stage.running .hourglass-impact{animation:hourglass-impact-pulse .78s cubic-bezier(.16,1,.3,1) infinite}
.hourglass-stage.running .hourglass-glass::after{animation:hourglass-glass-sweep 2.8s cubic-bezier(.16,1,.3,1) infinite}
.hourglass-stage.running .hourglass-neck{animation:hourglass-neck-live 1.15s ease-in-out infinite}
.hourglass-stage.running .hourglass-sand>span{animation:hourglass-sand-shimmer 2.4s ease-in-out infinite}
.hourglass-stage.running .hourglass-sand-lower>span{animation:hourglass-lower-settle .78s ease-out infinite}
.hourglass-stage.running .hourglass-aura{animation:hourglass-aura-breathe 3.2s ease-in-out infinite}
.hourglass-stage.idle .hourglass-glass::after{animation:hourglass-glass-sweep 6.8s cubic-bezier(.16,1,.3,1) infinite}
.hourglass-progress{display:flex;align-items:baseline;gap:8px;color:rgba(232,241,236,.62)}
.hourglass-progress span{font-size:12px;font-weight:650}
.hourglass-progress strong{color:#9dd5b7;font:760 17px/1 var(--mono)}
.hourglass-stage .focus-mission-plate{border-left-color:#74bd95;background:linear-gradient(90deg,rgba(7,18,13,.72),rgba(7,18,13,.1))}
.hourglass-stage .focus-clock-deck{background:linear-gradient(90deg,rgba(6,14,11,.94),rgba(16,29,23,.82))}
.hourglass-stage .focus-start-button{border-color:#72bd94;background:#4f9c73;box-shadow:0 8px 20px rgba(19,74,48,.28),inset 0 1px 0 rgba(255,255,255,.2)}
.hourglass-stage .focus-start-button:hover{background:#60ad82}
@keyframes hourglass-stream-pulse{0%,100%{opacity:.62;transform:translateX(-50%) scaleY(.9)}50%{opacity:1;transform:translateX(-50%) scaleY(1.08)}}
@keyframes hourglass-grain-fall{0%{opacity:0;transform:translate(-50%,0) scale(.7)}12%{opacity:1}82%{opacity:.9}100%{opacity:0;transform:translate(-50%,62px) scale(.42)}}
@keyframes hourglass-impact-pulse{0%{opacity:.74;transform:translate(-50%,-50%) scale(.24)}68%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.32)}}
@keyframes hourglass-glass-sweep{0%,18%{opacity:0;transform:translateX(-112px) skewX(-7deg)}48%{opacity:.34}68%,100%{opacity:0;transform:translateX(112px) skewX(-7deg)}}
@keyframes hourglass-neck-live{0%,100%{opacity:.56;transform:translate(-50%,-50%) scaleX(.86)}50%{opacity:1;transform:translate(-50%,-50%) scaleX(1.08)}}
@keyframes hourglass-lower-settle{0%{opacity:.58;transform:translateY(-1px) scaleX(.9)}48%{opacity:.9;transform:translateY(0) scaleX(1.05)}100%{opacity:.66;transform:translateY(1px) scaleX(.98)}}
@keyframes hourglass-sand-shimmer{0%,100%{opacity:.52;transform:translateX(-10%)}50%{opacity:.9;transform:translateX(10%)}}
@keyframes hourglass-aura-breathe{0%,100%{opacity:.62;transform:scale(.96)}50%{opacity:.9;transform:scale(1.03)}}
@media(max-width:1180px){.hourglass-layout{grid-template-columns:minmax(480px,1fr) 300px}.hourglass-stage{min-height:600px}.hourglass-stage .focus-mission-plate{max-width:70%}}
@media(max-width:920px){.hourglass-layout{grid-template-columns:1fr}.hourglass-stage{min-height:620px}}
@media(max-width:640px){.hourglass-stage{min-height:620px;border-radius:12px}.hourglass-heading{padding:14px}.hourglass-stage-name{max-width:52%;overflow:hidden}.hourglass-stage-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hourglass-countdown strong{font-size:26px}.hourglass-stage .focus-mission-plate{top:62px;left:14px;max-width:calc(100% - 28px)}.hourglass-scene{padding-top:145px}.hourglass-instrument{gap:10px;transform:translateY(15px) scale(.82)}.hourglass-frame{height:326px}.hourglass-stage .focus-clock-deck{align-items:stretch;flex-direction:column;gap:13px;padding:15px}}
@media(prefers-reduced-motion:reduce){.hourglass-stage *{animation:none!important;transition:none!important}.hourglass-stage.running .hourglass-stream{opacity:.72}.hourglass-stage.running .hourglass-grain{opacity:.7}}

/* Particle hourglass v2: countdown-driven energy field */
.hourglass-stage{
  --session-progress:0;
  min-height:680px;
  border-color:rgba(118,228,174,.22);
  background:
    radial-gradient(circle at 50% 46%,rgba(47,190,119,.19) 0,rgba(30,116,77,.08) 27%,transparent 53%),
    radial-gradient(circle at 18% 12%,rgba(90,255,176,.07),transparent 31%),
    linear-gradient(145deg,#13261f 0%,#091712 52%,#07110e 100%);
  box-shadow:0 28px 70px rgba(18,54,40,.22),inset 0 1px 0 rgba(220,255,237,.13)
}
.hourglass-stage::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  background:
    linear-gradient(rgba(102,218,158,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(102,218,158,.028) 1px,transparent 1px);
  background-size:42px 42px;
  opacity:.72;
  transform:perspective(760px) rotateX(62deg) translateY(25%);
  transform-origin:center bottom;
  pointer-events:none
}
.hourglass-stage::after{z-index:12;box-shadow:inset 0 1px 0 rgba(226,255,239,.15),inset 0 -130px 150px rgba(2,9,6,.4)}
.hourglass-heading{z-index:14}
.hourglass-stage-name{border-color:rgba(111,234,172,.28);background:rgba(7,23,17,.68);box-shadow:inset 0 1px 0 rgba(224,255,238,.08),0 0 24px rgba(53,205,128,.06)}
.hourglass-stage-name i{color:#72e0a7;filter:drop-shadow(0 0 7px rgba(85,235,157,.55))}
.hourglass-scene{inset:0 0 106px;padding:100px 24px 28px}
.hourglass-particle-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.hourglass-aura{
  z-index:2;
  width:min(72%,560px);
  border-color:rgba(105,230,165,.13);
  background:radial-gradient(circle,rgba(75,229,148,.15) 0,rgba(43,150,97,.08) 34%,transparent 70%);
  box-shadow:inset 0 0 80px rgba(64,222,135,.06),0 0 90px rgba(25,134,83,.08)
}
.hourglass-orbits{position:absolute;z-index:2;width:min(75%,570px);aspect-ratio:1;pointer-events:none}
.hourglass-orbits i{--turn-start:0deg;--turn-end:360deg;position:absolute;inset:12%;border:1px solid rgba(103,227,163,.16);border-radius:50%;transform:rotate(var(--turn-start));will-change:transform}
.hourglass-orbits i::after{content:"";position:absolute;top:50%;right:-4px;width:7px;height:7px;border-radius:50%;background:#87efb8;box-shadow:0 0 8px #5fe69e,0 0 22px rgba(74,225,145,.72)}
.hourglass-orbits i:nth-child(1){--turn-start:18deg;--turn-end:378deg;inset:8% 13%;opacity:.72}
.hourglass-orbits i:nth-child(2){--turn-start:-42deg;--turn-end:-402deg;inset:18% 6%;border-color:rgba(103,227,163,.1);opacity:.58}
.hourglass-orbits i:nth-child(3){--turn-start:92deg;--turn-end:452deg;inset:27% 18%;border-style:dashed;opacity:.45}
.hourglass-stage.running .hourglass-orbits i{animation:particle-orbit-spin 9s linear infinite}
.hourglass-stage.running .hourglass-orbits i:nth-child(2){animation-duration:13s;animation-direction:reverse}
.hourglass-stage.running .hourglass-orbits i:nth-child(3){animation-duration:6.5s}
.hourglass-stage.idle .hourglass-orbits i{animation:particle-orbit-spin 34s linear infinite;opacity:.28}
.hourglass-stage.paused .hourglass-orbits i{animation-play-state:paused}
.hourglass-instrument{z-index:4;gap:14px;transform:translateY(35px)}
.hourglass-frame{width:286px;height:384px;filter:drop-shadow(0 28px 38px rgba(0,0,0,.44)) drop-shadow(0 0 20px rgba(51,215,129,.1))}
.hourglass-cap{height:21px;border-color:rgba(165,251,207,.4);background:linear-gradient(180deg,#c9ded3 0%,#789588 14%,#294138 49%,#0c1a15 100%);box-shadow:inset 0 2px 1px rgba(232,255,244,.34),0 7px 18px rgba(0,0,0,.38),0 0 13px rgba(83,221,150,.1)}
.hourglass-cap::after{content:"";position:absolute;inset:8px 16%;border-radius:99px;background:linear-gradient(90deg,transparent,#75e3aa 50%,transparent);opacity:.6;box-shadow:0 0 8px rgba(83,227,153,.5)}
.hourglass-rail{top:15px;bottom:15px;width:11px;border-color:rgba(157,239,197,.27);background:linear-gradient(90deg,#07130f,#587a6a 46%,#1b3027 75%,#07120e);box-shadow:inset 1px 0 rgba(231,255,243,.2),0 9px 18px rgba(0,0,0,.34),0 0 10px rgba(52,203,123,.08)}
.hourglass-rail-left{left:24px}.hourglass-rail-right{right:24px}
.hourglass-glass{top:29px;right:47px;bottom:29px;left:47px}
.hourglass-chamber{background:linear-gradient(90deg,rgba(213,255,234,.035),rgba(207,255,230,.13) 23%,rgba(255,255,255,.035) 53%,rgba(180,244,211,.1) 80%,rgba(207,255,231,.025));box-shadow:inset 0 0 0 1px rgba(196,255,225,.27),inset 18px 0 24px rgba(210,255,233,.035),0 0 18px rgba(52,210,128,.04)}
.hourglass-chamber-lower{background:linear-gradient(90deg,rgba(194,255,224,.015),rgba(210,255,232,.075) 12%,transparent 34%,transparent 66%,rgba(193,252,221,.065) 88%,rgba(194,255,224,.012));box-shadow:inset 0 0 0 1px rgba(196,255,225,.22),inset 13px 0 20px rgba(210,255,233,.02)}
.hourglass-sand{background:linear-gradient(110deg,#2fb976,#73efab 45%,#bcffd8 61%,#41c783);box-shadow:inset 0 0 18px rgba(211,255,230,.22),0 0 18px rgba(56,220,132,.18)}
.hourglass-sand>span{background:linear-gradient(90deg,#278d5d,#bdffda 52%,#45d48b);box-shadow:0 -2px 9px rgba(92,234,158,.28)}
.hourglass-sand-lower{clip-path:polygon(50% 0,62% 14%,100% 100%,0 100%,38% 14%);transform-origin:center bottom}
.hourglass-sand-lower>span{display:none}
.hourglass-neck{width:18px;border-color:rgba(181,255,217,.24);background:rgba(115,236,170,.08);box-shadow:0 0 12px rgba(82,229,151,.12)}
.hourglass-core{position:absolute;top:50%;left:50%;z-index:7;width:10px;height:10px;border-radius:50%;background:#b8ffd5;box-shadow:0 0 8px #8cf6ba,0 0 24px #45d98c,0 0 48px rgba(62,217,137,.64);opacity:.58;transform:translate(-50%,-50%) scale(.72)}
.hourglass-stage.running .hourglass-core{animation:particle-core-pulse .72s ease-in-out infinite}
.hourglass-flow{z-index:8}
.hourglass-stream{top:49%;width:3px;height:var(--stream-travel,154px);background:linear-gradient(180deg,#d5ffe5,rgba(87,239,155,.96) 48%,rgba(55,199,124,.08));box-shadow:0 0 7px rgba(106,246,171,.82),0 0 20px rgba(47,212,127,.38)}
.hourglass-grain{top:49%;width:var(--grain-size,3px);height:var(--grain-size,3px);background:#b9ffd4;box-shadow:0 0 5px #72e9a8,0 0 12px rgba(71,220,143,.55);will-change:transform,opacity}
.hourglass-impact{top:calc(50% + var(--stream-travel,154px));width:52px;height:12px;border-color:rgba(119,248,177,.78);box-shadow:0 0 11px rgba(67,220,137,.3)}
.hourglass-frame-lights{position:absolute;inset:0;z-index:7;overflow:hidden;pointer-events:none}
.hourglass-frame-lights i{position:absolute;top:15px;width:2px;height:80px;border-radius:2px;background:linear-gradient(180deg,transparent,#a5ffcc,transparent);box-shadow:0 0 9px #55df99;opacity:0}
.hourglass-frame-lights i:first-child{left:26px}.hourglass-frame-lights i:last-child{right:26px;animation-delay:1.15s!important}
.hourglass-stage.running .hourglass-frame-lights i{animation:particle-frame-travel 2.3s cubic-bezier(.3,.7,.2,1) infinite}
.hourglass-stage.running .hourglass-grain{animation:particle-grain-fall var(--grain-speed) linear infinite;animation-delay:var(--grain-delay)}
.hourglass-stage.running .hourglass-impact{animation:particle-impact-pulse .94s cubic-bezier(.16,1,.3,1) infinite}
.hourglass-stage.running .hourglass-aura{animation:particle-aura-breathe 2.4s ease-in-out infinite}
.hourglass-stage.idle .hourglass-core{animation:particle-core-idle 2.8s ease-in-out infinite}
.hourglass-progress{padding:6px 11px;border:1px solid rgba(113,226,169,.12);border-radius:99px;background:rgba(5,20,14,.44);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hourglass-progress strong{color:#91efb8;text-shadow:0 0 12px rgba(79,224,147,.35)}
.hourglass-stage .focus-mission-plate{z-index:13;border-left-color:#66dfa0;background:linear-gradient(90deg,rgba(5,23,15,.88),rgba(5,23,15,.16));box-shadow:-12px 0 30px rgba(35,185,108,.04)}
.hourglass-stage .focus-clock-deck{z-index:13;border-top-color:rgba(126,227,175,.16);background:linear-gradient(90deg,rgba(3,14,9,.97),rgba(10,29,20,.91));box-shadow:inset 0 1px 0 rgba(207,255,230,.04),0 -18px 50px rgba(1,10,6,.16)}
.hourglass-stage .focus-time{text-shadow:0 0 24px rgba(99,226,161,.14)}
.hourglass-stage.running .focus-state{color:#84eeb3}
.hourglass-stage .focus-start-button{border-color:#71e2a7;background:linear-gradient(135deg,#58d596,#279b66);box-shadow:0 10px 28px rgba(30,157,95,.3),inset 0 1px 0 rgba(224,255,239,.28)}
.hourglass-stage .focus-start-button:hover{background:linear-gradient(135deg,#6be6a8,#32aa73);transform:translateY(-1px)}
@keyframes particle-orbit-spin{from{transform:rotate(var(--turn-start))}to{transform:rotate(var(--turn-end))}}
@keyframes particle-grain-fall{0%{opacity:0;transform:translate3d(calc(-50% + var(--grain-x)),0,0) scale(.25)}12%{opacity:1}76%{opacity:.92}100%{opacity:0;transform:translate3d(calc(-50% + var(--grain-x-end)),var(--stream-travel),0) scale(.42)}}
@keyframes particle-impact-pulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.18)}72%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.72)}}
@keyframes particle-core-pulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.72)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}
@keyframes particle-core-idle{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(.65)}50%{opacity:.62;transform:translate(-50%,-50%) scale(.88)}}
@keyframes particle-frame-travel{0%{opacity:0;transform:translateY(0)}18%{opacity:.92}74%{opacity:.58}100%{opacity:0;transform:translateY(270px)}}
@keyframes particle-aura-breathe{0%,100%{opacity:.62;transform:scale(.93)}50%{opacity:1;transform:scale(1.05)}}
@media(max-width:1180px){.hourglass-stage{min-height:640px}.hourglass-frame{width:264px;height:354px}.hourglass-orbits{width:min(78%,520px)}}
@media(max-width:920px){.hourglass-stage{min-height:660px}.hourglass-orbits{width:min(66vw,560px)}}
@media(max-width:640px){
  .hourglass-stage{min-height:640px}
  .hourglass-scene{padding:142px 12px 22px}
  .hourglass-orbits{width:430px;max-width:128vw}
  .hourglass-aura{width:400px;max-width:120vw}
  .hourglass-instrument{transform:translateY(18px) scale(.79)}
  .hourglass-frame{width:270px;height:364px}
  .hourglass-stage .focus-mission-plate{max-width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){
  .hourglass-stage.running .hourglass-orbits i,.hourglass-stage.idle .hourglass-orbits i,.hourglass-stage.running .hourglass-core,.hourglass-stage.idle .hourglass-core,.hourglass-stage.running .hourglass-frame-lights i{animation:none!important}
  .hourglass-orbits i{opacity:.24!important}
  .hourglass-core{opacity:.55}
}

/* Precision hourglass v3: premium instrument, restrained particles */
.hourglass-stage{
  border-color:rgba(132,171,151,.24);
  background:
    radial-gradient(ellipse at 50% 46%,rgba(72,123,96,.16),transparent 46%),
    linear-gradient(145deg,#11231c 0%,#0c1915 52%,#09130f 100%);
  box-shadow:0 24px 58px rgba(8,28,19,.2),inset 0 1px 0 rgba(225,242,233,.08)
}
.hourglass-stage::before{
  inset:0;
  background:radial-gradient(ellipse at 50% 58%,rgba(135,178,155,.045),transparent 42%);
  opacity:1;
  transform:none
}
.hourglass-stage::after{box-shadow:inset 0 1px 0 rgba(229,244,236,.1),inset 0 -110px 130px rgba(4,12,8,.28)}
.hourglass-stage-name{border-color:rgba(181,211,195,.16);background:rgba(9,24,18,.54);box-shadow:inset 0 1px 0 rgba(234,248,240,.06)}
.hourglass-stage-name i{color:#8ac4a6;filter:none}
.hourglass-aura{width:390px;max-width:58%;border:0;background:radial-gradient(ellipse,rgba(131,181,153,.09),rgba(66,111,87,.035) 42%,transparent 70%);box-shadow:none;opacity:.72}
.hourglass-orbits{display:none!important}
.hourglass-instrument{gap:12px;transform:translateY(28px)}
.hourglass-instrument::after{content:"";position:absolute;bottom:39px;left:50%;z-index:0;width:206px;height:25px;border-radius:50%;background:radial-gradient(ellipse,rgba(1,8,5,.5),rgba(1,8,5,.16) 48%,transparent 73%);filter:blur(5px);transform:translateX(-50%);pointer-events:none}
.hourglass-frame{z-index:1;width:262px;height:360px;filter:drop-shadow(0 24px 28px rgba(0,0,0,.28))}
.hourglass-cap{height:17px;border-color:rgba(192,216,203,.24);border-radius:5px;background:linear-gradient(180deg,#7c9186 0%,#364a40 18%,#17271f 62%,#0c1712 100%);box-shadow:inset 0 1px 0 rgba(234,245,239,.24),0 5px 13px rgba(0,0,0,.24)}
.hourglass-cap span{inset:5px 16px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(222,239,230,.14) 48%,transparent)}
.hourglass-cap::after{inset:7px 22%;height:1px;background:linear-gradient(90deg,transparent,rgba(173,210,190,.42),transparent);box-shadow:none;opacity:.74}
.hourglass-rail{top:13px;bottom:13px;width:7px;border-color:rgba(183,211,196,.2);border-radius:5px;background:linear-gradient(90deg,#0c1712,#4c6257 48%,#17271f 74%,#09120e);box-shadow:inset 1px 0 rgba(230,243,236,.12),0 7px 13px rgba(0,0,0,.22)}
.hourglass-rail-left{left:22px;transform:skewX(-2deg)}
.hourglass-rail-right{right:22px;transform:skewX(2deg)}
.hourglass-glass{top:25px;right:43px;bottom:25px;left:43px}
.hourglass-glass::before{content:"";position:absolute;inset:0;z-index:0;clip-path:path("M 3 0 H 173 C 168 58 146 110 99 145 C 94 149 94 156 99 160 C 146 195 168 252 173 310 H 3 C 8 252 30 195 77 160 C 82 156 82 149 77 145 C 30 110 8 58 3 0 Z");background:linear-gradient(90deg,rgba(220,239,229,.07),transparent 17%,transparent 47%,rgba(244,250,247,.025) 52%,transparent 76%,rgba(205,231,217,.06));filter:drop-shadow(0 0 .9px rgba(201,227,213,.7)) drop-shadow(0 0 4px rgba(111,157,132,.08));pointer-events:none}
.hourglass-glass::after{inset:0;clip-path:path("M 3 0 H 173 C 168 58 146 110 99 145 C 94 149 94 156 99 160 C 146 195 168 252 173 310 H 3 C 8 252 30 195 77 160 C 82 156 82 149 77 145 C 30 110 8 58 3 0 Z");background:linear-gradient(103deg,transparent 36%,rgba(238,247,242,.04) 45%,rgba(248,252,250,.2) 50%,rgba(226,240,233,.045) 56%,transparent 65%);opacity:.035;transform:none}
.hourglass-stage.running .hourglass-glass::after,
.hourglass-stage.idle .hourglass-glass::after{animation:none!important}
.hourglass-chamber{height:calc(50% - 5px);background:transparent;box-shadow:none;filter:drop-shadow(0 0 .7px rgba(190,219,203,.42))}
.hourglass-chamber::after{left:18%;width:5%;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent);opacity:.38}
.hourglass-chamber-upper{clip-path:path("M 3 0 H 173 C 168 56 146 109 99 144 C 93 149 83 149 77 144 C 30 109 8 56 3 0 Z")}
.hourglass-chamber-lower{clip-path:path("M 77 5 C 83 0 93 0 99 5 C 146 40 168 93 173 150 H 3 C 8 93 30 40 77 5 Z");background:transparent;box-shadow:none}
.hourglass-sand{background:linear-gradient(118deg,#749f87 0%,#9fc5ae 42%,#d0e4d8 61%,#83ad95 100%);box-shadow:inset 12px 0 20px rgba(40,83,61,.08),inset -9px 0 17px rgba(236,247,241,.1);filter:saturate(.72)}
.hourglass-sand>span{top:-2px;height:6px;background:linear-gradient(90deg,#6ca988,#c8e4d4 52%,#78b895);box-shadow:none;opacity:.48}
.hourglass-sand-lower{clip-path:polygon(50% 0,64% 18%,100% 100%,0 100%,36% 18%)}
.hourglass-neck{width:13px;height:16px;border-color:rgba(201,226,213,.18);background:rgba(168,203,184,.04);box-shadow:none}
.hourglass-core{width:5px;height:5px;background:#b7dac7;box-shadow:0 0 7px rgba(117,187,150,.34);opacity:.44}
.hourglass-flow{z-index:5}
.hourglass-stream{top:49.5%;width:2px;background:linear-gradient(180deg,rgba(217,239,227,.9),rgba(128,190,156,.82) 48%,rgba(94,151,120,.18));box-shadow:0 0 5px rgba(120,187,151,.3)}
.hourglass-grain{top:49.5%;background:#c6e4d3;box-shadow:0 0 3px rgba(119,185,150,.36)}
.hourglass-impact{width:38px;height:8px;border-color:rgba(136,193,162,.48);box-shadow:none}
.hourglass-frame-lights{display:none}
.hourglass-stage.running .hourglass-aura{animation:precision-aura 3.8s ease-in-out infinite}
.hourglass-stage.idle .hourglass-core{animation:particle-core-idle 3.6s ease-in-out infinite}
.hourglass-stage.running .hourglass-core{animation:particle-core-pulse 1.2s ease-in-out infinite}
.hourglass-progress{position:relative;z-index:2;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.hourglass-progress strong{color:#a8cdb9;text-shadow:none}
.hourglass-stage .focus-mission-plate{border-left-color:#78b997;background:linear-gradient(90deg,rgba(8,24,17,.78),rgba(8,24,17,.08));box-shadow:none}
.hourglass-stage .focus-clock-deck{border-top-color:rgba(168,198,182,.12);background:linear-gradient(90deg,rgba(5,15,10,.96),rgba(10,25,18,.9));box-shadow:inset 0 1px 0 rgba(222,239,230,.03)}
.hourglass-stage .focus-start-button{border-color:#579e79;background:#4b9b71;box-shadow:0 8px 20px rgba(25,103,65,.22),inset 0 1px 0 rgba(230,245,237,.18)}
.hourglass-stage .focus-start-button:hover{background:#59a67e}
@keyframes precision-aura{0%,100%{opacity:.54;transform:scale(.97)}50%{opacity:.78;transform:scale(1.015)}}
@media(max-width:1180px){.hourglass-frame{width:262px;height:360px}.hourglass-instrument{transform:translateY(24px) scale(.9)}}
@media(max-width:920px){.hourglass-instrument{transform:translateY(22px) scale(.94)}}
@media(max-width:640px){.hourglass-instrument{transform:translateY(18px) scale(.79)}.hourglass-frame{width:262px;height:360px}.hourglass-aura{width:360px;max-width:112vw}}
@media(prefers-reduced-transparency:reduce){.hourglass-stage-name{background:#10231a;backdrop-filter:none;-webkit-backdrop-filter:none}}

.katex{font-size:1.1em}
.katex-display{margin:8px 0;overflow-x:auto}

.katex{background:rgba(90,156,160,.08);border-radius:3px;padding:1px 5px;font-size:1.05em}
.katex-display{background:linear-gradient(90deg,rgba(90,156,160,.1) 0%,rgba(90,156,160,.04) 100%);border-left:3px solid #5b9aa0;padding:10px 14px;margin:10px 0;border-radius:0 6px 6px 0}
.message.assistant .katex{background:rgba(90,156,160,.12)}

/* Layout system: calm study workspace, 2026-08 */
:root{
  --radius:10px;
  --sidebar:220px;
  --topbar:60px;
}

.sidebar{padding:16px 12px 12px}
.exam-peek{margin:18px 2px 14px;padding:12px}
.exam-peek>strong{font-size:34px}
.nav-item{min-height:40px}
.assistant-entry{padding:8px}
.topbar{padding:0 24px}
.main-content{width:min(100%,1280px);padding:24px 26px 56px}
.page-head{align-items:center;margin-bottom:20px}
.page-head h1{font-size:24px;letter-spacing:-.01em}
.page-head p{margin-top:5px}

.section-panel,
.summary-strip,
.settings-section,
.assistant-layout{box-shadow:none}
.section-panel,
.summary-strip,
.settings-section{border-color:var(--line)}
.section-head{min-height:52px}
.summary-strip{margin-bottom:16px}
.summary-metric{padding:15px 17px}
.summary-metric strong{font-size:22px}

.command-panel{display:block;box-shadow:none}
.command-main{padding:22px 24px}
.command-main h2{margin-top:12px;font-size:24px}
.command-actions{margin-top:17px}
.command-deadline{display:none}
.quick-capture{gap:0;margin:10px 0 18px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.quick-capture button{min-height:46px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
.quick-capture button:last-child{border-right:0}
.home-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:16px}
.stack{gap:16px}
.review-item{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:10px 0}
.review-item:last-child{border-bottom:0}

.assistant-view{
  --study-green:#4fbd83;
  --study-green-strong:#2f9566;
  --study-green-soft:#eaf8f1;
  --study-green-line:#bde8d1;
  --study-green-ink:#1f704d;
  height:100%;
}
body[data-theme="dark"] .assistant-view{
  --study-green:var(--accent);
  --study-green-strong:var(--accent-strong);
  --study-green-soft:var(--accent-soft);
  --study-green-line:color-mix(in srgb,var(--accent) 28%,var(--line));
  --study-green-ink:var(--accent-ink);
}
.main-content:has(.assistant-view){height:calc(100dvh - var(--topbar));max-width:none;padding-top:16px;padding-bottom:16px;overflow:hidden}
.assistant-layout{height:100%;min-height:0;grid-template-columns:220px minmax(0,1fr)}
.assistant-sidebar{min-height:0;overflow-y:auto;padding:14px}
.assistant-sidebar h2{font-size:16px}
.assistant-sidebar>p{margin-bottom:12px}
.assistant-modes{gap:3px}
.assistant-mode{min-height:44px;padding:6px}
.assistant-chat{min-height:0}
.assistant-chat-head{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--line)}
.chat-messages{min-height:0;padding:22px clamp(18px,4vw,52px);overscroll-behavior:contain}
.message{max-width:min(780px,82%);border-radius:9px}
.message.user{max-width:min(680px,72%)}
.chat-composer{background:var(--surface-2);padding:10px 16px 11px}
.composer-box{max-width:920px;margin:0 auto}
.composer-hint{max-width:920px;margin:6px auto 0}

.settings-layout{grid-template-columns:176px minmax(0,1fr);gap:20px;align-items:start}
.settings-nav{top:82px;padding:6px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.settings-nav button{min-height:40px}
.settings-sections{min-width:0;gap:14px}
.settings-section{scroll-margin-top:82px}
.settings-section[hidden]{display:none}
.settings-section-head{padding:16px 18px}
.settings-section-body{padding:18px}
.profile-editor{grid-template-columns:88px minmax(0,1fr);gap:20px}
.avatar-preview{width:80px;height:80px}
.subject-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ai-quick-form{padding:15px}
.settings-action-grid button{min-height:50px}

@media(min-width:921px){
  .topbar-leading{display:flex}
  .topbar{justify-content:space-between}
}

@media(max-width:920px){
  .main-content{padding-top:20px}
  .command-deadline{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);background:var(--surface-2);padding:12px 18px}
  .command-deadline span,.command-deadline small{display:block}
  .command-deadline span{font-size:13px;font-weight:750}
  .command-deadline small{margin-top:3px;color:var(--muted);font-size:12px}
  .command-deadline strong{font:750 18px/1 var(--mono);white-space:nowrap}
  .settings-nav{top:72px;z-index:10;display:flex;margin:-2px 0 12px;overflow-x:auto;border:0;border-bottom:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);padding:7px 0;backdrop-filter:blur(12px)}
  .settings-nav button{flex:none}
}

@media(max-width:700px){
  :root{--topbar:58px}
  .topbar-actions [data-action="open-global-search"]{display:none}
  .main-content{padding:18px 10px 84px}
  .page-head{gap:10px;margin-bottom:15px}
  .page-head h1{font-size:22px}
  .page-head-actions{gap:7px}
  .settings-view>.page-head h1{display:none}
  .settings-view>.page-head p{margin-top:0}
  .command-main{padding:18px 16px}
  .command-main h2{font-size:21px}
  .command-actions{display:grid;grid-template-columns:1fr;gap:7px}
  .command-actions button{width:100%}
  .quick-capture{grid-template-columns:1fr 1fr;gap:0;margin-bottom:14px}
  .quick-capture button{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .quick-capture button:nth-child(2n){border-right:0}
  .quick-capture button:nth-last-child(-n+2){border-bottom:0}
  .home-grid,.content-grid,.insight-grid{gap:12px}
  .stack{gap:12px}
  .summary-strip{margin-bottom:12px}
  .summary-metric{min-width:0}
  .section-panel{border-radius:9px}
  .section-head{min-height:50px}

  .plan-now-card{grid-template-columns:1fr}
  .plan-now-main{padding:19px 16px}
  .plan-now-main h2{font-size:20px}
  .plan-now-actions{display:grid;grid-template-columns:1fr}
  .plan-now-actions button{width:100%}
  .plan-now-status{border-top:1px solid var(--line);border-left:0;padding:16px}
  .plan-section-head{align-items:flex-start}
  .plan-agenda-day{grid-template-columns:1fr}
  .plan-agenda-date{display:flex;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}
  .plan-agenda-date strong,.plan-agenda-date em{margin:0}
  .plan-agenda-date em{margin-left:auto}
  .plan-agenda-body{padding:9px 10px}
  .plan-day-add{width:calc(100% - 20px);min-height:40px;margin:0 10px 10px}
  .plan-backlog-panel .section-head{align-items:flex-start}

  .main-content:has(.assistant-view){height:calc(100dvh - var(--topbar) - 62px);padding:8px 8px 6px;overflow:hidden}
  .assistant-layout{display:grid;height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);border-radius:9px}
  .assistant-sidebar{overflow:hidden;padding:8px;border-bottom:1px solid var(--line)}
  .assistant-modes{display:flex;gap:5px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
  .assistant-modes::-webkit-scrollbar{display:none}
  .assistant-mode{scroll-snap-align:start}
  .assistant-chat{min-height:0;grid-template-rows:auto minmax(0,1fr) auto}
  .assistant-chat-head{min-height:42px;padding:0 12px}
  .chat-messages{min-height:0;padding:12px;gap:11px}
  .message,.message.user{max-width:92%;padding:10px 11px}
  .ai-plan-proposal>div{grid-template-columns:44px minmax(0,1fr)}
  .ai-plan-proposal small{grid-column:2}
  .chat-composer{padding:8px 9px}
  .composer-box{gap:5px;padding:5px 6px}
  .composer-hint{display:none}

  .settings-layout{display:block}
  .settings-section-head{padding:14px 15px}
  .settings-section-body{padding:15px}
  .profile-editor{display:grid;grid-template-columns:1fr;gap:16px}
  .avatar-editor{grid-template-columns:64px max-content max-content;align-items:center;justify-content:start;text-align:left}
  .avatar-preview{width:64px;height:64px;grid-row:1/3}
  .avatar-upload{padding:0 10px}
  .avatar-editor .text-button{justify-content:flex-start}
  .subject-settings{grid-template-columns:1fr}
  .form-actions{flex-wrap:wrap}
  .form-actions button{flex:1 1 auto}

  .table-panel{overflow:visible!important}
  .data-table{min-width:0}
  .data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}
  .data-table thead{display:none}
  .data-table tbody{display:grid;gap:8px;padding:10px}
  .data-table tr{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:9px 42px 9px 10px}
  .data-table td{display:grid;height:auto;min-height:26px;grid-template-columns:62px minmax(0,1fr);align-items:center;border:0;padding:3px 0;font-size:13px}
  .data-table td::before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:650}
  .data-table td.row-delete{position:absolute;top:8px;right:7px;display:block;width:auto;padding:0}
  .data-table td.row-delete::before{display:none}
}

@media(max-width:430px){
  .day-tasks{grid-template-columns:1fr}
  .settings-nav{margin-right:-2px;margin-left:-2px}
  .settings-nav button{padding:0 9px;font-size:13px}
}

/* Mature assistant workspace and saved AI profiles */
.assistant-layout-v2{
  display:grid;
  height:100%;
  min-height:0;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.assistant-body{display:grid;min-height:0;grid-template-columns:248px minmax(0,1fr)}
.assistant-history{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-right:1px solid var(--line);background:var(--surface-2)}
.assistant-history-head{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:8px 10px 8px 13px}
.assistant-history-head>div{display:flex;min-width:0;align-items:center;gap:7px}
.assistant-history-head strong{font-size:13px}
.assistant-history-head>div span{display:grid;min-width:20px;height:20px;place-items:center;border-radius:6px;background:var(--surface-3);color:var(--muted);font:700 11px/1 var(--mono)}
.assistant-history-head>button{display:inline-flex;min-height:34px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 9px;color:var(--text-2);font-size:12px;font-weight:750;white-space:nowrap}
.assistant-history-head>button:hover{border-color:var(--line-strong);color:var(--accent-strong)}
.assistant-conversation-list{min-height:0;overflow-y:auto;padding:7px}
.assistant-conversation-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;border-radius:9px;color:var(--text-2)}
.assistant-conversation-row:hover{background:var(--surface)}
.assistant-conversation-row.active{background:var(--accent-soft);color:var(--accent-ink)}
.assistant-conversation-row.active::before{content:"";position:absolute;top:10px;bottom:10px;left:0;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.assistant-conversation-open{display:grid;min-width:0;min-height:62px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;background:transparent;padding:7px 4px 7px 10px;color:inherit;text-align:left}
.assistant-conversation-open>i{color:var(--muted);font-size:17px;text-align:center}
.assistant-conversation-row.active .assistant-conversation-open>i{color:var(--accent)}
.assistant-conversation-open>span{display:grid;min-width:0;gap:6px}
.assistant-conversation-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:760}
.assistant-conversation-open small{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}
.assistant-conversation-open time{font:600 10px/1 var(--mono);white-space:nowrap}
.assistant-conversation-delete{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:transparent;color:transparent;font-size:14px}
.assistant-conversation-row:hover .assistant-conversation-delete,.assistant-conversation-delete:focus-visible{color:var(--muted)}
.assistant-conversation-delete:hover{background:var(--surface-3);color:var(--danger)!important}
.assistant-history-empty{display:grid;min-height:180px;place-content:center;justify-items:center;gap:6px;padding:20px;color:var(--muted);text-align:center}
.assistant-history-empty>i{font-size:24px}
.assistant-history-empty strong{color:var(--text-2);font-size:12px}
.assistant-history-empty span{font-size:11px;line-height:1.55}
.assistant-workbar{
  display:flex;
  min-width:0;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
  padding:7px 10px;
}
.assistant-mode-tabs{display:flex;min-width:0;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none}
.assistant-mode-tabs::-webkit-scrollbar{display:none}
.assistant-mode-tab{
  display:inline-flex;
  min-height:38px;
  flex:none;
  align-items:center;
  gap:7px;
  border-radius:8px;
  background:transparent;
  padding:0 11px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.assistant-mode-tab:hover{background:var(--surface-3);color:var(--text)}
.assistant-mode-tab.active{background:var(--surface);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--line)}
.assistant-mode-tab i{font-size:16px}
.assistant-workbar-actions{display:flex;flex:none;align-items:center;gap:7px}
.assistant-context-line{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;white-space:nowrap}
.assistant-context-line i{color:var(--accent);font-size:15px}
.assistant-drive-status{display:grid;min-width:146px;min-height:38px;grid-template-columns:24px minmax(0,1fr) 12px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:4px 7px;color:var(--text-2);text-align:left}
.assistant-drive-status:hover{border-color:var(--line-strong);background:var(--surface-3)}
.assistant-drive-status>i:first-child{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;background:var(--surface-3);color:var(--muted);font-size:14px}
.assistant-drive-status>i:last-child{color:var(--muted);font-size:11px}
.assistant-drive-status>span{display:grid;min-width:0;gap:1px}
.assistant-drive-status strong,.assistant-drive-status small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.assistant-drive-status strong{font-size:10px;line-height:1.3}
.assistant-drive-status small{color:var(--muted);font-size:8px;line-height:1.35}
.assistant-drive-status.is-connected{border-color:color-mix(in srgb,var(--study-green) 30%,var(--line));background:color-mix(in srgb,var(--study-green-soft) 62%,var(--surface))}
.assistant-drive-status.is-connected>i:first-child{background:var(--surface);color:var(--study-green-strong)}
.assistant-drive-status.is-loading>i:first-child{animation:ai-thinking-spin .9s linear infinite}
.assistant-layout-v2 .assistant-chat{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface)}
.assistant-layout-v2 .assistant-chat-head{min-height:52px;padding:8px 18px}
.assistant-layout-v2 .assistant-chat-head>div{display:grid;gap:2px}
.assistant-layout-v2 .assistant-chat-head strong{font-size:14px}
.assistant-layout-v2 .assistant-chat-head>div span{color:var(--muted);font-size:12px}
.assistant-provider{display:inline-flex;align-items:center;gap:5px}
.assistant-provider.ready{color:var(--success)}
.assistant-layout-v2 .chat-messages{
  display:flex;
  min-height:0;
  flex-direction:column;
  gap:22px;
  overflow-y:auto;
  padding:28px clamp(18px,5vw,72px) 32px;
  overscroll-behavior:contain;
  scroll-behavior:auto;
}
.chat-turn{width:min(100%,920px);margin:0 auto}
.user-turn{display:flex;justify-content:flex-end}
.assistant-turn{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px}
.turn-avatar{display:grid;width:32px;height:32px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:16px}
.turn-content{min-width:0}
.turn-label{margin:1px 0 8px;color:var(--muted);font-size:12px;font-weight:700}
.ai-thinking-card{width:min(100%,560px);overflow:hidden;border:1px solid var(--study-green-line);border-radius:10px;background:linear-gradient(145deg,var(--surface),var(--study-green-soft));padding:13px 14px;color:var(--text-2)}
.ai-thinking-card>header{display:flex;align-items:center;gap:10px}
.ai-thinking-card>header>div{display:grid;gap:2px}
.ai-thinking-card>header strong{color:var(--study-green-ink);font-size:13px}
.ai-thinking-card>header small{color:var(--muted);font-size:11px;line-height:1.45}
.ai-thinking-pulse{width:9px;height:9px;flex:none;border-radius:50%;background:var(--study-green);box-shadow:0 0 0 0 color-mix(in srgb,var(--study-green) 28%,transparent);animation:ai-thinking-pulse 1.45s ease-out infinite}
.ai-thinking-steps{display:grid;gap:7px;margin-top:11px;border-top:1px solid var(--study-green-line);padding-top:10px}
.ai-thinking-steps>div{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:7px;color:var(--muted);font-size:12px;line-height:1.45;transition:color .18s ease}
.ai-thinking-steps>div i{color:var(--line-strong);font-size:14px}
.ai-thinking-steps>div.active{color:var(--study-green-ink);font-weight:750}
.ai-thinking-steps>div.active i{color:var(--study-green-strong);animation:ai-thinking-spin .9s linear infinite}
.ai-thinking-steps>div.done{color:var(--text-2)}
.ai-thinking-steps>div.done i{color:var(--study-green-strong)}
@keyframes ai-thinking-pulse{70%,100%{box-shadow:0 0 0 7px transparent}}
@keyframes ai-thinking-spin{to{transform:rotate(360deg)}}
.assistant-layout-v2 .message.assistant{
  max-width:none;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  color:var(--text);
  font-size:14px;
  line-height:1.78;
  white-space:normal;
}
.assistant-tool-source{
  display:grid;
  width:min(100%,720px);
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  margin:0 0 12px;
  border:1px solid var(--study-green-line);
  border-radius:9px;
  background:color-mix(in srgb,var(--study-green-soft) 72%,var(--surface));
  padding:9px 10px;
  color:var(--study-green-ink);
}
.assistant-tool-source>i{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:var(--surface);color:var(--study-green-strong);font-size:15px}
.assistant-tool-source>div{display:grid;min-width:0;gap:2px}
.assistant-tool-source strong{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.assistant-tool-source span{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.assistant-tool-source button{display:inline-flex;min-height:30px;align-items:center;gap:5px;border:1px solid var(--study-green-line);border-radius:7px;background:var(--surface);padding:0 9px;color:var(--study-green-ink);font-size:11px;font-weight:750;white-space:nowrap}
.assistant-tool-source button:hover{border-color:var(--study-green);background:var(--study-green-soft)}
.assistant-tool-source>.assistant-tool-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.assistant-tool-actions button{display:inline-flex;min-height:30px;align-items:center;gap:5px;border:1px solid var(--study-green-line);border-radius:7px;background:var(--surface);padding:0 8px;color:var(--study-green-ink);font-size:10px;font-weight:750;white-space:nowrap}
.assistant-tool-actions button:hover{border-color:var(--study-green);background:var(--study-green-soft)}
.assistant-tool-actions button.is-primary{border-color:var(--study-green);background:var(--study-green);color:#fff}
.assistant-tool-actions button.is-primary:hover{background:var(--study-green-strong)}
.assistant-tool-actions button:disabled{cursor:wait;opacity:.72}
.assistant-tool-error,.assistant-tool-needs_scope,.assistant-tool-confirmation_required{border-color:var(--line-strong);background:var(--surface-2);color:var(--text-2)}
.assistant-tool-ocr_available{border-color:color-mix(in srgb,var(--warning) 42%,var(--line));background:color-mix(in srgb,var(--warning) 7%,var(--surface));color:var(--text)}
.assistant-tool-ocr_available>i{color:var(--warning)}
.assistant-tool-ocr_running{border-color:var(--study-green-line);background:var(--study-green-soft)}
.assistant-tool-ocr_running>i,.quark-inline-state .ph-spinner-gap{animation:ai-thinking-spin .9s linear infinite}
.assistant-transfer-tool{grid-template-columns:32px minmax(0,1fr);align-items:start;padding:12px}
.assistant-transfer-tool>i{width:32px;height:32px}
.assistant-transfer-tool>.assistant-tool-heading{align-self:center}
.assistant-transfer-tool>.assistant-transfer-preview{display:block;grid-column:1/-1;border-top:1px solid var(--study-green-line);padding-top:9px}
.assistant-transfer-preview ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.assistant-transfer-preview li{display:grid;min-width:0;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;border-radius:7px;background:color-mix(in srgb,var(--surface) 82%,transparent);padding:7px 8px}
.assistant-transfer-preview li>i{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;background:var(--study-green-soft);color:var(--study-green-strong);font-size:13px}
.assistant-transfer-preview li.running>i{animation:ai-thinking-spin .9s linear infinite}
.assistant-transfer-preview li.failed>i{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
.assistant-transfer-preview li>span{display:grid;min-width:0;gap:2px}
.assistant-transfer-preview li strong{font-size:12px;white-space:normal}
.assistant-transfer-preview li small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.assistant-transfer-preview p{display:flex;align-items:flex-start;gap:6px;margin:8px 1px 0;color:var(--muted);font-size:11px;line-height:1.5}
.assistant-transfer-preview p i{flex:none;margin-top:2px;color:var(--study-green-strong)}
.assistant-transfer-tool>.assistant-tool-actions{grid-column:1/-1;justify-content:flex-start}
.assistant-layout-v2 .message.user{max-width:min(720px,84%);border:1px solid var(--line);border-radius:11px;background:var(--surface-3);padding:11px 14px;color:var(--text);line-height:1.7;white-space:pre-wrap}
.message-actions{display:flex;gap:5px;margin-top:9px}
.message-actions button{display:inline-flex;min-height:28px;align-items:center;gap:5px;border-radius:6px;background:transparent;padding:0 7px;color:var(--muted);font-size:12px}
.message-actions button:hover{background:var(--surface-2);color:var(--text)}
.message.assistant h4{margin:18px 0 7px;font-size:15px;line-height:1.5}
.message.assistant h4:first-child{margin-top:0}
.message.assistant p{margin:0 0 12px;line-height:1.78}
.message.assistant code{border:1px solid var(--line);border-radius:5px;background:var(--surface-2);padding:1px 5px;color:var(--accent-strong);font:600 12px/1.6 var(--mono)}
.assistant-view .ai-strong{color:var(--study-green-ink);font-weight:800}
.assistant-view .ai-mark{border-radius:4px;background:var(--study-green-soft);box-shadow:inset 0 -1px 0 var(--study-green-line);padding:1px 4px;color:var(--study-green-ink);font-weight:750}
.assistant-view .ai-underline{text-decoration-color:var(--study-green)}
.ai-reasoning-summary{overflow:hidden;margin:0 0 15px;border:1px solid var(--study-green-line);border-radius:9px;background:var(--study-green-soft)}
.ai-reasoning-summary summary{display:grid;min-height:40px;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px 11px;color:var(--study-green-ink);cursor:pointer;list-style:none}
.ai-reasoning-summary summary::-webkit-details-marker{display:none}
.ai-reasoning-summary summary span{font-size:12px;font-weight:800}
.ai-reasoning-summary summary i:first-child{color:var(--study-green-strong);font-size:16px}
.ai-reasoning-summary summary i:last-child{color:var(--study-green-strong);font-size:13px;transition:transform .16s ease}
.ai-reasoning-summary[open] summary i:last-child{transform:rotate(180deg)}
.ai-reasoning-summary>div{border-top:1px solid var(--study-green-line);padding:10px 13px 11px;color:var(--text-2);font-size:13px;line-height:1.72}
.ai-knowledge-callout{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;margin:12px 0;border-left:3px solid var(--study-green);border-radius:0 8px 8px 0;background:var(--study-green-soft);padding:10px 12px}
.ai-knowledge-callout strong{color:var(--study-green-ink);font-size:12px;white-space:nowrap}
.ai-knowledge-callout span{color:var(--text-2);line-height:1.65}
.ai-point{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;margin:7px 0;padding:0;line-height:1.7}
.assistant-view .ai-point i{margin-top:5px;color:var(--study-green-strong);font-size:12px}
.assistant-layout-v2 .chat-welcome{width:min(100%,720px);margin:auto;padding:30px 0}
.assistant-layout-v2 .chat-welcome-icon{border-radius:12px}
.assistant-layout-v2 .chat-welcome h3{font-size:22px}
.assistant-layout-v2 .chat-welcome p{max-width:540px;font-size:14px}
.assistant-layout-v2 .suggestion-grid{gap:8px}
.assistant-layout-v2 .suggestion-grid button{min-height:54px;border-radius:9px;padding:10px 12px}
.assistant-layout-v2 .chat-composer{border-top:0;background:linear-gradient(180deg,transparent,var(--surface-2) 25%);padding:18px clamp(14px,5vw,68px) 10px}
.composer-shell{position:relative;width:min(100%,920px);margin:0 auto;border:1px solid var(--line-strong);border-radius:13px;background:var(--surface);box-shadow:0 8px 28px color-mix(in srgb,var(--bg) 55%,transparent);transition:border-color .16s ease,box-shadow .16s ease}
.composer-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent),0 8px 28px color-mix(in srgb,var(--bg) 55%,transparent)}
.assistant-layout-v2 .composer-box{display:flex;max-width:none;flex-direction:column;align-items:stretch;gap:0;border:0;border-radius:inherit;background:transparent;padding:0}
.assistant-input-layer{position:relative;min-height:36px}
.assistant-input-highlight{position:absolute;inset:0;z-index:0;overflow:hidden;padding:13px 14px 5px;color:var(--text);font:inherit;font-size:14px;line-height:1.55;overflow-wrap:break-word;pointer-events:none;white-space:pre-wrap}
.assistant-input-highlight .assistant-input-mention{border-radius:4px;background:var(--accent-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-ink);font:inherit}
.assistant-layout-v2 #assistantInput{position:relative;z-index:1;width:100%;height:36px;min-height:36px;max-height:320px;flex:none;overflow-y:hidden;resize:none;border:0;outline:0;background:transparent;padding:13px 14px 5px;caret-color:var(--text);color:transparent;font:inherit;font-size:14px;line-height:1.55;-webkit-text-fill-color:transparent}
.assistant-layout-v2 #assistantInput::placeholder{color:var(--muted);-webkit-text-fill-color:var(--muted)}
.assistant-layout-v2 #assistantInput::selection{background:color-mix(in srgb,var(--accent) 24%,transparent);color:transparent}
.assistant-mention{border-radius:4px;background:var(--accent-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);padding:1px 3px;color:var(--accent-ink);font-weight:750;white-space:nowrap}
.composer-toolbar{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:5px 7px 7px}
.composer-tools,.composer-submit{display:flex;min-width:0;align-items:center;gap:5px}
.assistant-skill-trigger{display:inline-flex;min-height:27px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);padding:0 8px;color:var(--text-2);font-size:11px;font-weight:750;white-space:nowrap}
.assistant-skill-trigger:hover,.assistant-skill-trigger[aria-expanded="true"]{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}
.assistant-skill-trigger b{color:var(--accent);font:800 14px/1 var(--mono)}
.assistant-model-brand{display:inline-flex;min-height:24px;align-items:center;gap:4px;border-radius:6px;background:color-mix(in srgb,var(--accent-soft) 56%,transparent);padding:0 7px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}
.assistant-model-brand i{color:var(--accent);font-size:12px}
.assistant-skill-picker{position:absolute;right:0;bottom:calc(100% + 9px);left:0;z-index:24;display:grid;width:min(100%,640px);margin:auto;overflow:hidden;border:1px solid var(--line-strong);border-radius:13px;background:var(--surface);box-shadow:0 18px 50px color-mix(in srgb,var(--text) 18%,transparent);animation:assistantSkillIn .14s ease-out}
.assistant-skill-picker[hidden]{display:none}
.assistant-skill-picker>header{display:flex;min-height:45px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 11px}
.assistant-skill-picker>header>div{display:flex;min-width:0;align-items:baseline;gap:8px}
.assistant-skill-picker>header strong{font-size:12px}
.assistant-skill-picker>header span{color:var(--muted);font-size:10px}
.assistant-skill-picker kbd{display:grid;width:23px;height:23px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--muted);font:750 11px/1 var(--mono);box-shadow:none}
.assistant-skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}
.assistant-skill-option{display:grid;min-width:0;min-height:58px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;border:1px solid transparent;border-radius:9px;background:transparent;padding:7px 8px;color:var(--text);text-align:left}
.assistant-skill-option:hover,.assistant-skill-option.active{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:var(--accent-soft)}
.assistant-skill-option>i{display:grid;width:30px;height:30px;grid-row:1/span 2;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:16px}
.assistant-skill-option>span{display:grid;min-width:0;gap:2px}
.assistant-skill-option strong{overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}
.assistant-skill-option small{overflow:hidden;color:var(--text-2);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.assistant-skill-option em{grid-column:2;color:var(--muted);font-size:9px;font-style:normal}
.assistant-skill-empty{margin:0;padding:18px;color:var(--muted);font-size:11px;text-align:center}
@keyframes assistantSkillIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.composer-count{color:var(--muted);font:600 11px/1 var(--mono);white-space:nowrap}
.composer-count.near-limit{color:var(--danger)}
.assistant-layout-v2 .composer-send{width:34px;height:34px;border-radius:8px;font-size:15px}
.assistant-layout-v2 .composer-hint{width:min(100%,920px);margin:7px auto 0;color:var(--muted);font-size:11px;text-align:center}
.ai-profile-manager{margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:18px}
.ai-profile-manager>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.ai-profile-manager h3{margin:0;font-size:15px}
.ai-profile-manager p{margin:4px 0 0;color:var(--muted);font-size:12px}
.saved-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,320px));gap:8px}
.saved-model-card{display:grid;grid-template-columns:minmax(0,1fr) 34px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.saved-model-card.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--accent-soft)}
.saved-model-main{display:grid;width:100%;min-height:70px;grid-template-columns:32px minmax(0,1fr) max-content;align-items:center;gap:9px;background:transparent;padding:9px 8px 9px 10px;color:var(--text);text-align:left}
.saved-model-main:hover{background:color-mix(in srgb,var(--surface-3) 65%,transparent)}
.saved-model-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--surface);color:var(--accent);font-size:17px}
.saved-model-copy,.saved-model-copy strong,.saved-model-copy b,.saved-model-copy small{display:block;min-width:0}
.saved-model-copy strong{font-size:12px}
.saved-model-copy b{margin-top:2px;overflow:hidden;color:var(--text-2);font:700 11px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap}
.saved-model-copy small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.saved-model-state{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:10px;font-weight:750;white-space:nowrap}
.saved-model-card.active .saved-model-state{color:var(--accent-strong)}
.saved-model-delete{width:34px;height:100%;border-left:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:0;background:transparent;color:var(--muted)}
.saved-model-delete:hover{background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger)}
.saved-model-empty{display:grid;grid-template-columns:36px minmax(0,1fr) max-content;align-items:center;gap:12px;border:1px dashed var(--line-strong);border-radius:10px;padding:14px}
.saved-model-empty>i{color:var(--accent);font-size:24px}
.saved-model-empty strong,.saved-model-empty span{display:block}
.saved-model-empty strong{font-size:13px}
.saved-model-empty span{margin-top:3px;color:var(--muted);font-size:12px}
.ai-quick-form{margin-top:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:16px}
.ai-quick-form.is-hidden{display:none}
.ai-quick-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.ai-quick-form-head strong,.ai-quick-form-head span{display:block}
.ai-quick-form-head strong{font-size:14px}
.ai-quick-form-head span{margin-top:4px;color:var(--muted);font-size:12px}

@media(max-width:920px){
  .assistant-layout-v2{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .assistant-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .assistant-history{grid-template-rows:auto auto;border-right:0;border-bottom:1px solid var(--line)}
  .assistant-history-head{min-height:46px;border-bottom:0;padding:6px 9px}
  .assistant-conversation-list{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--line);padding:6px;scrollbar-width:none}
  .assistant-conversation-list::-webkit-scrollbar{display:none}
  .assistant-conversation-row{min-width:220px;background:var(--surface)}
  .assistant-conversation-open{min-height:54px}
  .assistant-history-empty{min-width:100%;min-height:54px;grid-auto-flow:column;place-content:center;gap:8px;padding:8px}
  .assistant-history-empty span{display:none}
  .assistant-context-line{display:none}
  .saved-model-grid{grid-template-columns:repeat(auto-fill,minmax(240px,320px))}
}

@media(max-width:700px){
  .assistant-layout-v2{height:100%;border-radius:9px}
  .assistant-workbar{min-height:48px;padding:5px 6px}
  .assistant-mode-tab{min-height:36px;padding:0 9px}
  .assistant-mode-tab span{font-size:12px}
  .assistant-workbar-actions{padding-left:3px}
  .assistant-drive-status{min-width:38px;width:38px;grid-template-columns:1fr;padding:6px}
  .assistant-drive-status>span,.assistant-drive-status>i:last-child{display:none}
  .assistant-drive-status>i:first-child{width:24px;height:24px;margin:auto}
  .assistant-history-head>button span{display:none}
  .assistant-conversation-row{min-width:194px}
  .assistant-layout-v2 .assistant-chat-head{min-height:44px;padding:6px 11px}
  .assistant-layout-v2 .assistant-chat-head>div span{display:none}
  .assistant-layout-v2 .chat-messages{gap:18px;padding:18px 10px 22px}
  .assistant-turn{grid-template-columns:28px minmax(0,1fr);gap:9px}
  .turn-avatar{width:28px;height:28px;border-radius:8px;font-size:14px}
  .assistant-tool-source{grid-template-columns:26px minmax(0,1fr);padding:8px}
  .assistant-tool-source>i{width:26px;height:26px}
  .assistant-tool-source>button{grid-column:2;width:max-content;margin-top:2px}
  .assistant-tool-source>.assistant-tool-actions{grid-column:2;justify-content:flex-start;margin-top:2px}
  .assistant-transfer-tool{grid-template-columns:28px minmax(0,1fr);padding:9px}
  .assistant-transfer-tool>.assistant-transfer-preview,.assistant-transfer-tool>.assistant-tool-actions{grid-column:1/-1}
  .assistant-transfer-preview li small{white-space:normal}
  .assistant-layout-v2 .message.user{max-width:92%}
  .ai-knowledge-callout{grid-template-columns:1fr;gap:4px}
  .assistant-layout-v2 .chat-composer{padding:12px 8px 7px}
  .composer-shell{border-radius:11px}
  .assistant-input-highlight{padding:11px 11px 4px}
  .assistant-layout-v2 #assistantInput{max-height:min(260px,38vh);padding:11px 11px 4px}
  .composer-toolbar{padding:4px 5px 5px}
  .assistant-model-brand{min-height:24px;padding:0 6px}
  .assistant-skill-list{grid-template-columns:1fr}
  .assistant-skill-picker{right:-1px;left:-1px;width:auto}
  .assistant-skill-picker>header span{display:none}
  .assistant-skill-option{min-height:54px}
  .assistant-layout-v2 .composer-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ai-profile-manager>header{align-items:flex-start}
  .saved-model-grid{grid-template-columns:1fr}
  .saved-model-empty{grid-template-columns:32px minmax(0,1fr)}
  .saved-model-empty button{grid-column:1/-1;width:100%}
}

/* Review workspace v2 */
.review-view{--review-ink:#18252b;--review-paper:#fbfaf7}
.review-mode-nav{display:flex;gap:24px;margin:-2px 0 16px;border-bottom:1px solid var(--line)}
.review-mode-nav button{position:relative;display:flex;min-height:44px;align-items:center;gap:7px;background:transparent;padding:0 2px;color:var(--muted);font-size:13px;font-weight:750}
.review-mode-nav button::after{position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px;background:var(--accent);content:"";opacity:0;transform:scaleX(.5);transition:opacity .16s ease,transform .16s ease}
.review-mode-nav button:hover,.review-mode-nav button.active{color:var(--text)}
.review-mode-nav button.active::after{opacity:1;transform:scaleX(1)}
.review-mode-nav i{font-size:17px}
.review-mission-bar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,260px) auto;align-items:center;gap:28px;margin-bottom:14px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:linear-gradient(118deg,#17242b,#26383e);padding:18px 20px;color:#f7f4ed;box-shadow:0 10px 26px rgba(23,36,43,.12)}
.review-mission-copy span,.review-mission-copy strong,.review-mission-copy p{display:block}
.review-mission-copy span{color:#aebdbd;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.review-mission-copy strong{margin-top:4px;font-size:20px;line-height:1.25}
.review-mission-copy p{margin:4px 0 0;color:#c5cfce;font-size:12px}
.review-mission-progress{height:6px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}
.review-mission-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#db6854,#ef9c79);transition:width .3s ease}
.review-mission-numbers{display:flex;gap:20px}
.review-mission-numbers div{min-width:58px}
.review-mission-numbers strong,.review-mission-numbers span{display:block}
.review-mission-numbers strong{font:750 20px/1 var(--mono)}
.review-mission-numbers span{margin-top:6px;color:#aebdbd;font-size:10px;white-space:nowrap}
.review-cockpit{display:grid;grid-template-columns:minmax(0,1fr) 286px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-soft)}
.review-workspace{min-width:0}
.review-question-head{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:10px 20px}
.review-question-head>div{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:11px}
.review-question-head>div:last-child{justify-content:flex-end;white-space:nowrap}
.review-step{border-radius:99px;background:var(--accent-soft);padding:4px 8px;color:var(--accent-ink);font-weight:800}
.review-question-body{padding:28px 30px 30px}
.review-question-text{max-width:850px;max-height:min(320px,42vh);overflow:auto;padding-right:6px;color:var(--text);font-size:19px;font-weight:750;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.review-answer-compose{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}
.review-answer-compose label{display:block;margin-bottom:8px;color:var(--text-2);font-size:12px;font-weight:750}
.review-answer-compose textarea{width:100%;min-height:118px;resize:vertical;background:var(--surface-2);font-size:14px;line-height:1.7}
.review-answer-compose.submitted textarea{min-height:72px;color:var(--text-2)}
.review-compose-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}
.review-reveal{display:grid;gap:10px;margin-top:14px}
.review-reveal>section{border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:16px 17px}
.review-reveal>section>span,.wrong-detail section>span{display:block;margin-bottom:7px;color:var(--accent-ink);font-size:11px;font-weight:800;letter-spacing:.05em}
.review-reveal>section>p{margin:0;color:var(--text);font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.review-missing-copy{color:var(--muted)!important}
.review-reveal-tools{display:flex;justify-content:flex-end;gap:8px}
.review-feedback{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.4fr);align-items:center;gap:18px;margin-top:8px;border-top:1px solid var(--line);padding-top:18px}
.review-feedback>div:first-child span,.review-feedback>div:first-child small{display:block}
.review-feedback>div:first-child span{font-size:13px;font-weight:800}
.review-feedback>div:first-child small{margin-top:4px;color:var(--muted);font-size:11px}
.review-feedback .review-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0}
.review-feedback .review-outcome{min-height:62px;border-radius:7px;background:var(--surface);padding:9px 10px;text-align:center}
.review-feedback .review-outcome strong{font-size:12px}
.review-feedback .review-outcome span{margin-top:4px;font-size:10px}
.review-feedback .review-outcome.fail:hover{border-color:#c6675b;background:#fff5f2}
.review-feedback .review-outcome.partial:hover{border-color:#b78a46;background:#fff9ef}
.review-feedback .review-outcome.pass:hover{border-color:#50826b;background:#f2faf5}
.review-context-panel{display:grid;align-content:start;border-left:1px solid var(--line);background:var(--surface-2)}
.review-context-panel>section{padding:18px;border-bottom:1px solid var(--line)}
.review-context-panel>section:last-child{border-bottom:0}
.context-kicker{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em}
.review-context-panel section>strong{display:block;font-size:14px}
.review-context-panel section>p{margin:6px 0 0;color:var(--text-2);font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.previous-wrong-answer{margin-top:12px;border-left:2px solid var(--accent);padding-left:10px}
.previous-wrong-answer span{color:var(--muted);font-size:10px;font-weight:750}
.previous-wrong-answer p{margin:4px 0 0!important}
.review-history-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.review-history-facts div{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:10px}
.review-history-facts strong,.review-history-facts span{display:block}
.review-history-facts strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.review-history-facts span{margin-top:4px;color:var(--muted);font-size:10px}
.review-next-section{display:grid;gap:6px}
.review-next-section .context-kicker{margin-bottom:2px}
.review-next-section button{display:grid;gap:3px;width:100%;border-radius:6px;background:transparent;padding:8px;color:var(--text);text-align:left}
.review-next-section button:hover{background:var(--surface)}
.review-next-section button span{color:var(--accent-ink);font-size:9px;font-weight:800}
.review-next-section button strong{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.review-session-empty{display:grid;min-height:390px;place-items:center;align-content:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:40px;text-align:center}
.review-complete-mark{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:#edf7f1;color:#46745e;font-size:27px}
.review-session-empty>span{margin-top:17px;color:var(--accent-ink);font-size:11px;font-weight:800;letter-spacing:.08em}
.review-session-empty h2{margin:7px 0 0;font-size:22px}
.review-session-empty p{max-width:420px;margin:8px 0 18px;color:var(--muted);font-size:13px;line-height:1.65}
.review-session-empty>div:last-child{display:flex;gap:8px}
.review-library-shell{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:var(--shadow-soft)}
.review-library-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(120px,auto)) auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:12px}
.review-search{display:flex;min-height:38px;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);padding:0 11px}
.review-search:focus-within{border-color:var(--accent)}
.review-search i{color:var(--muted);font-size:16px}
.review-search input{min-width:0;height:34px;border:0;background:transparent;padding:0;box-shadow:none}
.review-search input:focus{outline:0;box-shadow:none}
.review-library-toolbar select{min-height:38px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);padding:0 30px 0 10px;color:var(--text);font-size:12px}
.review-library-toolbar select option{background:var(--surface);color:var(--text)}
.review-library-toolbar>span{padding:0 7px;color:var(--muted);font-size:11px;white-space:nowrap}
.review-library-list{display:grid}
.review-library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:9px 12px}
.review-library-row:last-child{border-bottom:0}
.review-library-row:hover{background:var(--surface-2)}
.review-library-main{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;min-width:0;background:transparent;padding:4px;color:var(--text);text-align:left}
.mastery-state{justify-self:start;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.mastery-state.state-0{background:#fff0ed;color:#a94c3f}.mastery-state.state-1{background:#fff7e7;color:#926825}.mastery-state.state-2{background:#edf7f1;color:#47745e}
.review-library-copy{display:block;min-width:0}
.review-library-copy>strong{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.review-library-copy>small{display:block;overflow:hidden;margin-top:3px;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.review-library-copy>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px}
.review-library-copy b{border-radius:4px;background:var(--surface-3);padding:3px 6px;color:var(--text-2);font-size:9px;font-weight:700}
.review-library-copy em{color:var(--muted);font-size:10px;font-style:normal}
.review-library-copy em.is-due{color:var(--accent);font-weight:750}
.review-library-actions{display:flex;align-items:center;gap:5px}
.review-library-actions .secondary-button{min-height:34px;padding:0 11px}
.review-insights-grid{display:grid;gap:12px}
.weakness-focus,.weakness-evidence-panel,.weakness-queue{border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow-soft)}
.weakness-focus{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:linear-gradient(120deg,var(--accent-soft),var(--surface) 58%);padding:20px 22px}
.weakness-focus-copy{min-width:0}
.weakness-focus-copy>span{color:var(--accent-ink);font-size:10px;font-weight:850;letter-spacing:.08em}
.weakness-focus-copy h2{margin:6px 0 0;font-size:23px;line-height:1.35}
.weakness-focus-copy p{max-width:720px;margin:7px 0 0;color:var(--text-2);font-size:12px;line-height:1.65}
.weakness-focus-evidence{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.weakness-focus-evidence span{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:99px;background:color-mix(in srgb,var(--surface) 72%,transparent);padding:4px 8px;color:var(--text-2);font-size:10px;font-weight:700}
.weakness-focus-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.weakness-plan-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border-radius:7px;background:transparent;padding:0 10px;color:var(--accent-ink);font-size:11px;font-weight:800}
.weakness-plan-action:hover{background:var(--surface-2)}
.weakness-evidence-panel>header,.weakness-queue>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 18px 12px}
.weakness-evidence-panel header h3,.weakness-queue header h3{margin:0;font-size:14px}
.weakness-evidence-panel header p,.weakness-queue header p{margin:3px 0 0;color:var(--muted);font-size:10px}
.weakness-evidence-panel>header>span,.weakness-queue>header>span{color:var(--muted);font-size:10px;white-space:nowrap}
.weakness-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 18px}
.weakness-evidence-grid>section{min-width:0;padding:15px 18px 17px 0}
.weakness-evidence-grid>section+section{border-left:1px solid var(--line);padding-right:18px;padding-left:18px}
.weakness-evidence-grid>section:last-child{padding-right:0}
.weakness-group-title{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--text-2);font-size:10px;font-weight:800}
.weakness-group-title i{color:var(--accent);font-size:14px}
.weakness-summary-list{display:grid;gap:10px}
.weakness-summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.weakness-summary-item strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.weakness-summary-item span{color:var(--muted);font-size:9px;white-space:nowrap}
.weakness-queue-list{padding:0 18px 8px}
.weakness-queue-list>button{display:grid;grid-template-columns:28px 68px minmax(0,1fr) auto 14px;align-items:center;gap:10px;width:100%;border-bottom:1px solid var(--line);background:transparent;padding:11px 0;color:var(--text);text-align:left}
.weakness-queue-list>button:last-child{border-bottom:0}
.weakness-queue-list>button:hover strong{color:var(--accent-ink)}
.weakness-queue-list>button b{color:var(--muted);font:700 9px/1 var(--mono)}
.weakness-queue-list>button span{color:var(--accent-ink);font-size:10px;font-weight:800}
.weakness-queue-list>button strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.weakness-queue-list>button em{color:var(--muted);font-size:10px;font-style:normal;white-space:nowrap}
.weakness-queue-list>button>i{color:var(--muted);font-size:13px}
.weakness-queue-list>.weakness-empty{padding:16px 0}
.weakness-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.wrong-detail{display:grid;gap:12px}
.wrong-detail header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wrong-detail header>div{display:flex;flex-wrap:wrap;gap:6px}
.wrong-detail header>div>span:not(.subject-label){border-radius:4px;background:var(--surface-3);padding:4px 7px;color:var(--text-2);font-size:10px}
.wrong-detail header>strong{color:var(--accent-ink);font-size:12px}
.wrong-detail section{border:1px solid var(--line);border-radius:7px;background:var(--surface-2);padding:13px 14px}
.wrong-detail section p{margin:0;color:var(--text-2);font-size:12px;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere}
.wrong-detail-question{max-height:240px;overflow:auto;color:var(--text)!important;font-size:14px!important;font-weight:650}
.wrong-detail-mistake{border-left:3px solid var(--accent)!important}
.wrong-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wrong-detail footer{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:10px}
.wrong-editor-form textarea{line-height:1.6}

@media(max-width:1080px){
  .review-mission-bar{grid-template-columns:minmax(220px,1fr) minmax(150px,220px)}
  .review-mission-numbers{grid-column:1/-1;justify-content:flex-start;border-top:1px solid rgba(255,255,255,.1);padding-top:13px}
  .review-cockpit{grid-template-columns:minmax(0,1fr) 250px}
  .review-library-toolbar{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(120px,auto))}
  .review-library-toolbar #reviewMasteryFilter,.review-library-toolbar>span{grid-row:2}
  .weakness-focus{grid-template-columns:minmax(0,1fr)}
  .weakness-focus-actions{justify-content:flex-start}
}

@media(max-width:760px){
  .review-mode-nav{gap:16px;overflow-x:auto}
  .review-mode-nav button{flex:none}
  .review-mission-bar{grid-template-columns:1fr;gap:15px;padding:16px}
  .review-mission-progress,.review-mission-numbers{grid-column:auto}
  .review-cockpit{grid-template-columns:1fr}
  .review-context-panel{grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:0}
  .review-context-panel>section{border-right:1px solid var(--line)}
  .review-context-panel>section:last-child{grid-column:1/-1;border-right:0}
  .review-question-body{padding:21px 18px 24px}
  .review-question-text{font-size:17px}
  .review-feedback{grid-template-columns:1fr}
  .review-library-toolbar{grid-template-columns:1fr 1fr}
  .review-search{grid-column:1/-1}
  .review-library-toolbar #reviewMasteryFilter,.review-library-toolbar>span{grid-row:auto}
  .review-library-row{grid-template-columns:1fr}
  .review-library-actions{justify-content:flex-end}
  .weakness-evidence-grid{grid-template-columns:1fr}
  .weakness-evidence-grid>section,.weakness-evidence-grid>section+section{border-left:0;border-top:1px solid var(--line);padding:13px 0}
  .weakness-evidence-grid>section:first-child{border-top:0}
}

@media(max-width:480px){
  .review-view{min-width:0;max-width:100%;overflow:hidden}
  .review-view .page-head-copy,.review-view .page-head p{width:100%;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere}
  .review-mode-nav,.review-mission-bar,.review-cockpit,.review-library-shell,.review-insights-grid{width:100%;max-width:100%;box-sizing:border-box}
  .review-cockpit>*{min-width:0;max-width:100%}
  .review-workspace{width:100%;max-width:100%;overflow:hidden}
  .review-mission-numbers{justify-content:space-between;gap:8px}
  .review-question-head{align-items:flex-start;flex-direction:column;padding:11px 14px}
  .review-question-head,.review-question-head>div,.review-question-body,.review-answer-compose{min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
  .review-question-head>div:last-child{width:100%;justify-content:space-between}
  .review-question-head>div:last-child span{max-width:calc(100% - 36px);overflow:hidden;text-overflow:ellipsis}
  .review-question-text{width:100%;max-width:100%;white-space:normal;word-break:break-all;overflow-wrap:anywhere}
  .review-answer-compose textarea{min-width:0;max-width:100%;box-sizing:border-box}
  .review-context-panel{grid-template-columns:1fr}
  .review-context-panel>section,.review-context-panel>section:last-child{grid-column:auto;border-right:0}
  .review-feedback .review-outcomes{grid-template-columns:1fr}
  .review-compose-actions,.review-reveal-tools{display:grid;grid-template-columns:1fr}
  .review-library-toolbar{grid-template-columns:1fr}
  .review-search{grid-column:auto}
  .review-library-main{grid-template-columns:1fr;gap:7px}
  .review-library-actions .secondary-button{flex:1}
  .wrong-detail-columns{grid-template-columns:1fr}
  .weakness-focus{gap:16px;padding:17px 16px}
  .weakness-focus-actions{display:grid;grid-template-columns:1fr;width:100%}
  .weakness-focus-actions>*{width:100%}
  .weakness-evidence-panel>header,.weakness-queue>header{padding-right:14px;padding-left:14px}
  .weakness-evidence-grid,.weakness-queue-list{padding-right:14px;padding-left:14px}
  .weakness-queue-list>button{grid-template-columns:24px minmax(0,1fr) auto 12px;gap:7px}
  .weakness-queue-list>button span{grid-column:2}
  .weakness-queue-list>button strong{grid-column:2/5;white-space:normal}
  .weakness-queue-list>button em{grid-column:3;grid-row:1}
  .weakness-queue-list>button>i{grid-column:4;grid-row:1}
}

@media(max-width:430px){
  .topbar .top-add-button{display:none}
}

/* Data-first study workspace */
:root{--radius:12px;--sidebar:232px;--topbar:64px}
body{background:var(--bg)}
.sidebar{border-color:color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--surface) 96%,var(--bg));padding:16px 13px 13px}
.brand{min-height:48px;gap:11px;border-radius:12px;padding:4px 6px;transition:background-color .18s ease,transform .12s ease}
.brand:hover{background:var(--surface-2)}
.brand:active{transform:scale(.985)}
.brand-mark{position:relative;display:grid;width:40px;height:40px;flex:none;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:12px;background:linear-gradient(145deg,var(--surface),var(--accent-soft));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 70%,transparent),0 4px 12px rgba(38,73,57,.035);color:var(--accent-strong)}
.brand-mark>i{font-size:21px;line-height:1;transform:translateY(-1px)}
.brand-mark>img{display:none;width:100%;height:100%;object-fit:cover}
.brand-mark.has-image>img{display:block}
.brand-mark.has-image>i{display:none}
.brand-copy{min-width:0}
.brand-copy strong{font-size:17px;font-weight:800;letter-spacing:-.02em}
.brand-copy small{margin-top:2px;color:var(--text-2);font-size:14px;font-weight:750;line-height:1.15;letter-spacing:0}
.exam-peek{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;overflow:hidden;margin:19px 1px 16px;border-color:var(--line);border-radius:13px;background:var(--surface-2);padding:13px 14px}
.exam-peek::before{position:absolute;top:0;right:0;left:0;height:2px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 15%,transparent));content:""}
.exam-peek-head{grid-column:1/-1;min-width:0}
.exam-peek-head>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exam-peek>strong{grid-column:1;grid-row:2;margin:12px 0 0;font-size:36px;letter-spacing:-.04em}
.exam-peek>p{grid-column:2;grid-row:2;align-self:end;margin:0 0 3px;color:var(--muted);font-size:12px;line-height:1.35}
.exam-peek-line{grid-column:1/-1;min-width:0;margin-top:12px;padding-top:10px;font-size:12px}
.exam-peek-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.primary-nav{gap:2px}
.nav-group-label{display:flex;align-items:center;gap:9px;padding:10px 9px 6px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:0}
.nav-group-label::after{height:1px;min-width:18px;flex:1;background:var(--line);content:""}
.nav-group-label.secondary{margin-top:9px;border-top:0;padding-top:10px}
.nav-item{display:grid;min-height:46px;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;border:1px solid transparent;border-radius:10px;padding:0 9px;color:var(--text-2);font-size:14px;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}
.nav-item::before{position:absolute;top:12px;bottom:12px;left:0;width:3px;border-radius:0 4px 4px 0;background:var(--accent);content:"";opacity:0;transform:scaleY(.4);transition:opacity .18s ease,transform .18s ease}
.nav-item>i{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text-2);font-size:17px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 72%,transparent);transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.nav-item:hover{border-color:color-mix(in srgb,var(--accent) 12%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:var(--text)}
.nav-item:hover>i{border-color:var(--line-strong);background:var(--surface-3);color:var(--text);transform:translateX(1px)}
.nav-item.active{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:color-mix(in srgb,var(--accent-soft) 76%,var(--surface));color:var(--accent-ink);font-weight:750}
.nav-item.active::before{opacity:1;transform:scaleY(1)}
.nav-item.active>i{border-color:var(--accent);background:var(--accent);box-shadow:none;color:var(--accent-contrast);transform:none}
.nav-item kbd,.nav-count{min-width:22px;height:22px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);padding:0 5px;color:var(--muted);font:700 10px/1 var(--mono)}
.nav-item.active kbd,.nav-item.active .nav-count{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--surface);box-shadow:none;color:var(--accent-strong)}
.assistant-entry{grid-template-columns:38px minmax(0,1fr) 16px;border-radius:12px;background:var(--surface);padding:9px;transition:border-color .18s ease,background-color .18s ease,transform .12s ease}
.assistant-entry:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);transform:translateY(-1px)}
.assistant-entry-icon{width:38px;height:38px;border-radius:10px;background:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 12%,transparent);font-size:19px}
.topbar{border-color:color-mix(in srgb,var(--line) 86%,transparent);background:color-mix(in srgb,var(--bg) 88%,transparent);padding:0 26px;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.topbar-title strong{font-size:17px;letter-spacing:-.01em}
.topbar-title span{font-size:12px}
.icon-button{border-radius:10px}
.primary-button,.secondary-button,.danger-button,.text-button{border-radius:9px}
.primary-button{box-shadow:0 5px 13px color-mix(in srgb,var(--accent) 11%,transparent)}
.primary-button:hover{box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 16%,transparent);transform:translateY(-1px)}
.secondary-button:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line-strong));transform:translateY(-1px)}
.main-content{width:min(100%,1320px);padding:26px 30px 64px}
.page-head{margin-bottom:22px}
.page-head h1{font-size:27px;letter-spacing:-.025em}
.page-head p{max-width:760px;color:var(--muted)}
.section-panel,.settings-section,.summary-strip{border-color:var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-soft)}
.section-head{min-height:56px;padding:0 18px}
.section-head h2{letter-spacing:-.01em}

.command-panel{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(360px,.72fr);border-color:color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:15px;box-shadow:var(--shadow)}
.command-main{display:flex;min-height:260px;flex-direction:column;justify-content:center;padding:28px 30px}
.command-main h2{max-width:760px;margin:13px 0 8px;font-size:27px;letter-spacing:-.025em}
.section-kicker{font-size:12px;letter-spacing:.02em}
.command-reason{max-width:720px}
.command-intelligence{display:flex;min-width:0;flex-direction:column;border-left:1px solid var(--line);background:var(--surface-2);padding:22px}
.command-intelligence>header{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:15px}
.learning-pulse-ring{position:relative;display:grid;width:76px;height:76px;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--pulse) * 1%),var(--surface-3) 0);animation:pulse-ring-in .65s cubic-bezier(.16,1,.3,1) both}
.learning-pulse-ring::after{position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:inherit;background:var(--surface);content:""}
.learning-pulse-ring>span{position:relative;z-index:1;display:flex;align-items:flex-end;gap:1px;color:var(--accent-ink)}
.learning-pulse-ring strong{font:780 23px/1 var(--mono);letter-spacing:-.05em}
.learning-pulse-ring small{margin-bottom:2px;font:700 10px/1 var(--mono)}
.command-intelligence>header>div:last-child>span{color:var(--accent-strong);font-size:10px;font-weight:800;letter-spacing:.08em}
.command-intelligence h3{margin:4px 0 3px;font-size:17px;letter-spacing:-.01em}
.command-intelligence header p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.intelligence-signals{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:17px}
.intelligence-signals button{position:relative;display:grid;min-height:58px;grid-template-columns:1fr auto;align-content:center;gap:5px 8px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:9px 10px;color:var(--text);text-align:left;transition:border-color .18s ease,transform .12s ease}
.intelligence-signals button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}
.intelligence-signals span{color:var(--muted);font-size:10px;font-weight:700}
.intelligence-signals strong{font:750 12px/1 var(--mono)}
.intelligence-signals button>i{position:relative;grid-column:1/-1;display:block;height:3px;overflow:hidden;border-radius:3px;background:var(--surface-3)}
.intelligence-signals button>i::after{position:absolute;inset:0;border-radius:inherit;background:var(--accent);content:"";transform:scaleX(calc(var(--signal) / 100));transform-origin:left;animation:signal-grow .6s cubic-bezier(.16,1,.3,1) both}
.command-intelligence>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;color:var(--muted);font-size:10px}
.command-intelligence>footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.command-intelligence>footer strong{flex:none;color:var(--text);font:750 13px/1 var(--mono)}
.quick-capture{margin-top:12px;border-radius:12px}
.quick-capture button{min-height:50px;gap:9px}
.quick-capture button i{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:16px;transition:transform .18s ease}
.quick-capture button:hover i{transform:translateY(-2px)}
.metric{padding:18px}
.metric strong{color:var(--text);font-size:25px;letter-spacing:-.04em}
.week-bar-fill{background:linear-gradient(180deg,var(--accent),var(--accent-strong));animation:data-bar-rise .55s cubic-bezier(.16,1,.3,1) both;transform-origin:bottom}
.assistant-brief{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:13px;background:linear-gradient(145deg,var(--surface),var(--accent-soft))}

.insight-narrative{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:13px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:13px;background:linear-gradient(110deg,var(--surface),var(--accent-soft));padding:16px 18px}
.insight-narrative>i{display:grid;width:44px;height:44px;place-items:center;border-radius:11px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-strong);font-size:21px}
.insight-narrative span{color:var(--accent-strong);font-size:10px;font-weight:800;letter-spacing:.08em}
.insight-narrative strong{display:block;margin-top:3px;font-size:16px}
.insight-narrative p{margin:4px 0 0;color:var(--text-2);font-size:12px;line-height:1.55}
.summary-strip{overflow:hidden;box-shadow:none}
.summary-metric{min-width:0;padding:16px 18px}
.summary-metric>span{font-size:11px}
.summary-metric>strong{display:flex;align-items:flex-end;gap:3px;margin-top:9px;color:var(--text);font-size:26px;letter-spacing:-.05em}
.summary-metric>strong small{display:inline;margin:0 0 2px;color:var(--muted);font:700 10px/1 var(--font);letter-spacing:0}
.summary-metric>p{margin:6px 0 0;color:var(--muted);font-size:10px}
.metric-trend{display:flex;align-items:center;gap:4px;margin-top:8px;color:var(--muted);font-size:10px;font-style:normal;font-weight:700}
.metric-trend.up{color:var(--success)}
.metric-trend.down{color:var(--danger)}
.metric-trend i{font-size:12px}
.data-panel{overflow:hidden}
.data-panel .section-head>div>p{margin:4px 0 0;color:var(--muted);font-size:10px}
.chart-legend{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px}
.chart-legend span{display:flex;align-items:center;gap:5px}
.chart-legend i{width:7px;height:7px;border-radius:2px;background:var(--accent)}
.chart-legend span:last-child i{background:#7894a5}
.chart-area{height:214px;border-radius:9px;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,color-mix(in srgb,var(--line) 64%,transparent) 50px);padding:18px 8px 0}
.chart-column-bars i{width:10px;height:var(--bar-size);min-height:3px;background:linear-gradient(180deg,var(--accent),var(--accent-strong));transform-origin:bottom;animation:data-bar-rise .58s cubic-bezier(.16,1,.3,1) both}
.chart-column-bars i:last-child{background:linear-gradient(180deg,#8ba4b1,#607e8d)}
.chart-column:nth-child(2) i{animation-delay:.04s}.chart-column:nth-child(3) i{animation-delay:.08s}.chart-column:nth-child(4) i{animation-delay:.12s}.chart-column:nth-child(5) i{animation-delay:.16s}.chart-column:nth-child(6) i{animation-delay:.2s}.chart-column:nth-child(7) i{animation-delay:.24s}
.data-unit,.risk-count{display:grid;min-width:24px;height:24px;place-items:center;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:9px;font-weight:800}
.balance-stick{height:var(--bar-size);background:linear-gradient(180deg,var(--subject-color),color-mix(in srgb,var(--subject-color) 66%,var(--text)));transform-origin:bottom;animation:data-bar-rise .65s cubic-bezier(.16,1,.3,1) both}
.risk-list{gap:4px}
.risk-item{border-radius:10px;padding:9px;transition:background-color .18s ease,transform .12s ease}
.risk-item:hover{background:var(--surface-2);transform:translateX(2px)}
.risk-item i{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong)}

/* Insights v2: records first, diagnosis second, action last */
.insights-v2{--insight-chart:#2fa574;--insight-chart-soft:color-mix(in srgb,var(--insight-chart) 18%,transparent)}
.insights-v2 .page-head{align-items:flex-end}
.insights-range{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:3px}
.insights-range button{height:34px;border:0;border-radius:7px;background:transparent;padding:0 13px;color:var(--muted);font-size:11px;font-weight:750;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.insights-range button:hover{color:var(--text)}
.insights-range button.active{background:var(--surface);box-shadow:0 1px 4px rgba(20,39,31,.08);color:var(--accent-strong)}
.insight-decision{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:13px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;background:linear-gradient(112deg,color-mix(in srgb,var(--accent-soft) 70%,var(--surface)),var(--surface) 58%);padding:17px 18px}
.insight-decision-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:12px;background:var(--surface);color:var(--accent-strong);font-size:21px;box-shadow:0 5px 18px color-mix(in srgb,var(--accent) 8%,transparent)}
.insight-decision-copy{min-width:0}
.insight-decision-copy>span{color:var(--accent-strong);font-size:10px;font-weight:850;letter-spacing:.08em}
.insight-decision-copy h2{margin:4px 0 3px;color:var(--text);font-size:17px;letter-spacing:-.02em}
.insight-decision-copy p{margin:0;color:var(--text-2);font-size:11px;line-height:1.55}
.insight-decision-copy small{display:flex;align-items:center;gap:5px;margin-top:7px;color:var(--muted);font-size:9px}
.insight-decision-copy small i{color:var(--accent)}
.insight-decision-actions{display:flex;flex:none;align-items:center;gap:7px}
.insight-decision-actions .primary-button,.insight-decision-actions .secondary-button{min-height:38px;padding:0 13px}
.insight-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin-bottom:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.insight-kpi-strip article{position:relative;min-width:0;padding:15px 17px}
.insight-kpi-strip article+article::before{position:absolute;top:14px;bottom:14px;left:0;width:1px;background:var(--line);content:""}
.insight-kpi-strip article>span{color:var(--muted);font-size:10px;font-weight:750}
.insight-kpi-strip article>strong{display:flex;align-items:flex-end;gap:4px;margin-top:8px;color:var(--text);font:780 25px/1 var(--mono);letter-spacing:-.05em}
.insight-kpi-strip article>strong small{margin-bottom:2px;color:var(--muted);font:700 9px/1 var(--font);letter-spacing:0}
.insight-kpi-strip article>p{overflow:hidden;margin:6px 0 0;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.insight-kpi-strip .metric-trend{margin-top:7px}
.insight-primary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);gap:13px;margin-bottom:13px}
.insight-detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);align-items:start;gap:13px}
.insight-trend-panel,.insight-signal-panel,.insight-subject-panel,.insight-review-panel{overflow:hidden}
.insight-panel-total{display:grid;justify-items:end;gap:3px}
.insight-panel-total strong{color:var(--text);font:780 15px/1 var(--mono)}
.insight-panel-total span{color:var(--muted);font-size:9px}
.insight-trend-panel>.section-body{padding:10px 15px 13px}
.insight-chart-scroll{overflow-x:hidden;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}
.insight-chart-stage{position:relative;width:100%;min-width:620px;aspect-ratio:760/292}
.insight-focus-svg{display:block;width:100%;height:100%;overflow:visible}
.insight-chart-grid line{stroke:color-mix(in srgb,var(--line) 72%,transparent);stroke-width:1}
.insight-chart-grid text,.insight-chart-labels text{fill:var(--muted);font:700 10px var(--font)}
.insight-goal-line{stroke:color-mix(in srgb,var(--accent) 45%,var(--line));stroke-width:1;stroke-dasharray:4 5}
.insight-goal-label{fill:var(--accent-strong);font:750 9px var(--font)}
.insight-focus-area{fill:var(--insight-chart-soft);opacity:.75;animation:insight-area-in .6s ease both}
.insight-focus-line{fill:none;stroke:var(--insight-chart);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 6px color-mix(in srgb,var(--insight-chart) 16%,transparent));stroke-dasharray:1400;stroke-dashoffset:1400;animation:insight-line-draw .9s cubic-bezier(.16,1,.3,1) forwards}
.insight-chart-hit{position:absolute;width:20px;height:20px;border-radius:50%;background:transparent;transform:translate(-50%,-50%);z-index:2}
.insight-chart-hit>i{position:absolute;inset:6px;border:2px solid var(--surface);border-radius:50%;background:var(--insight-chart);box-shadow:0 0 0 1px var(--insight-chart);transition:inset .15s ease,box-shadow .15s ease}
.insight-chart-hit:hover>i,.insight-chart-hit:focus-visible>i{inset:4px;box-shadow:0 0 0 4px color-mix(in srgb,var(--insight-chart) 16%,transparent)}
.insight-chart-hit.active>i{inset:3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--insight-chart) 22%,transparent),0 0 0 1px var(--insight-chart)}
.insight-chart-hit>span{position:absolute;left:50%;bottom:calc(100% + 7px);display:grid;min-width:98px;gap:3px;visibility:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:7px 9px;color:var(--muted);font-size:9px;line-height:1.2;text-align:left;transform:translateX(var(--tip-shift));box-shadow:var(--shadow);opacity:0;transition:opacity .12s ease,visibility .12s ease}
.insight-chart-hit>span strong{color:var(--text);font:760 11px/1 var(--mono)}
.insight-chart-hit:hover>span,.insight-chart-hit:focus-visible>span{visibility:visible;opacity:1}
.insight-day-prompt{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 2px 0;border-top:1px solid var(--line);padding:13px;color:var(--muted)}
.insight-day-prompt>i{font-size:17px;color:var(--accent-strong)}
.insight-day-prompt>span{display:grid;gap:2px}
.insight-day-prompt strong{color:var(--text-2);font-size:10px}
.insight-day-prompt small{font-size:8px}
.insight-day-detail{margin:8px 0 0;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 32%,var(--surface));overflow:hidden}
.insight-day-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:13px 15px}
.insight-day-detail>header>div{display:grid;gap:2px}
.insight-day-detail>header span{color:var(--accent-strong);font-size:8px;font-weight:850;letter-spacing:.04em}
.insight-day-detail>header h3{font-size:13px}
.insight-day-detail>header p{color:var(--muted);font-size:8px}
.insight-day-detail>header>button{display:grid;width:28px;height:28px;flex:none;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted)}
.insight-day-detail>header>button:hover{border-color:var(--line-strong);color:var(--text)}
.insight-day-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--surface)}
.insight-day-metrics article{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:12px}
.insight-day-metrics article+article{border-left:1px solid var(--line)}
.insight-day-metrics article>i{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:15px}
.insight-day-metrics article>span{display:grid;min-width:0;gap:2px;color:var(--muted);font-size:8px}
.insight-day-metrics strong{overflow:hidden;color:var(--text);font:780 13px/1.1 var(--mono);text-overflow:ellipsis;white-space:nowrap}
.insight-day-metrics small{overflow:hidden;color:var(--text-2);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.insight-day-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:11px}
.insight-day-evidence>section{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}
.insight-day-evidence>section>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:9px 11px}
.insight-day-evidence h4{font-size:10px}
.insight-day-evidence button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:var(--accent-strong);font-size:8px;font-weight:800}
.insight-day-evidence ul{display:grid;list-style:none}
.insight-day-evidence li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:7px;border-bottom:1px solid var(--line);padding:9px 11px}
.insight-day-evidence li:last-child{border-bottom:0}
.insight-day-evidence li>i{margin-top:1px;color:var(--accent-strong);font-size:14px}
.insight-day-evidence li>span{display:grid;min-width:0;gap:2px}
.insight-day-evidence li strong{overflow:hidden;color:var(--text-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.insight-day-evidence li small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.insight-day-evidence li.is-done strong{text-decoration:line-through;color:var(--muted)}
.insight-day-evidence li.is-empty{min-height:57px;align-items:center}
.insight-signal-panel{display:flex;flex-direction:column}
.insight-signal-list{display:grid;gap:0;padding:4px 14px 10px}
.insight-signal-list button{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 2px;color:var(--text);text-align:left;transition:background-color .15s ease}
.insight-signal-list button:last-child{border-bottom:0}
.insight-signal-list button:hover{background:color-mix(in srgb,var(--surface-2) 76%,transparent)}
.insight-signal-list button>i{display:grid;width:35px;height:35px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:17px}
.insight-signal-list button>span{display:grid;min-width:0;gap:3px}
.insight-signal-list small{color:var(--muted);font-size:9px}
.insight-signal-list strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.insight-signal-list em{overflow:hidden;color:var(--text-2);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.insight-signal-list b,.insight-subject-status b{display:inline-flex;min-height:22px;align-items:center;border-radius:6px;padding:0 7px;background:var(--surface-2);color:var(--muted);font-size:8px;font-weight:850;white-space:nowrap}
.insight-signal-list b.warning,.insight-subject-status b.warning{background:color-mix(in srgb,var(--warning) 13%,var(--surface));color:color-mix(in srgb,var(--warning) 72%,var(--text))}
.insight-signal-list b.success,.insight-subject-status b.success{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}
.insight-signal-list b.neutral,.insight-subject-status b.neutral{background:var(--surface-2);color:var(--text-2)}
.insight-subject-status b.danger{background:color-mix(in srgb,var(--danger) 11%,var(--surface));color:var(--danger)}
.insight-subject-status b.muted{background:var(--surface-2);color:var(--muted)}
.insight-subject-table{display:grid;overflow-x:auto}
.insight-subject-head,.insight-subject-table article{display:grid;min-width:620px;grid-template-columns:minmax(130px,1.15fr) .62fr .76fr .62fr .8fr minmax(145px,1.15fr);align-items:center;gap:8px}
.insight-subject-head{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 75%,var(--surface));padding:9px 16px;color:var(--muted);font-size:9px;font-weight:750}
.insight-subject-table article{min-height:66px;border-bottom:1px solid var(--line);padding:9px 16px;color:var(--text-2);font-size:10px}
.insight-subject-table article:last-child{border-bottom:0}
.insight-subject-table article:hover{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}
.insight-subject-name{display:flex;min-width:0;align-items:center;gap:9px}
.insight-subject-name>i{display:grid;width:31px;height:31px;flex:none;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--accent-strong);font-size:15px}
.insight-subject-name strong{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.insight-accuracy{display:flex;align-items:center;gap:5px;color:var(--text);font:750 11px var(--mono)}
.insight-accuracy small{font:750 8px var(--font)}
.insight-accuracy small.up{color:var(--success)}
.insight-accuracy small.down{color:var(--danger)}
.insight-subject-status{display:grid;justify-items:start;gap:3px}
.insight-subject-status small{overflow:hidden;max-width:180px;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.insight-review-panel .section-head>button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--accent-strong);font-size:9px;font-weight:800}
.insight-review-panel>.section-body{padding:16px}
.insight-review-overview{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:14px}
.insight-review-ring{display:grid;width:88px;height:88px;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--coverage)*1%),var(--surface-3) 0);animation:insight-ring-in .7s cubic-bezier(.16,1,.3,1) both}
.insight-review-ring::before{grid-area:1/1;width:68px;height:68px;border-radius:50%;background:var(--surface);content:""}
.insight-review-ring>span{z-index:1;grid-area:1/1;display:grid;justify-items:center;gap:3px}
.insight-review-ring strong{font:780 17px/1 var(--mono)}
.insight-review-ring small{color:var(--muted);font-size:8px}
.insight-review-overview>div:last-child{display:grid;gap:5px}
.insight-review-overview>div:last-child strong{font-size:13px}
.insight-review-overview>div:last-child span{color:var(--text-2);font-size:9px}
.insight-mastery-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:15px}
.insight-mastery-list span{display:grid;grid-template-columns:6px 1fr auto;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:8px;color:var(--muted);font-size:8px}
.insight-mastery-list i{width:6px;height:6px;border-radius:50%;background:var(--danger)}
.insight-mastery-list span:nth-child(2) i{background:var(--warning)}
.insight-mastery-list span:nth-child(3) i{background:var(--success)}
.insight-mastery-list strong{color:var(--text);font:750 10px var(--mono)}
.insight-top-reason{display:grid;gap:3px;margin-top:10px;border-left:2px solid var(--accent);background:var(--accent-soft);padding:10px 11px}
.insight-top-reason>span{color:var(--accent-strong);font-size:8px;font-weight:800}
.insight-top-reason strong{font-size:11px}
.insight-top-reason small{color:var(--text-2);font-size:8px}
.insight-top-reason.is-empty{border-left-color:var(--line-strong);background:var(--surface-2)}

@keyframes insight-line-draw{to{stroke-dashoffset:0}}
@keyframes insight-area-in{from{opacity:0}to{opacity:.75}}
@keyframes insight-ring-in{from{opacity:.3;transform:scale(.88)}to{opacity:1;transform:none}}

.settings-layout{grid-template-columns:190px minmax(0,1fr);gap:22px}
.settings-nav{top:86px;gap:4px;border-radius:13px;padding:7px}
.settings-nav button{display:grid;min-height:44px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;border-radius:9px;padding:0 8px}
.settings-nav button i{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:var(--muted);font-size:16px}
.settings-nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-nav button.active{background:var(--accent-soft);color:var(--accent-ink)}
.settings-nav button.active i{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--accent-strong)}
.settings-section{overflow:hidden}
.settings-section-head{padding:18px 20px}
.settings-section-head h2{font-size:17px;letter-spacing:-.01em}
.settings-section-head p{font-size:11px;line-height:1.5}
.settings-section-body{padding:20px}
.appearance-settings{padding:0}
.appearance-setting-row{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);align-items:start;gap:24px;padding:20px}
.appearance-setting-row+.appearance-setting-row{border-top:1px solid var(--line)}
.appearance-setting-row>div:first-child>strong,.appearance-setting-row>div:first-child>span{display:block}
.appearance-setting-row>div:first-child>strong{font-size:13px}
.appearance-setting-row>div:first-child>span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.55}
.theme-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:4px;width:min(100%,300px);border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:4px}
.theme-mode-switch button{display:flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border-radius:7px;background:transparent;color:var(--text-2);font-size:12px;font-weight:750}
.theme-mode-switch button:hover{background:var(--surface)}
.theme-mode-switch button.selected{background:var(--surface);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,var(--line)),var(--shadow-soft)}
.theme-mode-switch button i{font-size:17px}
.palette-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.palette-option{display:grid;min-height:76px;grid-template-columns:58px minmax(0,1fr) 18px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px;color:var(--text);text-align:left;transition:border-color .16s ease,background-color .16s ease,transform .08s ease}
.palette-option:hover{border-color:var(--line-strong);background:var(--surface-2)}
.palette-option:active{transform:translateY(1px)}
.palette-option.selected{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface))}
.palette-preview{position:relative;display:grid;width:58px;height:40px;grid-template-columns:14px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 10px;overflow:hidden;border:1px solid var(--palette-line);border-radius:7px;background:var(--palette-canvas);box-shadow:0 5px 12px color-mix(in srgb,var(--palette-ink) 10%,transparent)}
.palette-preview i{display:block}
.palette-preview i:nth-child(1){grid-row:1/-1;background:var(--palette-ink);opacity:.92}
.palette-preview i:nth-child(2){position:relative;grid-column:2;margin:5px 5px 1px;border:1px solid var(--palette-line);border-radius:3px;background:var(--palette-panel)}
.palette-preview i:nth-child(2)::before{position:absolute;top:4px;left:4px;width:17px;height:2px;border-radius:2px;background:var(--palette-ink);box-shadow:0 5px 0 var(--palette-line),21px 0 0 var(--palette-line);opacity:.64;content:""}
.palette-preview i:nth-child(3){grid-column:2;width:18px;height:4px;margin:1px 0 5px 5px;border-radius:2px;background:var(--palette-accent)}
.palette-option-copy{min-width:0}
.palette-option-copy strong,.palette-option-copy small{display:block}
.palette-option-copy strong{font-size:12px}
.palette-option-copy small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}
.palette-check{color:var(--accent-strong);font-size:17px;opacity:0}
.palette-option.selected .palette-check{opacity:1}
.beta-build-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));padding:10px 13px;color:var(--accent-ink)}
.beta-build-bar span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}
.beta-build-bar span i{font-size:16px}
.beta-build-bar small{color:var(--muted);font-size:10px}
.field input,.field select,.field textarea,.model-manual-input{border-radius:9px;background:var(--surface-2)}
.subject-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.subject-setting-row{display:grid;min-height:76px;grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:12px;border-color:var(--line);border-radius:11px;background:var(--surface);padding:11px 12px;transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease}
.subject-setting-row:hover{border-color:color-mix(in srgb,var(--subject-color) 48%,var(--line));box-shadow:0 8px 20px color-mix(in srgb,var(--subject-color) 8%,transparent);transform:translateY(-1px)}
.subject-icon-control{position:relative;display:block;width:44px;height:44px;cursor:pointer}
.subject-icon-control>span{display:grid;width:44px;height:44px;place-items:center;border:1px solid color-mix(in srgb,var(--subject-color) 28%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--subject-color) 12%,var(--surface));color:var(--subject-color);font-size:20px;transition:transform .18s ease,background-color .18s ease}
.subject-icon-control:hover>span{background:color-mix(in srgb,var(--subject-color) 18%,var(--surface));transform:scale(1.04)}
.subject-icon-control::after{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border:2px solid var(--surface);border-radius:50%;background:var(--subject-color);content:""}
.subject-swatch{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.subject-setting-copy{min-width:0}
.subject-setting-copy strong,.subject-setting-copy small{display:block}
.subject-setting-copy strong{font-size:14px}
.subject-setting-copy small{overflow:hidden;margin-top:5px;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.subject-delete{width:32px;height:32px;border-color:transparent;background:transparent;color:var(--muted)}
.subject-delete:hover{border-color:color-mix(in srgb,var(--danger) 24%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger)}
.weakness-row i{background:linear-gradient(90deg,var(--accent),#8bcaae)}

.review-library-toolbar{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));padding:12px 13px}
.review-search{min-height:42px;border:1px solid transparent;border-radius:10px;background:var(--surface-2);padding:0 12px;box-shadow:inset 0 0 0 1px var(--line);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.review-search:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}
.review-search:focus-within{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,var(--line))}
.review-search i{flex:none;color:var(--muted);font-size:17px;transition:color .18s ease}
.review-search:focus-within i{color:var(--accent-strong)}
.review-search input{width:100%;height:40px;color:var(--text);font-size:13px;line-height:40px}
.review-search input::placeholder{color:color-mix(in srgb,var(--muted) 88%,transparent);opacity:1}

@keyframes pulse-ring-in{from{opacity:0;transform:scale(.8) rotate(-35deg)}to{opacity:1;transform:none}}
@keyframes signal-grow{from{transform:scaleX(0)}to{transform:scaleX(calc(var(--signal) / 100))}}
@keyframes data-bar-rise{from{opacity:.35;transform:scaleY(.05)}to{opacity:1;transform:scaleY(1)}}

@media(max-width:1040px){
  .command-panel{grid-template-columns:minmax(0,1fr) 340px}
  .command-main{padding:24px}
  .settings-layout{grid-template-columns:170px minmax(0,1fr)}
  .insight-primary-grid,.insight-detail-grid{grid-template-columns:minmax(0,1fr) 280px}
  .insight-decision{grid-template-columns:42px minmax(0,1fr)}
  .insight-decision-actions{grid-column:2;justify-content:flex-start}
}

@media(max-width:920px){
  .command-panel{grid-template-columns:1fr}
  .command-main{min-height:0}
  .command-intelligence{border-top:1px solid var(--line);border-left:0}
  .command-intelligence>header{grid-template-columns:68px minmax(0,1fr)}
  .learning-pulse-ring{width:66px;height:66px}
  .command-intelligence>footer{margin-top:14px}
  .settings-layout{display:block}
  .settings-nav{top:72px;display:flex;border-radius:0}
  .settings-nav button{flex:none;grid-template-columns:26px auto}
  .settings-nav button i{width:26px;height:26px}
  .insight-primary-grid,.insight-detail-grid{grid-template-columns:1fr}
  .insight-signal-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}
  .insight-signal-list button{grid-template-columns:32px minmax(0,1fr);align-content:start;border:1px solid var(--line);border-radius:10px;padding:11px}
  .insight-signal-list button>b{grid-column:1/-1;justify-self:start}
}

@media(max-width:700px){
  .main-content{padding:18px 10px 84px}
  .home-grid{grid-template-columns:minmax(0,1fr)}
  .page-head h1{font-size:23px}
  .command-main{padding:20px 17px}
  .command-main h2{font-size:22px}
  .command-intelligence{padding:17px}
  .intelligence-signals{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .intelligence-signals button{min-height:62px;grid-template-columns:1fr;padding:8px;text-align:center}
  .intelligence-signals strong{font-size:10px}
  .intelligence-signals button>i{grid-column:auto}
  .command-intelligence>footer span{max-width:70%}
  .summary-metric{padding:14px}
  .summary-metric>strong{font-size:23px}
  .insight-narrative{grid-template-columns:40px minmax(0,1fr);padding:14px}
  .insight-narrative>i{width:38px;height:38px}
  .insights-v2 .page-head{align-items:flex-start}
  .insight-decision{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;padding:14px}
  .insight-decision-icon{width:38px;height:38px;border-radius:10px;font-size:18px}
  .insight-decision-copy h2{font-size:15px;line-height:1.35}
  .insight-decision-actions{grid-column:1/-1;width:100%;flex-wrap:wrap}
  .insight-decision-actions .primary-button{flex:1}
  .insight-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-kpi-strip article:nth-child(3)::before{display:none}
  .insight-kpi-strip article:nth-child(n+3){border-top:1px solid var(--line)}
  .insight-panel-total{justify-items:start;margin-top:8px}
  .insight-trend-panel>.section-head{align-items:flex-start;flex-direction:column}
  .insight-chart-scroll{overflow-x:auto}
  .insight-day-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .insight-day-metrics article:nth-child(3){border-left:0}
  .insight-day-metrics article:nth-child(n+3){border-top:1px solid var(--line)}
  .insight-day-evidence{grid-template-columns:1fr}
  .insight-signal-list{grid-template-columns:1fr}
  .insight-signal-list button{grid-template-columns:35px minmax(0,1fr) auto}
  .insight-signal-list button>b{grid-column:auto}
  .insight-review-overview{grid-template-columns:80px minmax(0,1fr)}
  .insight-review-ring{width:76px;height:76px}
  .insight-review-ring::before{width:58px;height:58px}
  .subject-settings{grid-template-columns:1fr}
  .subject-setting-row{min-height:70px}
  .beta-build-bar{align-items:flex-start;flex-direction:column;gap:4px}
  .appearance-setting-row{grid-template-columns:1fr;gap:12px;padding:17px}
  .theme-mode-switch{width:100%}
}

@media(max-width:430px){
  .nav-item>i{width:28px;height:28px}
  .intelligence-signals span{font-size:9px}
  .intelligence-signals strong{font-size:9px}
  .settings-nav button{grid-template-columns:auto;padding:0 10px}
  .settings-nav button i{display:none}
  .palette-options{grid-template-columns:1fr}
  .insights-range{width:100%}
  .insights-range button{flex:1}
  .insight-kpi-strip article{padding:13px}
  .insight-kpi-strip article>strong{font-size:22px}
  .insight-decision-actions .secondary-button{width:100%}
  .insight-day-detail{margin-top:5px}
  .insight-day-detail>header{padding:12px}
  .insight-day-metrics article{grid-template-columns:26px minmax(0,1fr);padding:10px 8px}
  .insight-day-metrics article>i{width:26px;height:26px}
  .insight-day-evidence{padding:8px}
}

@media(prefers-reduced-motion:reduce){
  .insight-focus-line,.insight-focus-area,.insight-review-ring{animation:none}
}

/* Assistant v3: one natural-language entry, context is visible but modes stay internal */
.quark-selection-bar button.quark-assistant-handoff,.quark-selection-bar button.quark-assistant-handoff:hover:not(:disabled){color:#fff}
body[data-theme="dark"] .quark-selection-bar button.quark-assistant-handoff{color:var(--accent-contrast)}
.assistant-auto-state{display:flex;min-width:0;align-items:center;gap:9px}
.assistant-auto-state>span{display:grid;width:34px;height:34px;flex:none;place-items:center;border:1px solid var(--study-green-line);border-radius:9px;background:var(--study-green-soft);color:var(--study-green-strong);font-size:16px}
.assistant-auto-state>div{display:grid;min-width:0;gap:1px}
.assistant-auto-state strong{color:var(--text);font-size:13px}
.assistant-auto-state small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.assistant-workbar-actions{display:flex;flex:none;align-items:center;gap:7px}
.assistant-source-chip{display:inline-flex;min-height:32px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 8px;color:var(--muted);font-size:10px;font-weight:750;white-space:nowrap}
.assistant-source-chip i{color:var(--accent);font-size:14px}
.assistant-drive-status{display:inline-flex;min-width:0;min-height:32px;grid-template-columns:none;gap:5px;padding:0 8px;color:var(--text-2);text-align:left}
.assistant-drive-status>span{display:inline;min-width:0}
.assistant-drive-status>i:first-child{display:inline;color:var(--muted);font-size:14px}
.assistant-drive-status>i:last-child{color:var(--muted);font-size:10px}
.assistant-drive-status.is-connected>i:first-child{background:transparent;color:var(--study-green-strong)}
.assistant-selected-context{display:grid;width:min(100%,920px);min-height:44px;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:9px;margin:0 auto 8px;border:1px solid var(--study-green-line);border-radius:10px;background:var(--study-green-soft);padding:7px 8px;color:var(--study-green-ink)}
.assistant-selected-context>i{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:var(--surface);color:var(--study-green-strong);font-size:15px}
.assistant-selected-context>div{display:grid;min-width:0;gap:2px}
.assistant-selected-context strong{font-size:11px}
.assistant-selected-context span{overflow:hidden;color:var(--text-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.assistant-selected-context button{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:transparent;color:var(--muted)}
.assistant-selected-context button:hover{background:var(--surface);color:var(--text)}

@media(max-width:700px){
  .assistant-auto-state small{display:none}
  .assistant-auto-state>span{width:30px;height:30px}
  .assistant-workbar-actions>.assistant-source-chip:not(.assistant-drive-status){display:none}
  .assistant-drive-status{width:auto;min-width:32px;padding:0 7px}
  .assistant-drive-status>span,.assistant-drive-status>i:last-child{display:none}
  .assistant-selected-context{margin-bottom:6px}
}

@media(max-width:640px){
  .quark-selection-bar>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* About and support, kept inside the original study-green product system */
.about-view{max-width:1120px;margin:0 auto}
.about-product-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;margin:2px 0 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px;box-shadow:var(--shadow-soft)}
.about-product-head>span{display:grid;width:58px;height:58px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:27px}
.about-product-head small{color:var(--accent-strong);font-size:11px;font-weight:800}
.about-product-head h2{margin:3px 0;font-size:22px;letter-spacing:-.025em}
.about-product-head p{margin:0;color:var(--muted);font-size:12px}
.about-product-head>strong{align-self:start;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);padding:7px 9px;color:var(--text-2);font:750 11px/1 var(--mono)}
.about-layout{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);gap:14px}
.about-panel,.about-data-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.about-panel{padding:19px}
.about-panel>header{display:flex;align-items:flex-start;gap:11px}
.about-panel>header>span{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--accent-strong);font-size:17px}
.about-panel>header h2{margin:0 0 3px;font-size:15px}
.about-panel>header p{margin:0;color:var(--muted);font-size:10px}
.about-info-list{display:grid;margin:14px 0 0}
.about-info-list>div{display:flex;min-height:49px;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line)}
.about-info-list dt{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}
.about-info-list dt i{color:var(--accent-strong);font-size:14px}
.about-info-list dd{margin:0;color:var(--text);font-size:11px;font-weight:750;text-align:right}
.about-action-list{display:grid;margin-top:14px}
.about-action-list>a,.about-action-list>button{display:grid;min-height:57px;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;border-top:1px solid var(--line);background:transparent;color:var(--text-2);text-align:left;text-decoration:none}
.about-action-list>a>i:first-child,.about-action-list>button>i:first-child{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--accent-strong);font-size:16px}
.about-action-list>a>i:last-child,.about-action-list>button>i:last-child{color:var(--muted);font-size:12px}
.about-action-list b,.about-action-list small{display:block}
.about-action-list b{color:var(--text);font-size:11px}
.about-action-list small{margin-top:2px;color:var(--muted);font-size:9px}
.about-action-list>a:hover b,.about-action-list>button:hover b{color:var(--accent-strong)}
.about-update-state{display:grid;min-height:68px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:11px;margin-top:15px;border-radius:8px;background:var(--surface-2);padding:11px 12px}
.about-update-state>i{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:var(--surface);color:var(--muted);font-size:18px}
.about-update-state strong,.about-update-state span{display:block}
.about-update-state strong{font-size:11px}
.about-update-state span{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.5}
.about-update-state[data-state="latest"]>i,.about-update-state[data-state="available"]>i{color:var(--accent-strong)}
.about-update-state[data-state="error"]>i{color:var(--danger)}
.about-update-state[data-state="loading"]>i{color:var(--accent-strong);animation:about-update-spin 1s linear infinite}
.about-download{margin-top:12px}
.about-data-note{display:flex;align-items:flex-start;gap:12px;padding:19px;background:var(--accent-soft)}
.about-data-note>i{color:var(--accent-strong);font-size:23px}
.about-data-note h2{margin:0 0 6px;font-size:14px}
.about-data-note p{margin:0;color:var(--text-2);font-size:10px;line-height:1.7}
.about-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:var(--muted);font-size:10px}
.about-footer nav{display:flex;gap:15px}
.about-footer a{color:inherit;text-decoration:none}
.about-footer a:hover{color:var(--accent-strong)}
@keyframes about-update-spin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .about-product-head{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:15px}
  .about-product-head>span{width:48px;height:48px;font-size:22px}
  .about-product-head>strong{display:none}
  .about-product-head h2{font-size:19px}
  .about-product-head p{font-size:10px}
  .about-layout{grid-template-columns:1fr}
  .about-panel{padding:16px}
}

@media(max-width:430px){
  .about-footer{align-items:flex-start;flex-direction:column;gap:9px}
}

/* Commercial account layer */
.account-entry{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;margin:0 0 6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:9px;color:var(--text);text-align:left;transition:border-color .18s ease,background-color .18s ease}
.account-entry:hover,.account-entry.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}
.account-entry-avatar,.top-account-button>span{display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-weight:850}
.account-entry-avatar{width:34px;height:34px;font-size:13px}
.account-entry>span:nth-child(2){min-width:0}.account-entry strong,.account-entry small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-entry strong{font-size:12px}.account-entry small{margin-top:3px;color:var(--muted);font-size:9px}.account-entry>i{color:var(--muted)}
.top-account-button{display:flex;min-height:38px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:4px 9px 4px 5px;color:var(--text)}
.top-account-button:hover,.top-account-button.active{border-color:var(--accent);background:var(--accent-soft)}.top-account-button>span{width:28px;height:28px;font-size:11px}.top-account-button strong{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.account-view{max-width:1120px;margin:0 auto}.account-loading{display:grid;min-height:320px;place-items:center;align-content:center;gap:9px;border:1px solid var(--line);border-radius:13px;background:var(--surface);text-align:center}.account-loading i{color:var(--accent);font-size:30px;animation:spin .8s linear infinite}.account-loading strong{font-size:15px}.account-loading span{color:var(--muted);font-size:10px}
.account-guest-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:24px;align-items:center;min-height:300px;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:32px}.account-kicker{display:flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:10px;font-weight:800}.account-guest-copy h1{max-width:620px;margin:13px 0 10px;font-size:30px;line-height:1.2;letter-spacing:-.04em}.account-guest-copy>p{max-width:640px;margin:0;color:var(--text-2);font-size:12px;line-height:1.8}.account-guest-copy>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.account-inline-error{display:flex!important;align-items:center;gap:5px;margin-top:12px!important;color:var(--danger);font-size:10px}.account-guest-visual{display:grid;min-height:210px;place-items:center;align-content:center;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;background:linear-gradient(155deg,var(--accent-soft),var(--surface));text-align:center}.account-guest-visual>span{display:grid;width:58px;height:58px;place-items:center;border-radius:16px;background:var(--accent);color:var(--accent-contrast);font-size:28px}.account-guest-visual strong{margin-top:15px;font-size:26px}.account-guest-visual small{margin-top:5px;color:var(--muted);font-size:9px}
.account-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.account-benefit-grid article{display:grid;grid-template-columns:36px 1fr;column-gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px}.account-benefit-grid i{grid-row:1/3;display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:18px}.account-benefit-grid strong{font-size:12px}.account-benefit-grid span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.55}
.account-local-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);padding:13px 15px}.account-local-note>i{color:var(--accent-strong);font-size:19px}.account-local-note strong,.account-local-note span{display:block}.account-local-note strong{font-size:11px}.account-local-note span{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.6}
.account-profile-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:19px}.account-profile-head>span{display:grid;width:54px;height:54px;place-items:center;border-radius:14px;background:var(--accent);color:var(--accent-contrast);font-size:19px;font-weight:850}.account-profile-head small{color:var(--accent-strong);font-size:9px;font-weight:800}.account-profile-head h1{margin:3px 0;font-size:20px}.account-profile-head p{margin:0;color:var(--muted);font-size:9px}.account-profile-head em{border-radius:999px;background:var(--surface-soft);padding:7px 11px;color:var(--text-2);font-size:10px;font-style:normal;font-weight:850}.account-profile-head em.is-pro{background:var(--accent-soft);color:var(--accent-strong)}
.account-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden}.account-metric-grid article{padding:17px 19px}.account-metric-grid article+article{border-left:1px solid var(--line)}.account-metric-grid span,.account-metric-grid small{display:block;color:var(--muted);font-size:9px}.account-metric-grid strong{display:block;margin:7px 0 4px;font-size:23px;letter-spacing:-.03em}
.account-main-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;margin-top:14px}.account-panel{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:18px}.account-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.account-panel>header>div{display:flex;min-width:0;align-items:center;gap:10px}.account-panel-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:18px}.account-panel h2,.account-panel p{margin:0}.account-panel h2{font-size:14px}.account-panel p{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.5}.account-membership ul{display:grid;gap:9px;margin:18px 0 0;padding:15px 0 0;border-top:1px solid var(--line);list-style:none}.account-membership li{display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:10px}.account-membership li i{color:var(--accent-strong);font-size:15px}.account-membership li.is-locked{color:var(--muted)}.account-membership li.is-locked i{color:var(--muted)}
.account-invite-code{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:18px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:11px;background:var(--accent-soft);padding:13px}.account-invite-code span{color:var(--muted);font-size:8px}.account-invite-code strong{grid-column:1;margin-top:3px;color:var(--accent-strong);font-size:21px;letter-spacing:.08em}.account-invite-code button{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:5px;color:var(--accent-strong);font-size:10px;font-weight:800}.account-invite-link{display:block;margin-top:12px}.account-invite-link>span{display:block;margin-bottom:6px;color:var(--text-2);font-size:9px;font-weight:750}.account-invite-link>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.account-invite-link input{min-width:0;border:1px solid var(--line);border-radius:9px 0 0 9px;background:var(--surface-soft);padding:10px;color:var(--muted);font-size:9px}.account-invite-link button{border-radius:0 9px 9px 0;background:var(--accent);padding:0 13px;color:var(--accent-contrast);font-size:9px;font-weight:800}.account-invite-panel>small{display:flex;align-items:center;gap:5px;margin-top:10px;color:var(--muted);font-size:8px}
.account-invite-poster-button{min-height:34px;flex:0 0 auto;padding:0 11px;font-size:9px}.modal.wide:has(.invite-poster-layout){width:min(900px,calc(100vw - 32px))}.invite-poster-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(260px,.72fr);gap:24px;align-items:center}.invite-poster-stage{position:relative;width:min(100%,390px);justify-self:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;background:#e9f4ed;box-shadow:0 18px 48px rgba(26,64,47,.14)}.invite-poster-canvas{display:block;width:100%;height:auto;aspect-ratio:3/4;background:#eef7f2}.invite-poster-loading{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;background:rgba(238,247,242,.82);color:#426356;font-size:10px}.invite-poster-loading i{color:#2da674;font-size:24px;animation:spin .8s linear infinite}.invite-poster-guide h3{margin:12px 0 8px;font-size:21px;letter-spacing:-.02em}.invite-poster-guide>p{margin:0;color:var(--text-2);font-size:11px;line-height:1.75}.invite-poster-guide ul{display:grid;gap:9px;margin:18px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.invite-poster-guide li{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:10px}.invite-poster-guide li i{color:var(--accent-strong);font-size:15px}.invite-poster-guide>small{display:block;margin-top:12px;color:var(--muted);font-size:9px}.invite-poster-notice{display:flex;align-items:flex-start;gap:8px;border:1px solid color-mix(in srgb,var(--warning) 26%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--warning) 7%,var(--surface));padding:10px;color:var(--text-2);font-size:9px;line-height:1.55}.invite-poster-notice i{margin-top:1px;color:var(--warning);font-size:14px}
.account-invite-history{margin-top:14px}.account-invite-history>header>strong{color:var(--accent-strong);font-size:13px}.account-invite-list{margin-top:15px;border-top:1px solid var(--line)}.account-invite-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.account-invite-list>div>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--surface-soft);color:var(--accent-strong);font-size:11px;font-weight:850}.account-invite-list strong,.account-invite-list small{display:block}.account-invite-list strong{font-size:10px}.account-invite-list small{margin-top:3px;color:var(--muted);font-size:8px}.account-invite-list em{color:var(--accent-strong);font-size:9px;font-style:normal;font-weight:800}.account-invite-list b{border-radius:999px;background:var(--accent-soft);padding:5px 8px;color:var(--accent-strong);font-size:8px}.account-empty-invites{display:grid;min-height:160px;place-items:center;align-content:center;text-align:center}.account-empty-invites i{color:var(--accent);font-size:26px}.account-empty-invites strong{margin-top:8px;font-size:12px}.account-empty-invites span{margin-top:4px;color:var(--muted);font-size:9px}
.account-points-panel{margin-top:14px}.account-points-panel>header>button{min-height:34px;padding-inline:11px;font-size:9px}.account-points-summary{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-top:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.account-points-summary>span{display:grid;gap:5px;padding:12px 14px}.account-points-summary>span+span{border-left:1px solid var(--line)}.account-points-summary small{color:var(--muted);font-size:8px}.account-points-summary strong{font-variant-numeric:tabular-nums;font-size:15px}.account-points-ledger{margin-top:13px;border-top:1px solid var(--line)}.account-point-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;border-bottom:1px solid var(--line)}.account-point-row>span{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent-strong);font-size:15px}.account-point-row>div{min-width:0}.account-point-row strong,.account-point-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-point-row strong{font-size:10px}.account-point-row small{margin-top:4px;color:var(--muted);font-size:8px}.account-point-row>b{font-variant-numeric:tabular-nums;font-size:11px}.account-point-row>b.is-credit{color:var(--accent-strong)}.account-point-row>b.is-debit{color:var(--warning)}.account-points-empty{display:flex;min-height:130px;align-items:center;justify-content:center;gap:10px;text-align:left}.account-points-empty>i{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:17px}.account-points-empty>div{display:grid;gap:4px}.account-points-empty strong{font-size:10px}.account-points-empty span{color:var(--muted);font-size:8px}.modal.wide:has(.points-history-modal){width:min(720px,calc(100vw - 32px))}.points-history-modal{padding:1px 0}.points-history-balance{display:flex;align-items:center;justify-content:space-between;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:12px;background:var(--accent-soft);padding:15px 17px}.points-history-balance span,.points-history-balance strong{display:block}.points-history-balance span{color:var(--muted);font-size:9px}.points-history-balance strong{margin-top:4px;color:var(--accent-strong);font-size:24px}.points-history-balance>i{color:var(--accent);font-size:28px}.points-history-modal .account-points-summary{margin-top:12px}.account-points-ledger.is-full{max-height:min(48dvh,430px);overflow:auto;padding-right:5px}.points-history-privacy{display:flex;align-items:flex-start;gap:6px;margin:12px 0 0!important;color:var(--muted);font-size:8px!important;line-height:1.55}.points-history-privacy i{margin-top:1px;color:var(--accent-strong);font-size:13px}
.account-sync-panel,.account-quota-panel{margin-top:14px}.account-sync-panel.syncing .account-panel-icon i{animation:spin .8s linear infinite}.account-sync-panel.error .account-panel-icon{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.account-device-list{margin-top:15px;border-top:1px solid var(--line)}.account-device-list>div,.account-device-list article{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--line)}.account-device-list>div{justify-content:space-between;color:var(--muted);font-size:9px}.account-device-list>div strong{color:var(--text);font-size:10px}.account-device-list article>span{display:grid;width:31px;height:31px;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--accent-strong);font-size:15px}.account-device-list article>div{min-width:0;flex:1}.account-device-list article strong,.account-device-list article small{display:block}.account-device-list article strong{font-size:10px}.account-device-list article small{margin-top:3px;color:var(--muted);font-size:8px}.account-current-device{color:var(--accent-strong);font-size:17px}.account-sync-free{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:15px;border-top:1px solid var(--line);padding-top:14px}.account-sync-free span{display:flex;align-items:center;gap:5px;color:var(--text-2);font-size:9px}.account-sync-free i{color:var(--accent-strong);font-size:14px}.account-quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px;border-top:1px solid var(--line);padding-top:16px}.account-quota-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px}.account-quota-item>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--surface-soft);color:var(--accent-strong);font-size:16px}.account-quota-item>div>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-quota-item strong{font-size:10px}.account-quota-item b{font-size:9px;font-variant-numeric:tabular-nums}.account-quota-item>div>div{height:5px;margin-top:7px;overflow:hidden;border-radius:99px;background:var(--surface-soft)}.account-quota-item>div>div i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.account-quota-item small{display:block;margin-top:6px;color:var(--muted);font-size:8px}.buddy-share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.entitlement-limit-modal{display:grid;justify-items:center;padding:10px 4px 4px;text-align:center}.entitlement-limit-modal>i{display:grid;width:54px;height:54px;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong);font-size:26px}.entitlement-limit-modal h3{margin:14px 0 6px;font-size:16px}.entitlement-limit-modal p{max-width:420px;margin:0;color:var(--muted);font-size:10px;line-height:1.7}.buddy-claim-warning{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;color:var(--warning);font-size:9px;line-height:1.5}
.auth-account-modal{width:min(480px,calc(100vw - 32px))}.auth-modal-content{padding:2px 0 5px}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px;border-radius:10px;background:var(--surface-soft);padding:3px}.auth-mode-tabs button{min-height:34px;border-radius:8px;color:var(--muted);font-size:10px;font-weight:800}.auth-mode-tabs button.active{background:var(--surface);color:var(--accent-strong);box-shadow:0 1px 5px rgba(29,54,44,.08)}.auth-heading{display:flex;align-items:center;gap:11px;margin-bottom:17px}.auth-heading>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--accent);color:var(--accent-contrast);font-size:21px}.auth-heading strong,.auth-heading small{display:block}.auth-heading strong{font-size:14px}.auth-heading small{margin-top:4px;color:var(--muted);font-size:9px}.auth-form{display:grid;gap:11px}.auth-form .field label span{color:var(--muted);font-weight:500}.auth-form input{min-height:42px}.auth-submit{width:100%;margin-top:3px}.auth-form>small{color:var(--muted);font-size:8px;line-height:1.6;text-align:center}.auth-form-error{border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));padding:9px 10px;color:var(--danger);font-size:9px}
@media(max-width:900px){.top-account-button strong{display:none}.top-account-button{padding-right:5px}.account-guest-hero{grid-template-columns:1fr}.account-guest-visual{min-height:165px}.account-main-grid{grid-template-columns:1fr}}
@media(max-width:760px){.account-benefit-grid{grid-template-columns:1fr}.account-metric-grid{grid-template-columns:1fr}.account-metric-grid article+article{border-top:1px solid var(--line);border-left:0}.account-guest-hero{padding:20px}.account-guest-copy h1{font-size:24px}.account-profile-head{grid-template-columns:46px minmax(0,1fr) auto;padding:15px}.account-profile-head>span{width:46px;height:46px}.account-panel{padding:15px}.account-invite-list>div{grid-template-columns:34px minmax(0,1fr) auto}.account-invite-list b{display:none}.invite-poster-layout{grid-template-columns:1fr;gap:18px}.invite-poster-stage{width:min(100%,330px)}.invite-poster-guide{max-width:520px;margin:0 auto}.modal-foot:has([data-action="download-invite-poster"]){display:grid;grid-template-columns:1fr 1fr}.modal-foot:has([data-action="download-invite-poster"]) button{width:100%}}
@media(max-width:620px){.account-quota-grid,.buddy-share-options{grid-template-columns:1fr}.account-sync-panel>header,.account-quota-panel>header{align-items:flex-start;flex-wrap:wrap}.account-sync-panel>header>button,.account-sync-panel>header>a{width:100%}.account-device-list article{min-height:54px}}
@media(max-width:430px){.top-account-button{display:none}.account-guest-copy>div{display:grid}.account-guest-copy>div button{width:100%}.account-profile-head{grid-template-columns:42px minmax(0,1fr)}.account-profile-head>span{width:42px;height:42px}.account-profile-head>em{grid-column:2;justify-self:start}.account-panel>header{align-items:flex-start}.account-membership>header{flex-wrap:wrap}.account-membership>header>a{width:100%}.account-invite-panel>header{flex-wrap:wrap}.account-invite-poster-button{width:100%}.account-invite-link>div{grid-template-columns:1fr}.account-invite-link input{border-radius:9px 9px 0 0}.account-invite-link button{min-height:36px;border-radius:0 0 9px 9px}.account-points-panel>header{flex-wrap:wrap}.account-points-panel>header>button{width:100%}.account-points-summary>span{padding:10px 8px}.account-points-summary small{font-size:7px}.account-points-summary strong{font-size:13px}.account-point-row{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}.account-point-row>span{width:29px;height:29px}.account-point-row small{white-space:normal;line-height:1.45}.invite-poster-stage{width:min(100%,270px)}.invite-poster-guide h3{font-size:18px}.modal-foot:has([data-action="download-invite-poster"]){grid-template-columns:1fr}}

/* Enterprise sidebar information architecture */
.sidebar-bottom{
  position:relative;
  display:block;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.sidebar-account-wrap{position:relative}
.sidebar-account-trigger{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  width:100%;
  min-height:52px;
  align-items:center;
  gap:9px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  padding:7px;
  color:var(--text);
  text-align:left;
  transition:background-color .16s ease,border-color .16s ease,transform .08s ease;
}
.sidebar-account-trigger:hover{
  border-color:var(--line);
  background:var(--surface-2);
}
.sidebar-account-trigger.active{
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line));
  background:var(--accent-soft);
}
.sidebar-account-trigger:active{transform:translateY(1px)}
.sidebar-account-avatar,.sidebar-account-summary>span{
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--accent);
  color:#fff;
  font-weight:850;
}
.sidebar-account-avatar{width:34px;height:34px;font-size:12px}
.sidebar-account-copy{min-width:0}
.sidebar-account-copy strong,.sidebar-account-copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sidebar-account-copy strong{font-size:12px;line-height:1.25}
.sidebar-account-copy small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.2}
.sidebar-account-trigger>i{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:6px;
  color:var(--muted);
  font-size:17px;
}
.sidebar-account-trigger:hover>i{background:var(--surface);color:var(--text-2)}
.sidebar-account-menu{
  position:absolute;
  right:-2px;
  bottom:calc(100% + 9px);
  left:-2px;
  z-index:45;
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:12px;
  background:var(--surface);
  box-shadow:0 18px 44px rgba(34,67,52,.16);
  animation:sidebar-menu-in .16s cubic-bezier(.16,1,.3,1);
}
.sidebar-account-menu[hidden]{display:none}
@keyframes sidebar-menu-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
.sidebar-account-summary{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px;
  border-bottom:1px solid var(--line);
  background:var(--surface-2);
}
.sidebar-account-summary>span{width:36px;height:36px;font-size:12px}
.sidebar-account-summary>div{min-width:0}
.sidebar-account-summary strong,.sidebar-account-summary small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sidebar-account-summary strong{font-size:12px}
.sidebar-account-summary small{margin-top:3px;color:var(--muted);font-size:9px}
.sidebar-account-menu-list{display:grid;gap:2px;padding:6px}
.sidebar-account-menu-list>button{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  width:100%;
  min-height:44px;
  align-items:center;
  gap:8px;
  border-radius:8px;
  background:transparent;
  padding:6px 8px;
  color:var(--text-2);
  text-align:left;
  transition:background-color .14s ease,color .14s ease,transform .08s ease;
}
.sidebar-account-menu-list>button:hover,.sidebar-account-menu-list>button.active{
  background:var(--accent-soft);
  color:var(--accent-ink);
}
.sidebar-account-menu-list>button:active{transform:translateY(1px)}
.sidebar-account-menu-list>button>i{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:7px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:16px;
}
.sidebar-account-menu-list>button:hover>i,.sidebar-account-menu-list>button.active>i{
  background:var(--surface);
  color:var(--accent-strong);
}
.sidebar-account-menu-list>button>span{min-width:0}
.sidebar-account-menu-list>button strong,.sidebar-account-menu-list>button small{display:block}
.sidebar-account-menu-list>button strong{font-size:11px;line-height:1.25}
.sidebar-account-menu-list>button small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.25}
.sidebar-account-divider{height:1px;margin:4px 6px;background:var(--line)}
.sidebar-account-menu-list>.sidebar-account-logout{color:var(--danger)}
.sidebar-account-menu-list>.sidebar-account-logout[hidden]{display:none}
.drawer-group-label{
  margin-top:10px;
  padding:10px 12px 4px;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
}
.drawer-group-label:first-child{margin-top:0}
body[data-theme="dark"] .sidebar-account-menu{box-shadow:0 18px 44px rgba(0,0,0,.36)}

/* Enterprise dark theme
   Surfaces: canvas -> panel -> raised/interactive. Containers use 12px radii;
   controls use 8-10px radii. Study green is reserved for action and state. */
body[data-theme="dark"]{background:var(--bg)}
body[data-theme="dark"] :focus-visible{outline-color:var(--focus-ring)}
body[data-theme="dark"] .sidebar{
  border-right-color:var(--line);
  background:var(--surface-inset);
}
body[data-theme="dark"] .workspace{background:var(--bg)}
body[data-theme="dark"] .topbar{
  border-bottom-color:var(--line);
  background:color-mix(in srgb,var(--bg) 94%,transparent);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body[data-theme="dark"] .brand:hover{background:var(--surface-2)}
body[data-theme="dark"] .brand-mark{
  border-color:var(--line-strong);
  background:var(--surface-raised);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
body[data-theme="dark"] .exam-peek{
  border-color:var(--line);
  background:var(--surface-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body[data-theme="dark"] .exam-peek::before{
  background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 12%,transparent));
}
body[data-theme="dark"] .nav-group-label.secondary{border-top-color:var(--line)}
body[data-theme="dark"] .nav-item:hover{background:var(--surface-2)}
body[data-theme="dark"] .nav-item:hover>i{background:var(--surface-3)}
body[data-theme="dark"] .nav-item.active{
  border-color:color-mix(in srgb,var(--accent) 20%,var(--line));
  background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));
  color:var(--accent-ink);
}
body[data-theme="dark"] .nav-item.active>i{
  border-color:var(--accent);
  background:var(--accent);
  box-shadow:none;
  color:var(--accent-contrast);
}
body[data-theme="dark"] .nav-item kbd,
body[data-theme="dark"] .nav-count{border-color:var(--line);background:var(--surface-2)}
body[data-theme="dark"] .nav-item.active kbd,
body[data-theme="dark"] .nav-item.active .nav-count{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--surface-raised);color:var(--accent-ink)}
body[data-theme="dark"] .assistant-entry,
body[data-theme="dark"] .account-entry,
body[data-theme="dark"] .sidebar-account-trigger{
  border-color:var(--line);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body[data-theme="dark"] .assistant-entry:hover,
body[data-theme="dark"] .account-entry:hover,
body[data-theme="dark"] .sidebar-account-trigger:hover{
  border-color:var(--line-strong);
  background:var(--surface-2);
}
body[data-theme="dark"] .assistant-entry-icon{box-shadow:none}
body[data-theme="dark"] .icon-button,
body[data-theme="dark"] .secondary-button{
  border-color:var(--line-strong);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body[data-theme="dark"] .icon-button:hover,
body[data-theme="dark"] .secondary-button:hover{border-color:var(--stroke-hover);background:var(--surface-2)}
body[data-theme="dark"] .primary-button,
body[data-theme="dark"] .composer-send{
  border-color:var(--accent);
  background:var(--accent);
  box-shadow:none;
  color:var(--accent-contrast);
}
body[data-theme="dark"] .primary-button:hover,
body[data-theme="dark"] .composer-send:hover{
  border-color:var(--accent-strong);
  background:var(--accent-strong);
  box-shadow:0 6px 18px rgba(20,91,58,.24);
}
body[data-theme="dark"] .command-panel,
body[data-theme="dark"] .section-panel,
body[data-theme="dark"] .settings-section,
body[data-theme="dark"] .summary-strip,
body[data-theme="dark"] .review-library-shell,
body[data-theme="dark"] .account-loading,
body[data-theme="dark"] .account-guest-hero,
body[data-theme="dark"] .account-benefit-grid article,
body[data-theme="dark"] .account-profile-head,
body[data-theme="dark"] .account-metric-grid,
body[data-theme="dark"] .account-panel{
  border-color:var(--line);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),var(--shadow-soft);
}
body[data-theme="dark"] .command-panel{
  border-color:color-mix(in srgb,var(--accent) 13%,var(--line));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),var(--shadow);
}
body[data-theme="dark"] .command-intelligence,
body[data-theme="dark"] .command-aside,
body[data-theme="dark"] .review-context-panel{background:var(--surface-2)}
body[data-theme="dark"] .intelligence-signals button,
body[data-theme="dark"] .quick-capture button,
body[data-theme="dark"] .review-item,
body[data-theme="dark"] .resource-card,
body[data-theme="dark"] .library-add-options>button,
body[data-theme="dark"] .subject-setting-row,
body[data-theme="dark"] .review-reveal>section{
  border-color:var(--line);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
body[data-theme="dark"] .quick-capture button:hover,
body[data-theme="dark"] .intelligence-signals button:hover,
body[data-theme="dark"] .resource-card:hover,
body[data-theme="dark"] .library-add-options>button:hover{
  border-color:var(--line-strong);
  background:var(--surface-2);
}
body[data-theme="dark"] .quick-capture button i,
body[data-theme="dark"] .risk-item i,
body[data-theme="dark"] .account-panel-icon,
body[data-theme="dark"] .account-benefit-grid i{background:var(--accent-soft)}
body[data-theme="dark"] .task-row:hover,
body[data-theme="dark"] .review-library-row:hover,
body[data-theme="dark"] .risk-item:hover{background:color-mix(in srgb,var(--surface-2) 76%,transparent)}
body[data-theme="dark"] .task-check{border-color:var(--line-strong);background:var(--surface-2)}
body[data-theme="dark"] .week-bar-track,
body[data-theme="dark"] .pace-scale span,
body[data-theme="dark"] .intelligence-signals button>i{background:var(--surface-3)}
body[data-theme="dark"] .assistant-brief,
body[data-theme="dark"] .insight-narrative,
body[data-theme="dark"] .account-guest-visual{
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
}
body[data-theme="dark"] .field input,
body[data-theme="dark"] .field select,
body[data-theme="dark"] .field textarea,
body[data-theme="dark"] .model-manual-input,
body[data-theme="dark"] .review-search,
body[data-theme="dark"] .review-library-toolbar select,
body[data-theme="dark"] .account-invite-link input{
  border-color:var(--line-strong);
  background:var(--surface-inset);
  color:var(--text);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.22);
}
body[data-theme="dark"] .field input:focus,
body[data-theme="dark"] .field select:focus,
body[data-theme="dark"] .field textarea:focus,
body[data-theme="dark"] .model-manual-input:focus,
body[data-theme="dark"] .review-search:focus-within{
  border-color:var(--accent);
  background:var(--surface-inset);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),inset 0 1px 2px rgba(0,0,0,.22);
}
body[data-theme="dark"] input::placeholder,
body[data-theme="dark"] textarea::placeholder{color:var(--muted);opacity:1}
body[data-theme="dark"] select option{background:var(--surface-overlay);color:var(--text)}
body[data-theme="dark"] .library-workspace-grid .quark-primary-workspace .quark-search-form{
  border-color:var(--line-strong);
  background:var(--surface-inset);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.22);
}
body[data-theme="dark"] .library-activity-tabs,
body[data-theme="dark"] .review-library-toolbar,
body[data-theme="dark"] .modal-foot{background:var(--surface-2)}
body[data-theme="dark"] .library-activity-tabs button[aria-pressed="true"]{
  background:var(--surface-raised);
  box-shadow:inset 0 0 0 1px var(--line);
}
body[data-theme="dark"] .modal,
body[data-theme="dark"] .drawer-panel,
body[data-theme="dark"] .sidebar-account-menu,
body[data-theme="dark"] .assistant-skill-picker{
  border-color:var(--line-strong);
  background:var(--surface-overlay);
  box-shadow:0 28px 90px rgba(0,0,0,.48);
}
body[data-theme="dark"] .modal-backdrop,
body[data-theme="dark"] .drawer-backdrop{background:rgba(4,8,10,.76)}
body[data-theme="dark"] .sidebar-account-summary{background:var(--surface-2)}

/* Assistant: distinct navigation, reading canvas and composer. */
body[data-theme="dark"] .assistant-layout-v2{
  border-color:var(--line);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),var(--shadow-soft);
}
body[data-theme="dark"] .assistant-layout-v2 .assistant-workbar,
body[data-theme="dark"] .assistant-layout-v2 .assistant-history,
body[data-theme="dark"] .assistant-layout-v2 .assistant-sidebar{background:var(--surface-2)}
body[data-theme="dark"] .assistant-layout-v2 .assistant-chat,
body[data-theme="dark"] .assistant-layout-v2 .chat-messages{background:var(--surface-inset)}
body[data-theme="dark"] .assistant-layout-v2 .assistant-chat-head{
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
body[data-theme="dark"] .assistant-layout-v2 .message.user{
  border-color:color-mix(in srgb,var(--accent) 20%,var(--line));
  background:color-mix(in srgb,var(--accent) 9%,var(--surface-raised));
}
body[data-theme="dark"] .ai-thinking-card{
  border-color:var(--line-strong);
  background:var(--surface-raised);
}
body[data-theme="dark"] .assistant-tool-source,
body[data-theme="dark"] .ai-reasoning-summary,
body[data-theme="dark"] .ai-knowledge-callout{
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
}
body[data-theme="dark"] .assistant-layout-v2 .chat-composer{
  background:linear-gradient(180deg,transparent,var(--surface-inset) 32%);
}
body[data-theme="dark"] .composer-shell{
  border-color:var(--line-strong);
  background:var(--surface-raised);
  box-shadow:0 14px 38px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);
}
body[data-theme="dark"] .composer-shell:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 14px 38px rgba(0,0,0,.32);
}
body[data-theme="dark"] .assistant-skill-trigger,
body[data-theme="dark"] .assistant-skill-option>i,
body[data-theme="dark"] .assistant-skill-picker kbd{background:var(--surface-2)}

/* Focus: remove the legacy blue-grey route cards without changing the timer artwork. */
body[data-theme="dark"] .focus-route-card{
  border-color:var(--line);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),var(--shadow-soft);
}
body[data-theme="dark"] .next-camp,
body[data-theme="dark"] .focus-presets button{border-color:var(--line);background:var(--surface-2)}
body[data-theme="dark"] .focus-presets button:hover{border-color:var(--line-strong);background:var(--surface-3)}
body[data-theme="dark"] .focus-presets button.active{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
  background:var(--accent-soft);
}
body[data-theme="dark"] .review-feedback .review-outcome.fail:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}
body[data-theme="dark"] .review-feedback .review-outcome.partial:hover{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface))}
body[data-theme="dark"] .review-feedback .review-outcome.pass:hover{border-color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--surface))}
body[data-theme="dark"] .review-complete-mark{background:var(--accent-soft);color:var(--accent-ink)}
@media(min-width:921px){.top-account-button{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar-account-menu{animation:none}}

/* 考研搭子：2—5 人熟人小圈，不做公开社交广场 */
.buddy-view{max-width:1160px;margin:0 auto}
.buddy-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:12px;font-weight:800}
.buddy-loading,.buddy-error{display:flex;min-height:300px;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-align:center}
.buddy-loading{flex-direction:column}.buddy-loading i{color:var(--accent);font-size:30px;animation:spin .8s linear infinite}.buddy-loading strong{font-size:16px}.buddy-loading span,.buddy-error span{color:var(--muted);font-size:13px}
.buddy-error i{color:var(--warning);font-size:28px}.buddy-error>div{display:grid;gap:4px;text-align:left}
.buddy-guest{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:48px;align-items:center;min-height:440px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:48px}
.buddy-guest h1{max-width:620px;margin:17px 0 14px;font-size:42px;line-height:1.12;letter-spacing:-.045em}.buddy-guest p{max-width:660px;margin:0;color:var(--text-2);font-size:15px;line-height:1.8}.buddy-guest>div>div{display:flex;gap:9px;margin-top:28px}
.buddy-guest>aside{display:grid;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.buddy-guest>aside>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 12px;padding:20px}.buddy-guest>aside>div+div{border-top:1px solid var(--line)}.buddy-guest>aside span{grid-row:1/3;display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent-ink);font:800 11px/1 var(--mono)}.buddy-guest>aside strong{font-size:14px}.buddy-guest>aside small{color:var(--muted);font-size:12px}
.buddy-connect-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:38px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:34px}
.buddy-connect-intro h1{margin:12px 0 8px;font-size:34px;letter-spacing:-.04em}.buddy-connect-intro>p{max-width:580px;margin:0;color:var(--text-2);font-size:14px;line-height:1.75}
.buddy-own-code{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;max-width:390px;margin-top:24px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:10px;background:var(--accent-soft);padding:13px 14px}.buddy-own-code small{grid-column:1/-1;color:var(--accent-ink);font-size:10px;font-weight:800}.buddy-own-code strong{margin-top:3px;font:800 22px/1.2 var(--mono);letter-spacing:.04em}.buddy-own-code button{display:inline-flex;align-items:center;gap:6px;border-radius:7px;background:transparent;color:var(--accent-strong);font-size:12px;font-weight:800}
.buddy-code-form{display:grid;gap:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);padding:22px}.buddy-code-form>label{font-size:14px;font-weight:800}.buddy-code-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.buddy-code-form input{min-width:0;height:44px;border:1px solid var(--line-strong);border-radius:8px 0 0 8px;background:var(--surface);padding:0 13px;font:700 14px var(--mono);text-transform:uppercase}.buddy-code-form .primary-button{border-radius:0 8px 8px 0}.buddy-code-form>small{display:flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:11px;line-height:1.5}.buddy-code-form>small i{margin-top:2px;color:var(--accent)}
.buddy-request-card{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.buddy-request-card>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 20px}.buddy-request-card h2,.buddy-request-card p{margin:0}.buddy-request-card h2{font-size:16px}.buddy-request-card p{margin-top:3px;color:var(--muted);font-size:11px}.buddy-request-card>header>span{display:grid;min-width:27px;height:27px;place-items:center;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font:800 12px var(--mono)}.buddy-request-list{display:grid}.buddy-request-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:14px 20px}.buddy-request-list>div+div{border-top:1px solid var(--line)}.buddy-request-list strong,.buddy-request-list small{display:block}.buddy-request-list strong{font-size:13px}.buddy-request-list small{margin-top:2px;color:var(--muted);font-size:11px}.buddy-request-list button:not(.primary-button){background:transparent;color:var(--muted);font-size:12px;font-weight:700}.buddy-request-list .primary-button{min-height:34px;padding:0 12px}.buddy-request-list em{color:var(--warning);font-size:11px;font-style:normal;font-weight:800}
.buddy-privacy-note{display:flex;align-items:flex-start;gap:10px;margin-top:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:13px 15px}.buddy-privacy-note>i{margin-top:1px;color:var(--accent);font-size:18px}.buddy-privacy-note strong,.buddy-privacy-note span{display:block}.buddy-privacy-note strong{font-size:12px}.buddy-privacy-note span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.6}
.buddy-avatar{display:grid;width:38px;height:38px;flex:none;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:11px;background:var(--accent-soft);color:var(--accent-ink);font-size:14px;font-weight:900}.buddy-avatar.is-buddy,.buddy-avatar.is-outgoing{background:var(--surface-3);color:var(--text-2)}
.buddy-action-badge{display:grid;min-width:17px;height:17px;margin-left:2px;place-items:center;border-radius:99px;background:var(--danger);padding:0 5px;color:#fff;font:800 9px/1 var(--mono)}
.buddy-circle-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 116px auto;gap:24px;align-items:center;min-height:176px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:17px;background:linear-gradient(118deg,color-mix(in srgb,var(--accent-soft) 82%,var(--surface)) 0%,var(--surface) 62%,color-mix(in srgb,var(--accent) 8%,var(--surface)) 100%);padding:28px 30px;box-shadow:var(--shadow-soft);animation:buddyCircleIn .42s cubic-bezier(.2,.8,.2,1) both}
.buddy-circle-hero:after{position:absolute;right:-75px;bottom:-120px;width:300px;height:300px;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);border-radius:50%;box-shadow:0 0 0 34px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 78px color-mix(in srgb,var(--accent) 2%,transparent);content:"";pointer-events:none}
.buddy-circle-copy{position:relative;z-index:1;min-width:0}.buddy-circle-copy .buddy-eyebrow b{border-radius:99px;background:var(--surface);padding:3px 7px;color:var(--text);font:800 9px/1 var(--mono)}.buddy-circle-copy h2{margin:12px 0 5px;font-size:28px;line-height:1.15;letter-spacing:-.035em}.buddy-circle-copy p{margin:0;color:var(--text-2);font-size:12px;line-height:1.65}
.buddy-circle-pulse{position:relative;z-index:1;display:grid;width:104px;height:104px;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) 0 var(--circle-progress),color-mix(in srgb,var(--line) 74%,transparent) var(--circle-progress) 100%);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 12%,transparent)}.buddy-circle-pulse:before{position:absolute;inset:7px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);content:""}.buddy-circle-pulse>div{position:relative;z-index:1;text-align:center}.buddy-circle-pulse strong,.buddy-circle-pulse small{display:block}.buddy-circle-pulse strong{font:850 28px/1 var(--mono)}.buddy-circle-pulse small{margin-top:5px;color:var(--muted);font-size:9px}
.buddy-circle-hero>.primary-button{position:relative;z-index:1;min-width:138px}
.buddy-member-rail{margin-top:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:15px 17px}.buddy-member-rail>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.buddy-member-rail h2,.buddy-member-rail p{margin:0}.buddy-member-rail h2{font-size:14px}.buddy-member-rail p{margin-top:2px;color:var(--muted);font-size:10px}.buddy-member-rail>header>button{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--muted);font-size:10px;font-weight:750}.buddy-member-rail>header>button:hover{color:var(--accent-strong)}.buddy-member-rail>div{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}
.buddy-member{position:relative;display:grid;min-width:92px;place-items:center;gap:5px;border:1px solid transparent;border-radius:11px;background:transparent;padding:10px 8px 9px;color:var(--text);transition:transform .18s ease,border-color .18s ease,background .18s ease}.buddy-member:hover{border-color:var(--line);background:var(--surface-2);transform:translateY(-2px)}.buddy-member.active{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:var(--accent-soft);box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 8%,transparent)}.buddy-member strong{max-width:76px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.buddy-member small{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:8px}.buddy-member small i{width:5px;height:5px;border-radius:50%;background:var(--muted)}.buddy-member small.is-online{color:var(--accent-strong)}.buddy-member small.is-online i{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent)}.buddy-member .buddy-avatar{position:relative;width:42px;height:42px;border-radius:13px}.buddy-avatar.is-primary{border-color:color-mix(in srgb,#d69b2d 54%,var(--line));background:color-mix(in srgb,#f5c85a 16%,var(--surface));color:color-mix(in srgb,#8d6200 84%,var(--text))}.buddy-avatar.is-primary>i{position:absolute;right:-5px;top:-5px;display:grid;width:17px;height:17px;place-items:center;border:2px solid var(--surface);border-radius:50%;background:#e1a82f;color:#fff;font-size:9px}.buddy-member-add>span{display:grid;width:42px;height:42px;place-items:center;border:1px dashed var(--line-strong);border-radius:13px;background:var(--surface-2);color:var(--accent);font-size:17px}.buddy-member-add:hover>span{border-color:var(--accent);background:var(--accent-soft)}
.buddy-pending-banner{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;margin-top:12px;border:1px solid color-mix(in srgb,var(--warning) 30%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--warning) 7%,var(--surface));padding:10px 13px;color:var(--text);text-align:left}.buddy-pending-banner>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--warning) 14%,var(--surface));color:var(--warning);font-size:17px}.buddy-pending-banner strong,.buddy-pending-banner small{display:block}.buddy-pending-banner strong{font-size:11px}.buddy-pending-banner small{margin-top:2px;color:var(--muted);font-size:9px}.buddy-pending-banner>i{color:var(--muted)}
.buddy-active-bar{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:22px;align-items:center;margin-top:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:14px 17px}.buddy-active-bar>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.buddy-active-bar>div:first-child>div{min-width:0}.buddy-active-bar>div:first-child small,.buddy-active-bar>div:first-child h2{display:block;margin:0}.buddy-active-bar>div:first-child small{color:var(--accent-strong);font-size:9px;font-weight:800}.buddy-active-bar>div:first-child h2{margin-top:2px;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.buddy-active-streak{border-left:1px solid var(--line);padding-left:22px}.buddy-active-streak span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}.buddy-active-streak span i{color:var(--accent)}.buddy-active-streak strong{display:block;margin-top:2px;font:800 14px var(--mono)}.buddy-active-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.buddy-active-actions>button:not(.secondary-button){display:inline-flex;align-items:center;gap:5px;border-radius:8px;background:var(--surface-2);padding:8px 10px;color:var(--muted);font-size:10px;font-weight:750}.buddy-active-actions>button:not(.secondary-button):hover{background:var(--accent-soft);color:var(--accent-strong)}.buddy-primary-label{display:inline-flex;align-items:center;gap:4px;color:#a57312;font-size:10px;font-weight:800}.buddy-primary-label i{color:#d69b2d}
.buddy-center{display:grid;gap:12px}.buddy-center>section{border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:14px}.buddy-center>section>div:first-child{display:flex;align-items:center;justify-content:space-between}.buddy-center>section>div:first-child>strong{font:800 11px var(--mono)}.buddy-center-members{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.buddy-center-members>span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;background:var(--surface);padding:5px 9px 5px 5px;font-size:10px;font-weight:750}.buddy-center-members b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-size:9px}.buddy-center-members>span.is-primary{border-color:color-mix(in srgb,#d69b2d 44%,var(--line))}.buddy-center-members>span.is-primary b{background:color-mix(in srgb,#f5c85a 18%,var(--surface));color:#8d6200}.buddy-center-code{display:flex;align-items:center;justify-content:space-between;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:11px;background:var(--accent-soft);padding:11px 13px}.buddy-center-code small,.buddy-center-code strong{display:block}.buddy-center-code small{color:var(--accent-ink);font-size:9px;font-weight:800}.buddy-center-code strong{margin-top:2px;font:850 18px var(--mono);letter-spacing:.04em}.buddy-center-code button{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--accent-strong);font-size:10px;font-weight:800}.buddy-center-full{display:flex;align-items:center;gap:8px;border-radius:9px;background:var(--accent-soft);padding:11px;color:var(--accent-ink);font-size:10px}.buddy-center-full i{font-size:17px}.buddy-center-requests{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.buddy-center-requests>header{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);padding:10px 12px}.buddy-center-requests>header strong{font-size:11px}.buddy-center-requests>header span{display:grid;min-width:20px;height:20px;place-items:center;border-radius:6px;background:var(--accent-soft);font:800 9px var(--mono)}.buddy-center-requests>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px}.buddy-center-requests>div+div{border-top:1px solid var(--line)}.buddy-center-requests>div>div strong,.buddy-center-requests>div>div small{display:block}.buddy-center-requests>div>div strong{font-size:11px}.buddy-center-requests>div>div small{margin-top:2px;color:var(--muted);font-size:9px}.buddy-center-requests>div>button:not(.primary-button){background:transparent;color:var(--muted);font-size:10px;font-weight:700}.buddy-center-requests>div>.primary-button{min-height:32px;padding:0 10px}.buddy-center-requests em{color:var(--warning);font-size:9px;font-style:normal;font-weight:800}
@keyframes buddyCircleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.buddy-pair-panel{display:grid;grid-template-columns:minmax(290px,1fr) minmax(170px,.55fr) auto;gap:22px;align-items:center;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:24px 26px;box-shadow:var(--shadow-soft)}
.buddy-pair-people{display:flex;align-items:center;gap:12px}.buddy-pair-people>div{display:grid;grid-template-columns:46px auto;gap:2px 10px;align-items:center}.buddy-pair-people .buddy-avatar{grid-row:1/3;width:46px;height:46px;border-radius:13px;font-size:16px}.buddy-pair-people strong{align-self:end;font-size:14px}.buddy-pair-people small{align-self:start;color:var(--muted);font-size:10px}.buddy-link-line{position:relative;display:grid;width:42px;height:26px;place-items:center;color:var(--accent)}.buddy-link-line:before,.buddy-link-line:after{position:absolute;top:50%;width:12px;height:1px;background:var(--line-strong);content:""}.buddy-link-line:before{left:0}.buddy-link-line:after{right:0}.buddy-link-line i{position:relative;z-index:1;background:var(--surface);font-size:16px}
.buddy-streak{border-left:1px solid var(--line);padding-left:22px}.buddy-streak>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.buddy-streak>span i{color:var(--accent)}.buddy-streak>strong{display:block;margin:2px 0 1px;font:800 30px/1.2 var(--mono)}.buddy-streak>strong small{margin-left:4px;font:700 11px var(--font)}.buddy-streak>p{margin:0;color:var(--muted);font-size:10px}.buddy-pair-actions{display:flex;gap:8px}
.buddy-today-section{margin-top:22px}.buddy-today-section>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.buddy-today-section>header span{color:var(--accent-strong);font-size:10px;font-weight:850}.buddy-today-section>header h2{margin:3px 0 0;font-size:18px}.buddy-today-section>header>small{color:var(--muted);font-size:11px}
.buddy-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.buddy-status-card{min-height:190px;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:18px}.buddy-status-card>header{display:flex;align-items:center;gap:10px}.buddy-status-card>header>div{min-width:0;flex:1}.buddy-status-card>header strong,.buddy-status-card>header small{display:block}.buddy-status-card>header strong{font-size:13px}.buddy-status-card>header small{margin-top:2px;color:var(--muted);font-size:10px}.buddy-status-card>header small i{margin-right:3px;color:var(--success)}.buddy-status-card>header>i{color:var(--accent);font-size:20px}.buddy-status-card blockquote{margin:16px 0 13px;border-left:2px solid var(--accent);padding-left:10px;font-size:15px;font-weight:800;line-height:1.5}.buddy-status-metrics{display:flex;flex-wrap:wrap;gap:8px}.buddy-status-metrics span{display:flex;align-items:baseline;gap:3px;border-radius:6px;background:var(--surface-2);padding:7px 8px;color:var(--muted);font-size:9px}.buddy-status-metrics strong{color:var(--text);font:800 12px var(--mono)}.buddy-status-card>p{margin:11px 0 0;color:var(--text-2);font-size:11px}.buddy-status-card.is-waiting{border-style:dashed;background:color-mix(in srgb,var(--surface) 82%,var(--surface-2))}.buddy-status-empty{display:grid;min-height:90px;place-items:center;align-content:center;gap:10px;color:var(--muted);font-size:12px;text-align:center}.buddy-status-empty button{background:transparent;color:var(--accent-strong);font-weight:800}
.buddy-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:12px;margin-top:12px}.buddy-panel{min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.buddy-panel>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 17px}.buddy-panel h2,.buddy-panel p{margin:0}.buddy-panel h2{font-size:14px}.buddy-panel p{margin-top:3px;color:var(--muted);font-size:10px}.buddy-rhythm-panel>header>span{display:flex;align-items:center;gap:5px;color:var(--accent-strong);font-size:10px;font-weight:800}
.buddy-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:18px 14px}.buddy-week-day{display:grid;place-items:center;gap:8px;min-width:0;border-right:1px solid var(--line)}.buddy-week-day:last-child{border-right:0}.buddy-week-day>span,.buddy-week-day>small{color:var(--muted);font-size:9px}.buddy-week-marks{display:grid;gap:5px}.buddy-week-marks i{display:grid;width:27px;height:20px;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);color:var(--muted);font-style:normal}.buddy-week-marks i.is-done{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--accent-soft);color:var(--accent-ink)}.buddy-week-marks b{font:750 8px var(--font)}
.buddy-feed-list{display:grid;padding:3px 16px}.buddy-feed-list>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:start;padding:11px 0}.buddy-feed-list>div+div{border-top:1px solid var(--line)}.buddy-feed-list>div>span{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.buddy-feed-list strong,.buddy-feed-list p{margin:0;font-size:10px}.buddy-feed-list p{margin-top:3px;color:var(--text-2);line-height:1.5}.buddy-feed-list time{color:var(--muted);font-size:8px}.buddy-feed-empty{display:flex;min-height:155px;align-items:center;justify-content:center;gap:10px;padding:20px;color:var(--muted)}.buddy-feed-empty>i{font-size:24px}.buddy-feed-empty strong,.buddy-feed-empty span{display:block}.buddy-feed-empty strong{color:var(--text);font-size:12px}.buddy-feed-empty span{margin-top:4px;font-size:10px}
.buddy-question-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:13px;background:linear-gradient(125deg,var(--accent-soft),var(--surface));padding:19px 20px}.buddy-question-panel>div{display:flex;align-items:center;gap:12px}.buddy-question-panel>div:first-child>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:var(--surface);color:var(--accent);font-size:20px}.buddy-question-panel h2,.buddy-question-panel p{margin:0}.buddy-question-panel h2{font-size:14px}.buddy-question-panel p{max-width:680px;margin-top:4px;color:var(--text-2);font-size:11px;line-height:1.6}
.buddy-relationship-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:10px 3px;color:var(--muted);font-size:10px}.buddy-relationship-foot>div{display:flex;align-items:center;gap:7px}.buddy-relationship-foot i{color:var(--accent);font-size:15px}.buddy-relationship-foot strong{color:var(--text-2)}.buddy-relationship-foot>button{background:transparent;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}
.buddy-form-note{display:flex;grid-column:1/-1;align-items:flex-start;gap:7px;border-radius:8px;background:var(--surface-2);padding:10px 11px;color:var(--muted);font-size:10px;line-height:1.55}.buddy-form-note i{margin-top:1px;color:var(--accent)}.buddy-nudge-list{display:grid;gap:8px}.buddy-nudge-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:10px;align-items:center;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:11px;color:var(--text);text-align:left}.buddy-nudge-list>button:hover{border-color:var(--line-strong);background:var(--surface-2)}.buddy-nudge-list>button>span{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:18px}.buddy-nudge-list strong,.buddy-nudge-list small{display:block}.buddy-nudge-list strong{font-size:12px}.buddy-nudge-list small{margin-top:3px;color:var(--muted);font-size:10px}.buddy-nudge-list>button>i{color:var(--muted)}.buddy-nudge-limit{display:flex;align-items:center;gap:6px;margin:12px 0 0;color:var(--muted);font-size:10px}
.buddy-share-picker{display:grid;max-height:430px;margin-top:14px;overflow:auto;border:1px solid var(--line);border-radius:10px}.buddy-share-picker>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface-2);padding:11px 13px}.buddy-share-picker>header strong{font-size:12px}.buddy-share-picker>header small{color:var(--muted);font-size:9px}.buddy-share-picker>label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;padding:11px 13px;cursor:pointer}.buddy-share-picker>label+label{border-top:1px solid var(--line)}.buddy-share-picker input{margin-top:4px;accent-color:var(--accent)}.buddy-share-picker em,.buddy-share-picker strong,.buddy-share-picker small{display:block}.buddy-share-picker em{color:var(--accent-strong);font-size:9px;font-style:normal;font-weight:800}.buddy-share-picker strong{display:-webkit-box;margin-top:3px;overflow:hidden;font-size:11px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.buddy-share-picker small{margin-top:3px;color:var(--muted);font-size:9px}
.buddy-share-result{text-align:center}.buddy-share-result>span{display:grid;width:50px;height:50px;margin:0 auto 12px;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent);font-size:26px}.buddy-share-result h3,.buddy-share-result p{margin:0}.buddy-share-result h3{font-size:17px}.buddy-share-result p{margin-top:5px;color:var(--muted);font-size:11px}.buddy-share-result>div{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:400px;margin:18px auto 11px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:9px;background:var(--accent-soft);overflow:hidden}.buddy-share-result>div strong{display:grid;place-items:center;padding:14px;font:850 22px var(--mono);letter-spacing:.05em}.buddy-share-result>div button{display:flex;align-items:center;gap:6px;border-left:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--surface);padding:0 13px;color:var(--accent-strong);font-size:11px;font-weight:800}.buddy-share-result>small{display:block;color:var(--muted);font-size:10px;line-height:1.6}
.buddy-share-history{margin-top:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden}.buddy-share-history>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:12px;align-items:center;padding:12px 15px;cursor:pointer;list-style:none}.buddy-share-history>summary::-webkit-details-marker{display:none}.buddy-share-history>summary>span{display:flex;align-items:center;gap:7px}.buddy-share-history>summary>span i{color:var(--accent);font-size:16px}.buddy-share-history>summary strong{font-size:11px}.buddy-share-history>summary small{color:var(--muted);font-size:9px}.buddy-share-history>summary>i{color:var(--muted);transition:transform .18s ease}.buddy-share-history[open]>summary>i{transform:rotate(180deg)}.buddy-share-history>div{border-top:1px solid var(--line)}.buddy-share-history article{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:10px 14px}.buddy-share-history article+article{border-top:1px solid var(--line)}.buddy-share-history article>span{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--accent)}.buddy-share-history article>div{min-width:0}.buddy-share-history article strong,.buddy-share-history article small{display:block}.buddy-share-history article strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.buddy-share-history article small{margin-top:2px;color:var(--muted);font-size:8px}.buddy-share-history article em{border-radius:99px;background:var(--accent-soft);padding:4px 7px;color:var(--accent-ink);font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.buddy-share-history article em.is-muted{background:var(--surface-2);color:var(--muted)}.buddy-share-history article>button{background:transparent;padding:5px;color:var(--danger);font-size:9px;font-weight:750}.buddy-share-history-empty{display:flex;min-height:80px;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:10px}.buddy-share-history-empty i{font-size:18px}
.buddy-claim-preview>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.buddy-claim-preview>header strong,.buddy-claim-preview>header small{display:block}.buddy-claim-preview>header strong{font-size:14px}.buddy-claim-preview>header small{margin-top:3px;color:var(--muted);font-size:10px}.buddy-claim-preview>div{display:grid;max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:10px}.buddy-claim-preview article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:10px 12px}.buddy-claim-preview article+article{border-top:1px solid var(--line)}.buddy-claim-preview article span{color:var(--accent-strong);font-size:9px;font-weight:800}.buddy-claim-preview article p{margin:0;font-size:11px;line-height:1.5}.buddy-claim-preview>div>small{padding:9px;text-align:center;color:var(--muted);font-size:9px}.buddy-claim-preview>aside{display:flex;align-items:center;gap:7px;margin-top:11px;color:var(--muted);font-size:10px}.buddy-claim-preview>aside i{color:var(--accent)}.buddy-unbind-confirm{text-align:center}.buddy-unbind-confirm>i{font-size:35px;color:var(--danger)}.buddy-unbind-confirm strong{display:block;margin-top:10px;font-size:15px}.buddy-unbind-confirm p{max-width:450px;margin:8px auto 0;color:var(--muted);font-size:11px;line-height:1.65}

@media(max-width:980px){.buddy-guest{grid-template-columns:1fr;gap:24px}.buddy-connect-card{grid-template-columns:1fr}.buddy-pair-panel{grid-template-columns:minmax(0,1fr) auto}.buddy-streak{grid-column:1}.buddy-pair-actions{grid-column:2;grid-row:1/3;flex-direction:column}.buddy-main-grid{grid-template-columns:minmax(0,1fr)}.buddy-question-panel{align-items:flex-start;flex-direction:column}.buddy-question-panel>div:last-child{width:100%;justify-content:flex-end}}
@media(max-width:700px){.buddy-guest{min-height:0;padding:24px}.buddy-guest h1{font-size:31px}.buddy-guest>div>div{display:grid}.buddy-connect-card{gap:22px;padding:20px}.buddy-connect-intro h1{font-size:27px}.buddy-pair-panel{grid-template-columns:minmax(0,1fr);padding:18px}.buddy-pair-people{justify-content:center}.buddy-streak{grid-column:auto;border-top:1px solid var(--line);border-left:0;padding-top:15px;padding-left:0;text-align:center}.buddy-streak>span{justify-content:center}.buddy-pair-actions{grid-column:auto;grid-row:auto;flex-direction:row}.buddy-pair-actions>*{flex:1}.buddy-status-grid{grid-template-columns:minmax(0,1fr)}.buddy-week-grid{width:100%;min-width:0;overflow-x:auto;grid-template-columns:repeat(7,minmax(62px,1fr));padding:14px 8px}.buddy-question-panel>div:last-child{display:grid;grid-template-columns:1fr 1fr}.buddy-relationship-foot{align-items:flex-start;flex-direction:column}.buddy-code-form>div{grid-template-columns:1fr}.buddy-code-form input{border-radius:8px 8px 0 0}.buddy-code-form .primary-button{border-radius:0 0 8px 8px}.buddy-request-list>div{grid-template-columns:38px minmax(0,1fr)}.buddy-request-list button,.buddy-request-list em{grid-column:2;justify-self:start}.buddy-request-list .primary-button{margin-left:58px;margin-top:-44px}.buddy-share-picker>header{align-items:flex-start;flex-direction:column;gap:3px}.buddy-share-history>summary{grid-template-columns:minmax(0,1fr) 18px}.buddy-share-history>summary>small{grid-column:1/-1;grid-row:2}.buddy-share-history>summary>i{grid-column:2;grid-row:1}.buddy-share-history article{grid-template-columns:32px minmax(0,1fr) auto}.buddy-share-history article>button{grid-column:2;justify-self:start;padding:2px 0}.buddy-share-history article small{white-space:normal;line-height:1.45}}
@media(max-width:430px){.buddy-guest{padding:18px}.buddy-guest h1{font-size:27px}.buddy-pair-people{gap:6px}.buddy-pair-people>div{grid-template-columns:38px auto}.buddy-pair-people .buddy-avatar{width:38px;height:38px}.buddy-link-line{width:28px}.buddy-pair-actions{display:grid;grid-template-columns:1fr;width:100%}.buddy-question-panel{padding:16px}.buddy-question-panel>div:last-child{grid-template-columns:1fr;width:100%}.buddy-share-result>div{grid-template-columns:1fr}.buddy-share-result>div button{min-height:42px;justify-content:center;border-top:1px solid var(--line);border-left:0}}
@media(max-width:980px){.buddy-circle-hero{grid-template-columns:minmax(0,1fr) 104px}.buddy-circle-hero>.primary-button{grid-column:1/-1;justify-self:start}.buddy-active-bar{grid-template-columns:minmax(180px,1fr) auto}.buddy-active-actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:11px}}
@media(max-width:700px){.buddy-circle-hero{grid-template-columns:minmax(0,1fr) 88px;gap:14px;padding:22px}.buddy-circle-copy h2{font-size:23px}.buddy-circle-pulse{width:82px;height:82px}.buddy-circle-pulse strong{font-size:22px}.buddy-circle-pulse small{font-size:8px}.buddy-circle-hero>.primary-button{width:100%}.buddy-member-rail{padding:14px 12px}.buddy-member-rail>div{margin-right:-12px;padding-right:12px}.buddy-member{min-width:82px}.buddy-active-bar{grid-template-columns:1fr;gap:12px}.buddy-active-streak{border-top:1px solid var(--line);border-left:0;padding-top:11px;padding-left:0}.buddy-active-actions{grid-column:auto;justify-content:flex-start;overflow-x:auto}.buddy-center-requests>div{grid-template-columns:38px minmax(0,1fr)}.buddy-center-requests>div>button,.buddy-center-requests>div>em{grid-column:2;justify-self:start}.buddy-center-requests>div>.primary-button{margin-left:50px;margin-top:-40px}}
@media(max-width:430px){.buddy-circle-hero{grid-template-columns:1fr;padding:18px}.buddy-circle-hero:after{opacity:.55}.buddy-circle-pulse{position:absolute;right:17px;top:17px;width:68px;height:68px}.buddy-circle-copy{padding-right:68px}.buddy-circle-copy h2{font-size:20px}.buddy-circle-pulse strong{font-size:18px}.buddy-circle-pulse small{margin-top:3px;font-size:7px}.buddy-active-actions{display:grid;grid-template-columns:1fr}.buddy-active-actions>*{justify-content:center}.buddy-member-rail>header p{display:none}.buddy-center-code{align-items:flex-start;flex-direction:column;gap:9px}.buddy-center-code button{align-self:flex-end;margin-top:-30px}}
.buddy-member-rail>div{scrollbar-width:none}.buddy-member-rail>div::-webkit-scrollbar{display:none}
@media(prefers-reduced-motion:reduce){.buddy-loading i,.buddy-circle-hero{animation:none}.buddy-member{transition:none}}

/* 商业平台：平台托管服务 + 积分钱包，用户端不展示任何密钥或供应商表单。 */
.platform-settings-view{max-width:1180px;margin:0 auto}.platform-build-bar{border-color:color-mix(in srgb,var(--accent) 26%,var(--line));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface))}
.managed-service-section .settings-section-body{display:grid;gap:14px}.managed-wallet{display:flex;min-height:132px;align-items:center;justify-content:space-between;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:14px;background:linear-gradient(125deg,var(--accent-soft),var(--surface) 64%);padding:24px 26px}.managed-wallet span,.managed-wallet small{display:block}.managed-wallet span{color:var(--accent-strong);font-size:11px;font-weight:800}.managed-wallet strong{display:block;margin:7px 0 5px;font:850 34px/1 var(--mono)}.managed-wallet small{color:var(--muted);font-size:11px}.managed-wallet>i{color:color-mix(in srgb,var(--accent) 68%,transparent);font-size:70px;transform:rotate(-10deg)}
.managed-service-note,.managed-sync-note{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);padding:13px 15px}.managed-service-note>i,.managed-sync-note>i{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:19px}.managed-service-note>div,.managed-sync-note>div{min-width:0;flex:1}.managed-service-note strong,.managed-service-note span,.managed-sync-note strong,.managed-sync-note span{display:block}.managed-service-note strong,.managed-sync-note strong{font-size:12px}.managed-service-note span,.managed-sync-note span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.55}.managed-service-note>button{display:inline-flex;min-height:34px;align-items:center;gap:5px;border-radius:7px;background:var(--surface);padding:0 10px;color:var(--text-2);font-size:10px;font-weight:800;box-shadow:inset 0 0 0 1px var(--line)}
.managed-cost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.managed-cost-grid article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:14px}.managed-cost-grid article>span{display:grid;width:38px;height:38px;grid-row:1/3;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:18px}.managed-cost-grid strong,.managed-cost-grid small,.managed-cost-grid b{display:block}.managed-cost-grid strong{font-size:12px}.managed-cost-grid small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.managed-cost-grid b{grid-column:2;color:var(--accent-strong);font:800 10px var(--mono)}
.managed-ledger-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.managed-ledger-panel>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 17px}.managed-ledger-panel h3,.managed-ledger-panel p{margin:0}.managed-ledger-panel h3{font-size:13px}.managed-ledger-panel p{margin-top:3px;color:var(--muted);font-size:9px}.managed-ledger-panel>header>a{display:inline-flex;align-items:center;gap:5px;color:var(--accent-strong);font-size:10px;font-weight:800}.managed-ledger{display:grid}.managed-ledger>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 17px}.managed-ledger>div+div{border-top:1px solid var(--line)}.managed-ledger strong,.managed-ledger small{display:block}.managed-ledger strong{font-size:11px}.managed-ledger small{margin-top:2px;color:var(--muted);font-size:9px}.managed-ledger b{color:var(--text-2);font:800 10px var(--mono)}.managed-ledger b.is-credit{color:var(--accent-strong)}.managed-empty-ledger{display:grid;min-height:132px;place-items:center;align-content:center;gap:5px;color:var(--muted);text-align:center}.managed-empty-ledger i{color:var(--accent);font-size:23px}.managed-empty-ledger strong{color:var(--text);font-size:11px}.managed-empty-ledger span{font-size:9px}
.points-recharge-modal{display:grid;gap:14px}.points-recharge-balance{display:flex;align-items:baseline;justify-content:space-between;border-radius:10px;background:var(--accent-soft);padding:13px 15px}.points-recharge-balance span{color:var(--accent-ink);font-size:10px;font-weight:800}.points-recharge-balance strong{font:850 20px var(--mono)}.points-recharge-packs{display:grid;gap:8px}.points-recharge-packs button{display:flex;min-height:64px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:11px 14px;color:var(--text);text-align:left}.points-recharge-packs button:hover{border-color:var(--accent);background:var(--accent-soft)}.points-recharge-packs strong,.points-recharge-packs small{display:block}.points-recharge-packs strong{font-size:13px}.points-recharge-packs small{margin-top:3px;color:var(--muted);font-size:9px}.points-recharge-packs b{color:var(--accent-strong);font:850 15px var(--mono)}.points-recharge-modal>aside{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:9px;line-height:1.55}.points-recharge-modal>aside i{margin-top:1px;color:var(--accent)}
.points-recharge-contact{display:grid;justify-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:22px;text-align:center}.points-recharge-contact>i{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent-strong);font-size:22px}.points-recharge-contact strong{margin-top:10px;font-size:14px}.points-recharge-contact p{max-width:360px;margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.65}
@media(max-width:760px){.managed-cost-grid{grid-template-columns:1fr}.managed-wallet{min-height:112px;padding:20px}.managed-wallet>i{font-size:54px}.managed-service-note{align-items:flex-start;flex-wrap:wrap}.managed-service-note>button{margin-left:48px}.managed-ledger-panel>header{align-items:flex-start;flex-direction:column;gap:7px}}

/* Focus theater v4: palette-aware study instrument */
.hourglass-layout{grid-template-columns:minmax(580px,1.5fr) minmax(300px,.62fr);gap:16px}
.hourglass-stage{
  min-height:700px;
  border-color:color-mix(in srgb,var(--focus-border) 74%,transparent);
  border-radius:12px;
  background:
    radial-gradient(ellipse at 50% 43%,color-mix(in srgb,var(--focus-accent) 13%,transparent),transparent 43%),
    radial-gradient(ellipse at 50% 86%,color-mix(in srgb,var(--focus-accent-soft) 30%,transparent),transparent 40%),
    linear-gradient(150deg,var(--focus-canvas-2),var(--focus-canvas) 68%);
  box-shadow:0 24px 58px color-mix(in srgb,var(--focus-canvas) 34%,transparent),inset 0 1px 0 color-mix(in srgb,var(--focus-text) 9%,transparent)
}
.hourglass-stage::before{inset:0;background:radial-gradient(ellipse at 50% 58%,color-mix(in srgb,var(--focus-accent) 5%,transparent),transparent 44%);opacity:1;transform:none}
.hourglass-stage::after{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--focus-text) 10%,transparent),inset 0 -112px 138px color-mix(in srgb,var(--focus-canvas) 46%,transparent)}
.hourglass-heading{padding:19px 20px;color:var(--focus-text)}
.hourglass-stage-name{border-color:color-mix(in srgb,var(--focus-border) 68%,transparent);background:color-mix(in srgb,var(--focus-canvas) 74%,transparent);color:var(--focus-text);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--focus-text) 7%,transparent)}
.hourglass-stage-name i{color:var(--focus-accent)}
.hourglass-countdown strong{color:var(--focus-text);font-size:30px;letter-spacing:0}
.hourglass-countdown span{color:var(--focus-muted)}
.hourglass-countdown button{border-color:color-mix(in srgb,var(--focus-border) 72%,transparent);background:color-mix(in srgb,var(--focus-canvas) 76%,transparent);color:var(--focus-text)}
.hourglass-scene{inset:0 0 88px;padding:110px 24px 16px}
.hourglass-aura{width:410px;max-width:60%;background:radial-gradient(ellipse,color-mix(in srgb,var(--focus-accent) 11%,transparent),color-mix(in srgb,var(--focus-accent-soft) 5%,transparent) 44%,transparent 72%);opacity:.68}
.hourglass-instrument{gap:9px;transform:none}
.hourglass-instrument::after{bottom:119px;background:radial-gradient(ellipse,color-mix(in srgb,var(--focus-canvas) 72%,transparent),color-mix(in srgb,var(--focus-canvas) 24%,transparent) 50%,transparent 74%)}
.hourglass-frame{width:262px;height:360px;filter:drop-shadow(0 24px 28px color-mix(in srgb,var(--focus-canvas) 72%,transparent))}
.hourglass-cap{border-color:color-mix(in srgb,var(--focus-metal) 46%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--focus-metal) 88%,var(--focus-text)) 0%,var(--focus-metal) 18%,color-mix(in srgb,var(--focus-metal) 30%,var(--focus-canvas-2)) 62%,var(--focus-canvas) 100%);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--focus-text) 24%,transparent),0 5px 13px color-mix(in srgb,var(--focus-canvas) 68%,transparent)}
.hourglass-cap span{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--focus-text) 14%,transparent) 48%,transparent)}
.hourglass-cap::after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--focus-accent) 44%,transparent),transparent)}
.hourglass-rail{border-color:color-mix(in srgb,var(--focus-metal) 40%,transparent);background:linear-gradient(90deg,var(--focus-canvas),color-mix(in srgb,var(--focus-metal) 76%,var(--focus-canvas-2)) 48%,color-mix(in srgb,var(--focus-metal) 28%,var(--focus-canvas-2)) 74%,var(--focus-canvas));box-shadow:inset 1px 0 color-mix(in srgb,var(--focus-text) 11%,transparent),0 7px 13px color-mix(in srgb,var(--focus-canvas) 68%,transparent)}
.hourglass-glass::before{background:linear-gradient(90deg,color-mix(in srgb,var(--focus-text) 7%,transparent),transparent 17%,transparent 47%,color-mix(in srgb,var(--focus-text) 3%,transparent) 52%,transparent 76%,color-mix(in srgb,var(--focus-accent) 6%,transparent));filter:drop-shadow(0 0 .9px color-mix(in srgb,var(--focus-sand-highlight) 66%,transparent)) drop-shadow(0 0 4px color-mix(in srgb,var(--focus-accent) 8%,transparent))}
.hourglass-glass::after{background:linear-gradient(103deg,transparent 36%,color-mix(in srgb,var(--focus-text) 4%,transparent) 45%,color-mix(in srgb,var(--focus-text) 20%,transparent) 50%,color-mix(in srgb,var(--focus-text) 5%,transparent) 56%,transparent 65%)}
.hourglass-chamber{filter:drop-shadow(0 0 .7px color-mix(in srgb,var(--focus-sand-highlight) 40%,transparent))}
.hourglass-chamber::after{background:linear-gradient(180deg,color-mix(in srgb,var(--focus-text) 12%,transparent),transparent)}
.hourglass-sand{background:linear-gradient(118deg,color-mix(in srgb,var(--focus-sand) 84%,var(--focus-canvas-2)) 0%,var(--focus-sand) 42%,var(--focus-sand-highlight) 61%,color-mix(in srgb,var(--focus-sand) 86%,var(--focus-accent)) 100%);box-shadow:inset 12px 0 20px color-mix(in srgb,var(--focus-canvas) 8%,transparent),inset -9px 0 17px color-mix(in srgb,var(--focus-text) 10%,transparent);filter:saturate(.82)}
.hourglass-sand>span{background:linear-gradient(90deg,color-mix(in srgb,var(--focus-sand) 82%,var(--focus-canvas-2)),var(--focus-sand-highlight) 52%,var(--focus-sand));opacity:.52}
.hourglass-neck{border-color:color-mix(in srgb,var(--focus-sand-highlight) 18%,transparent);background:color-mix(in srgb,var(--focus-sand) 5%,transparent)}
.hourglass-core{background:var(--focus-sand-highlight);box-shadow:0 0 7px color-mix(in srgb,var(--focus-accent) 34%,transparent)}
.hourglass-stream{background:linear-gradient(180deg,color-mix(in srgb,var(--focus-sand-highlight) 90%,transparent),color-mix(in srgb,var(--focus-sand) 82%,transparent) 48%,color-mix(in srgb,var(--focus-accent) 18%,transparent));box-shadow:0 0 5px color-mix(in srgb,var(--focus-accent) 30%,transparent)}
.hourglass-grain{background:var(--focus-sand-highlight);box-shadow:0 0 3px color-mix(in srgb,var(--focus-accent) 36%,transparent)}
.hourglass-impact{border-color:color-mix(in srgb,var(--focus-accent) 48%,transparent)}
.hourglass-stage.idle .hourglass-core{animation:none;opacity:.36}
.hourglass-stage.paused .hourglass-core{opacity:.5}
.hourglass-stage.running .hourglass-aura{animation:focus-theater-breathe 3.8s ease-in-out infinite}
.hourglass-stage .focus-mission-plate{top:68px;left:20px;z-index:13;max-width:min(48%,430px);border-left-color:var(--focus-accent);background:linear-gradient(90deg,color-mix(in srgb,var(--focus-canvas) 82%,transparent),transparent);box-shadow:none;color:var(--focus-text);text-shadow:none}
.focus-mission-plate span{color:var(--focus-muted)}
.focus-mission-plate button{color:var(--focus-muted)}
.focus-mission-plate button:hover{background:color-mix(in srgb,var(--focus-text) 9%,transparent);color:var(--focus-text)}
.focus-time-lockup{position:relative;z-index:3;display:grid;width:min(340px,72vw);justify-items:center;gap:8px;color:var(--focus-text)}
.focus-time-lockup .focus-time{color:var(--focus-text);font:780 54px/.95 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-shadow:none}
.focus-time-meta{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--focus-muted)}
.focus-time-meta .focus-state{display:inline-flex;align-items:center;gap:6px;color:var(--focus-muted);font-size:11px;font-weight:700}
.focus-time-meta .focus-state i{color:var(--focus-accent);font-size:15px}
.hourglass-stage.running .focus-time-meta .focus-state{color:var(--focus-text)}
.hourglass-progress{display:flex;align-items:baseline;gap:6px;color:var(--focus-muted)}
.hourglass-progress span{font-size:11px}
.hourglass-progress strong{color:var(--focus-text);font:740 12px/1 var(--mono)}
.focus-session-rail{position:relative;width:100%;height:4px;overflow:hidden;border:1px solid color-mix(in srgb,var(--focus-border) 64%,transparent);border-radius:4px;background:color-mix(in srgb,var(--focus-canvas-2) 76%,transparent)}
.focus-session-rail i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--focus-accent) 76%,var(--focus-sand)),var(--focus-sand-highlight));transform:scaleX(var(--session-progress));transform-origin:left center;transition:transform .9s linear}
.hourglass-stage .focus-clock-deck{z-index:13;min-height:88px;border-top-color:color-mix(in srgb,var(--focus-border) 38%,transparent);background:color-mix(in srgb,var(--focus-canvas) 88%,transparent);padding:15px 18px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--focus-text) 3%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.focus-deck-copy{display:grid;gap:4px;color:var(--focus-muted)}
.focus-deck-copy span{font-size:10px;font-weight:700}
.focus-deck-copy strong{color:var(--focus-text);font-size:13px}
.hourglass-stage .focus-start-button{min-width:130px;border-color:var(--focus-accent);background:var(--focus-accent);color:var(--focus-on-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--focus-accent) 22%,transparent),inset 0 1px 0 color-mix(in srgb,var(--focus-text) 20%,transparent)}
.hourglass-stage .focus-start-button:hover{background:color-mix(in srgb,var(--focus-accent) 86%,var(--focus-text));color:var(--focus-on-accent);transform:translateY(-1px)}
.hourglass-stage .focus-reset-button{width:44px;padding:0;border-color:color-mix(in srgb,var(--focus-border) 74%,transparent);background:color-mix(in srgb,var(--focus-text) 6%,transparent);color:var(--focus-text)}
.hourglass-stage .focus-reset-button:hover{background:color-mix(in srgb,var(--focus-text) 11%,transparent)}
@keyframes focus-theater-breathe{0%,100%{opacity:.54;transform:scale(.98)}50%{opacity:.76;transform:scale(1.015)}}
@media(max-width:1180px){
  .hourglass-layout{grid-template-columns:minmax(500px,1fr) 300px}
  .hourglass-stage{min-height:680px}
  .hourglass-stage .focus-mission-plate{max-width:56%}
}
@media(max-width:1100px){
  .hourglass-layout{grid-template-columns:minmax(0,1fr)}
  .focus-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .focus-route-card-log{grid-column:1/-1}
}
@media(max-width:920px){
  .hourglass-layout{grid-template-columns:minmax(0,1fr)}
  .hourglass-stage{min-height:680px}
}
@media(max-width:640px){
  .hourglass-stage{min-height:560px;border-radius:10px}
  .hourglass-heading{padding:14px}
  .hourglass-stage-name{min-height:32px;padding:0 9px;font-size:12px}
  .hourglass-countdown strong{font-size:25px}
  .hourglass-stage .focus-mission-plate{top:56px;left:14px;max-width:calc(100% - 28px);padding:8px 10px}
  .hourglass-scene{inset:0 0 128px;padding:108px 8px 5px}
  .hourglass-aura{width:350px;max-width:116vw}
  .hourglass-instrument{transform:translateY(-52px) scale(.68)}
  .focus-time-lockup{width:330px}
  .hourglass-stage .focus-clock-deck{align-items:stretch;flex-direction:column;gap:8px;min-height:128px;padding:10px 14px}
  .focus-deck-copy{display:flex;align-items:center;justify-content:space-between}
  .focus-controls{display:grid;grid-template-columns:minmax(0,1fr) 44px}
  .hourglass-stage .focus-start-button{width:100%}
  .focus-side{grid-template-columns:minmax(0,1fr)}
  .focus-route-card-log{grid-column:auto}
}
@media(max-width:430px){
  .hourglass-stage{min-height:560px}
  .hourglass-countdown span{font-size:10px}
  .hourglass-scene{padding-top:106px}
  .hourglass-instrument{transform:translateY(-55px) scale(.65)}
  .focus-time-lockup .focus-time{font-size:48px}
  .focus-time-meta{gap:12px}
}
@media(prefers-reduced-motion:reduce){
  .hourglass-stage.running .hourglass-aura{animation:none}
  .focus-session-rail i{transition:none}
}
@media(prefers-reduced-transparency:reduce){
  .hourglass-stage-name,.hourglass-stage .focus-clock-deck{background:var(--focus-canvas);backdrop-filter:none;-webkit-backdrop-filter:none}
}
