.segmented{position:relative;display:inline-flex;align-items:center;align-self:center;gap:2px;padding:4px;border-radius:999px;background:#0f172a0d;max-width:100%}.inbox-head .segmented-btn{min-height:30px;padding:0 12px;font-size:13px}.segmented-scroll{overflow-x:auto;scrollbar-width:none}.segmented-scroll::-webkit-scrollbar{display:none}.segmented-compact{padding:2px;gap:0}.segmented-thumb{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0f172a14,0 4px 10px #0f172a0d;transition:transform var(--dur-base) var(--ease-out),width var(--dur-base) var(--ease-out);pointer-events:none}.segmented-compact .segmented-thumb{top:2px;bottom:2px}.segmented-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;box-shadow:none;color:var(--ink-2);font-size:14px;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out)}.segmented-compact .segmented-btn{min-height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:500;gap:4px}.segmented-btn:hover:where(:not(:disabled)){background:transparent;color:var(--ink)}.segmented-btn.on{color:var(--ink);font-weight:600}.segmented-btn svg{color:var(--ink-3);transition:color var(--dur-fast) var(--ease-out)}.segmented-btn.on svg{color:var(--brand)}.segmented-btn .tab-count{margin-left:4px}.segmented-btn .count{min-width:20px;padding:0 6px;border-radius:999px;background:#0f172a0f;font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.segmented-dark{background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:0 1px 2px #0f172a0a,0 6px 18px #0f172a0d}.segmented-dark .segmented-thumb{background:var(--ink);box-shadow:none}.segmented-dark .segmented-btn{font-weight:400}.segmented-dark .segmented-btn.on{color:#fff;font-weight:600}.segmented-dark .segmented-btn.on svg{color:#5eead4}:root{--sticky-top: 80px;--ink: #0f172a;--ink-2: #334155;--ink-3: #64748b;--ink-4: #94a3b8;--line: rgba(15, 23, 42, .08);--line-2: rgba(15, 23, 42, .14);--brand: #0d9488;--brand-2: #4f46e5;--brand-ink: #0f766e;--brand-grad: linear-gradient(135deg, #14b8a6 0%, #22c3ee 45%, #6366f1 100%);--brand-soft: rgba(20, 184, 166, .12);--focus: rgba(45, 212, 191, .45);--glass: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .82);--glass-border: rgba(255, 255, 255, .75);--glass-shadow: 0 1px 1px rgba(15, 23, 42, .03), 0 8px 28px rgba(15, 23, 42, .07);--blur: saturate(170%) blur(22px);--ok: #059669;--ok-soft: rgba(16, 185, 129, .12);--warn: #b45309;--warn-soft: rgba(245, 158, 11, .14);--danger: #dc2626;--danger-soft: rgba(239, 68, 68, .1);--info-soft: rgba(99, 102, 241, .1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--radius: 12px;--radius-lg: 20px;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--slide-paper: #f7f5ef;--slide-accent: #d96b45;--slide-leaf: #5e8b68;--slide-line: #e7e9e5;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scrollbar-gutter:stable}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.6;background:#f4f7fb;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;z-index:-1;background:radial-gradient(38vmax 30vmax at 12% 8%,rgba(45,212,191,.28),transparent 60%),radial-gradient(36vmax 28vmax at 88% 6%,rgba(129,140,248,.26),transparent 60%),radial-gradient(40vmax 34vmax at 78% 92%,rgba(56,189,248,.2),transparent 60%),radial-gradient(34vmax 28vmax at 6% 88%,rgba(250,204,21,.12),transparent 60%),linear-gradient(180deg,#f6fbfa,#f3f5fc)}h1,h2,h3{font-weight:650;line-height:1.3;margin:0;letter-spacing:-.01em}h1{font-size:26px}h2{font-size:19px}h3{font-size:15.5px}a{color:inherit}p{margin:0}::selection{background:#2dd4bf4d}.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.grad-text{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-text b{font-size:19px;letter-spacing:.06em}.logo-text small{font-size:11.5px;color:var(--ink-3);font-weight:400;margin-top:3px}.shell{min-height:100vh;padding-left:248px}.nav{position:fixed;top:12px;left:12px;bottom:12px;width:224px;z-index:20;padding:18px 10px 12px;display:flex;flex-direction:column;gap:2px;overflow:hidden;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.nav .brand{padding:2px 10px 10px;flex:none}.nav-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent);padding-bottom:14px!important;display:flex;flex-direction:column;gap:2px;margin:0 -2px;padding:0 2px}.nav-scroll::-webkit-scrollbar{display:none}.nav-section,.nav-items{display:flex;flex-direction:column;gap:2px}.nav-group{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:0;border:0;background:none;box-shadow:none;font-size:11.5px;color:var(--ink-4);padding:12px 12px 4px;letter-spacing:.08em;border-radius:8px;cursor:pointer}.nav-group:hover:where(:not(:disabled)){background:none;color:var(--ink-2)}.nav-group svg{transition:transform var(--dur-fast) var(--ease-out)}.nav-group.collapsed svg{transform:rotate(-90deg)}.nav a,.nav .nav-locked{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 12px;border-radius:10px;text-decoration:none;color:var(--ink-2);font-size:14px;font-weight:400;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);flex:none}.nav .nav-locked{width:100%;justify-content:flex-start;border:0;background:transparent;box-shadow:none}.nav .nav-locked .lock{margin-left:auto;color:var(--ink-4)}.nav a svg,.nav .nav-locked svg{color:var(--ink-3);flex:none}.nav a:hover,.nav .nav-locked:hover:where(:not(:disabled)){background:#ffffffb3;color:var(--ink)}.nav a.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.nav a.active svg{color:var(--brand-ink)}.nav a:focus-visible,.nav .nav-locked:focus-visible,.nav .nav-group:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.nav .badge{margin-left:auto;background:var(--brand-grad);color:#fff;border-radius:10px;font-size:11.5px;padding:0 7px;line-height:19px;font-weight:600}.nav-promo{flex:none;margin:10px 2px 0;padding:14px;border-radius:14px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-3);background:linear-gradient(160deg,#2dd4bf24,#6366f11f);border:1px solid var(--glass-border)}.nav-promo b{color:var(--ink);font-size:13.5px}.nav-promo button{margin-top:4px}.nav-legal{flex:none;display:flex;gap:6px;justify-content:center;padding:10px 0 0;font-size:11.5px;color:var(--ink-4)}.nav .nav-legal a{display:inline;min-height:0;padding:0;font-size:11.5px;color:var(--ink-4);background:none;box-shadow:none;font-weight:400}.nav .nav-legal a:hover{color:var(--ink-2);background:none}.nav-foot{flex:none;margin-top:10px;padding:12px;border-radius:14px;background:#ffffff8c;border:1px solid var(--glass-border);display:flex;align-items:center;gap:10px;font-size:13px}.nav-foot .who{flex:1;min-width:0}.nav-foot .who div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:600;background:var(--brand-grad);font-size:14px}.main{padding:74px 40px 64px;max-width:1280px;width:100%;margin:0 auto}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar{position:fixed;top:0;left:248px;right:0;z-index:30;display:flex;align-items:center;gap:10px;justify-content:flex-end;min-height:68px;padding:12px;pointer-events:none}.topbar:before{content:"";position:absolute;top:0;right:0;bottom:-14px;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#f4f7fbeb,#f4f7fbc7 70%,#f4f7fb00);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}.topbar>*{pointer-events:auto}.capsule{display:inline-flex;align-items:center;gap:2px;padding:3px;min-height:40px;border-radius:999px;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:0 1px 2px #0f172a0a,0 6px 18px #0f172a0f}.capsule>button.small{border-radius:999px}.cap-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;min-width:34px;padding:0 8px;border-radius:999px;border:0;background:transparent;color:var(--ink-2);font-size:13px;text-decoration:none;box-shadow:none;cursor:pointer}.cap-btn.wide{padding:0 12px}.cap-btn:hover:where(:not(:disabled)){background:#0f172a0d;border:0;color:var(--ink)}.cap-btn svg{color:var(--ink-3);flex:none}.cap-badge{position:absolute;top:-3px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand-grad);color:#fff;font-size:11px;line-height:18px;font-weight:600;text-align:center;box-shadow:0 0 0 2px #fff}.cap-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:#f43f5e;box-shadow:0 0 0 2px #fff}.cap-sep{width:1px;height:18px;background:var(--line-2);flex:none;margin:0 2px}.switch{width:28px;height:16px;border-radius:8px;background:#0f172a29;position:relative;transition:background var(--dur-fast) var(--ease-out);flex:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a33;transition:transform var(--dur-fast) var(--ease-out)}.switch.on{background:var(--brand)}.switch.on:after{transform:translate(12px)}.swatch{width:14px;height:14px;border-radius:5px;flex:none;box-shadow:inset 0 0 0 1px #0f172a14}.user-chip{padding:3px 10px 3px 3px;gap:8px;cursor:pointer;font-size:13.5px;color:var(--ink)}.user-chip:hover:where(:not(:disabled)){background:#fff}.user-chip .avatar{width:32px;height:32px;font-size:13px}.user-chip .user-name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.user-chip svg{color:var(--ink-3)}.popover-anchor{position:relative;display:inline-flex}.popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:300px;max-height:70vh;overflow:auto;padding:10px;background:#fffffff0;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 20px 50px #0f172a2e}.popover-head{font-size:12px;color:var(--ink-3);font-weight:600;padding:4px 6px 8px;letter-spacing:.04em}.note-item{padding:10px;border-radius:12px;font-size:13px}.note-item+.note-item{border-top:1px solid var(--line)}.note-item p{color:var(--ink-3);margin-top:2px}.note-item.warn b{color:var(--warn)}.menu{width:260px;padding:8px}.menu-who{display:flex;gap:10px;align-items:center;padding:8px}.menu-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 8px 8px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu-item{width:100%;justify-content:flex-start;gap:10px;min-height:38px;border:0;background:transparent;box-shadow:none;border-radius:10px;font-size:13.5px;color:var(--ink-2)}.menu-item svg{color:var(--ink-3)}.menu-item:hover:where(:not(:disabled)){background:#0f172a0d;border:0;color:var(--ink)}.menu-sep{height:1px;background:var(--line);margin:6px 4px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:22px}.page-head .sub{color:var(--ink-3);margin-top:6px}.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.aside{position:sticky;top:var(--sticky-top);display:flex;flex-direction:column;gap:16px}.aside.unstuck{position:static}.section{padding:20px 22px;margin-bottom:16px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.section>h3,.section>h2{margin-bottom:12px}.section.flat{background:none;border:0;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.grow{flex:1}.muted{color:var(--ink-3)}.small{font-size:12.5px}.mono{font-family:var(--mono);font-size:12.5px}.right{text-align:right}.num{font-variant-numeric:tabular-nums}button,.btn{font:inherit;font-size:14px;min-height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--line-2);background:#fffc;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}:where(button:hover:where(:not(:disabled)),.btn:hover){background:#fff;border-color:#0f172a38}button:active:not(:disabled),.btn:active{transform:scale(.97)}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--brand-grad) border-box;border-color:transparent;color:#fff;font-weight:600;box-shadow:0 6px 18px #14b8a647,inset 0 1px #ffffff40}button.primary:hover:where(:not(:disabled)),.btn.primary:hover{filter:brightness(1.05);box-shadow:0 8px 22px #4f46e547}button.dark,.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}button.dark:hover:where(:not(:disabled)),.btn.dark:hover{background:#1e293b}button.good{background:var(--ok);border-color:var(--ok);color:#fff}button.good:hover:where(:not(:disabled)){filter:brightness(1.06)}button.danger{color:var(--danger);border-color:#dc26264d;background:#ffffffb3}button.danger:hover:where(:not(:disabled)){background:var(--danger-soft);border-color:#dc262673}button.ok,.btn.ok{color:var(--ok);border-color:#05966952;background:#ffffffb3}button.ok:hover:where(:not(:disabled)),.btn.ok:hover{background:var(--ok-soft);border-color:#05966973}.section.danger-zone{border-color:#dc262638}.settings{display:flex;flex-direction:column;gap:16px}.settings .section{margin-bottom:0}.settings-block{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px 32px;align-items:start}.settings-label h2{font-size:16px;margin:0 0 4px}.settings-label p{margin:0;line-height:1.6}.settings-form{max-width:420px}.settings-actions{display:flex;align-items:center;gap:12px;padding-left:276px}@media (max-width: 760px){.settings-block{grid-template-columns:1fr}.settings-actions{padding-left:0}}button.ghost,.btn.ghost{background:transparent;border-color:transparent}button.ghost:hover:where(:not(:disabled)),.btn.ghost:hover{background:#ffffffb3}button.ghost.danger,.btn.ghost.danger{color:var(--danger);border-color:transparent;background:transparent}button.ghost.danger:hover:where(:not(:disabled)),.btn.ghost.danger:hover{background:var(--danger-soft)}button.link,button.link.small{background:none;border:0;padding:0;min-height:0;box-shadow:none;color:var(--brand-2);font-weight:500;cursor:pointer}button.link:hover{text-decoration:underline;background:none}button.link.muted{color:var(--ink-3)}.legal{max-width:760px;margin:32px auto;padding:32px}.legal h2{margin:22px 0 8px;font-size:17px}.legal p,.legal li{line-height:1.8;color:var(--ink-2)}button.small,.btn.small{min-height:32px;padding:0 11px;font-size:12.5px;border-radius:9px}button.large,.btn.large{min-height:48px;padding:0 26px;font-size:15.5px;border-radius:14px}button.icon{padding:0;width:38px}.nav-foot button{padding:0 8px}label.field,div.field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-2);font-weight:500}input,select,textarea{font:inherit;color:var(--ink);background:#ffffffd9;border:1px solid var(--line-2);border-radius:10px;padding:7px 12px;min-height:38px;width:100%;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}input:focus,select:focus,textarea:focus{border-color:#14b8a699;box-shadow:0 0 0 4px #2dd4bf26;outline:none}input[aria-invalid=true]{border-color:#dc26268c}.field-error{font-size:12.5px;color:var(--danger)}textarea{resize:vertical;min-height:80px;line-height:1.6}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;display:inline-grid;place-content:center;position:relative;cursor:pointer;border:1.5px solid var(--line-2);border-radius:5px;background:#fffc;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}input[type=radio]{border-radius:50%}input[type=checkbox]:hover:where(:not(:disabled)),input[type=radio]:hover:where(:not(:disabled)){border-color:var(--ink-4)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1.44px) rotate(45deg)}input[type=radio]:checked:after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox][data-fx=on]{animation:cb-jelly var(--dur-slow) var(--ease-spring)}input[type=checkbox]:before{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:var(--brand);opacity:0;pointer-events:none}input[type=checkbox][data-fx=off]:before{animation:cb-scatter .42s var(--ease-out)}@keyframes cb-jelly{0%{transform:scale(.7)}45%{transform:scale(1.16,.86)}72%{transform:scale(.94,1.06)}to{transform:scale(1)}}@keyframes cb-scatter{0%{opacity:.9;box-shadow:0 0 0 var(--brand),0 0 0 var(--brand),0 0 0 var(--brand),0 0 0 var(--brand),0 0 0 var(--brand),0 0 0 var(--brand)}to{opacity:0;box-shadow:-12px -10px 0 var(--brand),11px -12px 0 var(--brand),-14px 6px 0 var(--brand),13px 9px 0 var(--brand),0 -14px 0 var(--brand),0 13px 0 var(--brand)}}.check{display:inline-flex;gap:8px;align-items:center;min-height:38px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);background:#ffffffb3;font-size:13.5px}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 9px;border-radius:999px;white-space:nowrap;font-weight:500}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.pending_review,.status.draft_ready,.status.pending,.status.requested,.status.suspended{background:var(--warn-soft);color:var(--warn)}.status.approved,.status.graded,.status.ready,.status.paid,.status.active,.status.issued,.status.ok{background:var(--ok-soft);color:var(--ok)}.status.rejected,.status.failed,.status.closed,.status.disabled,.status.refunded,.status.bad{background:var(--danger-soft);color:var(--danger)}.status.generating,.status.grading,.status.submitted,.status.info{background:var(--info-soft);color:var(--brand-2)}.status.generating:before,.status.grading:before{animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.25}}.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:1px 8px;border-radius:6px;background:#0f172a0d;color:var(--ink-2)}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.list{display:flex;flex-direction:column}.list-card,.page>.list,.page>table{margin-bottom:16px;padding:6px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.list-card>.list{padding:0}.list-card>table tr:last-child td{border-bottom:0}.list-head{display:flex;align-items:center;gap:8px;padding:10px 12px 6px}.list-head h3{font-size:14px}.list-head .count{min-width:20px;padding:0 6px;border-radius:999px;background:#0f172a0f;font-size:12px;color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums}.list-item{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 12px;border-radius:12px;text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-out)}.list-item+.list-item:before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:var(--line);transition:opacity var(--dur-fast) var(--ease-out)}.list-item:hover:before,.list-item:hover+.list-item:before{opacity:0}a.list-item:hover,.list-item.hoverable:hover{background:#0f172a09}.list-item .title,.li-title{font-weight:600;color:var(--ink)}.li-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.li-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}a.li-title:hover{color:var(--brand-ink)}.li-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;color:var(--ink-3);min-width:0}.li-meta .dot{color:var(--ink-4)}.li-side{flex:none;display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12.5px}.li-time{flex:none;width:84px;text-align:right;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.li-actions{flex:none;display:flex;align-items:center;gap:6px}.list-card.review-inbox{border-left:4px solid var(--warn)}.list-card.review-inbox .list-head .count{background:var(--warn-soft);color:var(--warn)}.list-group{display:flex;align-items:center;gap:6px;padding:10px 12px 2px;font-size:12px;font-weight:600;color:var(--ink-3)}.list-group .count{font-weight:500;color:var(--ink-4);font-variant-numeric:tabular-nums}.list-group.g-review{color:var(--warn)}.group-head{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}.group-head .count{font-size:12px;font-weight:500;color:var(--ink-4)}tr.row-link{cursor:pointer}tr.row-link:focus-visible td{background:#0f172a0d;outline:none}.bind-code{font-family:var(--mono);font-size:17px;letter-spacing:1px;color:var(--ink)}.list-item.dead .bind-code{color:var(--ink-4)}.bind-copy{min-height:24px;width:24px;padding:0;border:0;background:none;box-shadow:none;color:var(--ink-4);border-radius:7px}.bind-copy:hover:where(:not(:disabled)){background:#0f172a12;border:0;color:var(--ink)}.list-disclose{align-self:flex-start;margin:0 6px;padding:0 12px;gap:4px}.list-disclose svg{transition:transform var(--dur-fast) var(--ease-out)}.list-disclose.open svg{transform:rotate(180deg)}@media (hover: hover){tbody tr .row-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}tbody tr:hover .row-actions,tbody tr:focus-within .row-actions{opacity:1}.li-actions .reveal-on-hover{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.list-item:hover .reveal-on-hover,.list-item:focus-within .reveal-on-hover{opacity:1}}.tag.t-classroom{background:#38bdf824;color:#0369a1}.tag.t-parents{background:#f59e0b26;color:#b45309}.tag.t-library{background:#8b5cf624;color:#6d28d9}.list .empty{padding:20px 12px}@media (max-width: 600px){.list-item{flex-wrap:wrap;row-gap:6px}.li-main{flex-basis:calc(100% - 60px)}.li-time{width:auto;margin-left:auto}.page>table{display:block;overflow-x:auto}}table{width:100%;border-collapse:separate;border-spacing:0}th{text-align:left;font-weight:600;font-size:12px;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;letter-spacing:.02em}td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background var(--dur-fast) var(--ease-out)}tbody tr:hover td{background:#0f172a08}tbody tr:hover td:first-child{border-radius:10px 0 0 10px}tbody tr:hover td:last-child{border-radius:0 10px 10px 0}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td a{font-weight:500;text-decoration:none;color:var(--ink)}td a:hover{color:var(--brand-ink)}.empty{padding:44px 0;text-align:center;color:var(--ink-3)}.notice{padding:11px 16px;border-radius:12px;background:var(--glass-strong);border:1px solid var(--glass-border);border-left:4px solid var(--warn)}.notice.error{border-left-color:var(--danger);background:#fef2f2e6;color:#991b1b}.notice.ok{border-left-color:var(--ok);background:#ecfdf5e6}.notice.info{border-left-color:var(--brand-2)}.ai-label{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-2);background:#6366f114;padding:2px 9px;border-radius:999px}.ai-label:before{content:"✦";color:var(--brand-2)}.panel{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:14px;padding:16px;box-shadow:var(--glass-shadow)}.kv{display:grid;grid-template-columns:96px 1fr;gap:6px 12px;font-size:13.5px}.kv dt{color:var(--ink-3)}.kv dd{margin:0}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;text-decoration:none;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}a.card:hover,button.card:hover{transform:translateY(-2px);background:var(--glass-strong);box-shadow:0 2px 4px #0f172a0a,0 16px 36px #0f172a1a}button.card{text-align:left;align-items:stretch;justify-content:flex-start;min-height:0;font:inherit;color:inherit;white-space:normal}.card h3{font-size:15px}.card p{color:var(--ink-3);font-size:13px}.icon-tile{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:inset 0 1px #ffffff59,0 6px 14px #0f172a1f}.tone-mint{background:linear-gradient(135deg,#2dd4bf,#10b981)}.tone-sky{background:linear-gradient(135deg,#38bdf8,#3b82f6)}.tone-violet{background:linear-gradient(135deg,#a78bfa,#6366f1)}.tone-peach{background:linear-gradient(135deg,#fdba74,#f97316)}.tone-rose{background:linear-gradient(135deg,#f9a8d4,#ec4899)}.tone-amber{background:linear-gradient(135deg,#fde047,#f59e0b)}.tone-slate{background:linear-gradient(135deg,#94a3b8,#475569)}.stat{display:flex;flex-direction:column;gap:2px}.stat .v{font-size:26px;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .l{font-size:12.5px;color:var(--ink-3)}.hero-title{text-align:center;margin:4px 0 18px}.hero-title h1{font-size:30px}.hero-title p{color:var(--ink-3);margin-top:8px}.composer{position:relative;z-index:5;max-width:920px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.composer-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px 14px 10px;border-radius:24px;background:#ffffffdb;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);box-shadow:0 2px 6px #0f172a0a,0 18px 44px #0f172a17;transition:box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.composer-card:focus-within{border-color:#2dd4bf73;box-shadow:0 0 0 4px #2dd4bf1f,0 18px 44px #0f172a1a}.composer-card.dragging{border-color:var(--brand);box-shadow:0 0 0 4px #2dd4bf38,0 18px 44px #0f172a1a}.composer textarea{font-size:16.5px;min-height:92px;border:0;padding:2px 4px;background:transparent;box-shadow:none;resize:none}.composer textarea:focus,.composer textarea:focus-visible{outline:none;box-shadow:none}.composer-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}.composer-tools>*{flex-shrink:0}.composer-tools>.select,.composer-tools>.popover-anchor:has(.tool-pair){flex-shrink:1;min-width:56px}.composer-tools .select-btn.chip{max-width:100%}.composer-tools .select-btn.chip .select-value{min-width:0;max-width:150px}.composer-tools .tool-pair{min-width:0;max-width:100%}.composer-tools .tool-pair .tool-btn{min-width:0;overflow:hidden;text-overflow:ellipsis}.composer-tools .count{margin-right:4px}.tool-btn.on,.tool-btn.on:hover{background:#2dd4bf24;color:var(--brand-ink)}.tool-btn .cap-badge{top:-4px;right:-4px}.tool-btn.icon-only{position:relative}.tool-sep{width:1px;height:18px;background:var(--line-2);flex:none;margin:0 2px}.tool-btn,.select-btn.chip,.stepper{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:400;background:#0f172a0b;border:1px solid transparent;color:var(--ink-2);box-shadow:none;white-space:nowrap}.tool-btn:hover:where(:not(:disabled)),.select-btn.chip:hover:where(:not(:disabled)){background:#0f172a14;border-color:transparent;color:var(--ink)}.tool-btn svg,.select-btn.chip svg{color:var(--ink-3);flex:none}.tool-btn.icon-only{width:34px;padding:0;justify-content:center}.tool-pair{display:inline-flex;gap:2px;border-radius:999px}.tool-pair.on .tool-btn{background:linear-gradient(135deg,#2dd4bf29,#6366f121);color:var(--ink)}.tool-pair.on .tool-btn:first-child{border-radius:999px 6px 6px 999px}.tool-pair.on .tool-btn:last-child{border-radius:6px 999px 999px 6px}.stepper{padding:0 4px;gap:2px}.stepper button{min-height:26px;width:26px;padding:0;border-radius:50%;border:0;background:transparent;box-shadow:none;font-size:15px;color:var(--ink-2)}.stepper button:hover:where(:not(:disabled)){background:#fff;border:0}.stepper .num{min-width:38px;text-align:center;font-weight:600;color:var(--ink)}.select-btn.chip.empty{background:var(--warn-soft, rgba(245, 158, 11, .12));color:var(--warn)}.select-btn.chip.empty svg{color:var(--warn)}.select-btn.chip .select-value{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.send{min-height:40px;padding:0 20px;border-radius:999px;font-size:14.5px}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:24px;border:2px dashed var(--brand);background:#f0fdfaeb;color:var(--brand-ink);font-weight:600;pointer-events:none}.attach-card{position:relative;align-self:flex-start;display:flex;align-items:center;gap:10px;max-width:100%;padding:6px;border-radius:14px;background:#fff;border:1px solid var(--line-2);overflow:hidden}.attach-card img,.attach-doc{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}.attach-doc{display:grid;place-items:center;background:var(--info-soft);color:var(--brand-2);font-size:11px;font-weight:700}.attach-meta{display:flex;flex-direction:column;min-width:0;max-width:360px;font-size:12px;color:var(--ink-3);line-height:1.4}.attach-meta b{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-card.error{border-color:#dc262659}.attach-card.error .attach-meta span{color:var(--danger)}.attach-progress{position:absolute;left:0;bottom:0;height:2px;width:40%;background:var(--brand-grad);animation:slide 1.1s ease-in-out infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.composer-status{display:flex;align-items:center;gap:8px;min-width:0;padding:0 12px;font-size:12px;color:var(--ink-3);white-space:nowrap}.status-path{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:1}.status-path svg{color:var(--ok)}.status-path.warn-text,.status-path.warn-text svg{color:var(--warn)}.status-chip{flex:none;padding:1px 8px;border-radius:999px;background:#2dd4bf1f;color:var(--brand-ink)}.status-chip.warn{background:var(--warn-soft);color:var(--warn);cursor:help}.status-hint{flex:none;color:var(--ink-4)}.attach-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.attach-row::-webkit-scrollbar{display:none}.attach-row .attach-card{flex:none;max-width:340px}.ref-chip{flex:none;display:flex;align-items:center;gap:8px;max-width:280px;padding:6px 4px 6px 6px;border-radius:14px;background:#fff;border:1px solid rgba(13,148,136,.35)}.ref-chip .attach-meta{max-width:190px}.menu-sub{display:block;font-size:11.5px;color:var(--ink-4);font-weight:400;margin-top:1px}.menu-item .grow{text-align:left;line-height:1.35;white-space:normal;min-width:0}.select{display:inline-flex}.select-field{display:flex;width:100%}.select-btn.field{width:100%;justify-content:space-between;gap:8px;min-height:38px;padding:0 12px;border-radius:12px;background:#fff;border:1px solid var(--line-2);box-shadow:none;font-weight:400;color:var(--ink);text-align:left}.select-btn.field:hover:where(:not(:disabled)){border-color:var(--ink-4);background:#fff}.select-btn.field[aria-expanded=true]{border-color:var(--brand);box-shadow:0 0 0 3px #2dd4bf2e}.select-btn.field.empty .select-value{color:var(--ink-4)}.select-btn.field .select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-caret{color:var(--ink-3);transition:transform var(--dur-fast) var(--ease-out);flex:none}.select-btn[aria-expanded=true] .select-caret{transform:rotate(180deg)}.popover.pop-left{right:auto;left:0}.popover.place-up{top:auto;bottom:calc(100% + 8px)}.popover.flip-x{right:auto;left:0}.popover.pop-left.flip-x{left:auto;right:0}.listbox{list-style:none;margin:0;width:auto;max-width:min(360px,calc(100vw - 32px));max-height:320px;padding:6px;outline:none}.popover.anchored{position:fixed;right:auto;bottom:auto;z-index:60}.popover.anchored.place-up{top:auto}.option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:13.5px;color:var(--ink-2);cursor:pointer;white-space:nowrap}.option .grow{min-width:0;overflow:hidden;text-overflow:ellipsis}.option small{margin-left:8px;color:var(--ink-4);font-size:12px}.option.active{background:#0f172a0d;color:var(--ink)}.option[aria-selected=true]{color:var(--ink);font-weight:600}.option svg{color:var(--brand);flex:none}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.choice{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:400;background:#fff;border:1px solid var(--line-2);color:var(--ink-2);box-shadow:none}.choice:hover:where(:not(:disabled)){border-color:var(--ink-4);background:#fff}.choice[aria-pressed=true]{background:#2dd4bf1f;border-color:#0d948873;color:var(--brand-ink);font-weight:600}.choice svg{color:var(--brand)}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:4px 6px;border-radius:12px;background:#fff;border:1px solid var(--line-2)}.tag-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2dd4bf2e}.tag-input input{flex:1;min-width:120px;border:0;box-shadow:none;padding:4px;min-height:30px;background:transparent}.tag-input input:focus,.tag-input input:focus-visible{outline:none;box-shadow:none}.tag-input .choice{padding-right:4px}.tag-x{min-height:22px;width:22px;padding:0;border-radius:50%;border:0;background:transparent;box-shadow:none;color:var(--ink-3);font-size:15px;line-height:1}.tag-x:hover:where(:not(:disabled)){background:#0f172a14;border:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.field>span{display:flex;gap:6px;align-items:baseline}.stage-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stage-card{flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--line-2);box-shadow:none;text-align:left;white-space:normal}.stage-card b{font-size:15px}.stage-card span{font-size:12px;color:var(--ink-3);font-weight:400}.stage-card[aria-checked=true]{border-color:var(--brand);box-shadow:0 0 0 3px #2dd4bf2e;background:#f0fdfae6}.locked-field{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#0f172a0a}.locked-field svg{color:var(--ink-3);margin-top:2px;flex:none}.locked-field b{display:block}.dialog.onboarding{max-width:680px}@media (min-height: 720px){.dialog.onboarding,.dialog.onboarding .dialog-body{overflow:visible}}.dialog.onboarding .dialog-foot{border-radius:0 0 22px 22px}.onboard-steps{flex:none;display:flex;gap:14px;margin-top:4px;font-size:12.5px;color:var(--ink-4)}.onboard-steps span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.onboard-steps i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;background:#0f172a0f}.onboard-steps .on{color:var(--ink);font-weight:600}.onboard-steps .on i{background:var(--brand-grad);color:#fff}.onboard-steps .done i{background:#2dd4bf33;color:var(--brand-ink)}@media (max-width: 720px){.onboard-steps{display:none}}.profile-head{display:flex;gap:18px;align-items:center}.profile-head h2{margin:0;font-size:21px}.profile-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.avatar.xl{width:64px;height:64px;font-size:26px}.tag.accent{background:#2dd4bf24;color:var(--brand-ink)}.ok-text{color:var(--ok)}.image-pop{width:400px}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.style-card{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;padding:8px;min-height:0;border-radius:12px;white-space:normal;text-align:left;font-size:12px;background:#fff}.style-card b{font-size:13px}.style-card span:last-child{color:var(--ink-3);font-size:11.5px;line-height:1.35}.style-swatch{width:100%;height:40px;border-radius:8px;box-shadow:inset 0 0 0 1px #0f172a0f}.style-card[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 3px #2dd4bf33}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.step{display:flex;gap:12px;align-items:flex-start}.step-n{width:30px;height:30px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.model-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.model-card{display:flex;flex-direction:column;gap:14px;margin:0}.model-card-head{display:flex;gap:12px;align-items:flex-start}.model-card-head p{margin-top:2px}.model-icon{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink)}.model-current{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;background:#0f172a08}.model-current b{font-weight:600}.model-actions{gap:8px;margin-top:auto}.model-test{padding:8px 12px}.pick-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow:auto}.pick{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;text-align:left;justify-content:space-between;border-radius:12px;background:#fff;border:1px solid var(--line-2);box-shadow:none;font-weight:400;color:var(--ink)}.pick:hover:where(:not(:disabled)){border-color:var(--ink-4);background:#fff}.pick[aria-checked=true]{border-color:#0d94888c;background:#2dd4bf14}.pick svg{color:var(--brand);flex:none}.pick-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pick-text b{font-weight:600}.disclose{align-self:flex-start;gap:4px;padding-left:0}.disclose svg{transition:transform var(--dur-fast) var(--ease-out)}.disclose.open svg{transform:rotate(180deg)}.usage-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.usage-stats .card{gap:6px}.usage-cell{display:flex;flex-direction:column;gap:6px}.usage-failed{color:var(--warn)}.meter{display:block;height:6px;border-radius:999px;background:#0f172a12;overflow:hidden}.meter>i{display:block;height:100%;border-radius:inherit;background:var(--brand-grad);transition:width var(--dur-slow) var(--ease-out)}.meter.high>i{background:#f59e0b}.meter.full>i{background:var(--danger)}.audit-filters{gap:10px;margin-bottom:16px}.audit-dates{gap:6px}.audit-row{cursor:pointer}.audit-what{display:flex;flex-direction:column;gap:2px}.audit-raw{margin-top:6px;word-break:break-all}.settings-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:24px;align-items:start}.settings-tabs{position:sticky;top:var(--sticky-top);display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:18px;background:#ffffffb8;border:1px solid var(--glass-border)}.settings-tabs button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;border:0;border-radius:12px;background:transparent;box-shadow:none;color:var(--ink-2);font-weight:500;text-align:left;justify-content:flex-start}.settings-tabs button svg{color:var(--ink-3);flex:none}.settings-tabs button:hover{background:#0f172a0d;color:var(--ink)}.settings-tabs button.active{background:#14b8a61f;color:var(--brand-ink);font-weight:600}.settings-tabs button.active svg{color:var(--brand)}.settings-tabs button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.settings-pane{min-width:0;animation:fade-in var(--dur-base) var(--ease-out)}.settings-pane>.stack>.section,.settings-pane>.section:first-child{margin-top:0}.pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.pane-head h2{font-size:18px;margin-bottom:4px}@media (max-width: 900px){.settings-layout{grid-template-columns:1fr;gap:12px}.settings-tabs{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none}.settings-tabs button{width:auto;flex:none;white-space:nowrap}}.saved-note{color:var(--ok)}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:8px;color:var(--ink-3);font-size:13px;text-decoration:none}.back-link:hover{color:var(--brand-ink)}.shared-meta{gap:6px;padding:10px 14px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border)}.shared-aside h3{margin-bottom:-4px}.shared-aside{max-height:calc(100dvh - 96px);overflow:auto}.shared-related{display:flex;flex-direction:column;gap:6px}.shared-rel{display:flex;gap:12px;align-items:center;padding:8px;border-radius:12px;text-decoration:none;color:inherit;transition:background var(--dur-fast) var(--ease-out)}.shared-rel:hover{background:var(--glass-strong)}.shared-rel-cover{flex:none;width:64px;height:44px;border-radius:9px;display:grid;place-items:center;color:#fff}.shared-rel-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13.5px;line-height:1.4}.shared-rel-text b{font-weight:600}.plaza-filters{gap:10px;margin-bottom:18px;flex-wrap:wrap}.plaza-filters .search{width:220px}.plaza-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.plaza-card{padding:10px;gap:10px;text-align:left;align-items:stretch}.plaza-card-body{display:flex;flex-direction:column;gap:6px;padding:0 6px 4px;min-width:0}.plaza-card-body p{margin:0}.plaza-card-foot{display:flex;justify-content:space-between;gap:8px}.plaza-summary{margin:0;padding:12px 14px;border-radius:12px;background:var(--glass-strong);border:1px solid var(--glass-border);white-space:pre-wrap;line-height:1.7;color:var(--ink-2)}.plaza-license p{margin:0}.plaza-byline>:not(.small){align-self:flex-start}.plaza-credit{margin-bottom:14px;font-size:13.5px}.cover{aspect-ratio:16 / 10;border-radius:14px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px;color:#fff}.cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 100% 0%,rgba(255,255,255,.35),transparent 50%)}.cover .cover-icon{position:absolute;right:14px;top:14px;opacity:.9}.cover .cover-title{position:relative;z-index:1;font-weight:650;font-size:16px;line-height:1.35;text-shadow:0 1px 8px rgba(15,23,42,.2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;padding:16px}.dialog{width:100%;max-width:440px;max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;background:#fffffffa;border:1px solid var(--glass-border);border-radius:22px;box-shadow:0 30px 80px #0f172a40}.dialog.size-md{max-width:560px}.dialog.size-lg{max-width:760px}.dialog.bare{padding:26px;overflow:auto;display:block}.dialog-head{display:flex;align-items:flex-start;gap:12px;padding:22px 24px 16px}.dialog-head .icon-tile{flex:none}.dialog-title{flex:1;min-width:0}.dialog-title h2{font-size:18px;line-height:1.35;margin:0}.dialog-sub{margin:4px 0 0;font-size:13.5px;line-height:1.55;color:var(--ink-3)}.dialog-head>.ghost.icon{margin:-4px -6px 0 0;flex:none}.dialog-body{padding:0 24px 22px;overflow:auto;min-height:0}.dialog-foot{display:flex;align-items:center;gap:8px;padding:12px 24px;border-top:1px solid var(--line);background:#f8fafcf2}.dialog-note{margin-right:auto;min-width:0;font-size:13px;color:var(--ink-3)}.dialog-body>*+.dialog-section{margin-top:18px;padding-top:18px;border-top:1px dashed var(--line)}.dialog-section>h4{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--ink-2)}.compose{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.compose-preview{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:linear-gradient(180deg,#f1f5f9e6,#f8fafc99);border:1px solid var(--line);position:sticky;top:0}.compose-preview-label{font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:.02em}.compose-preview .announce{font-size:12.5px;padding:8px 10px}.compose-preview .announce-text{flex-direction:column;gap:2px;white-space:normal}.compose-preview .announce-text .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-msg{display:flex;gap:10px;padding:12px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 4px 12px #0f172a0d}.preview-msg .icon-tile{width:32px;height:32px;border-radius:10px;flex:none}.preview-msg b{font-size:13.5px}.preview-msg p{margin:4px 0 6px;font-size:12.5px;line-height:1.55;color:var(--ink-2);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compose .chips .chip{min-height:30px;padding:0 12px;font-size:13px;border-style:dashed}.preview-ack{margin-top:10px;padding:7px 0;border-radius:10px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;text-align:center}.dialog-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:16px;background:#f8fafce6;border:1px solid var(--line)}.dialog-card .line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px}.dialog-card .line>span:first-child{color:var(--ink-3)}.dialog-card .line.total{border-top:1px dashed var(--line-2);padding-top:10px;margin-top:2px}.dialog-card .line.total b{font-size:22px;letter-spacing:-.01em}.dialog-result{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px 0 8px}.dialog-result p{margin:0}.dialog-result-num{font-size:34px;font-weight:700;color:var(--ok);font-variant-numeric:tabular-nums}.pay-qr{display:flex;gap:20px;align-items:center}.pay-qr img{flex:none;border-radius:14px;background:#fff;padding:8px;border:1px solid var(--line)}.icon-tile.tone-plain{background:none;box-shadow:none;width:auto;height:auto}.mat-view{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:18px;align-items:start}.mat-preview{display:flex;flex-direction:column;gap:10px;min-width:0}.mat-preview .excerpt pre{max-height:380px}.mat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:220px;padding:24px;border-radius:14px;border:1px dashed var(--line-2);text-align:center}.mat-empty p{margin:0;max-width:320px}.mat-facts .line>span:last-child{text-align:right;min-width:0;overflow-wrap:anywhere}.pick-chip{display:inline-flex;align-items:center;gap:2px;max-width:160px;padding:2px 4px 2px 10px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:12px;color:var(--ink-2)}@media (max-width: 720px){.mat-view{grid-template-columns:1fr}}.confirm-dialog .dialog-body:empty{display:none}.confirm-dialog .dialog-head{padding-bottom:20px}.confirm-dialog .dialog-body{padding-top:0}.confirm-body{margin:0;color:var(--ink-2);line-height:1.65;font-size:14px}.receipt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field-label{display:flex;justify-content:space-between;gap:8px}.field-count{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:400}@media (max-width: 720px){.compose{grid-template-columns:1fr}.compose-preview{position:static}.pair{grid-template-columns:1fr}}.quota-meter{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:16px;background:#f8fafce6;border:1px solid var(--line)}.quota-used{font-size:26px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.quota-meter .meter{height:8px}.meter>i.unlimited{background:repeating-linear-gradient(135deg,#14b8a640 0,#14b8a640 6px,#14b8a61f 6px,#14b8a61f 12px)}.quota-input{display:flex;flex-direction:column;gap:10px;padding-top:14px}.quota-input .field{max-width:240px}.quota-presets{display:flex;flex-wrap:wrap;gap:6px}.toggle-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;min-height:0;text-align:left;border-radius:14px;border:1px solid var(--line);background:#f8fafcb3;white-space:normal;font-weight:400}.toggle-row:hover{background:#f1f5f9e6}.toggle-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.toggle-text b{font-size:14px;font-weight:600;color:var(--ink)}.toggle-text span{font-size:12.5px;color:var(--ink-3);line-height:1.5}.announce-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-slow) var(--ease-in-out) var(--dur-fast)}.announce-wrap>div{min-height:0;overflow:hidden;padding-bottom:14px}.announce-wrap.collapsed{grid-template-rows:0fr}.announce{display:flex;gap:10px;align-items:center;padding:8px 8px 8px 14px;border-radius:14px;background:var(--glass-strong);border:1px solid var(--glass-border);font-size:13.5px;transition:opacity var(--dur-fast) var(--ease-in),transform var(--dur-fast) var(--ease-in);will-change:opacity,transform}.announce-wrap.collapsed .announce{opacity:0;transform:translateY(-6px)}@starting-style{.announce-wrap:not(.collapsed) .announce{opacity:0;transform:translateY(-6px)}}.announce.warn{background:#fffbebeb;border-color:#f59e0b38}.announce>svg{color:var(--brand-2);flex:none}.announce.warn>svg{color:var(--warn)}.announce-text{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;white-space:nowrap;overflow:hidden}.announce-text b{flex:none;max-width:60%;overflow:hidden;text-overflow:ellipsis}.announce-text span{min-width:0;overflow:hidden;text-overflow:ellipsis}.announce-more{flex:none;color:var(--warn);font-weight:600;min-height:30px;padding:0 10px}.announce-more:hover:where(:not(:disabled)){background:#f59e0b1f}.ann-meta{gap:8px;margin-bottom:12px;flex-wrap:wrap}.ann-actions{justify-content:flex-end;margin-top:18px}.chart{position:relative}.chart-section{position:relative;z-index:2}.bars{display:flex;align-items:flex-end;gap:4px;height:200px;padding-top:8px}.bar-col{flex:1;min-width:4px;height:100%;display:flex;align-items:flex-end;border-radius:8px;outline:none;cursor:default}.bar-col.on,.bar-col:focus-visible{background:#0f172a0d}.bar-stack{width:100%;display:flex;flex-direction:column-reverse;gap:1px;border-radius:6px 6px 2px 2px;overflow:hidden;transition:opacity var(--dur-fast) var(--ease-out)}.bar-stack>i{display:block;min-height:2px}.bar-stack>i.bar-empty{height:3px;flex:none;background:var(--line-2)}.bars:has(.bar-col.on) .bar-col:not(.on) .bar-stack{opacity:.45}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--ink-3)}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i,.chart-tip dt i{display:inline-block;width:8px;height:8px;border-radius:2px}.chart-tip{position:absolute;top:0;z-index:5;min-width:168px;padding:10px 12px;border-radius:12px;background:#0f172aeb;color:#fff;font-size:12px;box-shadow:0 12px 30px #0f172a40;pointer-events:none;animation:fade-in var(--dur-fast) var(--ease-out)}.chart-tip.left{transform:translate(-100%)}.chart-tip b{display:block;margin-bottom:6px;font-size:12.5px}.chart-tip dl{display:grid;grid-template-columns:auto auto;gap:2px 16px;margin:0;line-height:1.45}.chart-tip dt{display:flex;align-items:center;gap:6px;color:#ffffffb3}.chart-tip dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.bars-x{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-4);margin-top:6px}.slide{aspect-ratio:16 / 9;background:var(--slide-paper);border:1px solid var(--slide-line);border-radius:10px;position:relative;overflow:hidden;container-type:inline-size;box-shadow:0 4px 14px #0f172a0f;color:#18212b;font-family:Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Noto Sans SC,sans-serif}.sx.pptx{--u: calc(100cqw / 1280)}.sx.video{--u: calc(100cqw / 1920)}.sx-rect,.sx-text,.sx-pic{position:absolute}.sx-text{display:flex;flex-direction:column;padding:calc(4.8 * var(--u)) calc(9.6 * var(--u))}.sx-text.a-ctr{justify-content:center}.sx-text.a-b{justify-content:flex-end}.sx-text p{margin:0;line-height:1.45;overflow-wrap:anywhere}.sx-text p.sx-bullet{position:relative;padding-left:calc(48 * var(--u));margin-top:calc(12 * var(--u));line-height:1.55}.sx-mark{position:absolute;left:0;font-family:Arial,sans-serif}.sx.video li b{color:#d96b45}.sx-pic{object-fit:cover}.sx.video{background:#f7f5ef;font-family:Noto Sans CJK SC,Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif}.sx.video>*{position:absolute}.sx.video .v-bar{left:calc(120 * var(--u));top:calc(96 * var(--u));width:calc(96 * var(--u));height:calc(12 * var(--u));background:#d96b45}.sx.video .v-h1{left:calc(120 * var(--u));top:calc(124 * var(--u));right:calc(120 * var(--u));font-size:calc(64 * var(--u));line-height:1.25;font-weight:700;font-family:"Noto Serif CJK SC","Noto Serif SC",Songti SC,serif}.sx.video .v-rule{left:calc(120 * var(--u));right:calc(120 * var(--u));top:calc(236 * var(--u));height:calc(3 * var(--u));background:#e7e9e5}.sx.video ul{list-style:none;margin:0;padding:0}.sx.video .v-list{left:calc(120 * var(--u));top:calc(288 * var(--u));right:calc(120 * var(--u))}.sx.video li{font-size:calc(46 * var(--u));line-height:1.5;margin-bottom:calc(24 * var(--u));padding-left:calc(56 * var(--u));position:relative}.sx.video li:before{content:"";position:absolute;left:calc(8 * var(--u));top:calc(28 * var(--u));width:calc(18 * var(--u));height:calc(18 * var(--u));border-radius:50%;background:#d96b45}.sx.video.summary li:before{border-radius:calc(3 * var(--u));background:#5e8b68}.sx.video .v-cols{left:calc(120 * var(--u));right:calc(120 * var(--u));top:calc(288 * var(--u));display:flex;gap:calc(48 * var(--u))}.sx.video .v-cols ul{flex:1;background:#fff;padding:calc(40 * var(--u));border-radius:calc(8 * var(--u))}.sx.video.title .v-h1{top:calc(340 * var(--u));left:calc(168 * var(--u));font-size:calc(96 * var(--u))}.sx.video.title .v-bar{top:calc(310 * var(--u));width:calc(16 * var(--u));height:calc(300 * var(--u));left:calc(96 * var(--u))}.sx.video.title .v-list{top:calc(520 * var(--u));left:calc(168 * var(--u))}.sx.video.title li{color:#5e8b68;padding-left:0}.sx.video.title li:before,.sx.video.question li:before{display:none}.sx.video .v-tag{left:calc(120 * var(--u));top:calc(96 * var(--u));background:#d96b45;color:#fff;font-size:calc(44 * var(--u));padding:calc(16 * var(--u)) calc(40 * var(--u));border-radius:calc(8 * var(--u))}.sx.video.question .v-list{top:calc(300 * var(--u));text-align:center}.sx.video.question li{font-size:calc(60 * var(--u));padding:0}.sx.video .v-img{right:calc(120 * var(--u));top:calc(300 * var(--u));width:calc(560 * var(--u));height:calc(560 * var(--u));object-fit:cover;border-radius:calc(8 * var(--u))}.sx.video .v-label{right:calc(48 * var(--u));top:calc(40 * var(--u));font-size:calc(30 * var(--u));color:#fff;background:#18212bb8;padding:calc(8 * var(--u)) calc(22 * var(--u));border-radius:calc(6 * var(--u))}.sx.video .v-page,.sx.video .v-brand{bottom:calc(48 * var(--u));font-size:calc(28 * var(--u));color:#6b7280}.sx.video .v-page{right:calc(120 * var(--u))}.sx.video .v-brand{left:calc(120 * var(--u))}.sx-badge{position:absolute;right:1.2cqw;top:1.2cqw;font-size:max(10px,1.2cqw);padding:.2em .6em;border-radius:999px;background:#0f172a9e;color:#fff}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;font-weight:400}.theme-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 6px 8px;min-height:0;text-align:left;border-radius:12px;background:var(--glass);border:1px solid var(--line);white-space:normal}.theme-card .slide{box-shadow:none;border-radius:6px;margin-bottom:4px;pointer-events:none}.theme-card>b{font-size:13px;padding:0 2px}.theme-card>span{font-size:12px;color:var(--ink-3);padding:0 2px;line-height:1.4}.theme-card[aria-checked=true]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.slide-image-field{display:flex;gap:12px;align-items:flex-start;font-weight:400}.slide-image-thumb{width:72px;height:72px;flex:none;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:var(--slide-paper)}.slide-image-thumb.empty{display:grid;place-items:center;font-size:12px;color:var(--ink-3)}.block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.block-head{display:flex;align-items:center;gap:8px;grid-column:1 / -1}.block-index{font-size:17px;font-weight:700;width:32px;color:var(--brand)}.doc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:40px 48px;box-shadow:var(--glass-shadow)}.doc h2{text-align:center;margin-bottom:24px}.doc h3{margin:20px 0 8px}.doc ol{padding-left:22px}.doc .answer{color:var(--ok);font-size:14px}.photo-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.photo-strip img{width:100%;border-radius:12px;border:1px solid var(--line);cursor:zoom-in}@media (max-width: 900px){.shell{padding-left:0}.nav{position:static;width:auto;margin:12px 12px 0;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px;overflow:visible}.nav .brand{width:100%;padding-bottom:6px}.nav-scroll{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;width:100%;-webkit-mask-image:none;mask-image:none;padding-bottom:0!important}.nav-section{flex-direction:row;flex-wrap:nowrap}.nav .nav-locked{width:auto}.nav a,.nav .nav-locked{white-space:nowrap}.nav-group,.nav-foot .who,.nav-promo,.nav-legal{display:none}.nav-foot{margin-top:0;padding:4px}.main{padding:12px 16px 48px}.topbar{position:sticky;top:0;left:auto;right:auto;min-height:0;padding:8px 0;margin:-8px 0 4px}.topbar:before{top:0;right:-16px;bottom:-14px;left:-16px}.stage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.send-label{display:none}button.send{padding:0 14px}.status-hint{display:none}.composer-tools{flex-wrap:wrap}.user-chip .user-name{display:none}.split,.block{grid-template-columns:1fr}.aside{position:static}.doc{padding:24px 16px}.image-pop{width:min(400px,calc(100vw - 32px))}}@media print{body:before,.nav,.aside,.topbar,.announce-wrap,.page-head button,.no-print{display:none!important}.shell,.split{display:block}.main{padding:0}.doc,.section{border:0;padding:0;box-shadow:none;background:#fff}body{background:#fff}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.shell{animation:fade-in var(--dur-base) var(--ease-out)}.page{animation:rise-in var(--dur-slow) var(--ease-out)}.popover{animation:pop-in var(--dur-base) var(--ease-out);transform-origin:top right}.popover.pop-left{transform-origin:top left}.popover.place-up{animation-name:pop-up-in;transform-origin:bottom right}.popover.place-up.pop-left{transform-origin:bottom left}[data-closing]>.popover,.popover[data-closing]{animation:pop-out var(--dur-fast) var(--ease-in) forwards;pointer-events:none}[data-closing]>.popover.place-up,.popover.place-up[data-closing]{animation-name:pop-up-out}@keyframes pop-up-in{0%{opacity:0;transform:translateY(4px) scale(.98)}}@keyframes pop-out{to{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes pop-up-out{to{opacity:0;transform:translateY(4px) scale(.98)}}.reveal{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--dur-base) var(--ease-in-out),opacity var(--dur-base) var(--ease-out)}.reveal>*{min-height:0;overflow:hidden}.reveal.collapsed{grid-template-rows:0fr;opacity:0}@starting-style{.reveal:not(.collapsed){grid-template-rows:0fr;opacity:0}}.backdrop{animation:fade-in var(--dur-base) var(--ease-out)}.dialog{animation:dialog-in var(--dur-slow) var(--ease-out)}.switch,.switch:after{transition-timing-function:var(--ease-spring);transition-duration:var(--dur-base)}.choice,.stage-card,.option,.tool-btn,.select-btn{transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.choice[aria-pressed=true] svg,.option[aria-selected=true] svg{animation:pop-in var(--dur-base) var(--ease-spring)}.select-caret,.nav-group svg{transition:transform var(--dur-base) var(--ease-in-out)}.icon{flex:none}.skeleton{display:inline-block;vertical-align:middle;border-radius:6px;background:linear-gradient(90deg,#0f172a0f 25%,#0f172a1c,#0f172a0f 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.loading{animation:fade-in var(--dur-base) var(--ease-out)}.skeleton-rows{display:flex;flex-direction:column;gap:18px}.list-item.loading{pointer-events:none}.spinner{display:inline-block;flex:none;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.85;animation:spin .7s linear infinite}button.is-loading{cursor:progress}button.is-loading:disabled{opacity:.8}.empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 10px;border-radius:16px;background:#0f172a0d;color:var(--ink-3)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.skeleton{animation:none}}.file-badge{flex:none;display:grid;place-items:center;border-radius:10px;font-size:10.5px;font-weight:700;letter-spacing:.04em;color:#fff;box-shadow:inset 0 1px #ffffff4d}.fmt-pdf{background:linear-gradient(135deg,#fb7185,#e11d48)}.fmt-ppt{background:linear-gradient(135deg,#fdba74,#ea580c)}.fmt-doc{background:linear-gradient(135deg,#60a5fa,#2563eb)}.fmt-img{background:linear-gradient(135deg,#5eead4,#0d9488)}.fmt-txt{background:linear-gradient(135deg,#a5b4fc,#6366f1)}.mat-meta{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.mat-card{gap:14px}.mat-card h3{font-size:14.5px;margin-bottom:4px}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}.mat-foot{display:flex;align-items:center;gap:6px;margin-top:auto;min-width:0;white-space:nowrap}.mat-foot>.muted{flex:none}.mat-foot .tag{display:inline-flex;align-items:center;gap:4px;min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status.mat-pending{background:var(--info-soft);color:var(--brand-2)}.status.mat-pending:before{animation:pulse 1.2s infinite}.status.mat-ready{background:var(--ok-soft);color:var(--ok)}.status.mat-image{background:#2dd4bf1f;color:var(--brand-ink)}.status.mat-none{background:#0f172a0f;color:var(--ink-3)}.status.mat-failed{background:var(--danger-soft);color:var(--danger)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.search{position:relative;display:flex;align-items:center;min-width:200px}.search svg{position:absolute;left:12px;color:var(--ink-4);pointer-events:none}.search input{padding-left:34px}.library{position:relative;min-height:60vh}.page-drop{position:fixed;top:12px;right:12px;bottom:12px;left:248px;z-index:45;display:grid;place-items:center;border-radius:var(--radius-lg);border:2px dashed var(--brand);background:#f0fdfad9;color:var(--brand-ink);font-size:18px;font-weight:600;pointer-events:none;animation:fade-in var(--dur-fast) var(--ease-out)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;border-radius:16px;border:1.5px dashed var(--line-2);background:#fff9;text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.dropzone-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--brand-soft);color:var(--brand)}.dropzone-text{display:flex;flex-direction:column;gap:4px;align-items:center}.dropzone.compact{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 14px;text-align:left}.dropzone.compact .dropzone-icon{width:36px;height:36px;border-radius:11px}.dropzone.compact .dropzone-text{align-items:flex-start}.dropzone+.import-list{margin-top:12px}.dropzone:hover,.dropzone.on{border-color:var(--brand);background:#f0fdfae6}.import-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}.import-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;background:#ffffffb3;border:1px solid var(--line);font-size:13px;animation:rise-in var(--dur-base) var(--ease-out)}.import-row.error{border-color:#dc26264d}.danger-text{color:var(--danger)}.excerpt{border-radius:14px;background:#0f172a09;padding:10px 12px}.excerpt pre{margin:0;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:inherit;font-size:13px;line-height:1.7;color:var(--ink-2)}.excerpt-img{max-width:100%;max-height:320px;border-radius:12px;object-fit:contain;align-self:flex-start}.picker-list{max-height:50vh;overflow:auto}.list-item.pick+.list-item.pick:before{display:none}.list-item.pick{width:100%;min-height:0;border:0;border-bottom:1px solid var(--line);border-radius:12px;background:transparent;box-shadow:none;font-weight:400;white-space:normal}.list-item.pick:hover:where(:not(:disabled)){background:#fffc}.list-item.pick.on{background:#f0fdfae6}.list-item.pick .title{display:block}.pick-box{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);color:#fff;transition:background var(--dur-fast) var(--ease-out)}.list-item.pick.on .pick-box{background:var(--brand);border-color:var(--brand)}@media (max-width: 900px){.page-drop{top:12px;right:12px;bottom:12px;left:12px}.search{min-width:0;flex:1}}.prefs-pop{width:min(420px,calc(100vw - 32px));display:grid;gap:16px;background:#fffffffa}.prefs-pop section+section{border-top:1px solid var(--line);padding-top:14px}.prefs-pop .popover-head.row{display:flex;align-items:center;gap:8px}.prefs-pop .popover-head .grow{display:inline-flex;align-items:center;gap:6px}.prefs-pop .style-grid{margin-bottom:10px}.switch-btn{background:none;border:0;padding:4px;min-height:0}:where(.switch-btn:hover){background:none}.composer-tools>.popover-anchor:has(.prefs-pop),.composer-tools>.popover-anchor:has(>.tool-btn .ellipsis){flex-shrink:1;min-width:56px}.composer-tools .popover-anchor>.tool-btn{min-width:0;max-width:100%}.toasts{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:120;display:flex;flex-direction:column;align-items:center;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:fit-content;max-width:100%;padding:10px 10px 10px 14px;border-radius:14px;background:#fffffff7;border:1px solid var(--glass-border);box-shadow:0 12px 32px #0f172a29;font-size:13.5px;animation:toast-in var(--dur-base) var(--ease-spring)}.toast.leaving{animation:toast-out var(--dur-fast) var(--ease-out) forwards}.toast-icon{flex:none;margin-top:1px;color:var(--brand)}.toast.ok .toast-icon{color:var(--ok, #16a34a)}.toast.warn .toast-icon{color:var(--warn)}.toast.error .toast-icon{color:var(--danger)}.toast-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;min-width:0;text-align:left;color:var(--ink);background:none;border:0;padding:0;min-height:0;font:inherit}.toast-text b{font-weight:600;overflow-wrap:anywhere}.toast-text span{color:var(--ink-3);font-size:12.5px;overflow-wrap:anywhere}.toast.linked .toast-text{cursor:pointer}:where(.toast.linked .toast-text:hover){background:none}.toast.linked .toast-text:hover b{color:var(--brand-ink)}.toast-close{flex:none;width:24px;height:24px;min-height:0;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-3)}:where(.toast-close:hover){background:#0f172a0f;border-color:transparent}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateY(-6px)}}.inbox-pop{width:min(380px,calc(100vw - 32px));padding:0;display:flex;flex-direction:column;overflow:hidden}.inbox-head{display:flex;align-items:center;gap:8px;padding:10px 10px 8px;border-bottom:1px solid var(--line)}.tab-count{margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f43f5e;color:#fff;font-size:11px;line-height:18px;display:inline-block;text-align:center}.inbox-list{overflow:auto;max-height:min(460px,60vh);padding:6px}.inbox-empty{padding:28px 16px;text-align:center;color:var(--ink-3);font-size:13px}.inbox-item{display:flex;gap:10px;width:100%;padding:10px;border:0;border-radius:12px;background:none;text-align:left;align-items:flex-start;min-height:0;font:inherit;color:var(--ink);position:relative}:where(.inbox-item:hover){background:#0f172a0a;border-color:transparent}.inbox-item+.inbox-item{margin-top:2px}.inbox-icon{flex:none;margin-top:1px;color:var(--ink-3)}.inbox-item.ok .inbox-icon{color:var(--ok)}.inbox-item.warn .inbox-icon{color:var(--warn)}.inbox-item.error .inbox-icon{color:var(--danger)}.inbox-item.info .inbox-icon{color:var(--brand)}.inbox-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.inbox-text b{font-size:13.5px;font-weight:500;overflow-wrap:anywhere}.inbox-item.unread .inbox-text b{font-weight:600}.inbox-item.unread:after{content:"";position:absolute;top:15px;right:10px;width:7px;height:7px;border-radius:50%;background:#f43f5e}.inbox-item.unread .inbox-text{padding-right:14px}.inbox-text>span{color:var(--ink-3);font-size:12.5px}.inbox-text small{color:var(--ink-4, var(--ink-3));font-size:12px}.inbox-item:not(.unread){opacity:.78}.inbox-foot{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:11px;font-size:13px;color:var(--brand-ink);min-height:0}:where(.inbox-foot:hover){background:#0f172a08;border-color:var(--line)}.inbox-page{padding:8px}.inbox-page .inbox-item{padding:12px 14px}.ann-body{white-space:pre-wrap;line-height:1.75;font-size:14.5px;color:var(--ink-2);max-height:60vh;overflow:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.main:has(>.page>.chat){display:flex;flex-direction:column;height:100dvh;max-width:none;padding:74px 20px 16px}.main:has(>.page>.chat)>.page{flex:1;min-height:0}.chat{--chat-w: 800px;display:grid;grid-template-columns:248px minmax(0,1fr);gap:12px;height:100%;position:relative;transition:grid-template-columns var(--dur-slow) var(--ease-out)}.chat.list-hidden{grid-template-columns:0 minmax(0,1fr);gap:0}.chat.list-hidden .chat-list{visibility:hidden;padding:0;border:0;overflow:hidden}.chat.files-open{grid-template-columns:248px minmax(0,1fr) 280px}.chat.files-open.list-hidden{grid-template-columns:0 minmax(0,1fr) 280px}@media (min-width: 1600px){.chat{--chat-w: 880px}}.chat-list,.chat-main,.chat-files{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg, 20px);box-shadow:var(--glass-shadow);min-height:0}.chat-list{display:flex;flex-direction:column;gap:10px;padding:12px}.chat-new{width:100%;justify-content:center}.chat-list .search{min-width:0}.chat-list .search input{width:100%;min-height:36px}.chat-list-scroll{flex:1;min-height:0;overflow:auto;margin:0 -6px;padding:0 6px}.chat-list-empty{padding:24px 8px;text-align:center;color:var(--ink-3);font-size:13px;display:grid;place-items:center}.chat-group+.chat-group{margin-top:10px}.chat-group-title{font-size:12px;color:var(--ink-3);font-weight:600;padding:4px 8px}.chat-item{position:relative;display:flex;align-items:center;border-radius:10px}.chat-item:hover,.chat-item.active{background:#0f172a0d}.chat-item.active{background:#fff;box-shadow:0 1px 2px #0f172a0f}.chat-item-link{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:8px 4px 8px 10px;color:var(--ink-2);text-decoration:none;font-size:13.5px}.chat-item.active .chat-item-link{color:var(--ink);font-weight:600}.chat-pin{color:var(--brand);flex:none}.chat-item-more{flex:none;width:26px;height:26px;min-height:0;padding:0;margin-right:4px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-3);opacity:0}.chat-item:hover .chat-item-more,.chat-item.active .chat-item-more,.chat-item-more[aria-expanded=true],.chat-item-more:focus-visible{opacity:1}:where(.chat-item-more:hover){background:#0f172a12;border-color:transparent}.chat-item-menu{width:160px;right:0}.chat-item.renaming{padding:2px}.chat-item.renaming input{width:100%;min-height:34px;font-size:13.5px}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.chat-main{display:flex;flex-direction:column;overflow:hidden;position:relative}.chat-loading{flex:1;display:grid;place-items:center;padding:24px}.chat-head{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:48px}.chat-fold{color:var(--ink-3)}.chat-head h1{font-size:15.5px;margin:0;font-weight:600;min-width:0}.chat-back{display:none}.chat-scroll{flex:1;min-height:0;overflow:auto;padding:20px max(20px,calc((100% - var(--chat-w)) / 2)) 12px;scroll-behavior:smooth}.chat-hello{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}.chat-hello h2{margin:8px 0 0;font-size:22px}.chat-hello p{max-width:460px;margin:0 0 14px}.chat-hello-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--brand-grad);box-shadow:0 10px 24px #2dd4bf4d}.chat-suggest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(640px,100%)}.chat-suggest button{justify-content:flex-start;text-align:left;white-space:normal;min-height:52px;padding:10px 14px;border-radius:14px;background:#fff;font-size:13.5px;color:var(--ink-2);line-height:1.45}.chat-turn{display:flex;flex-direction:column;gap:14px;margin-bottom:22px;animation:rise-in var(--dur-base) var(--ease-out)}.chat-user{align-self:flex-end;max-width:80%;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.chat-bubble{padding:10px 14px;border-radius:16px 16px 4px;background:linear-gradient(135deg,#2dd4bf29,#6366f124);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}.chat-user-files{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.chat-file-chip{display:inline-flex;align-items:center;gap:4px;max-width:240px;padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-answer{display:flex;gap:12px;align-items:flex-start}.chat-avatar{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--brand-grad);color:#fff;margin-top:2px}.chat-answer-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.chat-steps-label{font-size:12px;color:var(--ink-3)}.chat-step{display:flex;flex-direction:column;gap:8px}.streaming .md>:last-child:after{content:"";display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--brand);border-radius:1px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.chat-thinking{display:inline-flex;gap:4px;padding:8px 0}.chat-thinking .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4, #94a3b8);animation:bounce 1.2s var(--ease-in-out) infinite}.chat-thinking .dot:nth-child(2){animation-delay:.15s}.chat-thinking .dot:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-note{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-3)}.chat-note.error{color:var(--danger)}.tool-card{border:1px solid var(--line-2);border-radius:12px;background:#ffffffb3;overflow:hidden;max-width:560px}.tool-card.failed{border-color:#dc26264d}.tool-card-head{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:0;border:0;border-radius:0;background:none;text-align:left;font:inherit;font-size:13px;color:var(--ink)}:where(.tool-card-head:hover){background:#0f172a08;border-color:transparent}.tool-card-icon{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#2dd4bf1f;color:var(--brand-ink)}.tool-card.failed .tool-card-icon{background:#dc262614;color:var(--danger)}.tool-card-title{display:flex;align-items:baseline;gap:8px;min-width:0}.tool-card-title b{font-weight:600;flex:none}.tool-card-title .muted{font-size:12.5px;min-width:0}.tool-card-caret{color:var(--ink-3);transition:transform var(--dur-fast) var(--ease-out);flex:none}.tool-card-caret.open{transform:rotate(180deg)}.tool-card-summary{display:flex;align-items:center;gap:10px;padding:0 12px 9px 44px;font-size:12.5px;color:var(--ink-2)}.insight-card{display:flex;flex-direction:column;gap:12px}.insight-card h3,.insight-card p{margin:0}.item-bars{display:flex;flex-direction:column;gap:6px}.item-bar{display:grid;grid-template-columns:56px minmax(80px,1fr) 40px minmax(0,120px);align-items:center;gap:10px}.item-bar .bar,.mastery-row .bar{height:8px;border-radius:999px;background:#0f172a0f;overflow:hidden}.item-bar .bar i,.mastery-row .bar i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.item-bar .bar i.mid,.mastery-row .bar i.mid{background:#f59e0b}.item-bar .bar i.low,.mastery-row .bar i.low{background:#ef4444}.mastery{display:flex;flex-direction:column;gap:6px}.mastery-row{display:grid;grid-template-columns:minmax(0,160px) minmax(60px,1fr) 44px;align-items:center;gap:10px}.student-insight{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#0f172a09}.student-insight p,.student-insight ul{margin:0}.student-insight ul{padding-left:18px}.group-head .ai-label{margin-left:auto}.point-row{align-items:flex-start}.point-row .li-main{gap:6px}.weak-students{display:flex;flex-wrap:wrap;align-items:center;gap:4px;max-width:50%;justify-content:flex-end}.chip-scroll{max-height:168px;overflow-y:auto;padding:2px}.insight-focus{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.grade-item{gap:6px;padding:8px 10px;margin:0 -10px;border-radius:10px;border-bottom:1px solid var(--mist)}.grade-item.unsure{background:var(--warn-soft);border-bottom-color:transparent}.tool-card-summary a{display:inline-flex;align-items:center;gap:2px;flex:none}.gen-status{display:flex;align-items:center;gap:8px;margin:0 12px 10px 44px;padding:8px 10px;border-radius:10px;font-size:12.5px;background:#0f172a0a;color:var(--ink-2)}.gen-status.failed{background:#dc262614;color:#b91c1c}.gen-status.pending_review,.gen-status.approved{background:#10b98114;color:#047857}.tool-card-head:disabled{opacity:1;cursor:default}.tool-card-detail{border-top:1px solid var(--line);padding:10px 12px 12px 44px;background:#0f172a05;display:flex;flex-direction:column;gap:8px;font-size:12.5px}.tool-args{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0}.tool-args dt{color:var(--ink-3)}.tool-args dd{margin:0;color:var(--ink-2);overflow-wrap:anywhere}.tool-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tool-list li{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 8px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}.tool-list li.muted{background:none;border:0;padding:0 8px}.tool-list .tag{flex:none}.tool-list svg{color:var(--ink-3);flex:none}.tool-excerpt{margin:0;padding:8px 10px;border-left:3px solid var(--line-2);background:#fff;border-radius:0 8px 8px 0;color:var(--ink-2);white-space:pre-wrap;line-height:1.65;max-height:180px;overflow:auto}.tool-error{display:flex;align-items:center;gap:6px;color:var(--danger)}.chat-composer-wrap{padding:0 max(16px,calc((100% - var(--chat-w) - 32px) / 2)) 12px}.chat-composer{position:relative;border:1px solid var(--line-2);border-radius:18px;background:#fff;box-shadow:0 6px 20px #0f172a0f;padding:10px 10px 8px 14px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.chat-composer:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2dd4bf29,0 6px 20px #0f172a0f}.chat-composer textarea{width:100%;border:0;outline:0;resize:none;padding:4px 0;min-height:calc(1.6em * 3 + 8px);max-height:220px;font:inherit;font-size:14.5px;line-height:1.6;background:none;box-shadow:none}.chat-composer textarea:focus{box-shadow:none}@media (max-width: 640px){.chat-composer textarea{min-height:calc(3.2em + 8px)}}.chat-composer-tools{display:flex;align-items:center;gap:6px}.tool-btn.icon-only{padding:0;width:34px;justify-content:center}.chat-send{width:36px;height:36px;min-height:0;padding:0;border-radius:12px;display:grid;place-items:center}.chat-send.stop{background:var(--ink);color:#fff;border-color:var(--ink)}:where(.chat-send.stop:hover){background:#334155}.slash-menu{position:absolute;left:8px;bottom:calc(100% + 8px);z-index:40;width:min(360px,calc(100% - 16px));max-height:min(380px,50vh);overflow:auto;padding:8px;background:#fffffff7;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 20px 50px #0f172a2e;animation:pop-up-in var(--dur-base) var(--ease-out);transform-origin:bottom left}.slash-menu .menu-item.active{background:#0f172a0d;color:var(--ink)}.tool-btn-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover.textbook-pop{width:500px;max-width:calc(100vw - 24px);padding:6px;overflow:visible;max-height:none!important}.tb{display:flex;flex-direction:column;gap:6px}.tb-head{display:flex;align-items:center;gap:6px}.subject-switch{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.tb-head .select-btn.chip{min-height:30px;padding:0 10px}.tb-search{flex:1;min-width:0;display:flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-radius:999px;background:#0f172a0b;color:var(--ink-4)}.tb-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;box-shadow:none;font-size:12.5px;outline:none}.tb-cols{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}.tb-col{max-height:252px;min-height:72px;overflow-y:auto;padding:3px;outline:none;scrollbar-width:thin}.tb-col.units{border-right:1px solid var(--line)}.tb-col:focus-visible{box-shadow:inset 0 0 0 2px #2dd4bf59}.tb-hits{border:1px solid var(--line);border-radius:12px}.tb-row{display:flex;align-items:center;gap:4px;width:100%;min-height:30px;padding:0 8px;border:0;border-radius:8px;background:transparent;box-shadow:none;font-size:13px;font-weight:400;color:var(--ink-2);text-align:left;justify-content:flex-start}.tb-row:hover{background:#0f172a0d}.tb-row svg{color:var(--ink-4);flex:none}.tb-row.on{background:#2dd4bf24;color:var(--brand-ink);font-weight:500}.tb-row.on svg{color:var(--brand)}.tb-row.all{color:var(--ink-3)}.tb-row.all.on{color:var(--brand-ink)}.tb-empty{padding:10px;font-size:12.5px;color:var(--ink-4)}.tb-foot{display:flex;align-items:center;gap:6px;padding:0 2px 0 6px;min-height:32px}@media (max-width: 600px){.tb-head{flex-wrap:wrap}.tb-search{flex-basis:100%}.tb-cols{grid-template-columns:1fr}.tb-col{max-height:160px}.tb-col.units{border-right:0;border-bottom:1px solid var(--line)}}.chat-disclaimer{margin:6px 0 0;text-align:center;font-size:11.5px;color:var(--ink-3)}.chat-atts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chat-att{animation:pop-in var(--dur-base) var(--ease-out);display:inline-flex;align-items:center;gap:8px;max-width:260px;padding:5px 4px 5px 6px;border-radius:12px;border:1px solid var(--line-2);background:#f8fafc}.chat-att.error{border-color:#dc262659}.chat-att-meta{display:flex;flex-direction:column;min-width:0;line-height:1.3}.chat-att-meta b{font-size:12.5px;font-weight:500}.chat-att-meta small{font-size:11.5px;color:var(--ink-3)}.chat-att.error small{color:var(--danger)}.chat-files{width:280px;padding:12px;display:flex;flex-direction:column;gap:10px;overflow:auto;animation:slide-in var(--dur-base) var(--ease-out)}@keyframes slide-in{0%{opacity:0;transform:translate(12px)}}.chat-files header{display:flex;align-items:center}.chat-files>p{margin:0}.chat-file{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:#fff;border:1px solid var(--line)}.chat-file b{display:block;font-size:13px;font-weight:500}.chat-file small{font-size:11.5px}.chat-file-actions{display:flex;gap:2px;flex:none}.chat-file-actions button{padding:0 6px;min-height:28px}.md{font-size:14.5px;line-height:1.75;color:var(--ink);overflow-wrap:anywhere}.md>*{margin:0 0 10px}.md>:last-child{margin-bottom:0}.md h3{font-size:16px;margin-top:14px}.md h4,.md h5{font-size:14.5px;margin-top:12px}.md ul,.md ol{padding-left:22px}.md li+li{margin-top:3px}.md code{font-family:var(--mono, ui-monospace, monospace);font-size:.9em;padding:1px 5px;border-radius:5px;background:#0f172a0f}.md pre{padding:12px 14px;border-radius:12px;background:#0f172a;color:#e2e8f0;overflow:auto;font-size:12.5px;line-height:1.6}.md pre code{background:none;padding:0;color:inherit}.md blockquote{margin-left:0;padding:4px 12px;border-left:3px solid var(--brand);color:var(--ink-2);background:#2dd4bf0f;border-radius:0 8px 8px 0}.md hr{border:0;border-top:1px solid var(--line-2)}.md-table{overflow:auto}.md table{border-collapse:collapse;font-size:13.5px;width:auto}.md th,.md td{border:1px solid var(--line-2);padding:6px 10px;text-align:left}.md th{background:#0f172a0a}@media (max-width: 1100px){.chat,.chat.files-open{grid-template-columns:220px minmax(0,1fr)}.chat.list-hidden,.chat.files-open.list-hidden{grid-template-columns:0 minmax(0,1fr)}.chat-files{position:fixed;right:16px;top:76px;bottom:16px;z-index:35;box-shadow:0 20px 50px #0f172a2e;background:#fffffffa}}@media (max-width: 900px){.chat,.chat.list-hidden,.chat.files-open,.chat.files-open.list-hidden{grid-template-columns:minmax(0,1fr);gap:12px}.chat.list-hidden .chat-list{visibility:visible;padding:12px;border:1px solid var(--glass-border)}.chat-fold{display:none}.main:has(>.page>.chat){padding:12px}.chat:not(.list-open) .chat-list{display:none}.chat.list-open .chat-main{display:none}.chat-back{display:grid;place-items:center;width:32px;height:32px;border-radius:10px}.chat-suggest{grid-template-columns:1fr}.chat-user{max-width:92%}.chat-files{left:16px;right:16px;width:auto}.chat-disclaimer{display:none}}.dialog.bare{position:relative}.dialog-close{position:absolute;top:12px;right:12px;z-index:2}.dialog.auth-dialog{max-width:880px;padding:0;overflow:hidden;background:#fff}.auth{display:grid;grid-template-columns:380px minmax(0,1fr);min-height:560px;max-height:calc(100vh - 32px)}.auth-main{padding:44px 40px 32px;overflow:auto;display:flex;flex-direction:column}.auth-head{margin-bottom:22px}.auth-head h2{font-size:24px;margin:0 0 6px}.auth-head p{margin:0}.auth-more{align-self:flex-start;margin-top:-4px;display:inline-flex;align-items:center;gap:4px;font-weight:400}.auth-more:hover{color:var(--ink-2);text-decoration:none}.auth-or{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;margin:2px 0}.auth-or:before,.auth-or:after{content:"";flex:1;border-top:1px solid var(--line-2)}.auth-foot{margin:4px 0 0;text-align:center}.school-choices{display:flex;flex-direction:column;gap:8px}.school-choice{width:100%;justify-content:flex-start;gap:12px;text-align:left;padding:12px 14px;min-height:0;border-radius:14px;background:#fff}.school-choice b{display:block;font-size:14px}.school-choice small{font-size:12px}.school-choice svg{color:var(--brand-ink);flex:none}.auth-promo{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:32px 30px;color:#fff;background:radial-gradient(120% 80% at 0% 0%,#2dd4bf 0%,transparent 55%),radial-gradient(90% 70% at 100% 100%,#818cf8 0%,transparent 60%),linear-gradient(160deg,#0f766e,#3730a3)}.auth-promo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,transparent);pointer-events:none}.auth-promo>*{position:relative;z-index:1}.auth-promo-brand{display:flex;align-items:center;gap:8px}.auth-promo-brand b{font-size:18px;letter-spacing:.04em}.auth-promo-brand span{font-size:12px;opacity:.8;padding:2px 8px;border-radius:999px;background:#ffffff29}.auth-promo h3{font-size:28px;line-height:1.3;margin:18px 0 0;letter-spacing:.02em}.auth-promo>p{margin:0;font-size:13.5px;line-height:1.7;opacity:.88}.auth-scene{position:relative;height:178px;margin:6px 0 2px}.scene-card{position:absolute;background:#fffffff5;color:var(--ink);border-radius:14px;box-shadow:0 16px 40px #0f172a47}.scene-prompt{left:0;top:0;right:28px;display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;animation:rise-in .6s var(--ease-out) both}.scene-prompt svg{color:var(--brand);flex:none}.scene-prompt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-slide{left:34px;right:0;top:54px;padding:10px 12px 12px;animation:rise-in .6s .15s var(--ease-out) both}.scene-slide-head{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);margin-bottom:8px}.scene-dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}.scene-slide-body{display:flex;gap:12px;align-items:center}.scene-pie{width:56px;height:56px;border-radius:50%;flex:none;background:conic-gradient(#f59e0b 0,#f59e0b 25%,#fde68a 25%,#fde68a);position:relative;box-shadow:inset 0 0 0 2px #fff}.scene-pie span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(transparent 0 25%,rgba(255,255,255,.9) 25% 25.6%,transparent 25.6% 50%,rgba(255,255,255,.9) 50% 50.6%,transparent 50.6% 75%,rgba(255,255,255,.9) 75% 75.6%,transparent 75.6%)}.scene-lines{flex:1;display:flex;flex-direction:column;gap:7px}.scene-lines i{display:block;height:7px;border-radius:4px;background:#e2e8f0}.scene-lines i:first-child{height:10px;background:#cbd5e1}.scene-badge{position:absolute;right:10px;bottom:0;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#ecfdf5;color:var(--ok);font-size:12px;font-weight:600;box-shadow:0 8px 20px #0f172a33;animation:pop-in .4s .5s var(--ease-spring) both}.auth-points{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13px}.auth-points li{display:flex;align-items:center;gap:8px;opacity:.92}.auth-points svg{flex:none;opacity:.9}.auth-gift{margin-top:auto;align-self:flex-start;padding:6px 12px;border-radius:999px;background:#ffffff2e;font-size:12.5px;font-weight:600}@media (max-width: 760px){.auth{grid-template-columns:1fr;min-height:0}.auth-promo{display:none}.auth-main{padding:36px 22px 24px}}.review-rejected{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.lib-preview{min-width:0}.lib-pdf{display:block;width:100%;height:calc(100dvh - 190px);min-height:480px;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:#fff}.lib-img{display:block;max-width:100%;margin:0 auto;border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.lib-text pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--sans);font-size:14.5px;line-height:1.8}.lib-info .kv{margin:0}.row-links tbody tr{cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.row-links tbody tr:hover td{background:#0f172a09}.row-links a{text-decoration:none;font-weight:500}.plain-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.teacher-add{gap:6px;flex-wrap:nowrap}.teacher-add>:first-child{flex:1;min-width:0}.import-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0;counter-reset:step}.import-steps li{flex:1;padding:6px 10px;border-radius:10px;background:#0f172a0a;color:var(--ink-3);counter-increment:step}.import-steps li:before{content:counter(step) ". "}.import-steps li.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.import-steps li.done{color:var(--ok)}.import-cols td,.import-cols th{padding-top:6px;padding-bottom:6px}.import-cols .req{color:var(--danger)}.import-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;border:1.5px dashed var(--line-2);border-radius:14px;color:var(--ink-3);cursor:pointer;text-align:center;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.import-drop:hover,.import-drop.dragging{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.import-preview{max-height:40vh;overflow:auto;border:1px solid var(--line);border-radius:12px}.import-preview table{margin:0}.import-preview th{position:sticky;top:0;background:var(--glass-strong)}.import-bad td{background:var(--danger-soft)}.date-picker .select-btn.field{justify-content:flex-start}.date-icon{color:var(--ink-3);flex:none}.date-clear{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:-4px;border-radius:50%;color:var(--ink-4);flex:none;cursor:pointer}.date-clear:hover{background:#0f172a14;color:var(--ink)}.popover.date-panel{position:fixed;right:auto;z-index:60;width:292px;max-height:none;padding:12px;overflow:visible}.date-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 8px}.date-head b{font-size:14px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;outline:none}.date-wd{text-align:center;font-size:12px;color:var(--ink-4);padding:4px 0 6px}.date-day{height:34px;padding:0;border:0;border-radius:10px;background:transparent;box-shadow:none;font-size:13px;font-weight:400;color:var(--ink);font-variant-numeric:tabular-nums;position:relative}.date-day:hover:where(:not(:disabled)){background:#0f172a0f}.date-day:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.date-day.outside{color:var(--ink-4)}.date-day.today:after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--brand)}.date-day[aria-selected=true]{background:var(--brand-grad);color:#fff;font-weight:600}.date-day[aria-selected=true]:after{background:#fff}.date-day:disabled{color:var(--ink-4);opacity:.4;cursor:not-allowed}.date-time{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.date-time>.small{margin-right:auto}.date-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.date-range{display:flex;align-items:center;gap:6px}.date-panel[data-closing]{animation:pop-out var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.li-side .dot{color:var(--ink-4)}.li-side b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.li-chevron{flex:none;color:var(--ink-4)}.cell-title{display:flex;align-items:center;gap:10px;min-width:0}.cell-title a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 560px){.dialog .form-grid.classify{grid-template-columns:repeat(3,minmax(0,1fr))}}
