:root{--bg:#FAFAF9;--surface:#FFFFFF;--surface-2:#F4F4F2;--border:#E5E5E1;--border-strong:#D1D1CC;--text:#1A1A1A;--text-muted:#5C6472;--text-faint:#686F7D;--brand:#534ab7;--brand-hover:#43399c;--brand-mid:#7f77dd;--brand-soft:#eeedfe;--success:#1C7C54;--warning:#A05A00;--danger:#B42318;--success-soft:#E8F6EF;--warning-soft:#FFF4E5;--danger-soft:#FDECEC;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-2xl:40px;--radius-sm:6px;--radius-md:10px;--radius-pill:999px;--shadow-1:0 1px 2px rgba(17,24,39,0.04);--shadow-2:0 4px 12px rgba(17,24,39,0.06);--shadow-3:0 16px 40px rgba(17,24,39,0.12);--ease:cubic-bezier(0.4,0,0.2,1);--dur-fast:120ms;--dur:200ms;--font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-sans-cn:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}.research-space{display:flex;flex-direction:column;gap:18px}.research-space__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.research-space__header h1{margin:2px 0 6px;font-size:28px}.research-space__header p{margin:0;color:var(--text-muted)}.research-storage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.research-storage__main{display:flex;flex-direction:column;gap:8px}.research-storage__main strong{font-size:26px}.research-storage__main span,.research-storage__stats span{color:var(--text-muted);font-size:13px}.research-storage__bar{height:12px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent)}.research-storage__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2fbf71,#f4b942 60%,#e45757);transition:width 1.1s var(--ease)}.research-storage__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.research-storage__stats span{padding:10px;border-radius:8px;background:var(--surface-2)}.research-tabs{display:flex;gap:8px;flex-wrap:wrap}.research-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.research-panel{padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.research-panel__title,.research-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.research-panel__title>div{flex:1 1;min-width:0}.research-panel__title h2{margin:0 0 4px;font-size:17px}.research-panel__title p{margin:0;color:var(--text-muted);font-size:13px}.research-cache-list,.research-file-table,.research-session-list{display:flex;flex-direction:column;gap:8px}.research-cache-item,.research-file-row,.research-session-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.research-cache-item div{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.research-cache-item small,.research-file-row small{color:var(--text-muted)}.research-session-list button{width:100%;text-align:left;cursor:pointer}.research-file-row:hover,.research-session-list button:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}.research-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.research-toolbar__primary,.research-toolbar__secondary{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.research-search{display:flex;align-items:center;gap:8px;flex:0 1 360px;min-width:240px;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:0 12px;box-shadow:var(--shadow-1)}.research-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text)}.research-select{position:relative;display:grid;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;min-width:150px;height:42px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-1)}.research-select--session{flex:1 1 420px;min-width:280px}.research-select span{color:var(--text-muted);font-size:12px}.research-select select{width:100%;min-width:0;border:0;outline:0;appearance:none;background:transparent;color:var(--text);font:inherit}.research-select svg{color:var(--text-muted);pointer-events:none}.research-trash-button{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid color-mix(in srgb,var(--danger) 28%,var(--border));border-radius:8px;background:var(--surface);color:var(--danger);font-weight:600}.research-trash-button:disabled{opacity:.45;cursor:not-allowed}.research-file-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.research-file-type{min-width:58px;text-align:center;padding:4px 8px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:700}.research-cache-item strong,.research-file-row strong,.research-session-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.research-session-groups{display:flex;flex-direction:column;gap:10px}.research-session-group{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.research-session-group--open{border-color:color-mix(in srgb,var(--brand) 26%,var(--border))}.research-session-group__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;background:var(--surface-2)}.research-file-name,.research-session-group__toggle{border:0;background:transparent;color:inherit;cursor:pointer}.research-session-group__toggle{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.research-session-group__main{min-width:0}.research-session-group__main small{display:block;color:var(--text-muted);font-size:12px}.research-file-actions,.research-session-group__actions{display:inline-flex;align-items:center;gap:6px}.btn-mini{min-height:28px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.btn-mini:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--border));color:var(--brand)}.research-session-group__rename{display:flex;align-items:center;gap:6px}.research-session-group__rename input{min-width:0;width:min(420px,100%);height:34px;border:1px solid var(--border);border-radius:6px;padding:0 10px;background:var(--surface);color:var(--text)}.research-file-name{min-width:0;padding:0;text-align:left}.research-file-name:hover strong{color:var(--brand)}.research-file-preview{width:min(880px,calc(100vw - 32px))}.research-file-preview__body{max-height:min(68vh,680px);overflow:auto}.research-file-preview__image{display:block;max-width:100%;max-height:62vh;margin:0 auto;border-radius:8px;border:1px solid var(--border);object-fit:contain}.research-file-preview__pdf{width:100%;min-height:min(62vh,620px);border:1px solid var(--border);border-radius:8px}.research-file-preview__text{margin:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:#111827;color:#f9fafb;font-size:12px;line-height:1.6;overflow:auto;white-space:pre-wrap;word-break:break-word}.btn-danger,.icon-btn--danger{color:var(--danger)}.chat-attach-menu-wrap{position:relative}.chat-attach-menu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:20;display:flex;min-width:180px;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-2)}.chat-attach-menu button{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.chat-attach-menu button:hover{background:var(--surface-2)}.chat-research-picker{width:min(680px,calc(100vw - 32px))}.chat-research-picker__search{display:flex;align-items:center;gap:8px;margin-bottom:12px}.chat-research-picker__search input{flex:1 1}.chat-research-picker__list{display:flex;max-height:min(420px,55vh);flex-direction:column;gap:8px;overflow:auto}.chat-research-picker__groups{display:flex;max-height:min(460px,58vh);flex-direction:column;gap:10px;overflow:auto}.chat-research-picker__group{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.chat-research-picker__group--open{border-color:color-mix(in srgb,var(--brand) 25%,var(--border))}.chat-research-picker__group-header{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border:0;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.chat-research-picker__group-header span{min-width:0}.chat-research-picker__group-header small,.chat-research-picker__group-header strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-research-picker__group-header small{color:var(--text-muted)}.chat-research-picker__group .chat-research-picker__list{max-height:none;padding:8px;background:var(--surface)}.chat-research-picker__item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.chat-research-picker__item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-research-picker__item small{color:var(--text-muted)}.chat-artifact-card--deleted,.chat-attachment-chip--deleted{opacity:.56;filter:grayscale(.6)}@media (max-width:920px){.research-panel__title,.research-space__header{flex-direction:column}.research-grid,.research-storage{grid-template-columns:1fr}.research-search,.research-select,.research-select--session,.research-toolbar__primary,.research-toolbar__secondary,.research-trash-button{width:100%;min-width:0;flex-basis:100%}.research-file-row{grid-template-columns:auto minmax(0,1fr)}.research-file-row>button,.research-file-row>span{grid-column:2}}[data-theme=dark]{--bg:#15161a;--surface:#1d1e24;--surface-2:#25262e;--border:#34353f;--border-strong:#474957;--text:#ECEDEF;--text-muted:#AEB4C0;--text-faint:#8A909C;--brand:#8E86EA;--brand-hover:#A39CF0;--brand-mid:#8E86EA;--brand-soft:#2A2740;--success:#4ED6A0;--warning:#E0A33A;--danger:#F0837A;--success-soft:#16322a;--warning-soft:#33270f;--danger-soft:#3a1f1d;--shadow-1:0 1px 2px rgba(0,0,0,0.35);--shadow-2:0 4px 12px rgba(0,0,0,0.45);--shadow-3:0 16px 40px rgba(0,0,0,0.55)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans),var(--font-sans-cn);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand-soft);color:var(--brand-hover)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.resource-card{min-height:100%}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.resource-pill{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.resource-pill span{display:block;color:var(--text-muted);font-size:var(--text-xs)}.resource-pill strong{display:block;margin-top:2px;font-size:var(--text-md)}.resource-pill em{display:block;margin-top:2px;color:var(--text-faint);font-size:var(--text-xs);font-style:normal}.resource-donut{position:relative;width:52px;height:52px;flex:0 0 auto}.resource-donut svg{width:52px;height:52px;transform:rotate(-90deg)}.resource-donut__fill,.resource-donut__track{fill:none;stroke-width:6}.resource-donut__track{stroke:rgba(20,116,111,.1)}.resource-donut__fill{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset var(--dur) var(--ease)}.resource-donut span{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--text)}.resource-meter{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.resource-meter--large{gap:var(--space-3)}.resource-meter__track{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--surface-2)}.resource-meter__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),#42a39d);transition:width var(--dur) var(--ease)}.resource-task-row{align-items:flex-start}.admin-resource-editor{display:grid;grid-template-columns:repeat(4,minmax(88px,1fr)) auto;gap:var(--space-2);align-items:end;min-width:min(720px,100%)}.admin-resource-editor--plan{grid-template-columns:repeat(4,minmax(96px,1fr));min-width:0}.admin-resource-editor .field{gap:4px}.admin-resource-editor .input{min-height:38px}.admin-resource-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.admin-resource-summary div{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.admin-resource-summary strong{display:block;color:var(--text);font-size:var(--text-xl);line-height:1.2}.admin-resource-summary small,.admin-resource-summary span{display:block;margin-top:4px;color:var(--text-muted);font-size:var(--text-xs)}.list-row--active{border-color:var(--brand);background:var(--surface-2)}.admin-plan-quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.admin-plan-quota-card{display:flex;flex-direction:column;gap:var(--space-4)}.admin-plan-quota-card__foot,.admin-plan-quota-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.admin-plan-quota-card__head{padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.admin-plan-quota-card__eyebrow{margin:0 0 4px;color:var(--brand);font-size:var(--text-xs);font-weight:700}.admin-plan-quota-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-plan-quota-card__meta span{padding:4px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.admin-plan-quota-card__foot{align-items:center;padding-top:var(--space-2)}.admin-plan-quota-card__foot--compact{padding-top:0;border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.admin-token-pack-list{display:grid;gap:var(--space-3)}.admin-token-pack-row{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(160px,1.2fr) minmax(90px,.7fr) minmax(100px,.8fr) minmax(100px,.8fr) minmax(220px,1.5fr) auto auto;align-items:end;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.admin-token-pack-row__enabled{display:inline-flex;align-items:center;gap:6px;min-height:38px;color:var(--text-muted);font-size:var(--text-xs);font-weight:700}@media (max-width:920px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-resource-editor,.admin-resource-editor--plan{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-plan-quota-grid,.admin-resource-summary,.admin-token-pack-row{grid-template-columns:1fr}}@media (max-width:640px){.resource-grid{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--text-sm);font-weight:500;line-height:1;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn--secondary:hover{background:var(--surface-2)}.btn--ghost{background:transparent;color:var(--text-muted)}.btn--ghost:hover{background:var(--surface-2);color:var(--text)}.btn--danger{background:transparent;color:var(--danger);border-color:var(--border-strong)}.btn--danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn--lg{height:44px;padding:0 var(--space-6);font-size:var(--text-md)}.btn--sm{height:30px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn--block{width:100%}.btn--icon{width:32px;height:32px;padding:0;color:var(--text-muted)}.btn--icon:hover{background:var(--surface-2);color:var(--text)}.spin,.spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--text)}.field-label--required:after{content:" *";color:var(--danger)}.input,select.input,textarea.input{width:100%;height:40px;padding:0 var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}textarea.input{height:auto;min-height:88px;padding:var(--space-3);resize:vertical;line-height:1.55}.input::placeholder{color:var(--text-faint)}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.input--error{border-color:var(--danger)}.input--error:focus{box-shadow:0 0 0 3px var(--danger-soft)}.helper{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.helper--error{color:var(--danger);display:inline-flex;align-items:center;gap:var(--space-1)}.helper--link{border:none;background:transparent;padding:0;color:var(--brand-hover);cursor:pointer;font-weight:600}.helper--link:disabled{color:var(--text-faint);cursor:not-allowed}.checkbox-row{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);-webkit-user-select:none;user-select:none}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.pwd-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);margin-top:var(--space-2)}.pwd-meter__bar{height:3px;background:var(--surface-2);border-radius:2px;transition:background var(--dur) var(--ease)}.pwd-meter[data-level="1"] .pwd-meter__bar:nth-child(-n+1),.pwd-meter[data-level="2"] .pwd-meter__bar:nth-child(-n+2),.pwd-meter[data-level="3"] .pwd-meter__bar:nth-child(-n+3),.pwd-meter[data-level="4"] .pwd-meter__bar:nth-child(-n+4){background:var(--brand)}.pwd-meter[data-level="1"] .pwd-meter__bar:first-child{background:var(--danger)}.pwd-meter[data-level="2"] .pwd-meter__bar:nth-child(-n+2){background:var(--warning)}.radio-card-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}@media (max-width:640px){.radio-card-group{grid-template-columns:1fr}}.radio-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.radio-card:hover{border-color:var(--border-strong)}.radio-card:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.radio-card[data-checked=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:var(--shadow-1)}.radio-card__icon{color:var(--brand);width:24px;height:24px}.radio-card__title{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text)}.radio-card__desc{margin:0;font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur) var(--ease)}.collapse[data-open=true]{grid-template-rows:1fr}.collapse>*{overflow:hidden}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6)}.card--muted{background:var(--surface-2);border-color:transparent}.card--interactive{cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.card--highlight{border-color:var(--brand);border-width:2px;padding:calc(var(--space-6) - 1px)}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.card__title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text)}.card__subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.card__meta{font-size:var(--text-xs);color:var(--text-faint)}.metric{display:flex;flex-direction:column;gap:var(--space-3)}.metric__head{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:500}.metric__head svg{color:var(--brand)}.metric__value{font-size:var(--text-xl);font-weight:600;color:var(--text);line-height:1.2}.badge,.metric__foot{font-size:var(--text-xs);color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-2);font-weight:500;line-height:1;white-space:nowrap}.badge--brand{background:var(--brand-soft);color:var(--brand-hover)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}.badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:var(--space-1);opacity:.85}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center}.empty__icon{color:var(--text-faint);width:40px;height:40px}.empty__title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text)}.empty__desc{margin:0;font-size:var(--text-sm);color:var(--text-muted);max-width:360px;line-height:1.6}.empty__actions{margin-top:var(--space-2);display:flex;gap:var(--space-3)}.toast-host{position:fixed;top:var(--space-6);right:var(--space-6);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);min-width:280px;max-width:420px;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-3);font-size:var(--text-sm);color:var(--text);animation:toast-in var(--dur) var(--ease);pointer-events:auto}.toast--success{border-left:3px solid var(--success)}.toast--error{border-left:3px solid var(--danger)}.toast--info{border-left:3px solid var(--brand)}.toast svg{flex-shrink:0}.toast--success svg{color:var(--success)}.toast--error svg{color:var(--danger)}.toast--info svg{color:var(--brand)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 0,rgba(0,0,0,.04) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm)}.skeleton--text{height:14px}.skeleton--title{height:20px}.skeleton--card{height:120px;border-radius:var(--radius-md)}@keyframes shimmer{to{background-position:-200% 0}}