
:root{
  --ink:#111111; --ink2:#5C5C5C; --ink3:#9A9A9A; --ink4:#C8C8C8;
  --bd:#E8E8E8; --bd2:#EFEFEF;
  --chip:#F5F5F5; --g100:#F5F5F5; --side:#F9F9F9; --panel:#F9F9F9;
  --track:#EDEDED;
  --greenbg:#F2F2F2;
  --ctasub:#9A9A9A; --body:#333333; --err:#A03030;
  --kimi-font-sans:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC",sans-serif;
  --kimi-font-mono:"Cascadia Code","SF Mono",Consolas,monospace;
  /* 衬线只用在品牌名与标题上：论文工具的书卷气，且零装饰色。 */
  --serif:"Noto Serif SC",Georgia,"Songti SC","Source Han Serif CN",serif;
  /* 圆角三档，对齐主流对话式 AI 的输入区（更圆、更亲和）。 */
  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:26px;
  /* 全站唯一一个彩色，只用在状态指示点上（点睛，不扩散）。 */
  --accent:#3B5BDB;
  --t-fast:130ms; --t-normal:200ms;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-standard:cubic-bezier(.4,0,.2,1);
  /* 内容列宽。768px 时正文一行约 46 个中文字，读长段落偏累；
     收到 688px（减去两侧 24px 内边距 = 640px 正文宽，约 40 字/行）。
     顶栏 / 消息列 / 输入框都用这一个变量，改一处三处同步。 */
  --col:688px;
}
*{margin:0;padding:0;box-sizing:border-box}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
html,body{height:100%;overflow:hidden}
body{background:#fff;font-family:var(--kimi-font-sans);color:var(--ink);-webkit-font-smoothing:antialiased}
.serif{font-family:"Noto Serif SC","Source Han Serif CN","Songti SC",serif;font-weight:500}
.num{font-variant-numeric:tabular-nums}
button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}
a{color:inherit}
.screen{display:none;height:100%}
.screen.active{display:block}
.app{display:flex;height:100%;background:#fff;overflow:hidden;position:relative}

/* 滚动条：默认隐藏，hover 显示 */
.scroll-y{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}
.scroll-y:hover{scrollbar-color:rgba(0,0,0,.18) transparent}
.scroll-y::-webkit-scrollbar{width:10px;height:10px}
.scroll-y::-webkit-scrollbar-track{background:transparent}
.scroll-y::-webkit-scrollbar-thumb{background:transparent;border-radius:99px;border:3px solid transparent;background-clip:padding-box}
.scroll-y:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.16);background-clip:padding-box}

.icobtn{width:32px;height:32px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard)}
.icobtn:hover{background:var(--g100);color:var(--ink)}

/* ---------- 侧边栏 ---------- */
.sb{width:260px;flex:0 0 260px;height:100%;background:var(--side);border-right:1px solid var(--bd);display:flex;flex-direction:column;margin-left:0;transition:margin-left var(--t-normal) var(--ease-out)}
body.sb-collapsed .sb{margin-left:-260px}
.sb-head{height:56px;padding:0 14px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.sb-collapse{margin-left:auto;height:28px;padding:0 8px;border:1px solid var(--bd);border-radius:var(--r-sm);color:var(--ink3);font-size:11px;line-height:28px;white-space:nowrap;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard),border-color var(--t-fast) var(--ease-standard)}
.sb-collapse:hover{background:#fff;color:var(--ink);border-color:var(--ink3)}
.brand{font-size:14px;font-weight:500;letter-spacing:.2px}
.newbtn-wrap{padding:6px 12px 14px;flex-shrink:0}
.newbtn{width:100%;height:38px;border:1px solid var(--bd);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:500;background:#fff;transition:border-color var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard)}
.newbtn:hover{border-color:var(--ink3);background:var(--g100)}
.sb-group{padding:0 8px 8px;display:flex;flex-direction:column;flex:1;min-height:0}
.sb-list{flex:1;min-height:0;overflow-y:auto;padding:0 4px}
.sb-label{font-size:11px;font-weight:500;color:var(--ink3);padding:12px 8px 5px}
.sb-item{position:relative;height:34px;padding:0 30px 0 9px;border-radius:12px;font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:9px;cursor:pointer;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard)}
/* 悬停才出现的删除按钮。右侧留 30px 常驻，避免悬停时文字位移。 */
.sb-del{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:8px;font-size:15px;line-height:1;color:var(--ink3);display:none;align-items:center;justify-content:center}
.sb-item:hover .sb-del{display:flex}
.sb-del:hover{background:var(--bd);color:var(--ink)}
.sb-item:hover{background:#F1F1F1;color:var(--ink)}
.sb-item.on{background:#EAEAEA;color:var(--ink);font-weight:500}
.sb-item .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ink4);flex-shrink:0}
.dot.done{background:var(--ink)}
.dot.run{background:transparent;border:1.5px solid var(--ink);animation:pulse 1.4s ease-in-out infinite}
.sb-empty{font-size:12px;color:var(--ink3);padding:8px 10px}
.sb-refresh{margin:6px 8px 0;height:30px;border-radius:12px;font-size:12px;color:var(--ink3);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.sb-refresh:hover{background:var(--bd2);color:var(--ink)}
.sb-spacer{flex:1}
.sb-user{height:56px;padding:0 14px;display:flex;align-items:center;gap:10px;flex-shrink:0;border-top:1px solid var(--bd)}
.avatar{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sb-user span{font-size:13px;font-weight:500}

/* ---------- 按钮 ---------- */
.btn-ghost36{height:36px;padding:0 12px;border:1px solid var(--bd);border-radius:12px;font-size:12px;color:var(--ink2);background:#fff;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard),border-color var(--t-fast) var(--ease-standard)}
.btn-ghost36:hover{background:var(--g100);color:var(--ink);border-color:var(--ink4)}
.btn-dark36{height:36px;padding:0 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;background:var(--ink);transition:opacity var(--t-fast) var(--ease-standard)}
.btn-dark36:hover{opacity:.85}
/* 还没生成任何内容时，「查看成稿 / 导出 Word」不该能点 */
/* 禁用态统一：以前两者共用 opacity:.35，深底的「导出 Word」禁用后仍显深、容易被误认为可点，
   浅底的「查看成稿」却近乎发白。改成统一渲染成同一个浅灰禁用态，视觉权重一致。 */
.btn-dark36[disabled],.btn-ghost36[disabled]{background:var(--bd2);color:var(--ink3);border-color:var(--bd2);cursor:default;pointer-events:none}
.btn-ghost40{height:38px;padding:0 18px;border:1px solid var(--bd);border-radius:12px;font-size:14px;font-weight:500;background:#fff}
.btn-dark40{height:38px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:500;color:#fff;background:var(--ink)}
.btn-dark52{height:50px;padding:0 26px;border-radius:var(--r-md);font-size:15px;font-weight:500;color:#fff;background:var(--ink)}
.btn-ghost52{height:50px;padding:0 26px;border-radius:var(--r-md);font-size:15px;font-weight:500;background:#fff;border:1px solid var(--bd)}
.btn-white52{height:50px;padding:0 26px;border-radius:var(--r-md);font-size:15px;font-weight:500;color:var(--ink);background:#fff}
.btn-ghost40:hover,.btn-ghost52:hover{background:var(--g100)}
.btn-dark40:hover,.btn-dark52:hover{opacity:.85}
.btn-white52:hover{opacity:.9}
.send{width:34px;height:34px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity var(--t-fast) var(--ease-standard)}
/* 输入框内的发送按钮：空输入时浅灰（Kimi 的禁用感），有内容才变实心黑。
   只限定在 .input-card / .composer-card 里 —— S1 落地页那个「开始」按钮也用 .send，
   它是主 CTA，必须保持深色。 */
.input-card .send,.composer-card .send{background:var(--bd2);color:var(--ink3);cursor:default;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard),transform var(--t-fast) var(--ease-standard)}
.input-card .send.ready,.composer-card .send.ready{background:var(--ink);color:#fff;cursor:pointer}
.input-card .send.ready:active,.composer-card .send.ready:active{transform:scale(.94)}

/* ---------- 扫码付款弹窗 ---------- */
.pay-mask{position:fixed;inset:0;background:rgba(17,17,17,.42);display:flex;align-items:center;justify-content:center;z-index:80;animation:payFade var(--t-fast) var(--ease-out)}
@keyframes payFade{from{opacity:0}to{opacity:1}}
.pay-card{width:min(400px,calc(100vw - 40px));background:#fff;border-radius:var(--r-lg);padding:26px 24px 22px;display:flex;flex-direction:column;align-items:center;gap:14px;animation:popIn var(--t-normal) var(--ease-out)}
.pay-title{font-size:16px;font-weight:500}
.pay-amount{font-size:32px;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1}
.pay-note{font-size:13px;color:var(--ink3);text-align:center;line-height:1.7}
.pay-qr{width:200px;height:200px;border:1px solid var(--bd);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.pay-qr img{width:100%;height:100%;object-fit:contain;display:block}
.pay-state{font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:7px;min-height:20px}
.pay-actions{display:flex;gap:10px;width:100%;margin-top:4px}
.pay-btn{flex:1;height:40px;border-radius:12px;font-size:14px;font-weight:500;transition:background var(--t-fast) var(--ease-standard)}
.pay-btn.ghost{border:1px solid var(--bd);color:var(--ink);background:#fff}
.pay-btn.ghost:hover{background:var(--g100);border-color:var(--ink3)}
.pay-btn.dark{background:var(--ink);color:#fff}
.pay-btn.dark:hover{background:#000}
.pay-channels{display:flex;gap:10px;width:100%}.pay-provider{flex:1;border:1px solid var(--bd);border-radius:12px;background:#fff;padding:13px 10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.pay-provider.selected{border-color:#7770cc;background:#f7f6ff}.pay-provider span{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#16a66d}.pay-provider[data-provider="alipay"] span{background:#1677ff}.pay-qr:empty{display:none}.pay-go{width:100%;height:42px;background:var(--ink);color:#fff;border-radius:12px;font-size:14px}.pay-go:disabled{background:#e8e8ed;color:#9797a2;cursor:default}.pay-card[aria-busy="true"] .pay-provider{pointer-events:none;opacity:.6}
.send:hover{opacity:.82}

/* ---------- S1 落地页 ---------- */
#s1{height:100%;overflow-y:auto;background:#fff}
.s1-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}
.brand-lg{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:500}
.nav-links{display:flex;gap:30px;font-size:14px;color:var(--ink2)}
.nav-links a{color:var(--ink2);text-decoration:none}
.nav-links a:hover{color:var(--ink)}
.nav-right{display:flex;gap:10px;align-items:center}
.promo{margin:10px 0 0;display:flex;align-items:center;gap:10px;background:var(--g100);border:1px solid var(--bd);border-radius:12px;padding:10px 16px;font-size:13px;color:var(--ink2)}
.promo b{color:var(--ink);font-weight:500}
.promo a{color:var(--ink);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.hero{display:flex;gap:64px;padding:64px 0 40px;align-items:flex-start}
.hero-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:22px}
.badge{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;background:var(--g100);border-radius:99px;font-size:12px;font-weight:500;align-self:flex-start}
.badge i{width:5px;height:5px;border-radius:50%;background:var(--ink)}
.h1{font-size:48px;line-height:64px;letter-spacing:-1px}
.hero-sub{font-size:15px;line-height:27px;color:var(--ink2)}
.cta-row{display:flex;gap:12px}
.stat-row{display:flex;gap:44px;padding-top:6px}
.stat b{display:block;font-size:20px}
.stat span{display:block;margin-top:4px;font-size:12px;color:var(--ink3)}
.preview{width:520px;flex-shrink:0;border:1px solid var(--bd);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px;background:#fff}
.pv-head{display:flex;align-items:center;gap:10px}
.pv-ava{width:30px;height:30px;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pv-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.pv-name{font-size:14px;font-weight:500}
.pv-status{font-size:11px;color:var(--ink3)}
.pv-pill{height:24px;padding:0 11px;background:var(--greenbg);border-radius:99px;font-size:11px;font-weight:500;display:flex;align-items:center;flex-shrink:0}
.pv-user-row{display:flex;justify-content:flex-end}
.pv-user{max-width:88%;background:var(--g100);border-radius:12px;padding:11px 14px;font-size:13px;line-height:21px}
.pv-ai-row{display:flex;gap:10px}
.pv-ava-sm{width:24px;height:24px;border-radius:var(--r-sm);background:var(--g100);color:var(--ink2);font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pv-ai-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.pv-ai{font-size:13px;line-height:21px}
.mock-files{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fcard{display:flex;gap:7px;align-items:flex-start;border:1px solid var(--bd);border-radius:12px;padding:9px;min-width:0}
.fcard .ftag{font-size:11px;font-weight:500;padding:2px 5px;border-radius:8px;flex-shrink:0;margin-top:1px;background:var(--g100);color:var(--ink2)}
.fcard .fn{font-size:11px;font-weight:500;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcard .fd{font-size:11px;color:var(--ink3);line-height:13px;margin-top:1px}
.pv-input{border:1px solid var(--bd);border-radius:99px;height:42px;padding:0 6px 0 15px;display:flex;align-items:center;justify-content:space-between}
.pv-input span{font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dirs{padding:16px 0 40px}
.dirs-label{font-size:12px;color:var(--ink3);margin-bottom:12px}
.dirs-chips{display:flex;flex-wrap:wrap;gap:8px}
.dirs-chips span{padding:8px 16px;border:1px solid var(--bd);border-radius:99px;font-size:13px;color:var(--ink2);cursor:pointer;transition:border-color var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard)}
.dirs-chips span:hover{border-color:var(--ink);color:var(--ink)}
.section{padding:44px 0}
.sec-head{display:flex;flex-direction:column;gap:8px;margin-bottom:26px}
.sec-tag{font-size:12px;font-weight:500;color:var(--ink3)}
.sec-title{font-size:24px;line-height:38px}
.sec-desc{font-size:14px;line-height:24px;color:var(--ink2)}
.card-row{display:flex;gap:18px}
.card{flex:1;border:1px solid var(--bd);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:12px}
.icon-box{width:34px;height:34px;border-radius:12px;background:var(--g100);display:flex;align-items:center;justify-content:center}
.card h3{font-size:15px;font-weight:500}
.card p{font-size:13px;line-height:22px;color:var(--ink2)}
.flow-title{font-size:24px;line-height:36px;margin-bottom:22px}
.flow-row{display:flex;gap:16px}
.step{flex:1;border:1px solid var(--bd);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}
.step-num{width:24px;height:24px;border-radius:50%;background:var(--g100);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;margin-bottom:2px}
.step h3{font-size:14px;font-weight:500}
.step p{font-size:12px;line-height:20px;color:var(--ink3)}
.cta-band{padding:44px 0}
.cta-card{background:var(--ink);border-radius:20px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta-card h2{font-size:24px;color:#fff}
.cta-card p{margin-top:8px;font-size:14px;color:var(--ctasub)}
.footer{padding:28px 0 40px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--bd)}
.footer span,.footer a{font-size:12px;color:var(--ink3);text-decoration:none}
.footer .flinks{display:flex;gap:22px}
/* ---------- S0 新建对话 ---------- */
.s0-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:40px 24px;position:relative}
.s0-center{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center}
.start-brand{display:flex;flex-direction:column;align-items:center;gap:13px;margin:0 0 34px;max-width:100%;color:#1a1c22;text-align:center}
.start-brand__signature{display:block;width:244px;height:auto;max-width:100%;aspect-ratio:286/66;flex-shrink:0;overflow:visible}
.start-brand__sub{margin:0;font-size:14px;font-weight:500;line-height:1.6;letter-spacing:.12em;color:#586170}
@media(max-width:520px){.s0-main{padding:44px 20px}.start-brand{gap:11px;margin-bottom:28px}.start-brand__signature{width:218px}.start-brand__sub{font-size:13px;letter-spacing:.1em}}
.s0-top{position:absolute;top:14px;left:14px;z-index:3}
body:not(.sb-collapsed) .s0-top{display:none}
/* 字标对齐 Kimi 首页：字号大、字重足，下面一行很小的说明，之后留出大间距 */
.wordmark{font-family:var(--serif);font-size:56px;font-weight:500;letter-spacing:.005em;line-height:1}
.s0-sub{font-size:14px;color:var(--ink3);margin:12px 0 34px}
/* 输入卡片：大圆角 + 更高，占位符在顶、工具条贴底（Kimi 的形态） */
.input-card{width:100%;border:1px solid var(--bd);border-radius:var(--r-xl);padding:20px 22px 14px;display:flex;flex-direction:column;gap:0;background:#fff;box-shadow:0 2px 10px rgba(17,17,17,.04);transition:border-color var(--t-fast) var(--ease-standard),box-shadow var(--t-fast) var(--ease-standard)}
.input-card:focus-within{border-color:var(--ink3);box-shadow:0 4px 16px rgba(17,17,17,.07)}
.input-card textarea{width:100%;border:none;outline:none;resize:none;font-family:inherit;font-size:16px;line-height:28px;background:transparent;min-height:62px;max-height:200px;overflow-y:auto;transition:height 170ms var(--ease-out)}
.input-card textarea::placeholder{color:var(--ink3)}
/* 快捷选项留在输入卡片里（用户明确要求维持原位，不跟 Kimi 放到框外）：
   这两个是模式切换，跟输入框是一体的。 */
.s0-modes{display:flex;gap:8px;flex-wrap:wrap}
.s0-mode{height:34px;padding:0 16px;border:1px solid var(--bd);border-radius:99px;font-size:13px;font-weight:500;color:var(--ink);background:#fff;transition:all var(--t-fast) var(--ease-standard)}
.s0-mode:hover{border-color:var(--ink);background:var(--g100)}
.s0-mode.on{background:var(--ink);border-color:var(--ink);color:#fff}
.input-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.add-btn{width:30px;height:30px;border-radius:var(--r-sm);background:var(--chip);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ib-spacer{flex:1}

/* ---------- S2 对话工作台 ---------- */
.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;container-type:inline-size;container-name:chat}
/* 顶栏内容与消息列对齐：以前顶栏是通栏，标题落在 x=312，
   而消息列和输入框从 x=490 开始，整体错位 178px。 */
.chat-top{height:56px;padding:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;border-bottom:1px solid var(--bd2)}
.chat-top-inner{width:100%;max-width:var(--col);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ct-left{display:flex;align-items:center;gap:8px;min-width:0}
.ct-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.ct-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}
.ct-sub{font-size:11px;color:var(--ink3);display:flex;align-items:center;overflow:hidden;white-space:nowrap}
.dot-live{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink);margin-right:7px;flex-shrink:0;animation:pulse 1.6s ease-in-out infinite}
.ct-right{display:flex;gap:8px;flex-shrink:0}
.msg-flow{flex:1;min-height:0;padding:28px 0 6px;background:#fff;display:flex;flex-direction:column;gap:22px;overflow-anchor:none}
.msg-row,.wiz-row{width:100%;max-width:var(--col);margin:0 auto;padding:0 24px;display:flex;animation:fadeUp var(--t-normal) var(--ease-out)}
.msg-row .pv-ava-sm,.wiz-row .pv-ava-sm{display:none}
.msg-row,.wiz-row{align-items:flex-start;gap:12px}
/* Selected avatar: black fluid M, matching comparison option 2. */
.wiz-row:not(.activity-row)>.pv-ava-sm,.msg-row:has(.m-ai:not(.prog))>.pv-ava-sm{display:flex;width:30px;height:30px;margin-top:0;border:0;border-radius:0;position:relative;overflow:visible;background:none;color:transparent;font-size:0;line-height:1;box-shadow:none;animation:avatarReveal 380ms cubic-bezier(.2,.8,.2,1) both}
.pv-ava-sm>.assistant-monogram{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.assistant-monogram .assistant-m-trace{stroke-dasharray:28 230;animation:assistantMTrace 4.4s linear infinite}
@keyframes assistantMTrace{to{stroke-dashoffset:-258}}
@keyframes avatarReveal{from{opacity:0;transform:translateY(3px) scale(.92)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.assistant-monogram .assistant-m-trace{animation:none;display:none}}
.msg-row.right{justify-content:flex-end}
.m-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.m-user{max-width:74%;background:linear-gradient(135deg,#EEF2FF,#E8EDFF);border-radius:var(--r-lg);padding:11px 16px;color:#273769;margin-left:auto;font-size:15px;line-height:26px;white-space:pre-wrap;word-break:break-word;box-shadow:inset 0 0 0 1px rgba(90,105,218,.08)}
.m-user.has-attachments{min-width:0;white-space:normal}.user-message-text{white-space:pre-wrap}
.sent-attachments{display:flex;flex-direction:column;gap:8px;min-width:0}.user-message-text+.sent-attachments{margin-top:10px}
.sent-file{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffffc9;border:1px solid #dce1ef;border-radius:12px;min-width:0;width:290px;max-width:100%;line-height:1.5}
.sent-file-copy{min-width:0;flex:1}.sent-file-name{display:block;font-size:13px;color:#36415b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sent-file-meta{display:block;margin-top:3px;font-size:11px;color:#858c9b}
.attachment-file-icon{width:34px;height:40px;display:block;flex-shrink:0;overflow:visible}
@media(max-width:520px){.m-user.has-attachments{max-width:88%}.sent-file{width:250px}}
.m-ai{font-size:15px;line-height:28px;color:var(--ink);min-width:0}
/* 进度/状态行：纯浅灰小字，不套灰底块 —— 一整块浅灰在纯白对话流里像补丁。 */
.m-ai.prog{font-size:13px;line-height:1.8;color:var(--ink3);white-space:pre-wrap}
.m-ai.cream{font-size:13px;line-height:19px;color:var(--ink3);background:var(--g100);padding:9px 12px;border-radius:12px;white-space:pre-wrap}
@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* markdown 正文 */
.md-body>*:first-child{margin-top:0}
.md-body>*:last-child{margin-bottom:0}
.md-p{margin:0 0 13px;font-size:15px;line-height:1.8;word-break:break-word}
.md-h{margin:20px 0 9px;font-family:var(--serif);font-weight:500;line-height:1.4}
.md-h1{font-size:24px}.md-h2{font-size:20px}.md-h3{font-size:16px}
.md-h4,.md-h5,.md-h6{font-size:15px;color:var(--ink2)}
.md-ul,.md-ol{margin:0 0 12px;padding-left:22px;font-size:15px;line-height:1.75}
.md-ul li,.md-ol li{margin:3px 0}
.md-quote{margin:0 0 12px;padding:2px 0 2px 14px;border-left:2px solid var(--bd);color:var(--ink2)}
.md-quote .md-p{font-size:14px}
.md-hr{border:none;border-top:1px solid var(--bd);margin:18px 0}
.md-code{font-family:var(--kimi-font-mono);font-size:13px;background:var(--g100);padding:1.5px 5px;border-radius:8px}
.md-pre{margin:0 0 12px;border:1px solid var(--bd);border-radius:12px;overflow:hidden;background:var(--panel)}
.md-pre-bar{height:32px;padding:0 10px 0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--bd);font-size:11px;color:var(--ink3)}
.md-pre pre{margin:0;padding:12px;overflow-x:auto}
.md-pre code{font-family:var(--kimi-font-mono);font-size:13px;line-height:1.65;color:var(--body);white-space:pre}
/* 推理过程行：日志本体是等宽字体，但推理是散文，用无衬线更好读；
   左侧竖线 + 灰字，和系统日志明确区分开 */
.m-ai.prog .think-line{font-family:var(--kimi-font-sans);font-size:12px;line-height:1.7;color:var(--ink3);padding:4px 0 4px 10px;margin:3px 0;border-left:2px solid var(--bd2);white-space:pre-wrap}
.md-copy{font-size:11px;color:var(--ink3);padding:3px 8px;border-radius:8px}
.md-copy:hover{color:var(--ink);background:var(--g100)}
.md-table-wrap{margin:0 0 12px;overflow-x:auto;border:1px solid var(--bd);border-radius:12px}
.md-table{border-collapse:collapse;width:100%;font-size:13px}
.md-table th,.md-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--bd)}
.md-table th{background:var(--panel);font-weight:500;white-space:nowrap}
.md-table tr:last-child td{border-bottom:none}
.md-body a{text-decoration:underline;text-underline-offset:3px}

/* 消息操作条 */
.msg-actions{display:flex;gap:14px;align-items:center;opacity:0;transition:opacity var(--t-fast) var(--ease-standard);margin-top:2px;height:20px}
.msg-row:hover .msg-actions,.wiz-row:hover .msg-actions,.msg-actions:focus-within{opacity:1}
.msg-actions .act{font-size:12px;color:var(--ink3);padding:0;transition:color var(--t-fast) var(--ease-standard)}
.msg-actions .act:hover{color:var(--ink)}
@media (hover:none){.msg-actions{opacity:1}}

/* 打字光标 / 思考动效 */
/* 打字光标（.type-caret）已移除：闪烁竖线在正文里观感偏廉价。 */
.thinking-row{display:flex;align-items:center;gap:9px}
/* 思考指示器退场：直接 removeChild 是"啪"地消失，淡出 + 轻微上移更顺。
   同时把高度收掉，否则淡出期间还占着位置、下面的内容会突然跳。 */
.wiz-row.gone{opacity:0;transform:translateY(-3px);max-height:0;overflow:hidden;transition:opacity 150ms var(--ease-out),transform 150ms var(--ease-out),max-height 150ms var(--ease-out)}
/* 状态提示统一为「静止的浅色小字 + 单个指示器缓慢呼吸」。
   文字不参与动画：文字自身明暗变化会显得闪、不稳，主流对话式 AI 都只让指示器动。 */
.thinking-label{font-size:13px;font-weight:400;color:var(--ink3)}
@keyframes breathe{0%,100%{opacity:.3}50%{opacity:1}}
.thinking-step{font-size:13px;color:var(--ink3);display:inline-flex;align-items:center;gap:8px}
.think-spinner{width:9px;height:9px;border-radius:50%;background:linear-gradient(145deg,#6E86EF,#2C43B0);box-shadow:0 0 0 3px rgba(59,91,219,.10);animation:breathe 1.5s ease-in-out infinite;display:inline-block}
/* 全站指示器统一：只做透明度呼吸，不做缩放 —— 小圆点缩放会显得躁。 */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ---------- 输入区（吸底，与消息列同宽） ---------- */
.composer{flex-shrink:0;padding:0 0 16px;background:#fff}
.composer-inner{width:100%;max-width:var(--col);margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:10px}
.outline-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--bd);border-radius:12px;background:var(--panel);font-size:12px;color:var(--ink3)}
.outline-confirm-bar[hidden]{display:none}.outline-confirm-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.outline-confirm-bar button{font-size:12px}.outline-confirm-bar .btn-dark36{height:32px;padding:0 12px}
.composer-card{border:1px solid var(--bd);border-radius:var(--r-xl);padding:14px 16px 10px;display:flex;flex-direction:column;gap:9px;background:#fff;transition:border-color var(--t-fast) var(--ease-standard)}
.composer-card:focus-within{border-color:var(--ink3)}
.composer-files{display:flex;gap:8px;flex-wrap:wrap;max-height:180px;overflow-y:auto}
.composer-files[hidden]{display:none}
.composer-file{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;width:260px;padding:10px 11px;border:1px solid #e4e6ee;border-radius:12px;background:#f7f8fc}
.composer-file-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:38px;border-radius:8px;background:#e9edff;color:#6373a7;font-size:10px;font-weight:600}
.composer-file-copy{flex:1;min-width:0}.composer-file-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--ink)}
.composer-file-status{display:block;font-size:11px;color:var(--ink3);margin-top:3px;line-height:1.5}
.composer-file[data-state="error"] .composer-file-status,.composer-file[data-state="interrupted"] .composer-file-status{color:#b35c50}
.composer-file-remove{flex-shrink:0;border:0;background:none;color:#8c8f9c;padding:4px;cursor:pointer;font-size:18px;line-height:1}
.composer-file-remove:hover{color:var(--ink);background:#e9ebf2;border-radius:5px}
.composer-attachment-note{font-size:12px;line-height:1.6;color:#a45b50}.composer-attachment-note[hidden]{display:none}
.composer-card.drag-over{border-color:#929fe4;background:#fafaff}
.composer-card textarea{width:100%;border:none;outline:none;resize:none;font-family:inherit;font-size:16px;line-height:26px;background:transparent;min-height:78px;max-height:200px;overflow-y:auto;transition:height 170ms var(--ease-out)}
.composer-card textarea::placeholder{color:var(--ink3)}
.composer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.composer-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}
.model-identity{display:inline-flex;align-items:center;color:#1A1C1F;font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:12.5px;font-weight:400;letter-spacing:.15px;line-height:24px;white-space:nowrap;user-select:none}
@media(max-width:520px){.composer-bar{flex-wrap:wrap;row-gap:10px}.composer-actions{gap:10px}.msg-row,.wiz-row{gap:9px}}
@media(prefers-reduced-motion:reduce){.msg-row,.wiz-row,.wiz-row>.pv-ava-sm,.msg-row>.pv-ava-sm,.wiz-row>.pv-ava-sm:before,.msg-row>.pv-ava-sm:before,.wiz-row>.pv-ava-sm:after,.msg-row>.pv-ava-sm:after{animation:none!important}}
.tool-row{display:flex;gap:7px;flex-wrap:wrap}
.tool{height:28px;padding:0 11px;border:1px solid var(--bd);border-radius:99px;font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:6px;cursor:pointer;transition:all var(--t-fast) var(--ease-standard)}
.tool:hover{background:var(--g100);border-color:var(--ink4);color:var(--ink)}
.tool-upload{width:30px;height:30px;padding:0;justify-content:center;background:transparent}
.tool-connector{gap:5px;font-family:inherit;font-size:12px;height:30px;padding:0 10px;background:#eef1ff;border-color:#dce3ff;color:#5368ac;cursor:default}
.tool-connector:hover{background:#eef1ff;border-color:#dce3ff;color:#5368ac}
.tool svg{flex-shrink:0}

/* 需求确认卡已移除，需求仍在对话状态中自动保存 */
#need-card{display:none !important}
.req-card{border:1px solid var(--bd);border-radius:12px;padding:11px 14px;background:var(--panel);display:flex;flex-direction:column;gap:8px}
.rc-head{font-size:12px;font-weight:500;display:flex;align-items:center;gap:9px}
.rc-hint{font-size:11px;color:var(--ink3);font-weight:400}
.rc-toggle{margin-left:auto;font-size:11px;color:var(--ink3);padding:2px 6px;border-radius:8px}
.rc-toggle:hover{color:var(--ink);background:var(--bd2)}
.rc-grid{display:flex;flex-wrap:wrap;gap:5px 20px}
.rc-item{display:flex;gap:8px;font-size:12px;align-items:baseline}
.rc-k{color:var(--ink3);flex-shrink:0}
.rc-v{color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.rc-item.on .rc-v{color:var(--ink);font-weight:500}
.rc-sum{font-size:12px;color:var(--ink2)}
.rc-miss{font-size:12px;color:var(--err)}
.cv-head{margin-top:2px;padding-top:9px;border-top:1px solid var(--bd);font-size:12px;font-weight:500;display:flex;align-items:center;gap:9px}
.cv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:1100px){.cv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cv-item{display:flex;flex-direction:column;gap:4px;min-width:0}
.cv-k{font-size:11px;color:var(--ink3)}
.cv-in{width:100%;height:30px;padding:0 9px;border:1px solid var(--bd);border-radius:var(--r-sm);background:#fff;color:var(--ink);font:inherit;font-size:13px;outline:none;transition:border-color var(--t-fast) var(--ease-standard)}
.cv-in:focus{border-color:var(--ink3)}
.cv-in::placeholder{color:var(--ink4)}

/* ---------- 向导气泡 / 选项 ---------- */
.wiz-bubble{font-size:15px;line-height:26px;color:var(--ink);display:flex;flex-direction:column;gap:10px;min-width:0}
.wiz-bubble.err{color:var(--err)}
.wiz-bubble.static{white-space:pre-wrap;line-height:1.7}
.wiz-opts{display:flex;flex-wrap:wrap;gap:9px}
/* 单项选择的选项胶囊（学位、快捷回答等）。
   原来的浅灰底 + --ink2 灰字（#5C5C5C）在纯白底上偏浅、也偏薄；
   改成白底细边 + 深色字，形态更清楚，字也读得清。 */
.pill{height:38px;padding:0 18px;background:#fff;border:1px solid var(--bd);border-radius:99px;font-size:14px;font-weight:500;color:var(--ink);display:flex;align-items:center;cursor:pointer;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard),border-color var(--t-fast) var(--ease-standard)}
.pill:hover{background:var(--g100);border-color:var(--ink)}
.pill:active{transform:scale(.97)}
/* 带中文说明的两行选项：只加在确实有说明的选项上，其他胶囊不受影响 */
.pill.has-hint{flex-direction:column;align-items:flex-start;gap:1px;height:auto;min-height:38px;padding:8px 18px;line-height:1.3}
.pill-h{font-size:12px;font-weight:400;color:var(--ink3)}
.pill.has-hint.on .pill-h{color:var(--ink2)}
.pill.on{background:var(--ink);color:#fff}
.wiz-opt{min-height:40px;height:auto;padding:9px 18px;font-size:14px;font-weight:500;line-height:1.4;color:#1d2430;border:1px solid #8591a3;background:#fff;border-radius:12px;transition:background var(--t-fast) var(--ease-standard),border-color var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard),transform var(--t-fast) var(--ease-standard)}
.wiz-opt:hover{border-color:#465572;background:#f4f6fc;color:#111827}
.wiz-opt:active{transform:scale(.98)}
.wiz-opt:focus-visible{outline:3px solid rgba(80,102,205,.22);outline-offset:3px}
.wiz-opt.on{background:#171b24;border-color:#171b24;color:#fff}
.quick-wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* 数值控件给一层卡片边界：嵌在纯文本对话流里，没有边框会看不出是可操作控件 */
/* 文献数：胶囊档位控件（维持原样，外层不再套卡片，否则与胶囊自身边框形成双框） */
.slider-box{display:flex;flex-direction:column;gap:16px;width:100%;padding:10px 2px 2px}
.slider-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.slider-label{font-size:12px;color:var(--ink3);font-weight:500}
.slider-val{display:inline-block;font-size:24px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1}
.eff{position:relative;display:inline-flex;align-self:flex-start;background:var(--chip);border:1px solid var(--bd);border-radius:99px;padding:4px;touch-action:none;user-select:none;-webkit-user-select:none;max-width:100%}
.eff-pill{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:99px;background:var(--ink);transform:translateX(0);transition:transform var(--t-normal) var(--ease-out),width var(--t-normal) var(--ease-out);z-index:0;will-change:transform,width}
.eff.drag .eff-pill{transition:none}
.eff-opt{position:relative;z-index:1;flex:0 0 auto;height:34px;min-width:44px;padding:0 14px;border-radius:99px;font-size:13px;font-weight:500;color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;background:none;border:none;transition:color var(--t-normal) var(--ease-standard)}
.eff-opt:hover{color:var(--ink)}
.eff-opt.on{color:#fff}
.eff:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(17,17,17,.14)}
/* 字数：蓝紫渐变轨道与圆形滑块，使用原生 range，避免滚动卡片和布局测量。 */
.rng-box{display:flex;flex-direction:column;gap:15px;width:100%;max-width:480px;padding:5px 0;background:transparent}
.rng-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rng-label{font-size:14px;color:#485263}
.rng-val{display:inline-block;padding:4px 10px;border-radius:10px;font-size:19px;font-weight:600;color:#1d2535;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;background:transparent;transform-origin:right center}
.word-scope{font-size:12px;line-height:1.75;color:#566171;margin:-4px 0 0}
.word-range-wrap{padding:0 11px}
.word-range{display:block;width:100%;height:44px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:grab;touch-action:pan-y}
.word-range:active{cursor:grabbing}
.word-range::-webkit-slider-runnable-track{height:34px;border-radius:99px;background:linear-gradient(90deg,#2c43b0,#526be1 48%,#778bed 76%,#915fec);box-shadow:inset 0 1px 2px rgba(31,42,110,.1)}
.word-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:28px;height:28px;margin-top:3px;border:1px solid rgba(82,95,165,.18);border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(38,53,132,.3)}
.word-range::-moz-range-track{height:34px;border-radius:99px;background:linear-gradient(90deg,#2c43b0,#526be1 48%,#778bed 76%,#915fec);box-shadow:inset 0 1px 2px rgba(31,42,110,.1)}
.word-range::-moz-range-thumb{width:26px;height:26px;border:1px solid rgba(82,95,165,.18);border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(38,53,132,.3)}
.word-range:focus-visible{outline:none}
.word-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(255,255,255,.25),0 0 0 6px rgba(69,91,202,.42),0 2px 6px rgba(38,53,132,.3)}
.word-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(255,255,255,.25),0 0 0 6px rgba(69,91,202,.42),0 2px 6px rgba(38,53,132,.3)}
.word-range-scale{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.5;color:#647084;font-variant-numeric:tabular-nums}
.word-picker-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.word-picker-hint{font-size:12px;color:#647084}
.rng-box .slider-confirm{margin:0}
.rng-box .btn-confirm{height:34px;padding:0 16px;border-radius:99px;font-size:13px}
.rng-box [role=alert]:empty{display:none}

.slider-confirm{display:flex;align-items:center;gap:12px;margin-top:2px}
.btn-confirm{height:34px;padding:0 18px;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;font-weight:500;transition:opacity var(--t-fast) var(--ease-standard)}
.btn-confirm:hover{opacity:.85}
.btn-confirm[disabled]{opacity:.35;cursor:default}
.btn-start{height:38px;padding:0 22px;border-radius:12px;background:var(--ink);color:#fff;font-size:14px;font-weight:500;align-self:flex-start}
.btn-start:hover{opacity:.85}
.btn-start[disabled]{opacity:.35;cursor:default}
.tcard{display:block;width:100%;text-align:left;padding:11px 14px;border:1px solid var(--bd);background:#fff;border-radius:12px;font-size:13px;line-height:21px;white-space:normal;transition:border-color var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard)}
.tcard:hover{border-color:var(--ink);background:var(--g100)}
.ol-hint{font-size:12px;color:var(--ink3);line-height:1.7}
.ol-sec{font-size:13px;font-weight:500;color:var(--ink);margin:12px 0 2px;display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none}
.ol-sec .arr{display:inline-block;transition:transform var(--t-fast) var(--ease-standard);font-size:11px;color:var(--ink3)}
.ol-sec.collapsed .arr{transform:rotate(-90deg)}
.ol-sec .cnt{font-size:11px;color:var(--ink3);font-weight:400}
.ol-item{font-size:13px;color:var(--ink2);padding:3px 10px 3px 16px;border-radius:8px;cursor:pointer;line-height:20px;transition:background var(--t-fast) var(--ease-standard),color var(--t-fast) var(--ease-standard);user-select:none}
.ol-item:hover{background:var(--g100)}
.ol-item.off{color:var(--ink3);text-decoration:line-through}
.ol-item.sub3{padding-left:34px}
.ref-sum{font-size:12px;color:var(--ink2)}
.upzone{width:100%;border:1.5px dashed var(--bd);border-radius:12px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;background:var(--panel);transition:border-color var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard)}
.upzone:hover{border-color:var(--ink3);background:var(--g100)}
.upzone.over{border-color:var(--ink);background:var(--g100)}
.upzone .uz-ic{width:28px;height:28px;color:var(--ink3)}
.upzone .uz-t{font-size:13px;font-weight:500}
.upzone .uz-h{font-size:11px;color:var(--ink3)}

/* 文献筛选行 */
.refrow{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid #bec8d8;border-radius:14px;padding:14px 16px;font-family:inherit;transition:border-color var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard),box-shadow var(--t-fast) var(--ease-standard)}
.refrow:hover{border-color:#8596b6;background:#fbfcff}
.refrow:focus-visible{outline:3px solid rgba(80,102,205,.22);outline-offset:3px}
.refrow .chk{width:20px;height:20px;border-radius:7px;border:1.5px solid #8491a6;flex-shrink:0;margin-top:3px;display:flex;align-items:center;justify-content:center;transition:background var(--t-fast) var(--ease-standard),border-color var(--t-fast) var(--ease-standard)}
.refrow .chk svg{width:13px;height:13px;opacity:0;transition:opacity var(--t-fast) var(--ease-standard)}
.refrow .rbody{flex:1;min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:7px;row-gap:5px;align-items:start}
.refrow .rno{grid-column:1;grid-row:1;min-width:28px;padding-top:2px;font-size:12px;font-weight:600;line-height:23px;color:#526184;font-variant-numeric:tabular-nums}
.refrow .rtxt{grid-column:2;grid-row:1;min-width:0;font-size:14.5px;font-weight:400;line-height:1.75;color:#202733;overflow-wrap:anywhere;word-break:normal;text-decoration:none}
.refrow .rmeta{grid-column:2;grid-row:2;font-size:12px;font-weight:400;line-height:1.6;color:#59677c}
.refrow.on{border-color:#aabbe4;background:#f7f9ff;box-shadow:0 1px 2px rgba(30,48,90,.025)}
.refrow.on:hover{border-color:#839bd4;background:#f2f5ff}
.refrow.on .chk{background:#5266c9;border-color:#5266c9}
.refrow.on .chk svg{opacity:1}
.refrow.off .rtxt{color:#455164;text-decoration:none}
.refrow.off .rno{color:#59677c}
@media(max-width:520px){.refrow{padding:13px 12px;gap:9px}.refrow .rbody{grid-template-columns:25px minmax(0,1fr);column-gap:5px}.refrow .rno{min-width:25px}.refrow .rtxt{font-size:14px;line-height:1.75}}

.ref-tag{height:19px;padding:0 8px;border-radius:99px;font-size:11px;font-weight:500;display:flex;align-items:center;background:var(--g100);color:var(--ink2)}

/* 任务进度卡（消息流内） */
.task-card{border:1px solid var(--bd);border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:11px;background:var(--panel)}
.task-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500}
.task-head em{font-style:normal;font-size:12px;color:var(--ink3);font-weight:400}
.task-bar{height:5px;border-radius:99px;background:var(--track);overflow:hidden}
.task-fill{height:100%;border-radius:99px;background:var(--ink);transition:width .5s ease}
.task-step{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink3);padding:2px 0;transition:color var(--t-normal) var(--ease-standard)}
.task-step .st{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;color:#fff;border:1px solid var(--ink4)}
.task-step.run .st{background:transparent;border-color:var(--ink);animation:pulse 1.2s ease-in-out infinite}
.task-step.done .st{background:var(--ink);border-color:var(--ink)}
.task-step.run,.task-step.done{color:var(--ink2)}

/* 下载卡 */
.mod-card{border:1px solid var(--bd);border-radius:12px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--panel)}
.mod-card h4{font-size:13px;font-weight:500}
.download-now{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.delivery-card{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px;padding:20px;border:1px solid #dce3ee;border-radius:16px;background:#fff}
.delivery-card h4{margin:0;font-size:15px;font-weight:600;line-height:1.6;color:#202733;overflow-wrap:anywhere}
.delivery-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;min-width:0}
.delivery-card .download-now,#rp-done>.download-now{box-sizing:border-box;min-height:42px;height:auto;padding:11px 16px;justify-content:center;line-height:1.45;text-align:center;white-space:nowrap;flex:0 0 auto}
.delivery-card>.download-now{align-self:flex-start}
#rp-done>.download-now{width:100%;min-width:0}
#rp-resume,#rp-cancel{min-height:38px;height:auto;padding:10px 14px;line-height:1.45;white-space:nowrap;flex-shrink:0}
@media(max-width:520px){.delivery-card{padding:16px;gap:14px}.delivery-actions{flex-direction:column;align-items:stretch}.delivery-actions>.download-now,.delivery-card>.download-now{width:100%;min-width:0;align-self:stretch}}


/* ---------- 右侧任务抽屉 ---------- */
.rp{width:300px;flex:0 0 300px;height:100%;background:var(--panel);border-left:1px solid var(--bd);display:none;flex-direction:column}
body.panel-open .rp{display:flex}
.rp-head{height:56px;padding:0 12px 0 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.rp-title{font-size:13px;font-weight:500}
.rp-body{flex:1;min-height:0;padding:0 18px 20px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.rp-sec{display:flex;flex-direction:column;gap:9px}
.rp-empty{font-size:13px;line-height:1.75;color:var(--ink3);padding:2px 2px 0}
.rp-label{font-size:12px;font-weight:500;color:var(--ink2)}
.prog-card{border:1px solid var(--bd);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:11px;background:#fff}
.prog-head{display:flex;align-items:center;justify-content:space-between;font-size:12px}
.prog-head b{font-weight:500;color:var(--ink2)}
.prog-head span{font-weight:500;color:var(--ink)}
.prog-track{height:6px;border-radius:99px;background:var(--track);overflow:hidden}
.prog-fill{width:0;height:100%;border-radius:99px;background:var(--ink);transition:width .5s ease}
.prog-note{font-size:12px;color:var(--ink3);line-height:1.6}
.chk-row{display:flex;gap:7px;align-items:flex-start;font-size:12px;line-height:1.6;color:var(--ink2)}
.chk-row.bad{color:var(--err)}
.chk-mark{flex-shrink:0;width:12px;text-align:center;font-weight:500}
.chk-txt{min-width:0;word-break:break-word}
.toc-list{display:flex;flex-direction:column}
.toc-item{height:30px;padding:0 8px;border-radius:var(--r-sm);display:flex;align-items:center;font-size:13px;color:var(--ink2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toc-item:hover{background:var(--g100)}
.toc-item.on{background:var(--g100);color:var(--ink);font-weight:500}
.toc-item.sub{padding-left:32px;color:var(--ink3)}
.paper-preview-pane{display:none;width:min(48vw,680px);flex:0 0 min(48vw,680px);min-width:390px;height:100%;border-left:1px solid var(--bd);background:#f7f8fb;flex-direction:column;overflow:hidden}
body.preview-open .paper-preview-pane{display:flex}body.preview-open .rp{display:none}
.paper-preview-head{display:flex;gap:10px;align-items:center;height:56px;padding:0 20px;border-bottom:1px solid var(--bd);background:#fff;flex-shrink:0}.paper-preview-head strong{font-size:14px;font-weight:500}.paper-preview-head .icobtn{margin-left:auto}
.paper-preview-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 18px;background:#fff;border-bottom:1px solid var(--bd);font-size:12px;color:var(--ink3)}.paper-preview-tools select{border:1px solid var(--bd);border-radius:7px;padding:4px;background:#fff;color:var(--ink2)}
.paper-preview-pages{flex:1;min-height:0;overflow:auto;padding:20px 18px;display:flex;flex-direction:column;gap:22px}.paper-preview-state{padding:35px 20px;text-align:center;font-size:13px;color:var(--ink3);line-height:1.8}.paper-preview-page{margin:0;flex-shrink:0}.paper-preview-page img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 2px 10px #202b4012;border:1px solid #e4e6ed}.paper-preview-page figcaption{text-align:center;color:var(--ink3);font-size:11px;margin-top:8px}
.paper-preview-footer{padding:14px 18px 18px;background:#fff;border-top:1px solid var(--bd);display:flex;flex-direction:column;gap:9px;flex-shrink:0}.paper-preview-footer p{font-size:12px;color:var(--ink3);line-height:1.6}.paper-preview-footer .btn-dark36{width:100%}
@media(max-width:1100px){.paper-preview-pane{position:absolute;right:0;top:0;bottom:0;z-index:8;width:min(620px,100%);min-width:0;box-shadow:-12px 0 32px -12px #202b4026}}@media(max-width:520px){.paper-preview-pane{width:100%}.paper-preview-pages{padding:12px}.paper-preview-head{padding:0 14px}}

/* ---------- S3 成稿视图 ---------- */
.doc-main{flex:1;min-width:0;display:flex;flex-direction:column}
.doc-scroll{flex:1;min-height:0;padding:24px 0;overflow-y:auto;background:var(--panel)}
.paper{width:100%;max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--bd);border-radius:var(--r-md);padding:52px;display:flex;flex-direction:column;gap:16px}
.paper h1{font-size:24px;line-height:38px;text-align:center}
.paper .author{font-size:12px;color:var(--ink3);text-align:center}
.paper .abs-t{font-size:14px;text-align:center;letter-spacing:2px;color:var(--ink2);margin-top:4px}
.paper h2{font-size:16px;margin-top:6px}
.paper p{font-size:15px;line-height:27px;color:var(--body)}
.ip{width:300px;flex:0 0 300px;height:100%;background:var(--panel);border-left:1px solid var(--bd);display:flex;flex-direction:column}
.ip-head{height:56px;padding:0 18px;display:flex;align-items:center;flex-shrink:0}
.ip-title{font-size:13px;font-weight:500}
.stat-row3{padding:0 18px 14px;display:flex;gap:10px}
.stat3{flex:1;background:#fff;border:1px solid var(--bd);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:3px;min-width:0}
.stat3 b{font-size:16px;overflow:hidden;text-overflow:ellipsis}
.stat3 span{font-size:11px;color:var(--ink3)}
.nav-list{padding:0 10px 20px;display:flex;flex-direction:column;overflow-y:auto}
.nav-list .rp-label{padding:0 8px 6px}
.n-item{height:32px;padding:0 9px;border-radius:var(--r-sm);display:flex;align-items:center;font-size:13px;color:var(--ink2);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.n-item:hover{background:var(--g100)}
.n-item.on{background:var(--g100);color:var(--ink);font-weight:500}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .rp{position:absolute;right:0;top:0;bottom:0;z-index:6;box-shadow:-12px 0 32px -12px rgba(0,0,0,.14)}
}
@media (max-width:900px){
  .sb{position:absolute;left:0;top:0;bottom:0;z-index:7}
  .preview{display:none}
  .hero{gap:0}
  .card-row,.flow-row{flex-direction:column}
  .paper{padding:28px}
  .ip{display:none}
  .nav-links{display:none}
}

/* ---------- 动效 ----------
   原则：只做位移 / 透明度 / 轻微缩放，不做弹跳、旋转、闪烁；时长都在 130–260ms。
   动效要服务"知道发生了什么"，不是表演。 */
@keyframes popIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes numBump{0%{transform:scale(1)}45%{transform:scale(1.09)}100%{transform:scale(1)}}

/* 交互元素统一带上 transform 过渡，下面的 :active 才能平滑回弹 */
.send,.s0-mode,.pill,.btn-dark36,.btn-ghost36,.newbtn,.tool,.btn-confirm,.icobtn,.sb-item,.sb-refresh,.rc-toggle,.eff-opt{
  transition-property:transform,background,border-color,color,opacity,box-shadow;
  transition-duration:var(--t-fast);
  transition-timing-function:var(--ease-standard);
}
/* 按下轻微缩小，松手回弹 —— 主流 App 的手感基准 */
.send:active,.s0-mode:active,.pill:active,.btn-dark36:active,.btn-ghost36:active,.newbtn:active,.tool:active,.icobtn:active,.sb-item:active,.sb-refresh:active,.rc-toggle:active,.eff-opt:active{transform:scale(.97)}
.btn-confirm:not([disabled]):active{transform:scale(.97)}

/* 卡片 / 弹层入场：淡入 + 上移 6px，不是直接闪现 */
.prog-card,.wiz-opts,.rc-grid,.rc-sum,.rc-miss,.rp-sec{animation:popIn var(--t-normal) var(--ease-out)}

/* 数字变化跳一下（由 bump() 加类触发） */
.bump{animation:numBump 260ms var(--ease-out)}

/* ---------- 打印：导出 PDF 时只留论文纸面 ---------- */
@media print{
  .sb,.rp,.chat-top,.composer,.ip,.s0-main,.s1-wrap,.msg-actions{display:none !important}
  html,body{height:auto;overflow:visible;background:#fff}
  .screen{display:none !important;height:auto}
  .screen.active{display:block !important;height:auto}
  .app{display:block;height:auto;overflow:visible}
  .doc-scroll{overflow:visible;padding:0;background:#fff}
  .paper{border:none;border-radius:0;padding:0;max-width:none;box-shadow:none}
}
.dot.wait{background:#c89527}.dot.paused{background:#b97922}.dot.failed{background:#c64b46}

/* Conversation activity and task progress */
.thinking-row,.thinking-step{display:flex;align-items:center;gap:8px;min-height:24px}
.think-spinner{width:26px;height:26px;flex-shrink:0;border-radius:9px;background:linear-gradient(145deg,#e7edff,#f3f0ff);box-shadow:none;position:relative;animation:activityGlow 2.4s ease-in-out infinite}
.think-spinner:before,.think-spinner:after{content:"";position:absolute;top:9px;width:3px;height:8px;border-radius:3px;background:#6d7ac1;animation:activityWave 1.5s ease-in-out infinite}
.think-spinner:before{left:8px}.think-spinner:after{right:8px;animation-delay:.22s}
.thinking-copy{display:flex;flex-direction:column;gap:3px}
.thinking-label{font-size:13px;color:var(--ink2);font-weight:500}
.thinking-detail{font-size:11px;color:var(--ink3);line-height:1.65;font-weight:400}
.thinking-step.settled .think-spinner{animation:none;background:#eef2f6}
.thinking-step.settled .think-spinner:before{content:"✓";height:auto;width:auto;left:7px;top:3px;background:none;font-size:14px;animation:none;color:#78849b}
.thinking-step.settled .think-spinner:after{display:none}
.search-activity{display:block;width:auto;max-width:100%;padding:0;border:0;border-radius:0;background:none;color:var(--ink2)}
.search-head{display:flex;align-items:center;gap:11px}
.search-head .thinking-copy{flex:0 1 auto;min-width:0;gap:0}
.search-head .think-spinner{border-radius:50%;width:16px;height:16px;background:none;animation:none}
.search-head .think-spinner:before{width:12px;height:12px;left:0;top:0;border:1.5px solid #e3e4ea;border-top-color:#8c87b8;border-right-color:#8c87b8;border-radius:50%;background:none;animation:searchOrbit 1.1s linear infinite}
.search-head .think-spinner:after{display:none}
.search-head .thinking-label{font-size:13px;font-weight:400;color:#92929b;line-height:24px}
.search-head .thinking-detail{display:none}
.search-clock{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;color:#9897a8}
.search-process{margin:12px 0 0 40px;border-top:1px solid #edecf3;padding-top:9px}
.search-process summary{display:flex;align-items:center;gap:7px;list-style:none;font-size:12px;color:#777483;cursor:pointer;user-select:none;min-height:26px}
.search-process summary::-webkit-details-marker{display:none}
.search-process summary:before{content:"";width:5px;height:5px;border-right:1.5px solid #a39bad;border-bottom:1.5px solid #a39bad;transform:rotate(-45deg);transition:transform .15s}
.search-process[open] summary:before{transform:rotate(45deg)}
.search-process summary:focus-visible{outline:2px solid #c2b7ed;outline-offset:3px;border-radius:3px}
.search-summary-note{margin-left:auto;font-size:11px;color:#a19cab}
.search-timeline{margin:7px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
.search-event{display:grid;grid-template-columns:15px minmax(0,1fr);gap:10px;position:relative;padding:0 0 12px;font-size:12px;line-height:1.6}
.search-event:last-child{padding-bottom:1px}
.search-event:not(:last-child):before{content:"";position:absolute;left:6px;top:17px;bottom:2px;width:1px;background:#ece9f2}
.search-event-icon{width:13px;height:13px;display:flex;align-items:center;justify-content:center;margin-top:3px;border-radius:50%;font-size:10px;background:#f0edf8;color:#a095bc}
.search-event[data-state="running"] .search-event-icon{background:#e9e3fb;color:#8063c1;animation:searchPulse 1.8s ease-in-out infinite}
.search-event[data-state="running"] .search-event-icon:after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
.search-event[data-state="done"] .search-event-icon{background:#eeeaf7;color:#9a88b7}
.search-event[data-state="warning"] .search-event-icon{background:#f4f1ed;color:#ae9882}
.search-event-label{color:#686370;font-weight:500;display:block;overflow-wrap:anywhere}
.search-event-detail{color:#a09aa7;display:block;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.search-event[data-state="running"] .search-event-label{color:#75628f}
.search-activity.settled .search-head .think-spinner:before{content:"✓";width:auto;height:auto;left:0;top:0;border:0;background:none;color:#9484ae;font-size:12px;animation:none}
.search-activity.settled[data-outcome="warning"] .search-head .think-spinner:before{content:"·";left:0;color:#a89581}
@keyframes searchOrbit{to{transform:rotate(360deg)}}
@keyframes searchPulse{0%,100%{opacity:.5}50%{opacity:1}}
@media(max-width:520px){.search-process{margin-left:0}.search-head .thinking-label{font-size:13px}}
.activity-row{margin-top:0;margin-bottom:10px}
.activity-row .wiz-bubble{padding:0;background:none;border:0;box-shadow:none}
.activity-row.activity-finished{display:none}
.search-activity .search-process{margin:2px 0 0 27px;border:0;padding:0}
.search-activity .search-process summary{min-height:20px;font-size:11px;color:#a1a1aa}
.search-activity .search-summary-note{display:none}
.activity-chat .search-process,.activity-chat .search-clock{display:none}
.activity-chat .thinking-label{background:linear-gradient(100deg,#96969f 30%,#c5c4d0 48%,#96969f 66%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:thinkingShimmer 2s linear infinite}
@keyframes thinkingShimmer{to{background-position:-230% 0}}
@media(prefers-reduced-motion:reduce){.activity-chat .thinking-label{animation:none;-webkit-text-fill-color:#92929b}}
@media(prefers-reduced-motion:reduce){.search-head .think-spinner:before,.search-event[data-state="running"] .search-event-icon{animation:none}.search-process summary:before{transition:none}}
@keyframes activityGlow{0%,100%{box-shadow:0 0 0 0 rgba(105,120,193,.03)}50%{box-shadow:0 0 0 4px rgba(105,120,193,.07)}}
@keyframes activityWave{0%,100%{transform:scaleY(.5);opacity:.45}50%{transform:scaleY(1);opacity:1}}
.task-card{background:linear-gradient(145deg,#fff,#fafbfe);border:1px solid #e3e7ef;border-radius:18px;padding:20px;gap:17px;box-shadow:0 4px 18px rgba(40,52,89,.025)}
.task-head{font-size:15px;font-weight:600;gap:12px;align-items:flex-start}
.task-head em{font-size:11px;padding:4px 9px;border-radius:7px;background:#edf1fb;color:#6877ad;white-space:nowrap}
.task-bar{height:3px;background:#ecf0f5}
.task-fill{background:#7b8dcc}
.task-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px}
.task-step{font-size:12px;line-height:1.65;align-items:flex-start;padding:0;gap:8px}
.task-step .st{width:18px;height:18px;font-size:10px;border-color:#dce1eb;color:#a7afbe;flex-shrink:0;margin-top:1px}
.task-step.done .st{background:#eef2fb;color:#6578b2;border-color:#eef2fb}
.task-step.run{color:#566caa}.task-step.run .st{border-color:#adbce2;background:#edf2ff;animation:breathe 2s ease-in-out infinite}
.task-step.done{color:var(--ink2)}
.task-note{font-size:12px;color:var(--ink2);line-height:1.8;display:flex;align-items:center;gap:8px;border-top:1px solid #edf0f5;padding-top:13px}
.task-note:before{content:"";width:4px;height:4px;border-radius:50%;background:#91a1c9;flex-shrink:0}
.task-recent{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink3);line-height:1.7}
.task-recent:empty{display:none}
.task-recent span:before{content:"·";margin-right:7px;color:#a5afc4}
.task-process{margin:0;padding-top:9px;border-top:1px solid #edecf3}
.task-process .task-recent{margin-top:9px}
.task-clock{margin-left:auto;color:#9897a8;font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}
.task-card[data-terminal="true"] .task-step.run .st{animation:none}
.task-card[data-terminal="true"] .task-head em{background:#f0f2f6;color:#7d8799}
.ol-label{flex:1;min-width:0;overflow-wrap:anywhere}
.ol-item{display:flex;align-items:flex-start;gap:10px;padding-top:5px;padding-bottom:5px}
.ol-item.off{text-decoration:none}.ol-item.off .ol-label{text-decoration:line-through}
.ol-replace{font:inherit;font-size:11px;line-height:22px;flex-shrink:0;border:1px solid #e4e8f0;border-radius:7px;padding:0 8px;color:#7b87a1;background:#fff;cursor:pointer;transition:background .15s,color .15s}
.ol-replace:hover{background:#f2f5fc;color:#526ba8}.ol-replace:disabled{opacity:.45;cursor:default}
.ol-sec{align-items:flex-start;padding:4px 0;gap:7px}.ol-sec .arr,.ol-sec .cnt{margin-top:3px}
.ol-controls{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.outline-readonly .ol-replace,.outline-readonly .ol-controls,.outline-readonly .ol-confirm{display:none}
.outline-readonly .ol-item{cursor:default}
@media(max-width:520px){.task-card{padding:16px}.task-grid{gap:11px 12px}.task-head{font-size:14px}.ol-sec .cnt{display:none}}
@media(prefers-reduced-motion:reduce){.think-spinner,.think-spinner:before,.think-spinner:after,.task-step.run .st{animation:none}}

/* Product entry, compact mobile layout and deliberate panel interactions. */
[hidden]{display:none!important}
.home-notes{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink3);font-size:12px;padding-top:6px}
.home-notes span:before{content:'✓';color:#777c94;margin-right:6px}
.cta-card>div{min-width:0;flex:1}.cta-card>.btn-white52{flex-shrink:0;white-space:nowrap}
.section,.cta-band{scroll-margin-top:24px}.promo a{color:inherit;text-decoration:none}
.flinks button{font:inherit;color:inherit}.flinks button:hover{color:var(--ink)}
.top-more-wrap,.ct-title{position:relative}.top-more-actions{display:flex;gap:8px;align-items:center}
.top-more-toggle,.top-actions-hint{display:none}.ct-left{flex:1}.ct-text{flex:1;min-width:0}
.ct-title:focus-visible{outline:2px solid #bec5e0;outline-offset:4px;border-radius:3px}
.sidebar-backdrop,.task-panel-backdrop{display:none}.rp{min-height:0}.rp-body{min-height:0}
body.sb-collapsed .sb{visibility:hidden;pointer-events:none}
.info-dialog-card{width:min(560px,calc(100vw - 32px));max-height:80dvh;overflow:auto;background:#fff;border-radius:20px;padding:24px;color:var(--ink2);text-align:left}
.info-dialog-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.info-dialog-head h2{font-size:17px;font-weight:500;margin:0;flex:1}
.info-dialog-body{font-size:13px;line-height:1.9;white-space:pre-wrap}.info-dialog-body p{margin:0 0 15px}.info-dialog-body p:last-child{margin:0}
.upload-receipt-details{font-size:12px;color:var(--ink3);margin-top:6px}.upload-receipt-details summary{cursor:pointer;list-style-position:inside}
.upload-receipt-details p{font-size:12px;line-height:1.8;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.sent-file-warning{display:block;font-size:11px;line-height:1.5;margin-top:4px;color:#a45f50}
@media(max-width:1180px){
 body.panel-open .task-panel-backdrop{display:block;position:fixed;inset:0;z-index:9;background:#161b2933;cursor:default}
 body.panel-open .rp{position:fixed;inset:0 0 0 auto;z-index:10;width:min(340px,calc(100vw - 32px));height:100%;box-shadow:-12px 0 32px -12px #202b4026}
}
@media(max-width:900px){body:not(.sb-collapsed) .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:6;background:#161b2933;cursor:default}}
@media(max-width:520px){
 .screen{height:var(--app-height,100vh);height:min(var(--app-height,100dvh),100dvh)}.chat-top-inner{padding:0 12px;gap:8px}.chat-top{height:54px}
 .ct-right{gap:6px;align-items:center}.ct-left{gap:4px}.ct-title{max-width:none;font-size:13px}.ct-sub{font-size:10px;text-overflow:ellipsis}
 .top-more-toggle{display:flex;align-items:center;padding:0 12px}.top-more-actions{display:none}
 .top-more-wrap.open .top-more-actions{display:flex;position:absolute;right:0;top:43px;z-index:12;flex-direction:column;align-items:stretch;gap:8px;width:210px;padding:12px;border:1px solid var(--bd);border-radius:14px;background:#fff;box-shadow:0 10px 28px #202b4024}
 .top-actions-hint{display:block;font-size:11px;line-height:1.6;color:var(--ink3);padding:2px 3px}.top-more-actions button{width:100%;justify-content:center}
 .msg-row,.wiz-row{padding:0 16px}.msg-flow{padding-top:20px;gap:18px}.composer-inner{padding:0 12px}.composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .composer-card{padding:11px 12px 9px;gap:6px;border-radius:20px}.composer-card textarea{min-height:52px;max-height:132px}.composer-files{max-height:128px}
 .composer-bar{gap:6px;row-gap:4px;flex-wrap:nowrap}.tool-row{gap:5px;flex-wrap:nowrap}.tool-connector{height:30px;padding:0 6px;gap:4px;font-size:11px}
 .composer-actions{gap:8px}.composer-file{width:100%}.composer-file-remove{padding:8px}.send{width:34px;height:34px}
 .outline-confirm-bar{align-items:flex-start;flex-wrap:wrap}.outline-confirm-actions{margin-left:auto}.outline-confirm-bar .btn-dark36{height:36px}
 body.panel-open .rp{inset:auto 0 0;bottom:env(safe-area-inset-bottom,0px);width:100%;height:min(60dvh,480px);max-height:60dvh;border-radius:20px 20px 0 0;border-left:0;border-top:1px solid var(--bd)}
 body.panel-open .rp.is-empty{height:auto;max-height:60dvh}.rp.is-empty .rp-body{max-height:165px;overflow:auto}.rp-head{min-height:52px}
 .nav{gap:12px;padding:18px 0}.nav-right{gap:7px;flex-wrap:wrap;justify-content:flex-end}.nav-right button{padding:0 12px;font-size:12px}
 .hero{padding-top:32px}.hero .h1{font-size:38px}.hero-sub{font-size:15px;line-height:1.9}.hero .cta-row{gap:10px;flex-wrap:wrap}.cta-row button{padding:0 18px;font-size:14px}
 .promo{flex-wrap:wrap;gap:6px 14px;padding:12px 14px;line-height:1.7}.home-notes{gap:10px 16px}.cta-card{flex-direction:column;align-items:flex-start;gap:20px}.footer{align-items:flex-start;gap:16px;flex-direction:column}
 .info-dialog-card{padding:20px;max-height:min(80dvh,calc(var(--app-height,100dvh) - 32px))}
}
@media(max-width:375px){.composer-bar{flex-wrap:wrap}.composer-actions{margin-left:auto}.composer-card textarea{min-height:44px}.home-continue{max-width:125px}}
/* Split previews can leave a narrow chat column even on a large monitor. */
@container chat (max-width:520px){
 .chat-top-inner{padding:0 12px;gap:8px}.ct-right{gap:6px;align-items:center}.ct-left{gap:4px}.ct-title{max-width:none}
 .top-more-toggle{display:flex;align-items:center;padding:0 12px}.top-more-actions{display:none}
 .top-more-wrap.open .top-more-actions{display:flex;position:absolute;right:0;top:43px;z-index:12;flex-direction:column;align-items:stretch;gap:8px;width:210px;padding:12px;border:1px solid var(--bd);border-radius:14px;background:#fff;box-shadow:0 10px 28px #202b4024}
 .top-actions-hint{display:block;font-size:11px;line-height:1.6;color:var(--ink3);padding:2px 3px}.top-more-actions button{width:100%}
 .composer-inner{padding:0 12px}.composer-card{padding:11px 12px 9px;gap:6px}.composer-card textarea{min-height:52px;max-height:132px}
 .composer-bar{gap:6px;row-gap:4px;flex-wrap:nowrap}.composer-actions{gap:8px}.tool-row{gap:5px;flex-wrap:nowrap}.tool-connector{height:30px;padding:0 6px;gap:4px;font-size:11px}
}
@container chat (max-width:375px){.composer-bar{flex-wrap:wrap}.composer-card textarea{min-height:44px}}


/* Composer alignment is scoped to the chat component, including split preview. */
.composer-card>.composer-bar{--control-size:32px;--tool-gap:8px;--action-gap:12px;--connector-pad:10px;--connector-font:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:var(--control-size)}
.composer-bar>.tool-row,.composer-bar>.composer-actions{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;height:var(--control-size);margin:0}
.composer-bar>.tool-row{gap:var(--tool-gap)}
.composer-bar>.composer-actions{gap:var(--action-gap);justify-self:end}
.composer-bar .tool{box-sizing:border-box;height:var(--control-size);line-height:1;flex-shrink:0;justify-content:center}
.composer-bar .tool-upload,.composer-bar .send{width:var(--control-size);height:var(--control-size)}
.composer-bar .tool-connector{padding:0 var(--connector-pad);font-size:var(--connector-font);gap:5px;white-space:nowrap}
.composer-bar .model-identity{height:var(--control-size);line-height:20px}
@media(max-width:520px){.composer-card>.composer-bar{--tool-gap:6px;--action-gap:10px;--connector-pad:7px;--connector-font:11px;gap:10px}}
@container chat (max-width:520px){.composer-card>.composer-bar{--tool-gap:6px;--action-gap:10px;--connector-pad:7px;--connector-font:11px;gap:10px}}
@media(max-width:375px){.composer-card>.composer-bar{grid-template-columns:minmax(0,1fr);row-gap:8px}}
@container chat (max-width:375px){.composer-card>.composer-bar{grid-template-columns:minmax(0,1fr);row-gap:8px}}

/* Native range retains immediate position; drag feedback does not animate layout or the whole rail. */
.word-range::-webkit-slider-thumb{transition:transform 150ms var(--ease-out),box-shadow 150ms ease}
.word-range::-moz-range-thumb{transition:transform 150ms var(--ease-out),box-shadow 150ms ease}
.rng-val{transition:transform 150ms var(--ease-out),color 150ms ease,background 150ms ease}
.rng-box.is-adjusting .word-range{filter:none}
.rng-box.is-adjusting .word-range::-webkit-slider-thumb,.word-range:active::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 4px rgba(255,255,255,.23),0 3px 12px rgba(39,50,137,.44)}
.rng-box.is-adjusting .word-range::-moz-range-thumb,.word-range:active::-moz-range-thumb{transform:scale(1.12);box-shadow:0 0 0 4px rgba(255,255,255,.23),0 3px 12px rgba(39,50,137,.44)}
.rng-box.is-adjusting .rng-val{transform:translateY(-2px) scale(1.035);color:#3d53b5;background:#eef1ff}
@media(prefers-reduced-motion:reduce){.rng-val{transition:none}.word-range::-webkit-slider-thumb{transition:none}.word-range::-moz-range-thumb{transition:none}.rng-box.is-adjusting .rng-val{transform:none}.rng-box.is-adjusting .word-range::-webkit-slider-thumb,.word-range:active::-webkit-slider-thumb{transform:none}.rng-box.is-adjusting .word-range::-moz-range-thumb,.word-range:active::-moz-range-thumb{transform:none}}

/* Sidebar identity: the chosen M mark and wordmark form one home target. */
.sb-head{gap:12px}
.sb-head .brand{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0;color:#1a1c1f;border-radius:7px;flex-shrink:0}
.sb-head .sidebar-monogram{display:block;width:28px;height:28px;flex-shrink:0;overflow:visible}
.sidebar-wordmark{font-family:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;font-size:15px;font-weight:650;letter-spacing:1.05px;line-height:1}
.sb-head .sb-collapse{margin-left:auto;height:30px;line-height:28px;padding:0 9px;color:#737984;background:transparent}
.sb-head .brand:hover{opacity:.76}
.sb-head .brand:focus-visible{outline:2px solid #7485d1;outline-offset:4px}
/* Native reference landing presentation */
#s1:not(.public-page) *,#s1:not(.public-page) :before,#s1:not(.public-page) :after{box-sizing:border-box;margin:0;font-weight:400}
#s1 html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;scrollbar-gutter:stable;scroll-behavior:smooth;overflow-y:scroll}
#s1 body{min-height:100vh;color:var(--text-primary);background:var(--bg-page);line-height:var(--lh-body);font-family:var(--font-sans);font-size:var(--fs-sm);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}
#s1 h1,#s1 h2,#s1 h3,#s1 h4{font-family:var(--font-heading);font-weight:600;line-height:var(--lh-title);color:var(--text-primary);letter-spacing:-.02em}
#s1 h1{font-size:var(--fs-xl)}
#s1 h2{font-size:var(--fs-lg)}
#s1 h3{font-size:var(--fs-md)}
#s1 h4{font-size:var(--fs-sm)}
#s1 ::selection{background:var(--primary-muted);color:var(--text-primary)}
#s1 *{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}
#s1 ::-webkit-scrollbar{width:8px;height:8px}
#s1 ::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:8px}
#s1 ::-webkit-scrollbar-thumb:hover{background-color:var(--text-hint)}
#s1 ::-webkit-scrollbar-track{background:0 0}
#s1 :focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}
#s1 input:focus-visible,#s1 select:focus-visible,#s1 textarea:focus-visible{outline:none}
#s1 a{color:inherit}
#s1 img{max-width:100%;display:block}
#s1 input[type=number],#s1 .td-num,#s1 .stat-val{font-variant-numeric:tabular-nums}
#s1 .hero-glow{display:none!important}
@media (prefers-reduced-motion:reduce){#s1 html{scroll-behavior:auto}}
#s1 :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--primary:#2f3eb8;--primary-dark:#243299;--primary-light:#2f3eb8;--primary-fg:#fff;--primary-muted:#2f3eb80f;--primary-border:#2f3eb82e;--primary-ring:#2f3eb829;--gold:#8a6914;--gold-bright:#8a6914;--gold-soft:#8a691414;--gold-border:#8a691447;--accent-lavender:#eef0f8;--accent-lavender-light:#f5f6fb;--accent-lavender-border:#d9dce8;--accent-lavender-text:#243299;--danger:#c43c3c;--danger-bg:#c43c3c0f;--danger-border:#c43c3c38;--success:#0d8a60;--success-bg:#eef8f3;--warning:#b45309;--alipay:#1677ff;--alipay-dark:#0958d9;--text-primary:#111;--text-secondary:#3f3f46;--text-muted:#71717a;--text-hint:#a1a1aa;--text-inverse:#fff;--bg-page:#f6f7f8;--bg-page-alt:#f0f1f3;--bg-card:#fff;--bg-muted:#f3f4f6;--bg-subtle:#fafafa;--bg-input:#fff;--bg-tab:#eceef1;--border:#e5e7eb;--border-light:#eef0f3;--border-strong:#d1d5db;--ink-900:#111;--ink-800:#1c1c1e;--ink-700:#3f3f46;--ink-line:#11111114;--ink-text:#ffffffeb;--ink-text-muted:#ffffff8f;--grid-line:#1111110a;--grid-line-strong:#11111112;--radius-sm:4px;--radius-md:8px;--radius-lg:8px;--radius-xl:8px;--radius-2xl:12px;--radius-3xl:16px;--radius-full:999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 1px 2px #0000000f;--shadow-lg:0 4px 16px #00000014;--shadow-card:0 1px 2px #0000000a;--shadow-dialog:0 8px 28px #0000001f;--shadow-modal:0 8px 28px #0000001f;--shadow-primary:0 1px 2px #0000000f;--shadow-gold:0 1px 2px #0000000f;--gradient-primary:var(--primary);--gradient-hero:var(--bg-page);--gradient-hero-alt:var(--bg-page);--gradient-ink:#111;--gradient-surface:#fff;--glass-bg:#fff;--glass-border:var(--border);--glass-blur:none;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s;--dur-med:.2s;--dur-slow:.28s;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "HarmonyOS Sans", "Helvetica Neue", Arial, sans-serif;--font-heading:var(--font-sans);--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Menlo", monospace;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:28px;--lh-title:1.3;--lh-body:1.6;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--nav-height:calc(56px + env(safe-area-inset-top,0px));--site-banner-height:0px;--header-offset:calc(var(--nav-height) + var(--site-banner-height,0px));--sidebar-width:240px;--form-max-width:900px;--form-wide-max-width:1100px;--content-max-width:960px;--bp-mobile:640px;--bp-tablet:768px;--bp-console:900px;--bp-nav:1100px}
#s1 .spin{animation:.8s linear infinite ui-spin}
@keyframes ui-spin{to{transform:rotate(360deg)}}
#s1 .spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite ui-spin}
#s1 .spinner--dark{border-color:#2563eb33;border-top-color:var(--primary)}
#s1 .form-wrap,#s1 .reduce-form,#s1 .module-form,#s1 .form-page{max-width:var(--form-max-width);width:100%;margin-left:auto;margin-right:auto}
#s1 .form-page--wide{max-width:var(--form-wide-max-width)}
#s1 .form-stack{flex-direction:column;gap:24px;width:100%;display:flex}
#s1 .form-page-grid{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;width:100%;display:grid}
#s1 .form-page-grid__side{grid-column:1;align-self:stretch;min-width:0}
#s1 .form-page-grid__form{width:100%;min-width:0;max-width:calc(var(--form-max-width) + 64px);grid-column:2;margin:0 auto;padding:32px 32px 48px}
#s1 .form-page-grid--wide .form-page-grid__form{max-width:calc(var(--form-wide-max-width) + 64px)}
#s1 .form-page-grid__guide{grid-column:3;justify-content:flex-start;align-items:flex-start;min-width:0;padding:32px 32px 48px 0;display:flex}
#s1 .form-page-grid__form>.form-wrap,#s1 .form-page-grid__form>.form-stack,#s1 .form-page-grid__form>.form-page,#s1 .form-page-grid__form>.smart-chart,#s1 .form-page-grid__form>.typeset-page,#s1 .form-page-grid__form .form-wrap,#s1 .form-page-grid__form .form-page{max-width:100%;margin-left:0;margin-right:0}
#s1 .form-page-grid__guide>.task-guide{width:300px;max-width:100%}
@media (width<=1100px){#s1 .form-page-grid__guide{display:none}}
@media (width<=900px){#s1 .form-page-grid{grid-template-columns:1fr}
#s1 .form-page-grid__form{grid-column:1;padding:20px 16px 32px}}
#s1 .task-guide{top:calc(var(--header-offset) + 24px);border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--bg-card);text-align:left;box-shadow:var(--shadow-xs);padding:22px 20px;position:sticky}
#s1 .task-guide__title{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 16px;padding-bottom:12px;font-size:14px;font-weight:700}
#s1 .task-guide__steps{flex-direction:column;gap:16px;display:flex}
#s1 .task-guide__step-head{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}
#s1 .task-guide__step-num{color:var(--primary);background:var(--primary-muted);border-radius:4px;flex-shrink:0;margin-top:1px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.5}
#s1 .task-guide__step-title{color:var(--text-secondary);margin:0;font-size:14px;font-weight:600;line-height:1.5}
#s1 .task-guide__step-text{color:var(--text-hint);margin:0;font-size:14px;line-height:1.6}
#s1 .task-guide__step-list{color:var(--text-hint);margin:4px 0 0;padding-left:18px;font-size:14px;line-height:1.65}
#s1 .task-guide__step-list li+li{margin-top:6px}
#s1 .task-guide__faq{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}
#s1 .task-guide__faq-head{color:var(--text-secondary);margin-bottom:12px;font-size:14px;font-weight:700}
#s1 .task-guide__faq-item+.task-guide__faq-item{margin-top:12px}
#s1 .task-guide__faq-q{color:var(--text-secondary);margin-bottom:4px;font-size:14px;font-weight:600;line-height:1.55}
#s1 .task-guide__faq-a{color:var(--text-hint);font-size:13px;line-height:1.6}
#s1 .task-guide__cs{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:8px;margin-top:18px;padding-top:16px;display:flex}
#s1 .task-guide__cs-head{color:var(--text-secondary);align-self:flex-start;font-size:13px;font-weight:700}
#s1 .task-guide__cs-img{border-radius:var(--radius-lg);border:1px solid var(--border-light);width:100%;max-width:200px}
#s1 .task-guide__cs-hint{color:var(--text-hint);margin:0;font-size:12px}
#s1 .page-header,#s1 .form-header{border-bottom:1px solid var(--border);text-align:left;margin-bottom:24px;padding-bottom:16px}
#s1 .page-header--compact,#s1 .form-header--compact{margin-bottom:16px;padding-bottom:16px}
#s1 .page-title,#s1 .form-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.3}
#s1 .page-title--lg{font-size:28px}
#s1 .page-subtitle,#s1 .form-subtitle{color:var(--text-hint);margin:0;font-size:14px}
#s1 .form-body{flex-direction:column;gap:24px;display:flex}
#s1 .form-fields{border:none;flex-direction:column;gap:24px;min-width:0;margin:0;padding:0;display:flex}
#s1 .form-fields:disabled{opacity:.72}
#s1 .form-section{flex-direction:column;gap:10px;display:flex}
#s1 .section-label{color:var(--text-secondary);font-size:14px;font-weight:700}
#s1 .form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}
#s1 .form-row--3{grid-template-columns:1fr 1fr 1fr}
#s1 .form-row--4{grid-template-columns:1fr 1fr 1fr 1fr}
#s1 .form-row--5{grid-template-columns:minmax(4.5rem,.7fr) minmax(4rem,.6fr) minmax(0,1.15fr) minmax(0,1.4fr) minmax(0,1.15fr)}
#s1 .form-group{flex-direction:column;gap:6px;display:flex}
#s1 .form-group--half{max-width:calc(50% - 8px)}
#s1 .form-label{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}
#s1 .required,#s1 .req{color:var(--danger)}
#s1 .label-hint{color:var(--text-hint);font-size:12px;font-weight:400}
#s1 .form-input,#s1 .form-select,#s1 .form-textarea{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-input);box-shadow:none;outline:none;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}
#s1 .form-input:focus,#s1 .form-select:focus,#s1 .form-textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--primary-ring);background:var(--bg-card)}
#s1 .form-input.input-error{border-color:var(--danger);box-shadow:0 0 0 3px #ef444414}
#s1 .form-textarea{resize:vertical;min-height:100px;line-height:1.6}
#s1 .form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}
#s1 .field-hint{color:var(--text-hint);font-size:12px}
#s1 .field-hint.error{color:var(--danger)}
#s1 .form-error{border-radius:var(--radius-lg);background:var(--danger-bg);border:1px solid var(--danger-border);color:#dc2626;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}
#s1 .error-icon{background:var(--danger);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:flex}
#s1 .code-textarea{tab-size:2;border:1.5px solid var(--border);border-radius:var(--radius-lg);color:#1e293b;resize:vertical;background:#f8fafc;outline:none;min-height:280px;padding:14px;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:14px;line-height:1.6;transition:border-color .15s,box-shadow .15s}
#s1 .code-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}
#s1 .checkbox-group{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}
#s1 .checkbox-item,#s1 .chip-item{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg-card);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;padding:9px 14px;transition:border-color .15s,background .15s;display:inline-flex}
#s1 .checkbox-item input{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}
#s1 .checkbox-item.checked,#s1 .checkbox-item.locked,#s1 .chip-item.active{border-color:var(--primary);background:var(--primary-muted)}
#s1 .checkbox-item.locked{cursor:default}
#s1 .checkbox-item.disabled{cursor:not-allowed;opacity:.55;border-color:var(--border);background:var(--bg-page)}
#s1 .checkbox-item.disabled .checkbox-label{color:var(--text-hint)}
#s1 .checkbox-item.disabled input{cursor:not-allowed;accent-color:var(--text-hint)}
#s1 .checkbox-label,#s1 .chip-label{color:var(--text-secondary);font-size:14px;font-weight:500}
#s1 .checkbox-item.checked .checkbox-label,#s1 .checkbox-item.locked .checkbox-label,#s1 .chip-item.active .chip-label{color:var(--primary)}
#s1 .checkbox-lock{color:var(--primary);background:var(--primary-muted);border-radius:var(--radius-full);padding:1px 6px;font-size:11px;font-weight:600}
#s1 .form-footer{border-top:1px solid var(--border-light);flex-direction:column;align-items:center;gap:12px;margin-top:8px;padding-top:24px;display:flex}
#s1 .form-footer .btn-submit{border-radius:var(--radius-md);letter-spacing:0;min-width:160px;padding:12px 24px;font-size:14px}
#s1 .submit-msg{margin:0;font-size:14px;font-weight:500}
#s1 .submit-msg.ok{color:var(--primary)}
#s1 .submit-msg.err{color:var(--danger)}
#s1 .btn{border-radius:var(--radius-md);cursor:pointer;box-shadow:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}
#s1 .btn:disabled{opacity:.4;cursor:not-allowed}
#s1 .btn--md{padding:8px 16px;font-size:14px}
#s1 .btn--sm{padding:4px 12px;font-size:12px}
#s1 .btn--lg{padding:12px 20px;font-size:16px}
#s1 .btn--block{width:100%}
#s1 .btn-primary,#s1 .btn-submit{background:var(--primary);color:var(--primary-fg);letter-spacing:0}
#s1 .btn-primary:hover:not(:disabled),#s1 .btn-submit:hover:not(:disabled),#s1 .btn-primary:active:not(:disabled),#s1 .btn-submit:active:not(:disabled){background:var(--primary-dark)}
#s1 .btn-secondary,#s1 .btn-cancel,#s1 .btn-close{color:var(--text-secondary);border:1px solid var(--border);background:0 0}
#s1 .btn-secondary:hover:not(:disabled),#s1 .btn-cancel:hover:not(:disabled),#s1 .btn-close:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-secondary)}
#s1 .btn-alipay,#s1 .btn-pay,#s1 .btn-confirm{background:var(--alipay);color:#fff;box-shadow:none}
#s1 .btn-alipay:hover:not(:disabled),#s1 .btn-pay:hover:not(:disabled),#s1 .btn-confirm:hover:not(:disabled){background:var(--alipay-dark)}
#s1 .btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}
#s1 .btn-ghost:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
#s1 .btn-danger{color:var(--danger);background:#fef2f2;border:none}
#s1 .btn-danger:hover:not(:disabled){background:#fee2e2}
#s1 .btn-text{color:var(--text-hint);cursor:pointer;background:0 0;border:none;padding:6px;font-size:13px;font-weight:500}
#s1 .btn-text:hover{color:var(--text-muted)}
#s1 .tabs,#s1 .tabs--pill{background:var(--bg-tab);border-radius:var(--radius-lg);gap:0;width:fit-content;margin-bottom:4px;padding:4px;display:flex}
#s1 .tabs .tab-btn,#s1 .tabs--pill .tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 24px;font-size:14px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}
#s1 .tabs .tab-btn.active,#s1 .tabs--pill .tab-btn.active{background:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:600}
#s1 .tab-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffe6;gap:4px;display:flex}
#s1 .tab-bar--sticky{top:calc(var(--nav-height) + var(--site-banner-height,0px));z-index:100;position:sticky}
#s1 .tab-bar .tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 20px;font-size:14px;font-weight:500;transition:color .18s,border-color .18s}
#s1 .tab-bar .tab-btn:hover{color:var(--primary)}
#s1 .tab-bar .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}
#s1 .tab-bar--inline{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;justify-content:center;position:static}
#s1 .tab-bar--inline .tab-btn{padding:8px 32px}
#s1 .tab-bar--folder{border-bottom:2px solid var(--primary);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex-wrap:wrap;gap:3px;margin-bottom:16px;padding:0 0 0 4px}
#s1 .tab-bar--folder .tab-btn{border:1.5px solid var(--border);background:var(--bg-tab);white-space:nowrap;border-bottom:none;border-radius:7px 7px 0 0;align-items:center;gap:5px;padding:7px 14px;display:inline-flex;position:relative;bottom:-2px}
#s1 .tab-bar--folder .tab-btn:hover{background:var(--accent-lavender-light);color:var(--primary);border-color:var(--primary-light)}
#s1 .tab-bar--folder .tab-btn.active{background:var(--bg-card);color:var(--primary-dark);border-color:var(--primary);border-bottom-color:var(--bg-card);z-index:1;font-weight:700}
#s1 .dialog-overlay,#s1 .modal-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}
#s1 .modal-overlay{background:#0006;padding:16px}
#s1 .dialog-box{background:var(--bg-card);border-radius:var(--radius-3xl);text-align:center;width:100%;max-width:400px;box-shadow:var(--shadow-dialog);padding:36px 32px 28px;position:relative}
#s1 .dialog-box--sm,#s1 .dialog-box--pay{max-width:360px}
#s1 .modal{background:var(--bg-card);border-radius:var(--radius-2xl);width:100%;max-width:440px;max-height:90vh;box-shadow:var(--shadow-modal);text-align:left;flex-direction:column;display:flex;overflow:hidden}
#s1 .modal--sm{max-width:440px}
#s1 .modal--md{max-width:640px}
#s1 .modal--lg,#s1 .modal--wide{max-width:960px}
#s1 .modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}
#s1 .modal-title,#s1 .dialog-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}
#s1 .dialog-title{margin-bottom:12px;font-size:20px;font-weight:700}
#s1 .modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:0;transition:background .15s,color .15s;display:inline-flex}
#s1 .modal-close:hover{background:var(--bg-muted);color:var(--text-secondary)}
#s1 .modal-close:after{content:"";background:currentColor;width:16px;height:16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") 50%/contain no-repeat}
#s1 .modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}
#s1 .modal-body--scroll{flex:1;min-height:0;max-height:none;overflow-y:auto}
#s1 .dialog-icon{justify-content:center;align-items:center;margin-bottom:16px;font-size:48px;line-height:1;display:flex}
#s1 .dialog-desc{color:var(--text-muted);margin:0 0 8px;font-size:15px;line-height:1.6}
#s1 .dialog-balance{color:var(--primary);font-weight:700}
#s1 .dialog-hint{color:var(--text-hint);margin:0 0 28px;font-size:14px}
#s1 .dialog-actions{justify-content:center;gap:12px;display:flex}
#s1 .dialog-actions .btn-cancel,#s1 .dialog-actions .btn-close{flex:1;padding:10px 24px}
#s1 .dialog-actions .btn-primary,#s1 .dialog-actions .btn-confirm,#s1 .dialog-actions .btn-recharge{flex:2;padding:10px 24px}
#s1 .dialog-fade-enter-active,#s1 .dialog-fade-leave-active{transition:opacity .2s}
#s1 .dialog-fade-enter-active .dialog-box,#s1 .dialog-fade-leave-active .dialog-box,#s1 .dialog-fade-enter-active .modal,#s1 .dialog-fade-leave-active .modal{transition:transform .2s,opacity .2s}
#s1 .dialog-fade-enter-from,#s1 .dialog-fade-leave-to{opacity:0}
#s1 .dialog-fade-enter-from .dialog-box,#s1 .dialog-fade-leave-to .dialog-box,#s1 .dialog-fade-enter-from .modal,#s1 .dialog-fade-leave-to .modal{opacity:0;transform:scale(.94)translateY(8px)}
#s1 .section-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xs);padding:24px 26px 26px}
#s1 .block-title{color:var(--text-primary);letter-spacing:-.2px;margin:0 0 18px;font-size:15px;font-weight:700}
#s1 .main-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-2xl);box-sizing:border-box;width:100%;box-shadow:var(--shadow-xs);padding:24px 28px 32px}
#s1 .selectable-card{border:1.5px solid var(--border);border-radius:var(--radius-2xl);background:var(--bg-card);cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .2s,box-shadow .2s,background .2s}
#s1 .selectable-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}
#s1 .selectable-card.selected{border-color:var(--primary);background:var(--accent-lavender-light);box-shadow:0 0 0 3px var(--primary-ring)}
#s1 .split-panel{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;display:grid}
#s1 .empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;font-size:14px;display:flex}
#s1 .empty-icon{margin-bottom:4px;font-size:40px}
#s1 .pagination,#s1 .ledger-pages{justify-content:center;align-items:center;gap:12px;display:flex}
#s1 .pagination-info,#s1 .page-info{color:var(--text-muted);flex:1;font-size:14px}
#s1 .page-num{color:var(--text-secondary);font-size:14px}
#s1 .page-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;padding:6px 14px;font-size:14px;font-weight:500;transition:border-color .15s,color .15s,background .15s}
#s1 .page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
#s1 .page-btn:disabled{opacity:.4;cursor:not-allowed}
#s1 .page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}
#s1 .status-badge,#s1 .app-badge{border-radius:var(--radius-full);white-space:nowrap;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}
#s1 .app-badge--hot{color:#dc2626;background:#fee2e2}
#s1 .app-badge--new{color:#1d4ed8;background:#dbeafe}
#s1 .app-badge--free{background:var(--accent-lavender-light);color:var(--primary-dark)}
#s1 .app-badge--price{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}
#s1 .app-badge--paid,#s1 .badge--paid{color:#065f46;background:#d1fae5}
#s1 .app-badge--pending,#s1 .badge--pending{color:#92400e;background:#fef3c7}
#s1 .app-badge--failed,#s1 .badge--failed{color:#991b1b;background:#fee2e2}
#s1 .hero{background:var(--gradient-hero-alt);position:relative;overflow:hidden}
#s1 .hero-bg{pointer-events:none;background:radial-gradient(55% 60% at 15%,#2563eb2e 0%,#0000 70%),radial-gradient(45% 50% at 85% 30%,#8b5cf61a 0%,#0000 70%);position:absolute;inset:0}
#s1 .hero-content{text-align:center;max-width:720px;margin:0 auto;position:relative}
#s1 .hero-badge{border-radius:var(--radius-full);background:var(--primary-muted);border:1px solid var(--primary-border);color:var(--primary);margin-bottom:18px;padding:4px 14px;font-size:14px;font-weight:600;display:inline-block}
#s1 .hero-title{color:var(--primary-dark);letter-spacing:-1px;margin:0 0 14px;font-size:clamp(26px,5vw,44px);font-weight:700;line-height:1.15}
#s1 .hero-subtitle{color:var(--text-muted);margin:0 0 32px;font-size:16px;line-height:1.7}
#s1 .auth-page{min-height:calc(100vh - var(--site-banner-height,0px));background:var(--gradient-hero);justify-content:center;align-items:center;padding:80px 16px 40px;display:flex;position:relative;overflow:hidden auto}
#s1 .auth-page .hero-bg{background:radial-gradient(60% 50% at 20% 30%,#8b5cf62e 0%,#0000 70%),radial-gradient(50% 60% at 80% 70%,#8b5cf624 0%,#0000 70%),radial-gradient(40% 40% at 60% 20%,#8b5cf61f 0%,#0000 70%)}
#s1 .auth-card{background:var(--glass-bg);width:100%;max-width:420px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-3xl);box-shadow:var(--shadow-lg), 0 1px 0 #fffc inset;padding:40px 36px;position:relative}
#s1 .auth-header{text-align:center;margin-bottom:32px}
#s1 .auth-logo{object-fit:contain;width:56px;height:56px;margin-bottom:12px;display:inline-block}
#s1 .auth-title{color:var(--primary-dark);letter-spacing:-.4px;margin:0 0 6px;font-size:24px;font-weight:700}
#s1 .auth-subtitle{color:var(--text-muted);margin:0;font-size:14px}
#s1 .auth-form{flex-direction:column;gap:18px;display:flex}
#s1 .auth-page .form-input{border-color:var(--primary-border);background:#ffffffb3;padding:11px 14px}
#s1 .auth-page .form-input:focus{background:#ffffffe6;box-shadow:0 0 0 3px #2563eb1f}
#s1 .auth-card--wide{max-width:480px}
#s1 .auth-form .form-row{gap:12px}
#s1 .label-optional{color:var(--text-hint);font-size:12px;font-weight:400}
#s1 .captcha-row{grid-template-columns:minmax(0,1fr) 112px 40px;align-items:center;gap:10px;display:grid}
#s1 .captcha-input{text-transform:uppercase;letter-spacing:.08em;min-width:0}
#s1 .captcha-canvas-btn{border:1px solid var(--primary-border);border-radius:var(--radius-lg);cursor:pointer;background:#ffffffd9;padding:0;transition:border-color .15s,box-shadow .15s;overflow:hidden}
#s1 .captcha-canvas-btn:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}
#s1 .captcha-canvas-btn:disabled{opacity:.6;cursor:not-allowed}
#s1 .captcha-canvas{width:112px;height:44px;display:block}
#s1 .captcha-refresh-btn{border:1px solid var(--primary-border);border-radius:var(--radius-lg);width:40px;height:44px;color:var(--primary);cursor:pointer;background:#ffffffd9;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}
#s1 .captcha-refresh-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-muted)}
#s1 .captcha-refresh-btn:disabled,#s1 .form-input:disabled{opacity:.6;cursor:not-allowed}
#s1 .form-input::placeholder{color:var(--text-hint)}
#s1 .auth-footer{text-align:center;color:var(--text-muted);margin-top:24px;font-size:14px}
#s1 .auth-link{color:var(--primary);font-weight:600;text-decoration:none;transition:color .15s}
#s1 .auth-link:hover{color:var(--primary-dark);text-decoration:underline}
#s1 .page-shell{padding-top:var(--nav-height);min-height:calc(100vh - var(--site-banner-height,0px));background:var(--bg-page)}
#s1 .faq-list{border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}
#s1 .faq-item{border-bottom:1px solid var(--border-light);padding:16px 18px}
#s1 .faq-item:last-child{border-bottom:none}
#s1 .faq-q{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:600}
#s1 .faq-a{color:var(--text-muted);font-size:14px;line-height:1.6}
#s1 .coming-soon-page{min-height:calc(100vh - var(--header-offset));background:var(--bg-page-alt);justify-content:center;align-items:center;padding:40px 16px;display:flex}
#s1 .coming-soon-card{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-3xl);padding:60px 48px;box-shadow:0 4px 24px #0000000d}
#s1 .coming-soon-title{color:var(--text-primary);margin:0 0 8px;font-size:22px;font-weight:700}
#s1 .coming-soon-desc{color:var(--text-hint);margin:0;font-size:14px}
#s1 .dialog-box--pay{max-width:360px;padding:36px 32px 28px}
#s1 .dialog-service{background:var(--bg-muted);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex}
#s1 .service-label{color:var(--text-muted);font-size:13px}
#s1 .service-name{color:var(--text-primary);font-size:14px;font-weight:600}
#s1 .dialog-price-row{border-radius:var(--radius-lg);background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #1677ff2e;justify-content:space-between;align-items:center;margin-bottom:14px;padding:14px 16px;display:flex}
#s1 .price-label{color:var(--text-muted);font-size:13px}
#s1 .price-value{align-items:baseline;gap:2px;display:flex}
#s1 .price-symbol{color:var(--alipay);font-size:16px;font-weight:700}
#s1 .price-num{color:var(--alipay);letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1}
#s1 .dialog-actions .btn-cancel{flex:1;padding:12px}
#s1 .dialog-actions .btn-confirm{flex:2;padding:12px}
#s1 .qr-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}
#s1 .alipay-logo{border-radius:var(--radius-sm);color:var(--alipay);background:#e6f0ff;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}
#s1 .qr-price{color:var(--alipay);letter-spacing:-.5px;font-size:22px;font-weight:700}
#s1 .qr-payee{color:var(--text-primary);text-align:center;margin:0 0 12px;font-size:14px;font-weight:600}
#s1 .qr-wrap{flex-direction:column;align-items:center;gap:10px;margin-bottom:16px;display:flex}
#s1 .qr-img{border-radius:var(--radius-xl);border:2px solid var(--border);width:200px;height:200px;box-shadow:0 4px 16px #00000014}
#s1 .qr-scan-tip{color:var(--text-hint);align-items:center;gap:4px;font-size:12px;display:flex}
#s1 .countdown{color:var(--warning);margin-left:4px;font-weight:600}
#s1 .order-meta{background:var(--bg-muted);border-radius:var(--radius-lg);text-align:left;flex-direction:column;gap:8px;margin-bottom:14px;padding:12px 14px;display:flex}
#s1 .order-meta-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}
#s1 .order-meta-label{color:var(--text-hint);flex-shrink:0;font-size:12px}
#s1 .order-meta-val{color:var(--text-secondary);text-align:right;word-break:break-all;font-size:13px;font-weight:600}
#s1 .pay-error{border-radius:var(--radius-md);color:#dc2626;text-align:left;background:#fef2f2;border:1px solid #fecaca;margin:0 0 20px;padding:10px 14px;font-size:13px}
#s1 .spinner-wrap{justify-content:center;margin-bottom:16px;display:flex}
#s1 .big-spinner{border:4px solid #dbeafe;border-top-color:var(--alipay);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite ui-spin}
#s1 .paid-icon{background:var(--success);color:#fff;width:64px;height:64px;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}
@media (width<=900px){#s1 .form-row--3,#s1 .form-row--4,#s1 .form-row--5{grid-template-columns:1fr 1fr}}
@media (width<=640px){#s1 .split-panel,#s1 .form-row,#s1 .form-row--3{grid-template-columns:1fr}
#s1 .form-row--4{grid-template-columns:1fr 1fr}
#s1 .form-row--5{grid-template-columns:1fr}
#s1 .form-footer .btn-submit{width:100%;min-width:0}
#s1 .tabs .tab-btn,#s1 .tabs--pill .tab-btn{flex:1;padding:8px 10px}}
#s1 .auth-page .btn-submit{width:100%;min-height:46px;margin-top:4px;padding:12px}
#s1 .terms-row{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:10px;margin:4px 0 8px;font-size:13px;line-height:1.6;display:flex}
#s1 .terms-checkbox{accent-color:var(--primary);flex-shrink:0;margin-top:3px}
@media (width<=520px){#s1 .auth-card--wide{padding:32px 20px}
#s1 .auth-form .form-row{grid-template-columns:1fr}
#s1 .captcha-row{grid-template-columns:minmax(0,1fr) 112px 40px}}
@media (width<=480px){#s1 .auth-card{padding:32px 24px}
#s1 .section-block{padding:18px 16px 20px}
#s1 .checkbox-group{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}}
#s1 .admin-section{flex-direction:column;gap:16px;display:flex}
#s1 .action-msg{background:var(--accent-lavender-light);border:1px solid var(--accent-lavender-border);color:var(--accent-lavender-text);border-radius:var(--radius-lg);padding:10px 14px;font-size:13px;font-weight:500}
#s1 .toolbar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}
#s1 .filters-bar{flex-wrap:wrap;flex:1;gap:8px;display:flex}
#s1 .batch-bar{align-items:center;gap:8px;display:flex}
#s1 .filter-input,#s1 .filter-select{border:1px solid var(--border-strong);border-radius:var(--radius-md);height:36px;color:var(--text-primary);background:var(--bg-input);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);outline:none;padding:0 12px;font-size:13px}
#s1 .filter-input:hover,#s1 .filter-select:hover{border-color:var(--text-hint)}
#s1 .filter-input:focus,#s1 .filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring)}
#s1 .btn-search{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;cursor:pointer;height:36px;box-shadow:var(--shadow-xs), inset 0 1px 0 #ffffff24;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;padding:0 20px;font-size:13px;font-weight:600}
#s1 .btn-search:hover{box-shadow:var(--shadow-primary);transform:translateY(-1px)}
#s1 .btn-search:active{transform:translateY(0)}
#s1 .btn-search:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
#s1 .selected-hint{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}
#s1 .btn-batch{border-radius:var(--radius-md);cursor:pointer;height:32px;transition:background var(--dur-fast), opacity var(--dur-fast), transform var(--dur-fast);border:none;padding:0 12px;font-size:12px;font-weight:600}
#s1 .btn-batch:hover:not(:disabled){transform:translateY(-1px)}
#s1 .btn-batch:disabled{opacity:.5;cursor:not-allowed}
#s1 .btn-batch--red{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}
#s1 .btn-batch--blue{background:var(--primary-muted);color:var(--primary);border:1px solid var(--primary-border)}
#s1 .table-wrap{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-card);overflow-x:auto}
#s1 .data-table{border-collapse:collapse;background:var(--bg-card);width:100%;font-size:13px}
#s1 .data-table th{text-align:left;letter-spacing:.07em;text-transform:uppercase;color:var(--text-hint);background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:600}
#s1 .data-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:12px 14px}
#s1 .data-table tr:last-child td{border-bottom:none}
#s1 .data-table tbody tr{transition:background .12s}
#s1 .data-table tbody tr:hover td{background:var(--bg-subtle)}
#s1 .data-table tr.selected td{background:var(--accent-lavender-light)}
#s1 .data-table.data-table--price th:first-child,#s1 .data-table.data-table--price td:first-child,#s1 .data-table.data-table--price .td-actions{white-space:nowrap;width:1%}
#s1 .td-mono{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}
#s1 .td-username{color:var(--text-secondary);font-size:13px;font-weight:500}
#s1 .td-id{word-break:break-all}
#s1 .td-date{color:var(--text-hint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}
#s1 .td-points{color:var(--text-primary);font-weight:600}
#s1 .td-points--plus{color:var(--success)}
#s1 .td-points--minus{color:var(--danger)}
#s1 .td-center{text-align:center}
#s1 .td-loading,#s1 .td-empty{text-align:center;color:var(--text-hint);padding:48px 24px}
#s1 .td-loading:before{content:"";border:2px solid var(--primary-ring);border-top-color:var(--primary);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.7s linear infinite ui-spin;display:inline-block}
#s1 .type-tag{border-radius:var(--radius-full);background:var(--bg-tab);color:var(--text-secondary);letter-spacing:.02em;padding:3px 10px;font-size:11px;font-weight:600}
#s1 .action-btns{flex-wrap:wrap;gap:6px;display:flex}
#s1 .btn-action{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-fast);box-shadow:var(--shadow-xs);padding:5px 11px;font-size:12px;font-weight:500}
#s1 .btn-action:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}
#s1 .btn-action--red{color:var(--danger);border-color:var(--danger-border)}
#s1 .btn-action--red:hover{background:var(--danger-bg)}
#s1 .btn-action--blue{color:var(--primary);border-color:var(--primary-border)}
#s1 .btn-action--blue:hover{background:var(--primary-muted)}
#s1 .btn-action--green{color:var(--success);border-color:#0e9f6e4d}
#s1 .btn-action--green:hover:not(:disabled){background:var(--success-bg)}
#s1 .btn-action--green:disabled{opacity:.55;cursor:not-allowed}
#s1 .btn-action:disabled,#s1 .btn-action.is-busy{color:var(--text-hint);border-color:var(--border);background:var(--bg-subtle);opacity:1;cursor:not-allowed;box-shadow:none;transform:none}
#s1 .btn-action.is-busy,#s1 .btn-confirm.is-busy{justify-content:center;align-items:center;gap:6px;display:inline-flex}
#s1 .btn-confirm.is-busy,#s1 .btn-confirm:disabled.is-busy{color:#fff;opacity:1;cursor:not-allowed;box-shadow:none;background:#9ca3af;transform:none}
#s1 .btn-spin{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.65s linear infinite btn-spin}
@keyframes btn-spin{to{transform:rotate(360deg)}}
#s1 .detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}
#s1 .detail-item{flex-direction:column;gap:3px;display:flex}
#s1 .detail-item--full{grid-column:1/-1}
#s1 .detail-label{color:var(--text-hint);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}
#s1 .detail-val{color:var(--text-primary);word-break:break-all;font-size:14px;font-weight:500}
#s1 .detail-section{margin-top:8px}
#s1 .detail-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:12px;font-weight:700}
#s1 .detail-kv-grid{grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;display:grid}
#s1 .kv-key{color:var(--text-hint);white-space:nowrap;padding:2px 0;font-weight:600}
#s1 .kv-val{color:var(--text-primary);word-break:break-all;padding:2px 0}
#s1 .kv-val--pre{white-space:pre-wrap;font-family:var(--font-mono);font-size:12px}
#s1 .code-block{background:var(--ink-900);color:#e8e6e0;border-radius:var(--radius-md);font-size:12px;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;margin:0;padding:14px;overflow-x:auto}
#s1 .code-block--logs{max-height:200px;overflow-y:auto}
#s1 .try-card{border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:8px;overflow:hidden}
#s1 .try-card:last-child{margin-bottom:0}
#s1 .try-card-header{background:var(--bg-muted);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}
#s1 .try-card-body{grid-template-columns:auto 1fr;gap:4px 14px;padding:12px 14px;font-size:13px;display:grid}
#s1 .try-num{color:var(--text-secondary);font-weight:700}
#s1 .code-block--inline{border-radius:var(--radius-sm);max-height:120px;margin:0;padding:8px 10px;font-size:12px;overflow-y:auto}
#s1 .result-ok{color:var(--success);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}
#s1 .result-fail{color:var(--danger);align-items:center;gap:8px;margin:4px 0;font-weight:600;display:flex}
#s1 .fail-item{border-bottom:1px solid var(--border-light);gap:10px;padding:6px 0;font-size:14px;display:flex}
#s1 .fail-item:last-child{border-bottom:none}
#s1 .fail-reason{color:var(--text-muted)}
#s1 .status-dot{align-items:center;gap:7px;display:inline-flex}
#s1 .status-dot:before{content:"";border-radius:50%;flex-shrink:0;width:7px;height:7px}
#s1 .status-dot--ok:before{background:var(--success);box-shadow:0 0 0 3px #0e9f6e29}
#s1 .status-dot--warn:before{background:var(--warning);box-shadow:0 0 0 3px #d9770629}
#s1 .status-dot--err:before{background:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}
#s1 .empty-state{text-align:center;color:var(--text-hint);background:var(--bg-card);border:1px dashed var(--border-strong);border-radius:var(--radius-xl);padding:56px 24px}
#s1 .empty-state p{margin:0;font-size:14px}
#s1 .stat-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}
#s1 .stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:border-color var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);align-items:flex-start;gap:14px;padding:20px 22px;display:flex;position:relative}
#s1 .stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}
#s1 .stat-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}
#s1 .stat-icon svg{width:18px;height:18px}
#s1 .stat-val{color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.2}
#s1 .stat-label{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:500}
#s1 .section-title{color:var(--text-secondary);letter-spacing:-.01em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}
#s1 .section-title:before{content:"";background:var(--gradient-primary);border-radius:2px;flex-shrink:0;width:3px;height:14px}
#s1 .td-amount{color:var(--primary);font-variant-numeric:tabular-nums;font-weight:700}
#s1 .td-num{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:500}
#s1 .td-money{color:var(--success);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
#s1 .td-muted{color:var(--text-hint);font-size:12px}
#s1 .td-remark{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:12px;overflow:hidden}
#s1 .td-desc{color:var(--text-secondary);font-size:13px}
#s1 .td-placeholder{text-align:center;color:var(--text-hint);padding:48px}
#s1 .user-cell{align-items:center;gap:10px;display:flex}
#s1 .user-avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex;box-shadow:inset 0 1px #fff3}
#s1 .av-l2{background:linear-gradient(135deg,#4a9eda,#2b7bbb)}
#s1 .av-user{background:linear-gradient(135deg,#2bc48a,#0e9f6e)}
#s1 .user-name{color:var(--text-primary);font-size:13px;font-weight:600}
#s1 .user-id{color:var(--text-hint);font-size:11px;font-family:var(--font-mono)}
#s1 .parent-cell{align-items:center;gap:6px;display:flex}
#s1 .parent-name{color:var(--text-secondary);font-size:14px}
#s1 .w-full{box-sizing:border-box;width:100%}
#s1 .flex-1{flex:1}
#s1 .filters-bar .filter-input{min-width:160px}
#s1 .toast{background:var(--accent-lavender-light);border:1px solid var(--primary-border);color:var(--primary);border-radius:var(--radius-lg);padding:12px 16px;font-size:14px;font-weight:500}
#s1 .role-badge{border-radius:var(--radius-full);padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}
#s1 .role-badge--sm{padding:2px 8px;font-size:11px}
#s1 .tier-badge{border-radius:var(--radius-full);background:var(--accent-lavender-light);color:var(--primary);align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}
#s1 .tier-level-hint{opacity:.7;font-size:11px;font-weight:500}
#s1 .status--ok{background:var(--accent-lavender-light);color:var(--primary)}
#s1 .status--ban{background:var(--danger-bg);color:var(--danger)}
#s1 .amount-badge{border-radius:var(--radius-md);font-variant-numeric:tabular-nums;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}
#s1 .amount-in{color:#0b7d58;background:#0e9f6e1a}
#s1 .amount-out{background:var(--danger-bg);color:var(--danger)}
#s1 .modal-footer{border-top:1px solid var(--border-light);background:var(--bg-subtle);justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}
#s1 .modal-user{color:var(--text-muted);margin:0;font-size:14px}
#s1 .modal-err{color:var(--danger);margin:0;font-size:14px}
#s1 .modal-hint{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;display:flex}
#s1 .modal-note{color:var(--text-hint);margin:0;font-size:12px;line-height:1.5}
#s1 .btn-confirm{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-xs), inset 0 1px 0 #ffffff24;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;padding:9px 20px;font-size:13px;font-weight:600}
#s1 .btn-confirm:hover:not(:disabled){box-shadow:var(--shadow-primary);transform:translateY(-1px)}
#s1 .btn-confirm:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
#s1 .btn-confirm--red{background:linear-gradient(135deg, #e86a6a, var(--danger))}
#s1 .btn-order{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);cursor:pointer;color:var(--text-secondary);min-width:36px;transition:border-color var(--dur-fast), color var(--dur-fast);padding:8px 12px;font-size:14px}
#s1 .btn-order:hover{border-color:var(--primary);color:var(--primary)}
#s1 .btn-action--drill{color:#2b7bbb;border-color:#2b7bbb4d}
#s1 .btn-action--drill:hover{background:#2b7bbb12}
#s1 .btn-action--purple{color:var(--primary);border-color:var(--primary-border)}
#s1 .btn-action--purple:hover{background:var(--accent-lavender-light)}
#s1 .btn-action--indigo{color:#5a52e0;border-color:#5a52e04d}
#s1 .btn-action--indigo:hover{background:#5a52e012}
#s1 .btn-action--amber{color:#c47d0e;border-color:#c47d0e4d}
#s1 .btn-action--amber:hover{background:#d9770612}
#s1 .th-sort{color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;margin:0;padding:0;display:inline-flex}
#s1 .th-sort:hover,#s1 .th-sort--active{color:var(--primary)}
#s1 .th-sort__arrows{flex-direction:column;gap:2px;width:8px;display:inline-flex}
#s1 .th-sort__up,#s1 .th-sort__down{opacity:.28;border-left:3.5px solid #0000;border-right:3.5px solid #0000;width:0;height:0;display:block}
#s1 .th-sort__up{border-bottom:4px solid}
#s1 .th-sort__down{border-top:4px solid}
#s1 .th-sort__up.is-on,#s1 .th-sort__down.is-on{opacity:1}
#s1 .qa-card{padding:0;overflow:hidden}
#s1 .qa-card__head{border-bottom:1px solid var(--border-light);background:var(--bg-subtle);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}
#s1 .qa-card__title{margin:0}
#s1 .qa-card__body{flex-direction:column;gap:14px;padding:16px 18px;display:flex}
#s1 .qa-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}
#s1 .qa-estimate{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}
#s1 .qa-estimate__item{border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--bg-page);padding:12px 14px}
#s1 .qa-estimate__label{color:var(--text-hint);margin-bottom:4px;font-size:12px;display:block}
#s1 .qa-estimate__value{color:var(--text-primary);font-size:16px;font-weight:700}
#s1 .qa-estimate__item--hot .qa-estimate__value{color:var(--primary)}
#s1 .qa-chip-row{flex-wrap:wrap;gap:8px;display:flex}
#s1 .qa-table-scroll{border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;overflow-x:auto}
#s1 .qa-table-scroll .data-table{min-width:640px}
#s1 .qa-table-scroll .form-input,#s1 .qa-table-scroll .form-select{box-shadow:none;padding:7px 10px;font-size:13px}
#s1 .qa-table-scroll .data-table th{text-transform:none;letter-spacing:0;font-size:12px}
#s1 .qa-inline-range{align-items:center;gap:8px;display:flex}
#s1 .qa-inline-range .form-input{width:100%}
#s1 .form-range{width:100%;height:6px;box-shadow:none;accent-color:var(--primary);background:0 0;border:0;padding:0}
#s1 .qa-question{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-page);padding:12px 14px}
#s1 .qa-question__meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}
#s1 .qa-question__title{color:var(--text-primary);margin:0 0 8px;font-size:14px;font-weight:600}
#s1 .qa-svg-wrap{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-page);width:100%;padding:12px;overflow-x:auto}
#s1 .qa-list{margin:0 0 8px;padding-left:18px}
#s1 .qa-stack-sm{margin-top:8px}
#s1 .qa-stack-md{margin-top:10px}
#s1 .qa-chip--static{cursor:default;pointer-events:none}
#s1 .qa-switch-inline{align-items:center;gap:10px;min-height:42px;display:flex}
#s1 .qa-switch{cursor:pointer;flex-shrink:0;display:inline-flex;position:relative}
#s1 .qa-switch__input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}
#s1 .qa-switch__track{background:var(--border);border-radius:999px;width:40px;height:22px;transition:background .18s;display:block;position:relative}
#s1 .qa-switch__thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000002e}
#s1 :is(.qa-switch--on .qa-switch__track,.qa-switch:has(.qa-switch__input:checked) .qa-switch__track){background:var(--primary)}
#s1 :is(.qa-switch--on .qa-switch__thumb,.qa-switch:has(.qa-switch__input:checked) .qa-switch__thumb){transform:translate(18px)}
#s1 .qa-col-op{text-align:center;white-space:nowrap;width:88px}
#s1 .qa-config-table .form-input,#s1 .qa-config-table .form-select{min-width:0}
#s1 .qa-slider{align-items:center;gap:10px;min-width:160px;display:flex}
#s1 .qa-slider .form-range{flex:1;min-width:80px}
#s1 .qa-slider__num{flex-shrink:0;width:72px;padding:6px 8px}
#s1 .qa-stepper{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);align-items:center;gap:0;display:inline-flex;overflow:hidden}
#s1 .qa-stepper__btn{background:var(--bg-subtle);width:30px;height:34px;color:var(--text-secondary);cursor:pointer;border:none;font-size:16px;line-height:1}
#s1 .qa-stepper__btn:hover{background:var(--primary-muted);color:var(--primary)}
#s1 .qa-stepper__input{text-align:center;width:48px;box-shadow:none!important;border:none!important;border-radius:0!important;padding:6px 4px!important}
#s1 .qa-diff{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-page);flex-direction:column;gap:12px;padding:14px;display:flex}
#s1 .qa-diff__toolbar{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}
#s1 .qa-diff__toolbar-actions{align-items:center;gap:8px;padding-bottom:1px;display:flex}
#s1 .qa-diff__summary{color:var(--primary);margin:0;font-size:13px;font-weight:500}
#s1 .qa-board{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}
#s1 .qa-board__card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-direction:column;gap:8px;min-height:120px;padding:10px;display:flex}
#s1 .qa-board__card--pool{border-color:var(--primary-border,var(--primary));background:var(--primary-muted)}
#s1 .qa-board__card-head{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}
#s1 .qa-board__name{flex:1;min-width:64px;font-size:13px;font-weight:600;padding:4px 8px!important}
#s1 .qa-board__shift{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}
#s1 .qa-board__shift .form-input{width:64px;padding:4px 6px!important}
#s1 .qa-board__chips{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;min-height:40px;display:flex}
#s1 .qa-tag{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}
#s1 .qa-tag:active{cursor:grabbing}
#s1 .qa-tag--active{border-color:var(--primary);background:var(--primary-muted);color:var(--primary)}
#s1 .qa-qf-pool{margin-bottom:4px}
#s1 .qa-qf-dims{margin-top:4px}
#s1 .qa-qf-rev{color:var(--danger);margin-left:4px;font-size:11px;font-weight:700}
#s1 .qa-fill-params{align-items:center;gap:6px;min-width:240px;display:flex}
#s1 .qa-fill-params .form-input{flex:1;min-width:0}
@media (width<=900px){#s1 .qa-card__head{flex-direction:column;align-items:flex-start}
#s1 .qa-diff__toolbar{grid-template-columns:1fr}
#s1 .qa-diff__toolbar-actions{justify-content:flex-start}}
@media (width<=640px){#s1 .questionnaire-tool .form-footer>.btn{width:100%}}
#s1 #app{min-height:100vh}
#s1 .top-nav{z-index:1000;height:var(--nav-height);padding:0 20px;padding-top:env(safe-area-inset-top,0px);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);position:fixed;top:0;left:0;right:0;box-shadow:inset 0 1px #ffffff80}
#s1 .top-nav--scrolled{background:var(--glass-bg);-webkit-backdrop-filter:none;border-bottom-color:var(--glass-border);box-shadow:inset 0 1px #ffffff80,0 8px 32px #1d1b160f}
#s1 .nav-inner{align-items:center;max-width:1440px;height:100%;margin:0 auto;display:flex}
#s1 .nav-brand{color:var(--text-primary);transition:opacity var(--dur-fast);flex-shrink:0;align-items:center;gap:9px;margin-right:20px;text-decoration:none;display:inline-flex}
#s1 .nav-brand:hover{opacity:.75}
#s1 .brand-logo{object-fit:contain;flex-shrink:0;width:32px;height:32px}
#s1 .brand-text{height:32px;line-height:1;font-family:var(--font-heading);letter-spacing:.04em;align-items:center;font-size:18px;font-weight:700;display:inline-flex}
#s1 .nav-links{scrollbar-width:none;-ms-overflow-style:none;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:0 4px;display:flex;overflow-x:auto}
#s1 .nav-links::-webkit-scrollbar{display:none}
#s1 .nav-item{border-radius:var(--radius-full);color:var(--text-secondary);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex-shrink:0;align-items:center;gap:4px;padding:7px 12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}
#s1 .nav-item:hover{color:var(--text-primary);background:#1d1b160d}
#s1 .nav-item.router-link-active{background:var(--primary-muted);color:var(--primary);font-weight:600}
#s1 .badge{border-radius:var(--radius-full);letter-spacing:.02em;vertical-align:middle;flex-shrink:0;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.5;display:inline-flex}
#s1 .badge--hot{color:#c73e3e;background:#fdeaea;border:1px solid #d5484829}
#s1 .badge--free{background:var(--primary-muted);color:var(--primary);border:1px solid var(--primary-border)}
#s1 .badge--blue{background:var(--accent-lavender-light);color:var(--primary);border:1px solid var(--primary-border);font-size:9px}
#s1 .badge--earn{background:var(--gold-soft);color:var(--gold);border:1px solid var(--gold-border)}
#s1 .badge--deal{color:#c2410c;background:#fff1e8;border:1px solid #f0512c33}
#s1 .nav-item--promo{color:var(--gold);font-weight:600}
#s1 .nav-item--promo:hover,#s1 .nav-item--promo.router-link-active{background:var(--gold-soft);color:var(--gold)}
#s1 .nav-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}
#s1 .nav-points{border-radius:var(--radius-full);background:var(--gold-soft);border:1px solid var(--gold-border);color:var(--gold);white-space:nowrap;transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);align-items:center;gap:5px;padding:6px 13px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}
#s1 .nav-points:hover{box-shadow:var(--shadow-gold);transform:translateY(-1px)}
#s1 .points-recharge{color:var(--gold);opacity:.75;border-left:1px solid var(--gold-border);margin-left:2px;padding-left:7px;font-size:12px;font-weight:600}
#s1 .points-icon{color:var(--gold);flex-shrink:0}
#s1 .points-val{letter-spacing:-.02em;font-variant-numeric:tabular-nums}
#s1 .nav-username{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:13px;font-weight:500;overflow:hidden}
#s1 .btn-logout,#s1 .btn-login{border-radius:var(--radius-full);border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);background:0 0;padding:7px 15px;font-size:13px;font-weight:500;text-decoration:none}
#s1 .btn-logout:hover,#s1 .btn-login:hover{border-color:var(--text-hint);color:var(--text-primary);background:var(--bg-card)}
#s1 .btn-register{border-radius:var(--radius-full);color:var(--primary-fg);background:var(--gradient-primary);box-shadow:var(--shadow-xs), inset 0 1px 0 #ffffff29;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:8px 18px;font-size:13px;font-weight:600;text-decoration:none}
#s1 .btn-register:hover{box-shadow:none;transform:none}
#s1 .btn-register:active{box-shadow:var(--shadow-xs);transform:translateY(0)}
#s1 .btn-admin{border-radius:var(--radius-full);color:var(--text-secondary);border:1px solid var(--border-strong);transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);padding:7px 15px;font-size:13px;font-weight:600;text-decoration:none}
#s1 .btn-admin:hover,#s1 .btn-admin.router-link-active{background:var(--primary-muted);border-color:var(--primary-border);color:var(--primary)}
#s1 .nav-hamburger{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:var(--radius-full);width:38px;height:38px;box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;margin-left:8px;padding:8px;display:none}
#s1 .nav-hamburger span{background:var(--text-primary);width:16px;height:1.5px;transition:transform .28s var(--ease-out), opacity .2s;border-radius:2px;display:block}
#s1 .nav-hamburger.active span:first-child{transform:translateY(6.5px)rotate(45deg)}
#s1 .nav-hamburger.active span:nth-child(2){opacity:0}
#s1 .nav-hamburger.active span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}
#s1 .nav-overlay,#s1 .nav-drawer,#s1 .nav-actions--bar{display:none}
@media (width<=1100px){#s1 .top-nav{background:var(--glass-bg);-webkit-backdrop-filter:none;border-bottom-color:var(--glass-border);padding:0 12px}
#s1 .nav-hamburger{display:flex}
#s1 .nav-inner{justify-content:space-between;gap:8px}
#s1 .nav-brand{min-width:0;margin-right:0}
#s1 .nav-links--desktop,#s1 .nav-actions--desktop{display:none}
#s1 .nav-actions--bar{align-items:center;margin-left:auto;display:flex}
#s1 .nav-points--compact{padding:5px 11px}
#s1 .nav-points--compact .points-recharge{display:none}
#s1 .nav-overlay{inset:0;top:var(--header-offset);z-index:1001;-webkit-backdrop-filter:none;background:#17150f59;display:block;position:fixed}
#s1 .nav-drawer{top:var(--header-offset);z-index:1002;max-height:calc(100dvh - var(--header-offset));-webkit-overflow-scrolling:touch;background:var(--glass-bg);-webkit-backdrop-filter:none;border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;left:0;right:0;overflow-y:auto}
#s1 .nav-drawer .nav-links{flex-direction:column;flex:none;align-items:stretch;gap:2px;padding:14px 16px 8px;display:flex;overflow:visible}
#s1 .nav-drawer .nav-item{border-radius:var(--radius-xl);white-space:normal;color:var(--text-primary);opacity:0;animation:drawer-item-in-c0687402 .4s var(--ease-out) forwards;animation-delay:calc(30ms * var(--i,0));padding:12px 16px;font-size:15px;transform:translateY(-8px)}
@keyframes drawer-item-in-c0687402{to{opacity:1;transform:translateY(0)}}
#s1 .nav-drawer-divider{background:var(--border);height:1px;margin:6px 20px}
#s1 .nav-actions--drawer{flex-direction:column;align-items:stretch;gap:8px;padding:10px 16px 22px;display:flex}
#s1 .nav-drawer .btn-admin,#s1 .nav-drawer .btn-login,#s1 .nav-drawer .btn-logout{color:var(--text-secondary);border-color:var(--border-strong);background:var(--bg-card)}
#s1 .nav-drawer .btn-register{color:var(--primary-fg);background:var(--gradient-primary)}
#s1 .btn-admin--drawer,#s1 .btn-login--drawer,#s1 .btn-logout--drawer,#s1 .btn-register--drawer{text-align:center;padding:12px 14px;font-size:15px;display:block}
#s1 .nav-points--drawer{justify-content:center;padding:11px 14px;font-size:14px}
#s1 .nav-username--drawer{text-align:center;color:var(--text-hint);max-width:none;padding:4px 0;font-size:13px;display:block}}
#s1 .drawer-enter-active{transition:opacity .32s var(--ease-out), transform .38s var(--ease-out)}
#s1 .drawer-leave-active{transition:opacity .2s,transform .24s}
#s1 .drawer-enter-from,#s1 .drawer-leave-to{opacity:0}
#s1 .drawer-enter-from.nav-drawer,#s1 .drawer-leave-to.nav-drawer{transform:translateY(-12px)}
@media (width<=640px){#s1 .brand-text{font-size:16px}
#s1 .brand-logo{width:28px;height:28px}}
@media (prefers-reduced-motion:reduce){#s1 .nav-drawer .nav-item{opacity:1;animation:none;transform:none}
#s1 .drawer-enter-active,#s1 .drawer-leave-active{transition:none}}
#s1 .site-banner{top:var(--nav-height);z-index:990;background:var(--primary);color:#fff;backface-visibility:hidden;position:fixed;left:0;right:0;transform:translateZ(0);box-shadow:inset 0 1px #ffffff1f}
#s1 .site-banner__inner{width:100%;max-width:1440px;color:inherit;justify-content:center;align-items:center;gap:8px;margin:0 auto;padding:8px 20px;text-decoration:none;display:flex}
#s1 a.site-banner__inner:hover{opacity:.92}
#s1 .site-banner__icon{opacity:.92;flex-shrink:0}
#s1 .site-banner__text{letter-spacing:.01em;text-align:center;font-size:14px;font-weight:500;line-height:1.45}
#s1 .site-footer{background:var(--bg-card);border-top:1px solid var(--border);color:var(--text-secondary);position:relative;overflow:hidden}
#s1 .footer-inner{grid-template-columns:1.4fr 1fr 1fr 1fr 1.4fr;gap:32px;max-width:1200px;margin:0 auto;padding:64px 40px 48px;display:grid;position:relative}
#s1 .brand-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}
#s1 .footer-logo{object-fit:contain;width:34px;height:34px}
#s1 .footer-name{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.02em;font-size:19px;font-weight:700}
#s1 .footer-tagline{color:var(--text-muted);max-width:280px;margin:0 0 12px;font-size:13px;line-height:1.85}
#s1 .footer-company{color:var(--text-hint);letter-spacing:.02em;margin:0;font-size:12px}
#s1 .footer-col{flex-direction:column;gap:11px;display:flex}
#s1 .footer-col-title{color:var(--text-hint);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}
#s1 .footer-link{color:var(--text-muted);width:fit-content;transition:color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-size:14px;text-decoration:none}
#s1 .footer-link:hover{color:var(--primary);transform:translate(3px)}
#s1 .footer-link--btn{cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit}
#s1 .footer-notice{color:var(--text-hint);margin:0;font-size:12px;line-height:1.85}
#s1 .footer-bottom{border-top:1px solid var(--border-light)}
#s1 .footer-bottom-inner{max-width:1200px;color:var(--text-hint);flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;padding:20px 40px;font-size:12px;display:flex}
#s1 .footer-bottom-sep{background:var(--border-strong);width:1px;height:12px}
#s1 .footer-icp{color:var(--text-hint);transition:color var(--dur-fast);text-decoration:none}
#s1 .footer-icp:hover{color:var(--primary)}
@media (width<=1100px){#s1 .footer-inner{grid-template-columns:1fr 1fr 1fr}
#s1 .footer-col--notice{grid-column:1/-1}}
@media (width<=900px){#s1 .footer-inner{grid-template-columns:1fr 1fr;gap:32px;padding:48px 24px 36px}}
@media (width<=560px){#s1 .footer-inner{grid-template-columns:1fr}
#s1 .footer-bottom-inner{padding:18px 24px}}
#s1 .dialog-icon-badge{background:var(--primary-muted);width:52px;height:52px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}
#s1 .dialog-needed{color:var(--primary);font-weight:700}
#s1 .dialog-hint--deal{color:#c2410c;font-weight:600}
#s1 .error-badge{background:var(--danger-bg);width:52px;height:52px;color:var(--danger);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}
#s1 .cover-hint{background:var(--danger-bg,#fef2f2);color:var(--danger,#b91c1c);text-align:center;border-radius:8px;margin:10px 0 0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}
#s1 .cover-hint--pack{color:#1d4ed8;background:#eff6ff}
#s1 .dialog-box.dialog-box--pay.is-choose{text-align:left;max-width:400px;padding:22px 20px 12px}
#s1 .dialog-hint{margin-bottom:8px}
#s1 .pay-choose-title{text-align:center;margin-bottom:6px;font-size:18px}
#s1 .pay-choose-desc{color:#86909c;text-align:center;margin:0;font-size:13px;line-height:1.5}
#s1 .pay-packs{flex-direction:column;gap:8px;margin:16px 0;display:flex}
#s1 .pay-pack{appearance:none;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e6eb;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:2px 10px;width:100%;min-height:64px;padding:12px 14px;font-family:inherit;display:grid}
#s1 .pay-pack.is-on{background:#f2f7ff;border-color:#1677ff}
#s1 .pay-pack__title{align-items:center;gap:6px;min-width:0;display:flex}
#s1 .pay-pack__points{color:#1d2129;letter-spacing:-.2px;font-size:16px;font-weight:650}
#s1 .pay-pack__price{color:#1d2129;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}
#s1 .pay-pack.is-on .pay-pack__price{color:#1677ff}
#s1 .pay-pack__radio{box-sizing:border-box;background:#fff;border:1.5px solid #c9cdd4;border-radius:50%;grid-area:1/3/span 2;width:18px;height:18px}
#s1 .pay-pack.is-on .pay-pack__radio{border:5px solid #1677ff}
#s1 .pay-pack__meta{color:#86909c;grid-column:1/3;font-size:12px;line-height:1.4}
#s1 .pay-badge{color:#f77234;background:#fff3e8;border-radius:4px;align-items:center;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}
#s1 .pay-footer{flex-direction:column;align-items:stretch;display:flex}
#s1 .pay-go{color:#fff;letter-spacing:0;cursor:pointer;background:#1677ff;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;height:46px;margin:0;padding:0 16px;font-family:inherit;font-size:16px;font-weight:600;display:flex}
#s1 .pay-go:hover{background:#0e5fe0}
#s1 .pay-go:active{background:#0958d9}
#s1 .pay-cancel,#s1 .pay-link{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;display:inline-flex}
#s1 .pay-cancel{color:#4e5969;width:100%;height:40px;margin-top:2px;padding:0;font-size:14px;font-weight:400}
#s1 .pay-cancel:hover,#s1 .pay-link:hover{color:#1d2129}
#s1 .pay-links{justify-content:center;align-items:center;gap:8px;display:flex}
#s1 .pay-link{color:#86909c;height:36px;padding:0 12px;font-size:14px;font-weight:400}
#s1 .pay-links .pay-link+.pay-link{box-shadow:inset 1px 0 #e5e6eb}
#s1 .coupon-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e6eb;border-radius:10px;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}
#s1 .coupon-row.is-on{background:#f2f7ff;border-color:#1677ff}
#s1 .coupon-mark{color:#fff;text-align:center;background:#1677ff;border-radius:4px;flex:none;width:22px;height:22px;font-size:12px;font-weight:700;line-height:22px}
#s1 .coupon-copy{flex:1;min-width:0}
#s1 .coupon-name{color:#1d2129;font-size:14px;font-weight:600;display:block}
#s1 .coupon-sub{color:#86909c;margin-top:2px;font-size:12px;line-height:1.4;display:block}
#s1 .coupon-switch{background:#e5e6eb;border-radius:999px;flex:none;width:36px;height:22px;position:relative}
#s1 .coupon-switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px}
#s1 .coupon-row.is-on .coupon-switch{background:#1677ff}
#s1 .coupon-row.is-on .coupon-switch:after{left:16px}
#s1 .pay-due{color:#4e5969;align-items:baseline;gap:8px;margin:14px 0 4px;font-size:13px;display:flex}
#s1 .pay-due strong{color:#1d2129;font-size:20px;font-weight:700}
#s1 .pay-due-save{color:#f77234;margin-left:auto;font-size:12px;font-weight:600}
#s1 .pay-short{color:#86909c;text-align:center;margin:0 0 8px;font-size:13px}
#s1 .modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:10px;padding:12px 20px 20px;display:flex}
#s1 .bill{padding:4px 4px 0}
#s1 .bill__row{min-height:36px;color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}
#s1 .bill__num{font-variant-numeric:tabular-nums;color:var(--text-primary)}
#s1 .bill__coupon{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin:4px 0;padding:10px 8px;display:flex}
#s1 .bill__coupon.is-on{background:#f2f7ff}
#s1 .bill__check{color:#fff;box-sizing:border-box;background:#fff;border:1.5px solid #c9cdd4;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}
#s1 .bill__coupon.is-on .bill__check{background:#1677ff;border-color:#1677ff}
#s1 .bill__copy{flex:1;min-width:0}
#s1 .bill__name{color:var(--text-primary);font-size:14px;font-weight:600;display:block}
#s1 .bill__sub{color:var(--text-hint);margin-top:2px;font-size:12px;display:block}
#s1 .bill__delta{font-variant-numeric:tabular-nums;color:var(--text-hint);flex:none;font-size:14px;font-weight:600}
#s1 .bill__coupon.is-on .bill__delta{color:#f77234}
#s1 .bill__row.is-due{border-top:1px solid var(--border-light);color:var(--text-primary);margin-top:8px;padding-top:12px}
#s1 .bill__row.is-due strong{font-size:22px;font-weight:700}
#s1 .bill__actions{flex-direction:column;margin-top:16px;display:flex}
#s1 .bill__go{color:#fff;height:46px;font:inherit;cursor:pointer;background:#1677ff;border:none;border-radius:8px;font-size:16px;font-weight:600}
#s1 .bill__go:hover{background:#0e5fe0}
#s1 .bill__cancel{color:#4e5969;height:40px;font:inherit;cursor:pointer;background:0 0;border:none;margin-top:2px;font-size:14px}
#s1 .float-panel{z-index:90;animation:.35s cubic-bezier(.34,1.4,.64,1) both slideIn-df21a78d;position:fixed;bottom:28%;right:0}
@keyframes slideIn-df21a78d{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}
#s1 .float-panel-inner{flex-direction:column;gap:8px;padding:8px 0 8px 8px;display:flex}
#s1 .float-btn{border:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;box-shadow:var(--shadow-md);color:var(--text-primary);transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);border-radius:999px 0 0 999px;align-items:center;gap:8px;padding:8px 16px 8px 10px;display:flex}
#s1 .float-btn:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-border);transform:translate(-5px)}
#s1 .float-btn:active{transition-duration:60ms;transform:translate(-2px)}
#s1 .float-btn-icon-wrap{background:var(--primary-muted);border:1px solid var(--primary-border);width:30px;height:30px;color:var(--primary);transition:background var(--dur-med) var(--ease-out), color var(--dur-med) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:flex}
#s1 .float-btn:hover .float-btn-icon-wrap{background:var(--gradient-primary);color:#fff}
#s1 .float-btn-label{white-space:nowrap;font-size:12px;font-weight:600}
#s1 .cs-body{flex-direction:column;align-items:center;gap:14px;min-height:160px;padding:4px 0 8px;display:flex}
#s1 .cs-hint{color:var(--text-secondary);text-align:center;margin:0;font-size:13px}
#s1 .cs-frame{aspect-ratio:1;border:1px solid var(--border);background:var(--bg-card);border-radius:12px;justify-content:center;align-items:center;width:min(240px,72vw);display:flex;overflow:hidden}
#s1 .cs-img{object-fit:contain;width:100%;height:100%;display:block}
#s1 .cs-loading{color:var(--text-muted);padding:48px 0;font-size:13px}
#s1 .cs-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 8px 12px;display:flex}
#s1 .cs-empty__icon{color:var(--primary);opacity:.85;margin-bottom:4px}
#s1 .cs-empty__title{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}
#s1 .cs-empty__desc{color:var(--text-secondary);max-width:260px;margin:0;font-size:13px;line-height:1.5}
#s1 .cs-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}
#s1 .cs-btn--ghost{color:var(--primary);border:1px solid var(--border);background:0 0}
#s1 .page-fade-enter-active{transition:opacity .32s var(--ease-out,cubic-bezier(.22, 1, .36, 1)), transform .32s var(--ease-out,cubic-bezier(.22, 1, .36, 1))}
#s1 .page-fade-leave-active{left:0;right:0;top:var(--header-offset);pointer-events:none;width:100%;transition:opacity .16s;position:absolute}
#s1 .page-fade-enter-from,#s1 .page-fade-leave-to{opacity:0;transform:none}
@media (prefers-reduced-motion:reduce){#s1 .page-fade-enter-active,#s1 .page-fade-leave-active{transition:none}}
#s1 .site-banner-spacer{height:var(--site-banner-height,0px);pointer-events:none}
#s1 .agent-page,#s1 .agent-ui,#s1 .mcp-page{--primary:var(--accent);--primary-dark:var(--navy-deep);--primary-light:#4a7fd4;--primary-fg:#fff;--primary-muted:var(--accent-soft);--primary-border:#2a5fbd47;--primary-ring:var(--accent-soft);--danger:#ef4444;--danger-bg:#ef444414;--danger-border:#ef444433;--success:#059669;--success-bg:#ecfdf5;--warning:#f59e0b;--text-primary:var(--ink);--text-secondary:var(--ink-soft);--text-muted:var(--muted);--text-hint:var(--faint);--text-inverse:#fff;--bg-page:var(--page);--bg-page-alt:#e8eef5;--bg-card:var(--surface);--bg-muted:#eef2f7;--bg-subtle:#f7f9fc;--bg-input:#fff;--border:var(--line);--border-light:#1a24380d;--border-strong:var(--line-strong);--radius-sm:.4rem;--radius-2xl:var(--radius-xl);--radius-3xl:1.75rem;--radius-full:999px;--shadow-xs:0 1px 2px #1e325a0a;--shadow-sm:var(--shadow-soft);--shadow-md:var(--shadow);--shadow-lg:0 16px 40px #1e325a1a;--shadow-primary:0 6px 18px #2a5fbd38;--gradient-primary:linear-gradient(145deg, #3a72d4, var(--navy));--font-sans:var(--font-body);--font-heading:var(--font-display);--nav-height:0px}
#s1 .agent-sidebar{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}
#s1 .agent-sidebar__head{justify-content:space-between;align-items:center;gap:.5rem;padding:.85rem .9rem .55rem;display:flex}
#s1 .agent-sidebar__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);font-size:.92rem;font-weight:700}
#s1 .agent-sidebar__close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.7rem;justify-content:center;align-items:center;display:none}
#s1 .agent-sidebar__close:hover{color:var(--ink);background:#2a5fbd14}
#s1 .agent-sidebar__new{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);height:2.4rem;color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-soft);justify-content:center;align-items:center;gap:.45rem;margin:.35rem .75rem .65rem;font-size:.88rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}
#s1 .agent-sidebar__new:hover:not(:disabled){color:var(--navy);background:#fff;border-color:#2a5fbd47}
#s1 .agent-sidebar__new--disabled,#s1 .agent-sidebar__new:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
#s1 .agent-sidebar__search{margin:.15rem .75rem .65rem;display:block}
#s1 .agent-sidebar__search-input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface,#fff);width:100%;height:2.2rem;color:var(--ink);font:inherit;padding:0 .75rem;font-size:.82rem}
#s1 .agent-sidebar__search-input:focus{border-color:#2a5fbd59;outline:none}
#s1 .agent-sidebar__list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;min-height:0;padding:.15rem .55rem 1rem;overflow-y:auto}
#s1 .agent-sidebar__list:hover{scrollbar-color:#1a243847 transparent}
#s1 .agent-sidebar__empty{color:var(--muted);text-align:center;margin:1rem .5rem;font-size:.82rem;line-height:1.55}
#s1 .agent-sidebar__track{position:relative}
#s1 .agent-sidebar__active-pill{border-radius:var(--radius-md);pointer-events:none;opacity:0;z-index:0;will-change:top,height,opacity;background:#2a5fbd1a;border:1px solid #2a5fbd2e;height:2.4rem;position:absolute;top:0;left:0;right:0}
#s1 .agent-sidebar__item{z-index:1;border-radius:var(--radius-md);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:row;align-items:center;gap:.55rem;margin-bottom:.2rem;padding:.55rem 1.9rem .55rem .7rem;display:flex;position:relative}
#s1 .agent-sidebar__item:hover:not(.active){background:#ffffff8c}
#s1 .agent-sidebar__item.active{color:var(--navy)}
#s1 .agent-sidebar__item.active .agent-sidebar__item-title{font-weight:620}
#s1 .agent-sidebar__item-busy{background:#7ea2db;border-radius:999px;flex-shrink:0;width:.5rem;height:.5rem;animation:1.6s ease-out infinite agent-busy-pulse-f49b3df7;box-shadow:0 0 #7ea2db80}
#s1 .agent-sidebar__item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.86rem;font-weight:560;line-height:1.3;overflow:hidden}
@keyframes agent-busy-pulse-f49b3df7{0%{box-shadow:0 0 #7ea2db80}70%{box-shadow:0 0 0 6px #7ea2db00}to{box-shadow:0 0 #7ea2db00}}
@media (prefers-reduced-motion:reduce){#s1 .agent-sidebar__item-busy{animation:none}}
#s1 .agent-sidebar__item-meta{color:var(--faint);white-space:nowrap;flex-shrink:0;font-size:.72rem;transition:opacity .15s}
#s1 .agent-sidebar__item-owner{color:var(--navy,#1e3a6e);margin-right:.35rem;font-weight:600}
#s1 .agent-sidebar__item-delete{width:1.45rem;height:1.45rem;color:var(--muted);border-radius:.45rem;justify-content:center;align-items:center;display:none;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}
#s1 .agent-sidebar__item:hover .agent-sidebar__item-delete,#s1 .agent-sidebar__item-delete:focus-visible{display:inline-flex}
#s1 .agent-sidebar__item:hover .agent-sidebar__item-meta{opacity:0}
#s1 .agent-sidebar__item-delete:hover{color:#dc2626;background:#ef44441f}
#s1 .agent-sidebar__more{border:1px dashed var(--line-strong);border-radius:var(--radius-md);width:100%;color:var(--muted);cursor:pointer;background:0 0;margin-top:.4rem;padding:.65rem;font-size:.78rem}
#s1 .agent-sidebar__more:hover:not(:disabled){color:var(--ink-soft);background:#ffffff8c}
#s1 .agent-sidebar__more:disabled{opacity:.5;cursor:not-allowed}
@media (width<=900px){#s1 .agent-sidebar__close{display:inline-flex}}
#s1 .markdown-body{color:#1f2937;word-break:break-word;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:15px;line-height:1.75}
#s1 .markdown-body img,#s1 .markdown-body video{max-width:100%;height:auto}
#s1 .markdown-body table{max-width:100%;display:block;overflow-x:auto}
#s1 .markdown-body h1,#s1 .markdown-body h2,#s1 .markdown-body h3,#s1 .markdown-body h4{color:#111827;margin:1.4em 0 .6em;font-weight:700;line-height:1.35}
#s1 .markdown-body h1{font-size:1.5rem}
#s1 .markdown-body h2{font-size:1.25rem}
#s1 .markdown-body h3{font-size:1.1rem}
#s1 .markdown-body h4{font-size:1rem}
#s1 .markdown-body p,#s1 .markdown-body ul,#s1 .markdown-body ol,#s1 .markdown-body blockquote{margin:0 0 .9em}
#s1 .markdown-body ul,#s1 .markdown-body ol{padding-left:1.4em}
#s1 .markdown-body li+li{margin-top:.35em}
#s1 .markdown-body blockquote{border-left:3px solid var(--primary,#2a5fbd);background:var(--primary-muted,#e8f2fa);color:#4b5563;padding:.6em 1em}
#s1 .markdown-body code{background:#f3f4f6;border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}
#s1 .markdown-body pre{color:#f9fafb;background:#111827;border-radius:10px;margin:0 0 1em;padding:14px 16px;overflow-x:auto}
#s1 .markdown-body pre code{color:inherit;background:0 0;padding:0}
#s1 .markdown-body hr{border:none;border-top:1px solid #e5e7eb;margin:1.5em 0}
#s1 .markdown-body a{color:var(--primary,#2a5fbd);text-decoration:underline}
#s1 .markdown-body strong{color:#111827;font-weight:700}
#s1 .markdown-body .markdown-file-badge{border-radius:var(--radius-full,999px);background:var(--primary-muted,#e8f2fa);color:var(--primary,#2a5fbd);white-space:nowrap;vertical-align:baseline;align-items:center;margin:0 1px;padding:1px 8px 1px 6px;font-size:.9em;font-weight:600;display:inline-flex}
@media (prefers-color-scheme:dark){#s1 .markdown-body{color:#e2e8f0}
#s1 .markdown-body h1,#s1 .markdown-body h2,#s1 .markdown-body h3,#s1 .markdown-body h4,#s1 .markdown-body strong{color:#f8fafc}
#s1 .markdown-body blockquote{color:#cbd5e1;background:#7c3aed1f}
#s1 .markdown-body code{color:#f1f5f9;background:#334155}
#s1 .markdown-body hr{border-top-color:#334155}}
#s1 .smooth-streaming-markdown{min-width:0;position:relative}
#s1 .smooth-streaming-markdown--active .markdown-body>:last-child{animation:1.25s ease-in-out infinite streaming-edge-highlight-a55b3080}
@keyframes streaming-edge-highlight-a55b3080{0%,to{filter:none;text-shadow:none}45%{filter:brightness(1.04);text-shadow:0 0 12px color-mix(in srgb,var(--primary) 16%,transparent)}}
@media (prefers-reduced-motion:reduce){#s1 .smooth-streaming-markdown--active .markdown-body>:last-child{animation:none}}
#s1 .agent-chip{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-card);cursor:pointer;text-align:left;isolation:isolate;align-items:center;gap:10px;width:208px;padding:8px;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex;position:relative;overflow:hidden}
#s1 .agent-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}
#s1 .agent-chip:active{transform:scale(.99)}
#s1 .agent-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
#s1 .agent-chip--downloading{cursor:default;border-color:var(--primary-border)}
#s1 .agent-chip__progress{z-index:0;border-radius:inherit;pointer-events:none;background:#dbeafe;transition:width .12s linear;position:absolute;top:0;bottom:0;left:0}
#s1 .agent-chip--indeterminate .agent-chip__progress{animation:1.1s ease-in-out infinite agent-chip-indeterminate-c31a3a87;width:40%!important}
@keyframes agent-chip-indeterminate-c31a3a87{0%{transform:translate(-100%)}to{transform:translate(350%)}}
#s1 .agent-chip__download{z-index:2;border-radius:var(--radius-md);background:var(--bg-page);width:20px;height:20px;color:var(--text-hint);opacity:0;cursor:pointer;border:none;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:inline-flex;position:absolute;top:5px;right:5px}
#s1 .agent-chip:hover .agent-chip__download,#s1 .agent-chip--downloading .agent-chip__download{opacity:1}
#s1 .agent-chip__download:hover:not(:disabled){background:var(--primary-muted);color:var(--primary)}
#s1 .agent-chip__download:disabled{cursor:default;color:var(--primary)}
#s1 .agent-chip__icon,#s1 .agent-chip__thumb,#s1 .agent-chip__info{z-index:1;position:relative}
#s1 .agent-chip__icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}
#s1 .agent-chip__thumb{border-radius:var(--radius-lg);background:var(--bg-page);flex-shrink:0;width:38px;height:38px;overflow:hidden}
#s1 .agent-chip__thumb img{object-fit:cover;width:100%;height:100%;display:block}
#s1 .agent-chip__thumb-placeholder{width:100%;height:100%;color:var(--text-hint);justify-content:center;align-items:center;display:flex}
#s1 .agent-chip__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}
#s1 .agent-chip__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}
#s1 .agent-chip__meta{color:var(--text-hint);align-items:center;gap:6px;font-size:11px;display:flex}
#s1 .agent-chip__badge{letter-spacing:.02em;font-weight:700}
#s1 .agent-chip__desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}
@media (width<=640px){#s1 .agent-chip{width:100%}
#s1 .agent-chip__download{opacity:1}}
#s1 .agent-bib-entry{min-width:0}
#s1 .agent-bib-entry__badge{width:100%;min-width:0;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:10px 12px;transition:background .15s,color .15s;display:flex}
#s1 .agent-bib-entry__badge:hover:not(:disabled),#s1 .agent-bib-entry__badge:focus-visible{color:var(--text-primary);background:#fafafa;outline:none}
#s1 .agent-bib-entry__badge--static{cursor:default}
#s1 .agent-bib-entry__title{min-width:90px;color:var(--ink,var(--text-primary));text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;font-weight:600;line-height:1.45;overflow:hidden}
#s1 .agent-bib-entry__author{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:0 34%;font-size:12px;overflow:hidden}
#s1 .agent-bib-entry__year{font-family:var(--font-num,inherit);font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0;font-size:12px}
#s1 .agent-bib-entry__chevron{color:var(--text-hint);flex-shrink:0;transition:transform .2s,color .16s}
#s1 .agent-bib-entry--expanded .agent-bib-entry__chevron{color:var(--ink,var(--text-primary));transform:rotate(180deg)}
#s1 .agent-bib-entry__details{background:#fff;border-top:1px solid #11182714;border-radius:0;flex-direction:column;gap:12px;margin:0;padding:12px 12px 14px;display:flex}
#s1 .agent-bib-entry__section h5{letter-spacing:0;color:var(--text-muted);margin:0 0 4px;font-size:12px;font-weight:600}
#s1 .agent-bib-entry__section p{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:12.5px;line-height:1.62}
#s1 .agent-bib-details-enter-active,#s1 .agent-bib-details-leave-active{transform-origin:top;transition:opacity .18s,transform .18s}
#s1 .agent-bib-details-enter-from,#s1 .agent-bib-details-leave-to{opacity:0;transform:translateY(-4px)scaleY(.98)}
@media (width<=640px){#s1 .agent-bib-entry__author{display:none}}
@media (prefers-reduced-motion:reduce){#s1 .agent-bib-entry__badge,#s1 .agent-bib-entry__chevron,#s1 .agent-bib-details-enter-active,#s1 .agent-bib-details-leave-active{transition:none}}
#s1 .agent-bib-list{flex-direction:column;gap:8px;display:flex}
#s1 .agent-bib-list__item{will-change:transform,opacity;background:#fff;border:1px solid #11182714;border-radius:8px;min-width:0;overflow:hidden}
#s1 .agent-bib-list__item:has(.agent-bib-entry--expanded){border-color:#11182724}
#s1 .agent-bib-list__empty{color:var(--text-hint);margin:0;font-size:12.5px}
@media (prefers-reduced-motion:reduce){#s1 .agent-bib-list__item{will-change:auto}}
#s1 .agent-task{max-width:min(640px,100%)}
#s1 .agent-task__status{border-radius:var(--radius-md);color:var(--text-muted);align-items:center;gap:6px;margin:0 -6px;padding:4px 6px;font-size:13px;line-height:1.5;display:inline-flex}
#s1 .agent-task__status--clickable{cursor:pointer;transition:background .15s}
#s1 .agent-task__status--clickable:hover,#s1 .agent-task__status--clickable:focus-visible{background:var(--bg-muted)}
#s1 .agent-task__status--active{color:var(--primary)}
#s1 .agent-task__status--draft{color:#d97706}
#s1 .agent-task__status--ok{color:var(--text-secondary)}
#s1 .agent-task__status--ok svg{color:#16a34a;flex-shrink:0}
#s1 .agent-task__status--bad{color:#dc2626}
#s1 .agent-task__status--muted{color:var(--text-hint)}
#s1 .agent-task__status--dim{color:var(--text-hint);font-size:12.5px}
#s1 .agent-task__spin{flex-shrink:0;animation:.8s linear infinite agent-task-spin-ccf217d1}
@keyframes agent-task-spin-ccf217d1{to{transform:rotate(360deg)}}
#s1 .agent-task__quota{color:var(--text-hint);margin:2px 6px 0;font-size:11px;line-height:1.4}
#s1 .agent-task__quick-head .agent-task__quota{margin:0 0 0 4px}
#s1 .agent-task__tag{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-hint);flex-shrink:0;padding:1px 7px;font-size:10.5px;font-weight:600}
#s1 .agent-task__tag--bad{color:#dc2626;background:#dc26261a}
#s1 .agent-task__tag--draft{color:#d97706;background:#d977061f}
#s1 .agent-task__detail-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:-2px;padding:0;display:inline-flex}
#s1 .agent-task__detail-btn:hover,#s1 .agent-task__detail-btn:focus-visible{background:var(--primary-muted);color:var(--primary);outline:none}
#s1 .agent-task__sub{color:var(--text-hint);margin:2px 6px 0;font-size:12px;line-height:1.5}
#s1 .agent-task__done{flex-direction:column;gap:8px;display:flex}
#s1 .agent-task__files{flex-wrap:wrap;gap:8px;display:flex}
#s1 .agent-task__bib{min-width:0;max-width:min(720px,100%)}
#s1 .agent-task__qa{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-page);flex-direction:column;gap:4px;padding:8px 10px;display:flex}
#s1 .agent-task__qa-q{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}
#s1 .agent-task__qa-q svg{color:var(--text-hint);flex-shrink:0}
#s1 .agent-task__qa-a{color:var(--text-primary);padding-left:20px;font-size:13px;line-height:1.6}
#s1 .agent-task__qa-a .markdown-body{font-size:13px;line-height:1.6}
#s1 .agent-task__qa-a p{margin:0 0 .5em}
#s1 .agent-task__qa-a p:last-child{margin-bottom:0}
#s1 .agent-task__qa-a--muted{color:var(--text-hint);align-items:center;gap:6px;display:inline-flex}
#s1 .agent-task__qa-a--bad{color:#dc2626}
#s1 .agent-task__quick-head{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}
#s1 .agent-task__quick-head svg{color:var(--primary);flex-shrink:0}
#s1 .agent-search{width:min(640px,100%);min-width:0;max-width:100%}
#s1 .agent-search__head{color:var(--text-muted);align-items:center;gap:6px;padding:4px 2px;font-size:13px;line-height:1.5;display:inline-flex}
#s1 .agent-search__head svg{flex-shrink:0}
#s1 .agent-search__list{flex-direction:column;gap:6px;margin-top:6px;display:flex}
#s1 .agent-search__item{border:1px solid var(--line,#1a24381a);border-radius:var(--radius-md);min-width:0;color:inherit;background:#ffffffdb;align-items:flex-start;gap:10px;padding:8px 10px;text-decoration:none;transition:border-color .15s,background .15s;display:flex;overflow:hidden}
#s1 .agent-search__item:hover{background:#fff;border-color:#2a5fbd47}
#s1 .agent-search__logo{background:var(--bg-muted,#eef1f6);width:22px;height:22px;color:var(--text-hint,#8a93a3);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}
#s1 .agent-search__logo img{object-fit:cover;width:100%;height:100%}
#s1 .agent-search__body{flex-direction:column;gap:2px;min-width:0;display:flex}
#s1 .agent-search__title{color:var(--navy,#1a2438);-webkit-line-clamp:2;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}
#s1 .agent-search__meta{color:var(--text-hint,#8a93a3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.4;overflow:hidden}
#s1 .agent-search__snippet{color:var(--text-muted,#5b6475);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}
#s1 .agent-rich-input{overscroll-behavior:contain;min-height:24px;max-height:160px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;outline:none;flex:1;padding:6px 0;font-family:inherit;font-size:15px;line-height:1.5;overflow-y:auto}
#s1 .agent-rich-input:empty:before{content:attr(data-placeholder);color:var(--text-hint);pointer-events:none}
#s1 .agent-rich-input--disabled{color:var(--text-hint);cursor:not-allowed;-webkit-user-select:none;user-select:none}
#s1 .agent-rich-input .agent-rich-input__badge{border-radius:var(--radius-full);background:var(--primary-muted);color:var(--primary);white-space:nowrap;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;align-items:center;max-width:280px;margin:0 1px;padding:1px 8px 1px 6px;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}
#s1 .agent-rich-input .agent-rich-input__badge--quote{font-weight:600}
#s1 .agent-rich-content{white-space:pre-wrap;word-break:break-word}
#s1 .agent-rich-content__text{white-space:pre-wrap}
#s1 .agent-rich-content__badge{border-radius:var(--radius-full);background:var(--primary-muted);color:var(--primary);white-space:nowrap;vertical-align:baseline;text-overflow:ellipsis;align-items:center;max-width:280px;margin:0 1px;padding:1px 8px 1px 6px;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}
#s1 .agent-att{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-page);isolation:isolate;align-items:center;gap:8px;max-width:220px;padding:6px 26px 6px 6px;transition:border-color .15s,background .15s;display:inline-flex;position:relative;overflow:hidden}
#s1 .agent-att--downloading{border-color:var(--primary-border);cursor:default}
#s1 .agent-att__progress{z-index:0;border-radius:inherit;pointer-events:none;background:#dbeafe;transition:width .12s linear;position:absolute;top:0;bottom:0;left:0}
#s1 .agent-att--indeterminate .agent-att__progress{animation:1.1s ease-in-out infinite agent-att-indeterminate-e3913e36;width:40%!important}
@keyframes agent-att-indeterminate-e3913e36{0%{transform:translate(-100%)}to{transform:translate(350%)}}
#s1 .agent-att--user .agent-att__progress{background:#ffffff47}
#s1 .agent-att--compact{max-width:180px;padding:5px 24px 5px 5px}
#s1 .agent-att--user{background:#ffffff1f;border-color:#ffffff59}
#s1 .agent-att--interactive{cursor:pointer}
#s1 .agent-att--interactive:hover{border-color:var(--primary-border);background:var(--primary-muted)}
#s1 .agent-att--user.agent-att--interactive:hover{background:#fff3;border-color:#ffffff8c}
#s1 .agent-att--uploading{opacity:.85}
#s1 .agent-att--error{border-color:#dc262673}
#s1 .agent-att__remove,#s1 .agent-att__download{border:1px solid var(--border);background:var(--bg-card);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;z-index:2;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:3px;right:3px}
#s1 .agent-att__remove:hover,#s1 .agent-att__download:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}
#s1 .agent-att__download:disabled{cursor:default;color:var(--primary)}
#s1 .agent-att--user .agent-att__remove,#s1 .agent-att--user .agent-att__download{color:#fff;background:#00000040;border-color:#fff6}
#s1 .agent-att__status{z-index:1;border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-hint);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}
#s1 .agent-att--compact .agent-att__status{width:30px;height:30px}
#s1 .agent-att__status--error{color:#dc2626}
#s1 .agent-att__spinner{animation:.9s linear infinite agent-att-spin-e3913e36}
@keyframes agent-att-spin-e3913e36{to{transform:rotate(360deg)}}
#s1 .agent-att__thumb,#s1 .agent-att__icon{z-index:1;border-radius:var(--radius-md);flex-shrink:0;width:36px;height:36px;position:relative;overflow:hidden}
#s1 .agent-att--compact .agent-att__thumb,#s1 .agent-att--compact .agent-att__icon{width:30px;height:30px}
#s1 .agent-att__thumb img{object-fit:cover;width:100%;height:100%}
#s1 .agent-att__icon{justify-content:center;align-items:center;display:inline-flex;position:relative}
#s1 .agent-att__badge{letter-spacing:.02em;color:#fff;opacity:.92;background:currentColor;border-radius:3px;padding:0 3px;font-size:7px;font-weight:700;line-height:1.4;position:absolute;bottom:1px;right:1px}
#s1 .agent-att__meta{z-index:1;flex-direction:column;gap:1px;min-width:0;display:flex;position:relative}
#s1 .agent-att__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}
#s1 .agent-att--user .agent-att__name,#s1 .agent-att--user .agent-att__sub{color:#ffffffeb}
#s1 .agent-att__sub{color:var(--text-hint);font-size:10px}
#s1 .agent-att__sub--error{color:#dc2626}
#s1 .agent-att--user .agent-att__sub--error{color:#fecaca}
#s1 .agent-composer{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:.7rem;padding:1.05rem 1.05rem .85rem;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative}
#s1 .agent-composer:focus-within{box-shadow:0 0 0 3px var(--accent-soft),var(--shadow);border-color:#2a5fbd59}
#s1 .agent-composer--drag-over{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));box-shadow:0 0 0 3px var(--accent-soft),var(--shadow);border-style:dashed;border-color:#2a5fbd8c}
#s1 .agent-composer__drop-hint{z-index:2;border-radius:inherit;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--navy);pointer-events:none;justify-content:center;align-items:center;gap:.45rem;font-size:.92rem;font-weight:600;display:flex;position:absolute;inset:0}
#s1 .agent-composer--disabled{box-shadow:var(--shadow-soft);background:#ffffff8c}
#s1 .agent-composer--disabled:focus-within{border-color:var(--line);box-shadow:var(--shadow-soft)}
#s1 .agent-composer__attachments{flex-wrap:wrap;gap:.5rem;display:flex}
#s1 .agent-composer__row{align-items:flex-end;gap:.55rem;display:flex}
#s1 .agent-composer__attach{width:2.2rem;height:2.45rem;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex}
#s1 .agent-composer__attach:hover:not(:disabled){color:var(--ink-soft);background:#2a5fbd14}
#s1 .agent-composer__attach:disabled{opacity:.35;cursor:not-allowed}
#s1 .agent-composer__file-input{display:none}
#s1 .agent-composer__input{min-width:0;color:var(--ink);flex:1;font-size:1rem;line-height:1.55}
#s1 .agent-composer__send{background:linear-gradient(145deg,#3a72d4,var(--navy));color:#fff;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.45rem;height:2.45rem;transition:transform .15s,opacity .2s,filter .2s;display:inline-flex}
#s1 .agent-composer__send:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}
#s1 .agent-composer__send:disabled{opacity:.35;cursor:not-allowed}
#s1 .agent-composer__send--stop{background:var(--ink,#1a1a1a)}
#s1 .agent-chat{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow-x:hidden}
#s1 .agent-chat--drag-over{-webkit-user-select:none;user-select:none}
#s1 .agent-chat__drop-overlay{z-index:30;background:color-mix(in srgb,var(--bg-page) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}
#s1 .agent-chat__drop-card{border:2px dashed var(--primary);border-radius:var(--radius-2xl);background:var(--bg-card);width:min(420px,100%);color:var(--primary);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:36px 28px;display:flex}
#s1 .agent-chat__drop-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:600}
#s1 .agent-chat__drop-hint{color:var(--text-hint);font-size:13px}
#s1 .agent-drag-enter-active,#s1 .agent-drag-leave-active{transition:opacity .16s}
#s1 .agent-drag-enter-from,#s1 .agent-drag-leave-to{opacity:0}
#s1 .agent-chat__messages{overscroll-behavior:contain;scroll-behavior:auto;contain:layout;scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;min-width:0;padding:.5rem .1rem .75rem;overflow:hidden auto}
#s1 .agent-chat__messages:hover,#s1 .agent-chat__messages:focus-within{scrollbar-color:#1a243847 transparent}
#s1 .agent-chat__messages::-webkit-scrollbar{width:6px}
#s1 .agent-chat__messages::-webkit-scrollbar-track{background:0 0}
#s1 .agent-chat__messages::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}
#s1 .agent-chat__messages:hover::-webkit-scrollbar-thumb{background:#1a243847}
#s1 .agent-chat__messages:focus-within::-webkit-scrollbar-thumb{background:#1a243847}
#s1 .agent-chat__messages:hover::-webkit-scrollbar-thumb:hover{background:#1a24386b}
#s1 .agent-chat__messages:focus-within::-webkit-scrollbar-thumb:hover{background:#1a24386b}
#s1 .agent-chat__messages-inner{width:100%;min-width:0;max-width:760px;margin:0 auto}
#s1 .agent-chat__messages-end{pointer-events:none;width:100%;height:1px}
#s1 .agent-chat__load-error{border-radius:var(--radius-md);color:#dc2626;background:#ef444414;margin:0 0 12px;padding:10px 14px;font-size:13px}
#s1 .agent-chat__load-older{border:1px dashed var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-hint);cursor:pointer;background:0 0;margin:0 0 16px;padding:8px 12px;font-size:12.5px;display:block}
#s1 .agent-chat__load-older:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-secondary)}
#s1 .agent-chat__load-older:disabled{cursor:default;opacity:.7}
#s1 .agent-chat__row{min-width:0;max-width:100%;margin-bottom:16px;display:flex}
#s1 .agent-chat__row[data-live-status]{margin-top:-8px;margin-bottom:8px}
#s1 .agent-chat__row--user{justify-content:flex-end}
#s1 .agent-chat__row--assistant{justify-content:flex-start;min-width:0}
#s1 .agent-chat__col{flex-direction:column;max-width:min(720px,85%);display:flex;position:relative}
#s1 .agent-chat__col--user{align-items:flex-end;max-width:min(600px,85%)}
#s1 .agent-chat__col--assistant{align-items:flex-start;max-width:min(760px,94%)}
#s1 .agent-chat__bubble{background:0 0;max-width:100%;line-height:1.7}
#s1 .agent-chat__col--user .agent-chat__bubble{color:#fff;border-radius:var(--radius-lg);background:linear-gradient(155deg,#2a5fbd,#1e3a6e);border-bottom-right-radius:.4rem;padding:.85rem 1rem;font-size:.98rem;line-height:1.65}
#s1 .agent-chat__col--assistant .agent-chat__bubble{color:var(--ink);box-shadow:none;background:0 0;border:0;padding:2px 0;font-size:.98rem;line-height:1.65}
#s1 .agent-chat__col--user .agent-chat__bubble .markdown-body,#s1 .agent-chat__col--user .agent-chat__bubble p{color:#fff}
#s1 .agent-chat__col--user .agent-chat__bubble .agent-rich-content__badge{color:#fff;vertical-align:middle;background:#ffffff2e;border:1px solid #ffffff47;margin:2px}
#s1 .agent-chat__col--user .agent-chat__text{line-height:1.85}
#s1 .agent-chat__attachments{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}
#s1 .agent-chat__col--user .agent-chat__attachments{justify-content:flex-end;overflow:visible}
#s1 .agent-chat__bubble--typing{color:var(--text-muted);box-shadow:none;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;font-size:14px;display:inline-flex}
#s1 .agent-chat__live-shimmer{color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,#8b95a5 0% 38%,#f3f6fa 50%,#8b95a5 62% 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite agent-thinking-text-1c1362ea}
#s1 .agent-chat__spinner{color:#9aa6b8;animation:.8s linear infinite agent-spin-1c1362ea,1.65s ease-in-out infinite agent-thinking-icon-glow-1c1362ea}
@keyframes agent-spin-1c1362ea{to{transform:rotate(360deg)}}
@keyframes agent-thinking-text-1c1362ea{0%{background-position:100%}to{background-position:-100%}}
@keyframes agent-thinking-icon-glow-1c1362ea{0%,to{opacity:.55}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){#s1 .agent-chat__live-shimmer,#s1 .agent-chat__spinner{animation:none}
#s1 .agent-chat__live-shimmer{color:var(--text-muted);-webkit-text-fill-color:currentColor;background:0 0}}
#s1 .agent-chat__text{white-space:pre-wrap;word-break:break-word;margin:0;font-size:15px}
#s1 .agent-chat__row-actions{align-items:center;gap:6px;margin-top:4px;display:flex}
#s1 .agent-chat__row-actions--user{z-index:1;flex-direction:row-reverse;margin-top:0;position:absolute;bottom:-2px;right:0;transform:translateY(100%)}
#s1 .agent-chat__branch{align-items:center;gap:2px;display:inline-flex}
#s1 .agent-chat__edit-trigger--hoverable{opacity:0;transition:opacity .15s}
#s1 .agent-chat__row:hover .agent-chat__edit-trigger--hoverable{opacity:1}
#s1 .agent-chat__branch-btn{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}
#s1 .agent-chat__branch-btn:hover:not(:disabled){background:var(--primary-muted);color:var(--primary)}
#s1 .agent-chat__branch-btn:disabled{opacity:.35;cursor:not-allowed}
#s1 .agent-chat__branch-count{color:var(--text-hint);text-align:center;min-width:28px;font-size:11px}
#s1 .agent-chat__edit-trigger{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}
#s1 .agent-chat__edit-trigger:hover{background:var(--primary-muted);color:var(--primary)}
#s1 .agent-chat__edit-box{border-radius:var(--radius-lg);border:1px solid var(--primary-border);background:var(--bg-card);width:min(520px,100%);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:10px;display:flex}
#s1 .agent-chat__edit-textarea{min-height:48px;max-height:160px;padding:4px;font-size:14px}
#s1 .agent-chat__edit-actions{justify-content:flex-end;gap:8px;display:flex}
#s1 .agent-chat__edit-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);color:var(--text-secondary);cursor:pointer;align-items:center;gap:4px;padding:5px 10px;font-size:12px;display:inline-flex}
#s1 .agent-chat__edit-btn--primary{background:var(--gradient-primary);color:#fff;border-color:#0000}
#s1 .agent-chat__edit-btn:disabled{opacity:.5;cursor:not-allowed}
#s1 .agent-chat__input-bar{background:0 0;flex-shrink:0;padding:.5rem 0 .35rem}
#s1 .agent-chat__input-wrap{width:100%;min-width:0;max-width:760px;margin:0 auto}
#s1 .agent-chat__disclaimer{display:none}
#s1 .agent-chat__readonly-hint{color:var(--ink-soft,#64748b);text-align:center;margin:0;padding:.7rem 1rem 1rem;font-size:.78rem}
#s1 .agent-chat__send-error{color:#dc2626;text-align:center;margin:8px 4px 0;font-size:12px}
@media (width<=720px){#s1 .agent-chat__input-bar{padding:.35rem 0 .2rem}
#s1 .agent-chat__messages{padding:.75rem 0 .5rem}
#s1 .agent-chat__edit-trigger--hoverable{opacity:1}}
#s1 .agent-tree-ul{justify-content:center;margin:0;padding:20px 0 0;list-style:none;display:flex;position:relative}
#s1 .agent-tree-ul:before{content:"";border-left:1.5px solid var(--border-strong);width:0;height:20px;position:absolute;top:0;left:50%}
#s1 .agent-tree-li{flex-direction:column;align-items:center;padding:20px 14px 0;display:flex;position:relative}
#s1 .agent-tree-li:before,#s1 .agent-tree-li:after{content:"";border-top:1.5px solid var(--border-strong);width:50%;height:20px;position:absolute;top:0;right:50%}
#s1 .agent-tree-li:after{border-left:1.5px solid var(--border-strong);left:50%;right:auto}
#s1 .agent-tree-li:first-child:before{border:none}
#s1 .agent-tree-li:last-child:after{border-top:none}
#s1 .agent-tree-li:only-child{padding-top:0}
#s1 .agent-tree-li:only-child:before,#s1 .agent-tree-li:only-child:after{display:none}
#s1 .agent-tree-ul--root{padding-top:0}
#s1 .agent-tree-ul--root:before{display:none}
#s1 .agent-tree-ul--root>.agent-tree-li{padding-top:0}
#s1 .agent-tree-ul--root>.agent-tree-li:before,#s1 .agent-tree-ul--root>.agent-tree-li:after{display:none}
#s1 .agent-tnode{flex-direction:column;align-items:center;gap:4px;display:flex}
#s1 .agent-node{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;text-align:left;opacity:.72;align-items:center;gap:6px;width:168px;padding:8px 10px;transition:border-color .15s,box-shadow .15s,opacity .15s;display:flex}
#s1 .agent-node:hover{border-color:var(--primary-border)}
#s1 .agent-node--active{opacity:1;border-color:var(--primary-border)}
#s1 .agent-node--selected{box-shadow:0 0 0 2.5px var(--primary),var(--shadow-md)}
#s1 .agent-node--draft{opacity:1;border-style:dashed;border-color:#d97706}
#s1 .agent-node--busy{opacity:1;border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent);animation:1.8s ease-in-out infinite agent-node-breathe-c2a0e989}
#s1 .agent-node--bad{opacity:1;background:color-mix(in srgb,#dc2626 5%,var(--bg-card));border-color:#dc26268c;box-shadow:inset 0 0 0 1px #dc262614}
@keyframes agent-node-breathe-c2a0e989{0%,to{box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 14%,transparent)}50%{box-shadow:0 0 0 2.5px color-mix(in srgb,var(--primary) 22%,transparent)}}
@media (prefers-reduced-motion:reduce){#s1 .agent-node--busy{animation:none}}
#s1 .agent-node__icon{color:var(--text-hint);flex-shrink:0;display:inline-flex}
#s1 .agent-node--draft .agent-node__icon{color:#d97706}
#s1 .agent-node--bad .agent-node__icon{color:#dc2626}
#s1 .agent-node__spin{color:var(--primary);animation:.8s linear infinite agent-node-spin-c2a0e989}
@keyframes agent-node-spin-c2a0e989{to{transform:rotate(360deg)}}
#s1 .agent-node__desc{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}
#s1 .agent-node__tag{border-radius:var(--radius-full);color:#d97706;background:#d977061f;flex-shrink:0;padding:1px 5px;font-size:9.5px;font-weight:700}
#s1 .agent-node__queries{gap:4px;display:flex}
#s1 .agent-node__query{border:1px solid var(--border);background:var(--bg-muted);width:20px;height:20px;color:var(--text-hint);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}
#s1 .agent-node__query:hover{border-color:var(--primary-border);color:var(--primary)}
#s1 .agent-node__query--selected{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted)}
#s1 .agent-tree{flex-direction:column;gap:16px;display:flex}
#s1 .agent-tree__hint{color:var(--text-hint);margin:8px 4px;font-size:13px;line-height:1.6}
#s1 .agent-tree__hint--inline{margin:0;padding:10px 12px}
#s1 .agent-cluster{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-page);flex-direction:column;gap:10px;padding:12px;display:flex}
#s1 .agent-cluster__head{align-items:center;gap:8px;display:flex}
#s1 .agent-cluster__badge{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-hint);padding:2px 8px;font-size:11px;font-weight:700}
#s1 .agent-cluster__badge--active{background:var(--primary-muted);color:var(--primary-dark)}
#s1 .agent-cluster__count{color:var(--text-hint);font-size:11.5px}
#s1 .agent-cluster__dim-hint{color:var(--text-hint);margin-left:auto;font-size:10.5px}
#s1 .agent-cluster__canvas{overscroll-behavior-x:contain;padding-top:4px;padding-bottom:4px;overflow-x:auto}
#s1 .agent-cluster__canvas .agent-tree-ul--root{width:max-content;min-width:100%}
#s1 .agent-docx{width:100%;min-width:0;height:auto;overflow:hidden}
#s1 .agent-docx__pages{visibility:hidden;width:100%;height:auto;max-height:none;overflow:hidden!important}
#s1 .agent-docx .docx-wrapper{background:var(--page,#eef1f6);padding:20px 12px 12px}
#s1 .agent-docx section.docx{height:auto;overflow:visible!important}
#s1 .agent-docx__pages--pickable .agent-docx-pick{cursor:pointer;outline-offset:2px;border-radius:4px;outline:2px solid #0000;transition:outline-color .12s,background-color .12s}
#s1 .agent-docx__pages--pickable .agent-docx-pick:hover,#s1 .agent-docx__pages--pickable .agent-docx-pick--hit{background:color-mix(in srgb,var(--primary,#2a5fbd) 9%,transparent);outline-color:var(--primary-border,#2a5fbd47)}
#s1 .agent-docx__error{color:var(--text-hint);margin:0 0 12px;font-size:13px}
#s1 .agent-step{width:100%;min-width:0;position:relative}
#s1 .agent-step__stage{border-radius:var(--radius-md);background:#f3f1ec;width:100%;height:280px;overflow:hidden}
#s1 .agent-step__stage canvas{width:100%;height:100%;display:block}
#s1 .agent-step__overlay,#s1 .agent-step__error,#s1 .agent-step__hint{color:var(--text-hint);justify-content:center;align-items:center;gap:8px;margin:0;padding:8px 4px 0;font-size:12px;display:flex}
#s1 .agent-step__overlay{border-radius:var(--radius-md);background:#f3f1ecb8;position:absolute;inset:0 0 22px}
#s1 .agent-step__error{color:var(--text-secondary)}
#s1 .agent-step__spin{animation:.8s linear infinite agent-step-spin-fd728254}
@keyframes agent-step-spin-fd728254{to{transform:rotate(360deg)}}
#s1 .agent-progress-block{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-page);flex-direction:column;gap:10px;margin-top:4px;padding:10px 12px;display:flex}
#s1 .agent-progress-block__notice{color:var(--text-hint);margin:0;font-size:11.5px;line-height:1.5}
#s1 .agent-progress-block__timeline{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}
#s1 .agent-progress-block__item{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid #0000;transition:border-color .15s,background .15s}
#s1 .agent-progress-block__item--expanded{border-color:var(--border)}
#s1 .agent-progress-block__row-bar{align-items:stretch;display:flex}
#s1 .agent-progress-block__row{border-radius:var(--radius-md);text-align:left;cursor:pointer;min-width:0;color:var(--text-secondary);background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;line-height:1.4;transition:background .15s,color .15s;display:flex}
#s1 .agent-progress-block__row:hover:not(:disabled){background:var(--primary-muted);color:var(--text-primary)}
#s1 .agent-progress-block__row:disabled{cursor:default}
#s1 .agent-progress-block__dl{border-radius:var(--radius-md);width:32px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:2px 4px 2px 0;display:inline-flex}
#s1 .agent-progress-block__dl:hover{background:var(--primary-muted);color:var(--text-primary)}
#s1 .agent-progress-block__preview-shell--step{min-height:0}
#s1 .agent-progress-block__check{color:#16a34a;background:#16a34a1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}
#s1 .agent-progress-block__summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:550;overflow:hidden}
#s1 .agent-progress-block__chevron{color:var(--text-hint);flex-shrink:0;transition:transform .15s}
#s1 .agent-progress-block__item--expanded .agent-progress-block__chevron{transform:rotate(180deg)}
#s1 .agent-progress-block__detail{flex-direction:column;gap:8px;padding:0 10px 10px 36px;display:flex}
#s1 .agent-progress-block__csv-note{color:var(--text-hint);margin:0;font-size:11px}
#s1 .agent-progress-block__loading,#s1 .agent-progress-block__error,#s1 .agent-progress-block__hint,#s1 .agent-progress-block__empty{color:var(--text-hint);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}
#s1 .agent-progress-block__error{color:#dc2626}
#s1 .agent-progress-block__preview-shell{min-height:72px}
#s1 .agent-progress-block__pdf{border-radius:var(--radius-md);background:#525659;border:0;width:100%;height:72vh;min-height:min(72vh,860px);display:block}
#s1 .agent-progress-block__preview-shell--image{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);justify-content:center;align-items:center;min-height:168px;display:flex;position:relative;overflow:hidden}
#s1 .agent-progress-block__preview-shell--image .agent-progress-block__loading{background:color-mix(in srgb,var(--bg-page) 88%,transparent);z-index:1;justify-content:center;align-items:center;gap:6px;margin:0;display:flex;position:absolute;inset:0}
#s1 .agent-progress-block__img-btn{cursor:zoom-in;border-radius:var(--radius-md);background:0 0;border:none;width:100%;padding:0;display:block;overflow:hidden}
#s1 .agent-progress-block__img{object-fit:contain;border-radius:var(--radius-md);background:var(--bg-page);width:100%;max-height:280px;display:block}
#s1 .agent-progress-block__docx{color:var(--text-primary);word-break:break-word;max-height:420px;padding:12px 14px;font-size:13px;line-height:1.65;overflow:auto}
#s1 .agent-progress-block__docx p{margin:0 0 .7em}
#s1 .agent-progress-block__docx img{max-width:100%;height:auto}
#s1 .agent-progress-block__pre{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);white-space:pre-wrap;word-break:break-word;max-height:240px;margin:0;padding:8px 10px;font-size:11px;line-height:1.45;overflow:auto}
#s1 .agent-progress-block__pre--dark{color:#e5e7eb;background:#0b1220;border-color:#1f2937}
#s1 .agent-progress-block__csv-wrap{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);overflow:auto}
#s1 .agent-progress-block__csv-table{border-collapse:collapse;white-space:nowrap;width:100%;min-width:max-content;font-size:11px}
#s1 .agent-progress-block__csv-table th,#s1 .agent-progress-block__csv-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:4px 8px}
#s1 .agent-progress-block__refs-list{overscroll-behavior:contain;max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}
#s1 .agent-progress-block__refs-list li{border-top:1px solid var(--border);color:var(--text-secondary);gap:8px;padding:6px 0;font-size:11.5px;line-height:1.55;display:flex}
#s1 .agent-progress-block__refs-num{width:18px;color:var(--text-hint);flex-shrink:0;font-weight:700}
#s1 .agent-progress-block__thinking{color:var(--text-muted);align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;font-weight:550;display:flex}
#s1 .agent-progress-block__spin{color:var(--primary);animation:.85s linear infinite agent-progress-spin-51597072}
@keyframes agent-progress-spin-51597072{to{transform:rotate(360deg)}}
#s1 .agent-progress-block__lightbox{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;background:#0f172ad1;justify-content:center;align-items:center;padding:48px 72px;display:flex;position:fixed;inset:0}
#s1 .agent-progress-block__lightbox-figure{flex-direction:column;align-items:center;gap:12px;max-width:min(1200px,100%);max-height:100%;margin:0;display:flex}
#s1 .agent-progress-block__lightbox-img{object-fit:contain;border-radius:var(--radius-lg);background:#fff;max-width:100%;max-height:calc(100vh - 120px);display:block;box-shadow:0 24px 80px #00000059}
#s1 .agent-progress-block__lightbox-loading{border-radius:var(--radius-lg);color:#ffffffd9;background:#ffffff14;justify-content:center;align-items:center;min-width:240px;min-height:160px;padding:32px 48px;font-size:13px;display:flex}
#s1 .agent-progress-block__lightbox-caption{border-radius:var(--radius-md);color:#ffffffeb;text-align:center;background:#ffffff1a;margin:0;padding:8px 14px;font-size:13px;font-weight:600}
#s1 .agent-progress-block__lightbox-close,#s1 .agent-progress-block__lightbox-nav{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#ffffff1f;border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute}
#s1 .agent-progress-block__lightbox-close:hover,#s1 .agent-progress-block__lightbox-nav:hover{background:#ffffff38}
#s1 .agent-progress-block__lightbox-close{width:40px;height:40px;top:20px;right:20px}
#s1 .agent-progress-block__lightbox-nav{width:44px;height:44px;top:50%;transform:translateY(-50%)}
#s1 .agent-progress-block__lightbox-nav--prev{left:20px}
#s1 .agent-progress-block__lightbox-nav--next{right:20px}
#s1 .agent-progress-block__lightbox-counter{border-radius:var(--radius-full);color:#ffffffe6;font-variant-numeric:tabular-nums;background:#ffffff1f;padding:6px 12px;font-size:12px;font-weight:600;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}
#s1 .agent-progress-lightbox-enter-active,#s1 .agent-progress-lightbox-leave-active{transition:opacity .2s}
#s1 .agent-progress-lightbox-enter-active .agent-progress-block__lightbox-figure,#s1 .agent-progress-lightbox-leave-active .agent-progress-block__lightbox-figure{transition:transform .2s}
#s1 .agent-progress-lightbox-enter-from,#s1 .agent-progress-lightbox-leave-to{opacity:0}
#s1 .agent-progress-lightbox-enter-from .agent-progress-block__lightbox-figure,#s1 .agent-progress-lightbox-leave-to .agent-progress-block__lightbox-figure{transform:scale(.96)}
@media (width<=640px){#s1 .agent-progress-block__lightbox{padding:56px 16px 48px}
#s1 .agent-progress-block__lightbox-nav{width:36px;height:36px}
#s1 .agent-progress-block__lightbox-nav--prev{left:8px}
#s1 .agent-progress-block__lightbox-nav--next{right:8px}
#s1 .agent-progress-block__detail{padding-left:10px}}
#s1 .agent-progress-block__item--done{opacity:.78}
#s1 .agent-progress-block__item--expanded{opacity:1}
#s1 .agent-progress-block__thinking--active{border-radius:var(--radius-md);background:color-mix(in srgb,var(--primary) 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);animation:1.8s ease-in-out infinite agent-progress-breathe-51597072}
#s1 .agent-progress-block__thinking--failed{color:#dc2626;border-radius:var(--radius-md);background:#dc26260f;box-shadow:inset 0 0 0 1px #dc26262e}
@keyframes agent-progress-breathe-51597072{0%,to{filter:brightness()}50%{filter:brightness(1.06)}}
#s1 .agent-progress-detail-enter-active,#s1 .agent-progress-detail-leave-active{transition:opacity .2s,transform .2s;overflow:hidden}
#s1 .agent-progress-detail-enter-from,#s1 .agent-progress-detail-leave-to{opacity:0;transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){#s1 .agent-progress-block__thinking--active{animation:none}
#s1 .agent-progress-detail-enter-active,#s1 .agent-progress-detail-leave-active{transition:none}}
#s1 .agent-md-editor{overscroll-behavior:contain;min-height:280px;color:var(--text-primary);word-break:break-word;outline:none;font-size:13.5px;line-height:1.65;overflow-y:auto}
#s1 .agent-md-editor:empty:before{content:attr(data-placeholder);color:var(--text-hint);pointer-events:none}
#s1 .agent-md-editor h1,#s1 .agent-md-editor h2,#s1 .agent-md-editor h3,#s1 .agent-md-editor h4{color:var(--text-primary);margin:.9em 0 .45em;font-weight:700;line-height:1.35}
#s1 .agent-md-editor h1{font-size:1.35rem}
#s1 .agent-md-editor h2{font-size:1.15rem}
#s1 .agent-md-editor h3{font-size:1.05rem}
#s1 .agent-md-editor p,#s1 .agent-md-editor ul,#s1 .agent-md-editor ol,#s1 .agent-md-editor blockquote{margin:0 0 .7em}
#s1 .agent-md-editor ul,#s1 .agent-md-editor ol{padding-left:1.35em}
#s1 .agent-md-editor li+li{margin-top:.25em}
#s1 .agent-md-editor blockquote{border-left:3px solid var(--primary-border,#c4b5fd);background:var(--primary-muted,#f5f3ff);color:var(--text-secondary);padding:.45em .85em}
#s1 .agent-md-editor code{background:var(--bg-muted,#f3f4f6);border-radius:4px;padding:.12em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}
#s1 .agent-md-editor pre{border-radius:var(--radius-md);color:#f9fafb;background:#111827;margin:0 0 .8em;padding:10px 12px;overflow-x:auto}
#s1 .agent-md-editor pre code{color:inherit;background:0 0;padding:0}
#s1 .agent-md-editor strong{font-weight:700}
#s1 .agent-md-editor .markdown-file-badge{border-radius:var(--radius-full);background:var(--primary-muted);color:var(--primary);white-space:nowrap;vertical-align:baseline;-webkit-user-select:none;user-select:none;align-items:center;margin:0 1px;padding:1px 8px 1px 6px;font-size:.9em;font-weight:600;display:inline-flex}
#s1 .agent-detail{flex-direction:column;gap:14px;display:flex}
#s1 .agent-detail--draft-layout{gap:0;height:100%;min-height:0}
#s1 .agent-detail__main{flex-direction:column;gap:14px;min-height:0;display:flex}
#s1 .agent-detail--draft-layout .agent-detail__main{flex:1;min-height:0;padding-bottom:8px;overflow:hidden}
#s1 .agent-detail__section--bib{flex-direction:column;flex:1 1 0;gap:8px;min-width:0;min-height:0;display:flex;overflow:hidden}
#s1 .agent-detail--draft-layout .agent-detail__section--files{overscroll-behavior:contain;flex-shrink:0;max-height:28%;overflow-y:auto}
#s1 .agent-detail__empty{color:var(--text-hint);text-align:center;margin:24px 4px;font-size:13px;line-height:1.6}
#s1 .agent-detail__status-row{align-items:center;gap:8px;display:flex}
#s1 .agent-detail__status{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-secondary);padding:2px 9px;font-size:11px;font-weight:700}
#s1 .agent-detail__status--draft{color:#d97706;background:#d977061f}
#s1 .agent-detail__status--ok{color:#16a34a;background:#16a34a1f}
#s1 .agent-detail__status--bad{color:#dc2626;background:#dc26261f}
#s1 .agent-detail__quota{color:var(--text-hint);font-size:11px}
#s1 .agent-detail__refresh{border-radius:var(--radius-full);width:20px;height:20px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;transition:background .15s,color .15s;display:inline-flex}
#s1 .agent-detail__refresh:hover{background:var(--bg-muted);color:var(--text-secondary)}
#s1 .agent-detail__refresh:disabled{cursor:default}
#s1 .agent-detail__section{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:12px;display:flex}
#s1 .agent-detail__section-title{color:var(--text-hint);font-size:11.5px;font-weight:700}
#s1 .agent-detail__empty-text .agent-detail__spin{vertical-align:-2px;margin-right:4px;display:inline-block}
#s1 .agent-detail__section .markdown-body{color:var(--text-primary);font-size:13px;line-height:1.6}
#s1 .agent-detail__section p{margin:0 0 .5em}
#s1 .agent-detail__section p:last-child{margin-bottom:0}
#s1 .agent-detail__empty-text{color:var(--text-hint);margin:0;font-size:13px}
#s1 .agent-detail__error{color:#dc2626;margin:0;font-size:12px;line-height:1.5}
#s1 .agent-detail__textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);width:100%;color:var(--text-primary);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.55}
#s1 .agent-detail__textarea:focus{border-color:var(--primary-border);outline:none}
#s1 .agent-detail__textarea--md{resize:none;padding:10px 12px;transition:border-color .15s}
#s1 .agent-detail__textarea--md:focus-within{border-color:var(--primary-border)}
#s1 .agent-detail__textarea--rich{transition:border-color .15s}
#s1 .agent-detail__textarea--rich:focus-within{border-color:var(--primary-border)}
#s1 .agent-detail__textarea--rich .agent-rich-input{min-height:88px;max-height:260px;padding:0;font-size:13px}
#s1 .agent-detail__desc-text{color:var(--text-primary);font-size:13px;line-height:1.6}
#s1 .agent-detail__files{flex-wrap:wrap;gap:8px;display:flex}
#s1 .agent-detail__readonly-list{color:var(--text-secondary);margin:0;padding-left:18px;font-size:13px;line-height:1.7}
#s1 .agent-detail__checklist{flex-direction:column;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}
#s1 .agent-detail__check-item label{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;padding:6px 4px;transition:background .15s;display:flex}
#s1 .agent-detail__check-item label:hover{background:var(--bg-muted)}
#s1 .agent-detail__check-item input{cursor:pointer;flex-shrink:0}
#s1 .agent-detail__check-name{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}
#s1 .agent-detail__check-name:hover{color:var(--primary);text-decoration:underline}
#s1 .agent-detail__check-size{color:var(--text-hint);flex-shrink:0;font-size:10.5px}
#s1 .agent-detail__bib-list{flex-direction:column;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:flex}
#s1 .agent-detail--draft-layout .agent-detail__section--bib .agent-detail__bib-list{overscroll-behavior:contain;flex:1;overflow-y:auto}
#s1 .agent-detail__bib-item{border-radius:var(--radius-md);background:var(--bg-muted);color:var(--text-secondary);font-size:12.5px;line-height:1.45;transition:opacity .15s}
#s1 .agent-detail__bib-item--off{opacity:.55}
#s1 .agent-detail__bib-item--readonly{background:0 0;padding:4px 0}
#s1 .agent-detail__bib-row{cursor:pointer;align-items:flex-start;gap:10px;padding:7px 8px;display:flex}
#s1 .agent-detail__bib-check{appearance:none;border:1.5px solid color-mix(in srgb,var(--text-hint) 70%,transparent);background:var(--bg-page);cursor:pointer;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:2px;transition:border-color .15s,background .15s,box-shadow .15s}
#s1 .agent-detail__bib-check:checked{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px var(--bg-page)}
#s1 .agent-detail__bib-check:disabled{cursor:not-allowed;opacity:.6}
#s1 .agent-detail__bib-main{flex:1;min-width:0}
#s1 .agent-detail__bib-title{color:var(--text-primary)}
#s1 .agent-detail__bib-meta{color:var(--text-hint)}
#s1 .agent-detail__draft-actions{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-page) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;flex-shrink:0;gap:8px;margin:0 -20px;display:flex}
#s1 .agent-detail__draft-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}
#s1 .agent-detail__btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border);background:var(--bg-page);color:var(--text-secondary);align-items:center;gap:6px;padding:7px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}
#s1 .agent-detail__btn:hover{background:var(--bg-muted)}
#s1 .agent-detail__btn--primary{border-color:var(--primary);background:var(--primary);color:#fff}
#s1 .agent-detail__btn--primary:hover{background:var(--primary-dark,var(--primary))}
#s1 .agent-detail__btn:disabled{opacity:.6;cursor:default}
#s1 .agent-detail__spin{animation:.8s linear infinite agent-detail-spin-9dfa7d9c}
@keyframes agent-detail-spin-9dfa7d9c{to{transform:rotate(360deg)}}
#s1 .agent-preview{flex-direction:column;gap:12px;min-width:0;height:100%;display:flex}
#s1 .agent-preview__meta{align-items:center;gap:10px;display:flex}
#s1 .agent-preview__icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}
#s1 .agent-preview__meta-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}
#s1 .agent-preview__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}
#s1 .agent-preview__sub{color:var(--text-hint);font-size:11.5px}
#s1 .agent-preview__action{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}
#s1 .agent-preview__action:hover{border-color:var(--primary-border);background:var(--primary-muted);color:var(--primary)}
#s1 .agent-preview__desc{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.5}
#s1 .agent-preview__body{border-radius:var(--radius-lg);overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}
#s1 .agent-preview__hint{color:var(--text-hint);text-align:center;margin:auto;padding:32px 16px;font-size:13px}
#s1 .agent-preview__image-btn{cursor:zoom-in;background:0 0;border:0;flex:1;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;padding:0;display:flex}
#s1 .agent-preview__image{border-radius:var(--radius-md);object-fit:contain;max-width:100%;max-height:100%;margin:auto}
#s1 .agent-preview__lightbox{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;background:#0f172ad1;justify-content:center;align-items:center;padding:48px 24px 56px;display:flex;position:fixed;inset:0}
#s1 .agent-preview__lightbox-figure{flex-direction:column;align-items:center;gap:12px;max-width:min(1200px,100%);max-height:100%;margin:0;display:flex}
#s1 .agent-preview__lightbox-img{object-fit:contain;border-radius:var(--radius-lg);background:#fff;max-width:100%;max-height:calc(100vh - 120px);display:block;box-shadow:0 24px 80px #00000059}
#s1 .agent-preview__lightbox-figure figcaption{border-radius:var(--radius-md);color:#ffffffeb;text-align:center;background:#ffffff1a;margin:0;padding:8px 14px;font-size:13px;font-weight:600}
#s1 .agent-preview__lightbox-close{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:#ffffff1f;border:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:20px;right:20px}
#s1 .agent-preview__lightbox-close:hover{background:#ffffff38}
#s1 .agent-preview-lightbox-enter-active,#s1 .agent-preview-lightbox-leave-active{transition:opacity .2s}
#s1 .agent-preview-lightbox-enter-from,#s1 .agent-preview-lightbox-leave-to{opacity:0}
#s1 .agent-preview__pdf{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);flex:1;width:100%;min-height:420px}
#s1 .agent-preview__docx{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page,#eef1f6);flex:1;min-width:0;min-height:0;overflow:auto}
#s1 .agent-preview__docx .agent-docx,#s1 .agent-preview__docx .agent-docx__pages{height:auto;max-height:none;overflow:hidden}
#s1 .agent-preview__markdown{flex:1;min-height:0;padding:4px 2px;overflow:auto}
#s1 .agent-preview__step{width:100%;min-height:360px}
#s1 .agent-preview__step .agent-step__stage{height:360px}
#s1 .agent-preview__text{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);min-height:0;font-family:var(--font-mono,ui-monospace, monospace);white-space:pre-wrap;word-break:break-word;flex:1;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow:auto}
#s1 .agent-preview__text--dark{color:#e5e7eb;background:#0b1220;border-color:#1f2937}
#s1 .agent-preview__table-wrap{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-md);flex:1;min-height:0;overflow:auto}
#s1 .agent-preview__table{border-collapse:collapse;white-space:nowrap;width:100%;min-width:max-content;font-size:12px}
#s1 .agent-preview__table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-secondary);padding:5px 10px}
#s1 .agent-preview__table tr:first-child td{color:var(--text-primary);background:var(--bg-page);font-weight:700}
#s1 .agent-session-root{flex-direction:column;min-width:0;height:100%;min-height:0;transition:width .28s;display:flex;overflow:hidden}
#s1 .agent-session-root:not(.open){pointer-events:none;width:0!important}
#s1 .agent-session-root--resizing{transition:none}
#s1 .agent-session-overlay{display:none}
#s1 .agent-session{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid var(--line);background:#ffffffc7;flex-direction:column;flex:auto;width:100%;min-width:0;height:100%;min-height:0;transition:opacity .2s,border-color .2s;display:flex;position:relative;overflow:hidden}
#s1 .agent-session.open{opacity:1;pointer-events:auto}
#s1 .agent-session--resizing{transition:opacity .2s,border-color .2s}
#s1 .agent-session:not(.open){opacity:0;pointer-events:none;border-left-color:#0000}
#s1 .agent-session-root--modal{z-index:240;height:auto;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:center;transition:none;display:flex;position:fixed;inset:0;overflow:visible;width:auto!important}
#s1 .agent-session-root--modal.open{pointer-events:auto}
#s1 .agent-session-root.agent-session-root--modal:not(.open){width:auto!important}
#s1 .agent-session-root--modal .agent-session-overlay{z-index:0;-webkit-backdrop-filter:blur(6px);pointer-events:auto;background:#0f172a7a;display:block;position:absolute;inset:0}
#s1 .agent-session-root--modal .agent-session{z-index:1;border:1px solid var(--line,var(--border));border-radius:var(--radius-xl,16px);-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;pointer-events:none;background:#fff;width:min(440px,100%);height:min(46rem,100%);max-height:100%;transition:transform .22s,opacity .22s;position:relative;transform:translateY(12px)scale(.97);box-shadow:inset 0 1px #ffffffb8,0 24px 80px #0f172a47}
#s1 .agent-session-root--modal .agent-session.open{opacity:1;pointer-events:auto;transform:none}
#s1 .agent-session-root--modal .agent-session:not(.open){border-left-color:var(--line,var(--border));opacity:0;pointer-events:none;width:min(440px,100%)}
@media (prefers-reduced-motion:reduce){#s1 .agent-session-root--modal .agent-session{transition:none}}
#s1 .agent-session__head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}
#s1 .agent-session__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);align-items:center;gap:7px;font-size:.92rem;font-weight:700;display:flex}
#s1 .agent-session__actions{align-items:center;gap:4px;display:flex}
#s1 .agent-session__close,#s1 .agent-session__back,#s1 .agent-session__action{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:relative}
#s1 .agent-session__back{margin-left:-6px}
#s1 .agent-session__close:hover,#s1 .agent-session__back:hover,#s1 .agent-session__action:hover{background:var(--primary-muted);color:var(--primary)}
#s1 .agent-session__action:disabled{opacity:.4;cursor:default}
#s1 .agent-session__action:disabled:hover{color:var(--text-muted);background:0 0}
#s1 .agent-session__dot{border:1.5px solid var(--bg-card);background:#dc2626;border-radius:999px;width:7px;height:7px;position:absolute;top:4px;right:4px}
#s1 .agent-session__body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px 20px 24px;display:flex;overflow-y:auto}
#s1 .agent-session__body--draft{padding-bottom:0;overflow:hidden}
#s1 .agent-session__body--preview{min-width:0;padding:14px 20px 20px;overflow:hidden}
#s1 .agent-session-fade-enter-active,#s1 .agent-session-fade-leave-active{transition:opacity .18s}
#s1 .agent-session-fade-enter-from,#s1 .agent-session-fade-leave-to{opacity:0}
#s1 .agent-session-view-enter-active,#s1 .agent-session-view-leave-active{transition:opacity .2s,transform .2s}
#s1 .agent-session-view-enter-from{opacity:0;transform:translate(10px)}
#s1 .agent-session-view-leave-to{opacity:0;transform:translate(-8px)}
@media (prefers-reduced-motion:reduce){#s1 .agent-session-view-enter-active,#s1 .agent-session-view-leave-active{transition:none}}
#s1 .agent-chat{flex:1;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}
#s1 .agent-chat__sidebar{flex:0 0 var(--shell-sidebar-w,280px);width:var(--shell-sidebar-w,280px);border-right:1px solid var(--line,#1a243814);background:var(--surface,#fff);min-width:0;height:100%;min-height:0}
#s1 .agent-stage{overscroll-behavior:contain;flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto auto;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid;overflow:hidden}
#s1 .agent-main{flex-direction:column;grid-area:1/1;min-width:0;min-height:0;padding:0 1.25rem;display:flex;position:relative}
#s1 .agent-session-resizer{cursor:col-resize;z-index:6;touch-action:none;background:0 0;grid-area:1/2;width:4px;margin-left:-2px;transition:background .15s;position:relative}
#s1 .agent-stage>.agent-session-root{grid-area:1/3;height:100%;min-height:0}
#s1 .agent-workspace-fab{z-index:12;border:1px solid var(--line);width:2.55rem;height:2.55rem;color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex;position:absolute;top:.85rem;right:1.1rem}
#s1 .agent-workspace-fab:hover{color:var(--navy);background:#fff;border-color:#2a5fbd47;transform:translateY(-1px)}
#s1 .agent-stage:has(.agent-session-resizer--active){cursor:col-resize;-webkit-user-select:none;user-select:none}
#s1 .agent-session-resizer:before{content:"";position:absolute;inset:0 -4px}
#s1 .agent-session-resizer:hover,#s1 .agent-session-resizer--active{background:#2a5fbd59}
#s1 .agent-chat-pane{flex-direction:column;flex:1;min-height:0;display:flex}
#s1 .agent-toast{z-index:10;background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow-soft);border-radius:999px;padding:.4rem .9rem;font-size:.75rem;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}
#s1 .agent-toast--error{color:#dc2626;background:#ef44440f;border-color:#ef444459}
#s1 .agent-sidebar-fab{z-index:12;border:1px solid var(--line,var(--border,#1a243814));width:2.55rem;height:2.55rem;color:var(--ink-soft,var(--text-secondary,#45536b));cursor:pointer;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.85rem;left:1.1rem}
#s1 .agent-sidebar-fab:hover{color:var(--navy,var(--primary,#1e3a6e));background:#fff}
#s1 .agent-chat__sidebar-overlay{display:none}
@media (width<=900px){#s1 .agent-main{padding:0 .75rem}
#s1 .agent-chat__sidebar{z-index:120;width:min(280px,80vw);box-shadow:var(--shadow);flex:none;transition:transform .24s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}
#s1 .agent-chat__sidebar--open{transform:translate(0)}
#s1 .agent-chat__sidebar-overlay{z-index:110;background:#1a243859;display:block;position:fixed;inset:0}}
@media (width<=720px){#s1 .agent-main{padding:0 .75rem}}
#s1 .showcase-section{background:var(--bg-card);scroll-margin-top:calc(var(--nav-height) + 16px);padding:clamp(64px,8vw,96px) clamp(20px,4vw,40px)}
#s1 .showcase-section--tinted{background:var(--bg-page)}
#s1 .showcase-section--embedded{background:0 0;padding:0;scroll-margin-top:0}
#s1 .showcase-section__inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;gap:clamp(28px,4vw,48px);width:100%;margin:0 auto;display:grid}
#s1 .showcase-section__copy{flex-direction:column;min-width:0;display:flex}
#s1 .showcase-section__media{flex-direction:column;min-width:0;min-height:0;display:flex}
#s1 .showcase-section__media .showcase-media{flex:1;min-height:clamp(280px,34vw,460px)}
@media (width<=960px){#s1 .showcase-section__inner{grid-template-columns:1fr}
#s1 .showcase-section__media .showcase-media{min-height:clamp(240px,48vw,380px)}}
#s1 .showcase-description{flex-direction:column;width:100%;display:flex}
#s1 .showcase-description__title{margin:0 0 18px;line-height:1.15}
#s1 .showcase-description__title-line{letter-spacing:-.03em;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;display:block}
#s1 .showcase-description__title-line--accent{color:var(--primary)}
#s1 .showcase-description__desc{color:var(--text-muted);margin:0 0 22px;font-size:clamp(13px,1.2vw,15px);line-height:1.75}
#s1 .showcase-description__extra{margin-bottom:0}
#s1 .showcase-description__bullets{flex-direction:column;gap:9px;margin:0 0 28px;padding:0;list-style:none;display:flex}
#s1 .showcase-description__bullets li{color:var(--text-secondary);font-size:13px;line-height:1.5}
#s1 .showcase-description__inline-code{background:var(--bg-card);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);font-size:.88em;font-family:var(--font-mono);color:var(--primary-dark);white-space:nowrap;border-radius:4px;margin:0 .05em;padding:.1em .38em;font-weight:600}
#s1 .showcase-description__cta{border-radius:var(--radius-lg);background:var(--primary);color:#fff;align-items:center;gap:8px;width:fit-content;padding:11px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .2s,transform .15s;display:inline-flex}
#s1 .showcase-description__cta:hover{filter:brightness(1.12);transform:translateY(-2px)}
@media (width<=640px){#s1 .showcase-description__title-line{font-size:clamp(1.35rem,5.5vw,1.8rem)}
#s1 .showcase-description__desc{margin-bottom:16px;font-size:13px}
#s1 .showcase-description__bullets{margin-bottom:20px}
#s1 .showcase-description__cta{justify-content:center;width:100%;padding:12px 20px}}
#s1 .showcase-media{background:0 0;width:100%;min-height:clamp(320px,38vw,460px);position:relative;overflow:hidden}
#s1 .showcase-media--tall{min-height:clamp(360px,44vw,520px)}
#s1 .showcase-media--video{aspect-ratio:16/10;border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;min-height:0;box-shadow:var(--shadow-md);background:var(--bg-card);overflow:hidden}
#s1 .showcase-media .step-viewer,#s1 .showcase-media .chip-viewer,#s1 .showcase-media .gis-scene,#s1 .showcase-media .mol-scene,#s1 .showcase-media .emp-scene{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0;overflow:visible;opacity:1!important;background:0 0!important}
#s1 .showcase-media:has(.emp-scene){min-height:clamp(280px,34vw,400px);overflow:visible}
#s1 .showcase-media .step-viewer,#s1 .showcase-media .chip-viewer{aspect-ratio:unset;cursor:grab;border-radius:0}
#s1 .showcase-media .step-canvas,#s1 .showcase-media .chip-canvas{background:0 0}
#s1 .showcase-media .gis-scene__paper,#s1 .showcase-media .mol-scene__paper{display:none}
#s1 .showcase-media .gis-scene__frame,#s1 .showcase-media .gis-scene__viewport,#s1 .showcase-media .mol-scene__viewport{background:0 0}
#s1 .showcase-media .gis-scene__legend{bottom:8px;right:8px}
#s1 .showcase-media .showcase-lazy-mount,#s1 .showcase-media .showcase-lazy-video,#s1 .showcase-media .showcase-video-placeholder{width:100%;height:100%;position:absolute;inset:0}
#s1 .showcase-media--video .showcase-lazy-video,#s1 .showcase-media--video .showcase-video-placeholder{inset:unset;position:relative}
#s1 .showcase-media .showcase-media__photo{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:12px;position:absolute;inset:0}
#s1 .showcase-lazy-mount{width:100%;height:100%;position:absolute;inset:0}
#s1 .showcase-video-placeholder{cursor:default;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 20% 18%,#2563eb2e,#0000 42%),radial-gradient(circle at 82% 78%,#0ea5e91f,#0000 38%),linear-gradient(145deg,#0f172a 0%,#1e293b 52%,#111827 100%);width:100%;height:100%;position:relative;overflow:hidden}
#s1 .showcase-video-placeholder__poster{object-fit:cover;opacity:.92;width:100%;height:100%;display:block}
#s1 .showcase-video-placeholder__mock{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172ab8;border:1px solid #94a3b82e;position:absolute;inset:12% 10% 18%;overflow:hidden}
#s1 .showcase-video-placeholder__mock-bar{background:linear-gradient(90deg,#3b82f659,#3b82f614);border-bottom:1px solid #94a3b81f;height:28px}
#s1 .showcase-video-placeholder__mock-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}
#s1 .showcase-video-placeholder__mock-line{border-radius:var(--radius-full);background:#94a3b829;height:8px;display:block}
#s1 .showcase-video-placeholder__mock-line:first-child{width:72%}
#s1 .showcase-video-placeholder__mock-line:nth-child(2){width:58%}
#s1 .showcase-video-placeholder__mock-line:nth-child(3){width:84%}
#s1 .showcase-video-placeholder__mock-line:nth-child(4){width:46%}
#s1 .showcase-video-placeholder__mock-line:nth-child(5){width:66%}
#s1 .showcase-video-placeholder__mock-line:nth-child(6){width:38%}
#s1 .showcase-video-placeholder__play{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:default;background:#0f172a8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .18s,background .18s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff2e,0 12px 32px #0f172a59}
#s1 .showcase-video-placeholder__play svg{margin-left:4px}
#s1 .showcase-video-placeholder__play--pressed{background:#0f172ab8;transform:translate(-50%,-50%)scale(.94)}
#s1 .showcase-video-placeholder__chrome{color:#e2e8f0eb;background:linear-gradient(#0f172a59,#0f172ae0);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px 14px 12px;font-size:12px;display:grid;position:absolute;bottom:0;left:0;right:0}
#s1 .showcase-video-placeholder__title{letter-spacing:.02em;grid-column:1/-1;font-weight:600}
#s1 .showcase-video-placeholder__progress{border-radius:var(--radius-full);background:#94a3b847;height:4px;overflow:hidden}
#s1 .showcase-video-placeholder__progress-fill{border-radius:inherit;background:#60a5fad9;width:0;height:100%;display:block}
#s1 .showcase-video-placeholder__time{font-variant-numeric:tabular-nums;color:#cbd5e1e0}
#s1 .tech-badges{margin-bottom:22px}
#s1 .tech-badges__label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-hint);margin-bottom:10px;font-size:10px;font-weight:700;display:block}
#s1 .tech-badges__list{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}
#s1 .tech-badge{--badge-h:32px;--badge-icon:20px;height:var(--badge-h);min-height:var(--badge-h);box-sizing:border-box;border-radius:var(--radius-full,999px);background:var(--bg-card);border:1px solid var(--border);justify-content:center;align-items:center;gap:6px;padding:0 10px 0 8px;display:inline-flex;box-shadow:0 1px 3px #0000000a}
#s1 .tech-badge--icon-only{padding:0 12px}
#s1 .tech-badge__icon{width:var(--badge-icon);height:var(--badge-icon);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}
#s1 .tech-badge__icon--wide{width:auto;min-width:var(--badge-icon);max-width:88px}
#s1 .tech-badge__logo{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}
#s1 .tech-badge__logo--si{width:var(--badge-icon);height:var(--badge-icon)}
#s1 .tech-badge--icon-only .tech-badge__logo--si{width:auto;height:var(--badge-icon);max-width:88px}
#s1 .tech-badge__name{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:600;line-height:1}
#s1 .home-showcase{background:var(--bg-page);scroll-margin-top:calc(var(--nav-height) + 12px);padding:clamp(72px,9vw,110px) 0 clamp(64px,8vw,96px)}
#s1 .home-showcase__chrome,#s1 .home-showcase__stage{box-sizing:border-box;width:min(1440px,100% - 40px);margin-left:auto;margin-right:auto}
#s1 .home-showcase__stage{--panel-slide:1;overflow:hidden}
#s1 .home-showcase__chrome{margin-bottom:36px}
#s1 .home-showcase__eyebrow{letter-spacing:.24em;color:var(--primary);align-items:baseline;gap:14px;margin:0 0 18px;font-size:13px;font-weight:600;display:flex}
#s1 .home-showcase__eyebrow-no{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-hint);font-size:11px}
#s1 .home-showcase__title{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--text-primary);margin:0 0 28px;font-size:clamp(1.85rem,3.8vw,2.9rem);font-weight:700;line-height:1.28}
#s1 .home-showcase__tabs{flex-wrap:wrap;gap:8px;display:flex}
#s1 .home-showcase__tab{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);padding:9px 18px;font-size:14px;font-weight:500;position:relative;overflow:hidden}
#s1 .home-showcase__tab:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-muted)}
#s1 .home-showcase__tab--active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);border-color:#0000;font-weight:600}
#s1 .home-showcase__tab-label{z-index:1;position:relative}
#s1 .home-showcase__tab-progress{transform-origin:0;background:#ffffffd9;width:100%;height:2px;animation-name:showcase-tab-progress-c5afb154;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;bottom:0;left:0}
@keyframes showcase-tab-progress-c5afb154{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
#s1 .home-showcase__panel{box-shadow:none;will-change:opacity, transform;background:0 0;border:none;border-radius:0;padding:0}
#s1 .showcase-panel-enter-active,#s1 .showcase-panel-leave-active{transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1)}
#s1 .showcase-panel-enter-from{opacity:0;transform:translate3d(calc(var(--panel-slide,1) * 22px), 14px, 0)}
#s1 .showcase-panel-leave-to{opacity:0;transform:translate3d(calc(var(--panel-slide,1) * -16px), -10px, 0)}
#s1 .home-showcase__stage--dir-back{--panel-slide:-1}
@media (prefers-reduced-motion:reduce){#s1 .showcase-panel-enter-active,#s1 .showcase-panel-leave-active{transition:opacity .15s}
#s1 .showcase-panel-enter-from,#s1 .showcase-panel-leave-to{transform:none}}
@media (width<=1100px){#s1 .home-showcase__chrome,#s1 .home-showcase__stage{width:min(1440px,100% - 24px)}}
@media (width<=768px){#s1 .home-showcase__tab{padding:8px 14px;font-size:13px}}
#s1 .hero-disciplines{border-top:1px solid #2563eb1a;margin-top:clamp(28px,4vw,40px);padding-top:20px}
#s1 .hero-disciplines__head{margin-bottom:12px}
#s1 .hero-disciplines__label{letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}
#s1 .hero-disciplines__chips{flex-wrap:wrap;gap:8px;display:flex}
#s1 .hero-disciplines__chip{color:var(--text-secondary);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);cursor:pointer;white-space:nowrap;background:#ffffff9e;border:1px solid #ffffffd9;padding:6px 14px;font-size:13px;font-weight:600;line-height:1.35;transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .18s;box-shadow:0 1px 2px #2563eb0f,inset 0 1px #ffffffe6}
#s1 .hero-disciplines__chip:hover{color:var(--primary);border-color:var(--primary-border);background:#ffffffe0;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb1a,inset 0 1px #fff}
#s1 .hero-disciplines__chip:active{transform:translateY(0)}
#s1 .hero-disciplines__chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media (width<=640px){#s1 .hero-disciplines{margin-top:24px;padding-top:16px}
#s1 .hero-disciplines__chip{padding:5px 12px;font-size:12px}}
@media (prefers-reduced-motion:reduce){#s1 .hero-disciplines__chip{transition:none}
#s1 .hero-disciplines__chip:hover,#s1 .hero-disciplines__chip:active{transform:none}}
#s1 .agent-chip{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-card);cursor:pointer;text-align:left;isolation:isolate;align-items:center;gap:10px;width:208px;padding:8px;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex;position:relative;overflow:hidden}
#s1 .agent-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}
#s1 .agent-chip:active{transform:scale(.99)}
#s1 .agent-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
#s1 .agent-chip--downloading{cursor:default;border-color:var(--primary-border)}
#s1 .agent-chip__progress{z-index:0;border-radius:inherit;pointer-events:none;background:#dbeafe;transition:width .12s linear;position:absolute;top:0;bottom:0;left:0}
#s1 .agent-chip--indeterminate .agent-chip__progress{animation:1.1s ease-in-out infinite agent-chip-indeterminate-f303f950;width:40%!important}
@keyframes agent-chip-indeterminate-f303f950{0%{transform:translate(-100%)}to{transform:translate(350%)}}
#s1 .agent-chip__download{z-index:2;border-radius:var(--radius-md);background:var(--bg-page);width:20px;height:20px;color:var(--text-hint);opacity:0;cursor:pointer;border:none;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:inline-flex;position:absolute;top:5px;right:5px}
#s1 .agent-chip:hover .agent-chip__download,#s1 .agent-chip--downloading .agent-chip__download{opacity:1}
#s1 .agent-chip__download:hover:not(:disabled){background:var(--primary-muted);color:var(--primary)}
#s1 .agent-chip__download:disabled{cursor:default;color:var(--primary)}
#s1 .agent-chip__icon,#s1 .agent-chip__thumb,#s1 .agent-chip__info{z-index:1;position:relative}
#s1 .agent-chip__icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}
#s1 .agent-chip__thumb{border-radius:var(--radius-lg);background:var(--bg-page);flex-shrink:0;width:38px;height:38px;overflow:hidden}
#s1 .agent-chip__thumb img{object-fit:cover;width:100%;height:100%;display:block}
#s1 .agent-chip__thumb-placeholder{width:100%;height:100%;color:var(--text-hint);justify-content:center;align-items:center;display:flex}
#s1 .agent-chip__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}
#s1 .agent-chip__name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}
#s1 .agent-chip__meta{color:var(--text-hint);align-items:center;gap:6px;font-size:11px;display:flex}
#s1 .agent-chip__badge{letter-spacing:.02em;font-weight:700}
#s1 .agent-chip__desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}
@media (width<=640px){#s1 .agent-chip{width:100%}
#s1 .agent-chip__download{opacity:1}}
#s1 .agent-bib-entry{min-width:0}
#s1 .agent-bib-entry__badge{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius-full);background:var(--bg-muted);width:100%;min-width:0;color:var(--text-secondary);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:7px 10px 7px 12px;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:flex}
#s1 .agent-bib-entry__badge:hover:not(:disabled),#s1 .agent-bib-entry__badge:focus-visible{border-color:var(--primary-border);background:var(--primary-muted);color:var(--text-primary);box-shadow:0 3px 12px color-mix(in srgb, var(--primary) 8%, transparent);outline:none}
#s1 .agent-bib-entry__badge--static{cursor:default}
#s1 .agent-bib-entry__title{min-width:90px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;font-weight:600;line-height:1.45;overflow:hidden}
#s1 .agent-bib-entry__author{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:0 34%;font-size:12px;overflow:hidden}
#s1 .agent-bib-entry__year{font-variant-numeric:tabular-nums;color:var(--text-hint);flex-shrink:0;font-size:12px}
#s1 .agent-bib-entry__chevron{color:var(--text-hint);flex-shrink:0;transition:transform .2s,color .16s}
#s1 .agent-bib-entry--expanded .agent-bib-entry__chevron{color:var(--primary);transform:rotate(180deg)}
#s1 .agent-bib-entry__details{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-muted) 72%, transparent);flex-direction:column;gap:11px;margin:6px 8px 4px;padding:11px 14px 12px;display:flex}
#s1 .agent-bib-entry__section h5{letter-spacing:.03em;color:var(--text-hint);margin:0 0 3px;font-size:12px;font-weight:700}
#s1 .agent-bib-entry__section p{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.62}
#s1 .agent-bib-details-enter-active,#s1 .agent-bib-details-leave-active{transform-origin:top;transition:opacity .18s,transform .18s}
#s1 .agent-bib-details-enter-from,#s1 .agent-bib-details-leave-to{opacity:0;transform:translateY(-4px)scaleY(.98)}
@media (width<=640px){#s1 .agent-bib-entry__author{display:none}}
@media (prefers-reduced-motion:reduce){#s1 .agent-bib-entry__badge,#s1 .agent-bib-entry__chevron,#s1 .agent-bib-details-enter-active,#s1 .agent-bib-details-leave-active{transition:none}}
#s1 .agent-bib-list{flex-direction:column;gap:6px;display:flex}
#s1 .agent-bib-list__item{will-change:transform, opacity;min-width:0}
#s1 .agent-bib-list__empty{color:var(--text-hint);margin:0;font-size:12px}
@media (prefers-reduced-motion:reduce){#s1 .agent-bib-list__item{will-change:auto}}
#s1 .agent-task{max-width:min(640px,100%)}
#s1 .agent-task__status{border-radius:var(--radius-md);color:var(--text-muted);align-items:center;gap:6px;margin:0 -6px;padding:4px 6px;font-size:13px;line-height:1.5;display:inline-flex}
#s1 .agent-task__status--clickable{cursor:pointer;transition:background .15s}
#s1 .agent-task__status--clickable:hover,#s1 .agent-task__status--clickable:focus-visible{background:var(--bg-muted)}
#s1 .agent-task__status--active{color:var(--primary)}
#s1 .agent-task__status--draft{color:#d97706}
#s1 .agent-task__status--ok{color:var(--text-secondary)}
#s1 .agent-task__status--ok svg{color:#16a34a;flex-shrink:0}
#s1 .agent-task__status--bad{color:#dc2626}
#s1 .agent-task__status--muted{color:var(--text-hint)}
#s1 .agent-task__status--dim{color:var(--text-hint);font-size:12px}
#s1 .agent-task__spin{flex-shrink:0;animation:.8s linear infinite agent-task-spin-e010631c}
@keyframes agent-task-spin-e010631c{to{transform:rotate(360deg)}}
#s1 .agent-task__quota{color:var(--text-hint);margin:2px 6px 0;font-size:11px;line-height:1.4}
#s1 .agent-task__quick-head .agent-task__quota{margin:0 0 0 4px}
#s1 .agent-task__tag{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-hint);flex-shrink:0;padding:1px 7px;font-size:12px;font-weight:600}
#s1 .agent-task__tag--bad{color:#dc2626;background:#dc26261a}
#s1 .agent-task__tag--draft{color:#d97706;background:#d977061f}
#s1 .agent-task__detail-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-hint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:-2px;padding:0;display:inline-flex}
#s1 .agent-task__detail-btn:hover,#s1 .agent-task__detail-btn:focus-visible{background:var(--primary-muted);color:var(--primary);outline:none}
#s1 .agent-task__sub{color:var(--text-hint);margin:2px 6px 0;font-size:12px;line-height:1.5}
#s1 .agent-task__done{flex-direction:column;gap:8px;display:flex}
#s1 .agent-task__files{flex-wrap:wrap;gap:8px;display:flex}
#s1 .agent-task__bib{min-width:0;max-width:min(720px,100%)}
#s1 .agent-task__qa{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-page);flex-direction:column;gap:4px;padding:8px 10px;display:flex}
#s1 .agent-task__qa-q{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}
#s1 .agent-task__qa-q svg{color:var(--text-hint);flex-shrink:0}
#s1 .agent-task__qa-a{color:var(--text-primary);padding-left:20px;font-size:13px;line-height:1.6}
#s1 .agent-task__qa-a .markdown-body{font-size:13px;line-height:1.6}
#s1 .agent-task__qa-a p{margin:0 0 .5em}
#s1 .agent-task__qa-a p:last-child{margin-bottom:0}
#s1 .agent-task__qa-a--muted{color:var(--text-hint);align-items:center;gap:6px;display:inline-flex}
#s1 .agent-task__qa-a--bad{color:#dc2626}
#s1 .agent-task__quick-head{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}
#s1 .agent-task__quick-head svg{color:var(--primary);flex-shrink:0}
#s1 .yx-chat{border-radius:var(--radius-3xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-lg);flex-direction:column;max-height:min(72vh,720px);display:flex;overflow:hidden}
#s1 .yx-chat-head{border-bottom:1px solid var(--border-light);background:var(--bg-subtle);flex-shrink:0;align-items:center;gap:9px;padding:14px 20px;display:flex}
#s1 .yx-chat-dot{background:var(--success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #0e9f6e26}
#s1 .yx-chat-title{color:var(--text-secondary);font-size:12px;font-weight:600}
#s1 .yx-chat-body{scrollbar-width:thin;flex:auto;min-height:0;padding:18px 16px 8px;overflow-y:auto}
#s1 .yanxue-chat__row{margin-bottom:16px;display:flex}
#s1 .yanxue-chat__row--user{justify-content:flex-end}
#s1 .yanxue-chat__row--assistant{justify-content:flex-start}
#s1 .yanxue-chat__col{flex-direction:column;max-width:min(720px,85%);display:flex}
#s1 .yanxue-chat__col--user{align-items:flex-end;max-width:min(600px,92%)}
#s1 .yanxue-chat__col--assistant{align-items:flex-start;width:100%;max-width:min(760px,100%)}
#s1 .yanxue-chat__bubble{max-width:100%;line-height:1.7}
#s1 .yanxue-chat__col--user .yanxue-chat__bubble{background:var(--gradient-primary);color:#fff;border-radius:var(--radius-2xl);border-bottom-right-radius:var(--radius-sm);padding:10px 14px;line-height:1.7}
#s1 .yanxue-chat__text{margin:0;font-size:12px;line-height:1.7}
#s1 .yx-chat-input{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-hint);flex-shrink:0;justify-content:space-between;align-items:center;margin:8px 16px 16px;padding:10px 16px;font-size:12px;display:flex}
#s1 .yx-chat-input svg{color:var(--primary)}
#s1 .yx-chat-body .yanxue-task__files{max-height:none}
#s1 .yx-chat-body .yanxue-task__status,#s1 .yx-chat-body .yanxue-task__quota,#s1 .yx-chat-body .yanxue-chip__name,#s1 .yx-chat-body .yanxue-chip__meta,#s1 .yx-chat-body .yanxue-chip__desc{font-size:12px}
#s1 .campaign-ribbon{width:min(1120px,100% - 48px);margin:calc(var(--nav-height) + 12px) auto 0;color:#9a3412;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #ea580c2e;border-radius:999px;align-items:center;gap:10px;padding:10px 14px 10px 12px;text-decoration:none;display:flex;box-shadow:0 8px 24px #ea580c14}
#s1 .campaign-ribbon__icon{color:#fff;background:linear-gradient(135deg,#ff8a4d,#f0512c);border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}
#s1 .campaign-ribbon__text{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;font-size:13px;display:flex}
#s1 .campaign-ribbon__text strong{font-weight:700}
#s1 .campaign-ribbon__time{font-variant-numeric:tabular-nums;color:#c2410c;font-weight:700}
#s1 .campaign-ribbon__cta{color:#c2410c;flex:none;align-items:center;gap:4px;margin-left:auto;font-size:13px;font-weight:700;display:inline-flex}
@media (width<=720px){#s1 .campaign-ribbon{width:calc(100% - 32px);margin-top:calc(var(--nav-height) + 10px);border-radius:16px}
#s1 .campaign-ribbon__cta span,#s1 .campaign-ribbon__time{display:none}}
#s1 .home{background:var(--bg-page);color:var(--text-primary)}
#s1 .home--campaign .hero-inner{padding-top:28px}
#s1 .home-section-eyebrow{letter-spacing:.24em;color:var(--primary);align-items:baseline;gap:14px;margin:0 0 18px;font-size:13px;font-weight:600;display:flex}
#s1 .eyebrow-no{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-hint);font-size:11px}
#s1 .home-section-title{font-family:var(--font-heading);letter-spacing:-.015em;color:var(--text-primary);margin:0;font-size:clamp(1.85rem,3.8vw,2.9rem);font-weight:700;line-height:1.28}
#s1 .hero{background:var(--gradient-hero);flex-direction:column;justify-content:center;min-height:100svh;display:flex;position:relative;overflow:hidden}
#s1 .hero-bg{pointer-events:none;position:absolute;inset:0}
#s1 .hero-grid{background:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 80% at 50% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(90% 80% at 50% 40%,#000 30%,#0000 75%)}
#s1 .hero-glow{filter:blur(90px);background:radial-gradient(circle,#5f6ef01f 0%,#0000 65%);border-radius:50%;width:52vw;height:52vw;position:absolute;top:-20%;right:-14%}
#s1 .hero-inner{z-index:2;width:min(1440px,100% - 40px);padding:calc(var(--nav-height) + 40px) 0 56px;box-sizing:border-box;flex:1;grid-template-columns:minmax(0,4fr) minmax(0,6fr);align-items:center;gap:clamp(20px,2.5vw,40px);margin:0 auto;display:grid;position:relative}
#s1 .hero-discipline-nav{pointer-events:auto;grid-column:1/-1}
#s1 .hero-discipline-nav .hero-disciplines{margin-top:8px}
#s1 .hero-content{text-align:left;pointer-events:none;width:100%;max-width:none;margin:0}
#s1 .hero-content :is(a,button){pointer-events:auto}
#s1 .hero-media{pointer-events:auto;width:100%;min-width:0;position:relative}
#s1 .hero-media>*{width:100%}
@keyframes hero-fade-up-96470b51{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-line-rise-96470b51{0%{transform:translateY(115%)}to{transform:translateY(0)}}
@keyframes hero-fade-96470b51{0%{opacity:0}to{opacity:1}}
#s1 .hero-eyebrow{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);letter-spacing:.06em;color:var(--text-secondary);box-shadow:var(--shadow-xs);align-items:center;gap:10px;margin:0 0 26px;padding:7px 16px;font-size:13px;font-weight:500;animation:none;display:inline-flex}
#s1 .hero-eyebrow-dot{background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 3px var(--primary-ring);border-radius:50%}
#s1 .hero-title{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(28px,4vw,36px);font-weight:600;line-height:1.16}
#s1 .hero-title-line{padding-bottom:.1em;display:block;overflow:hidden}
#s1 .hero-title-line>span{will-change:transform;animation:none;display:inline-block}
#s1 .hero-title-line:nth-child(2)>span{animation-delay:.32s}
#s1 .hero-title em{background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}
#s1 .hero-sub{max-width:540px;color:var(--text-muted);margin:26px 0 0;font-size:16px;line-height:1.9;animation:none}
#s1 .hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:42px;display:flex}
#s1 .hero-actions>*{animation:none}
#s1 .hero-actions>:last-child{animation-delay:.94s}
#s1 .btn-hero-primary{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);transition:transform var(--dur-med) var(--ease-spring), box-shadow var(--dur-med) var(--ease-out);align-items:center;gap:10px;padding:15px 30px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}
#s1 .btn-hero-primary:hover{box-shadow:var(--shadow-xs);transform:translateY(-2px)}
#s1 .btn-hero-primary:active{transform:translateY(0)}
#s1 .btn-hero-ghost{border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-secondary);transition:all var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:15px 26px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}
#s1 .btn-hero-ghost:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-muted)}
#s1 .index{box-sizing:border-box;width:min(1440px,100% - 40px);margin:0 auto;padding:110px 0 100px}
#s1 .index-head{margin-bottom:54px}
#s1 .index-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;display:grid}
#s1 .index-row{border-radius:var(--radius-xl);color:inherit;min-width:0;transition:background var(--dur-fast);border:none;align-items:center;gap:clamp(14px,2vw,28px);padding:30px 24px;text-decoration:none;display:flex}
#s1 .index-row:hover{background:linear-gradient(90deg, var(--primary-muted), transparent 80%)}
#s1 .index-no{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-hint);transition:color var(--dur-fast);flex-shrink:0;width:32px;font-size:13px;font-weight:600}
#s1 .index-row:hover .index-no{color:var(--primary)}
#s1 .index-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}
#s1 .index-title{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--text-primary);transition:color var(--dur-fast);font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:700}
#s1 .index-row:hover .index-title{color:var(--primary-dark)}
#s1 .index-desc{color:var(--text-muted);font-size:14px;line-height:1.55}
#s1 .index-arrow{border:1px solid var(--border-strong);width:44px;height:44px;color:var(--text-muted);transition:background var(--dur-med) var(--ease-out), color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-med) var(--ease-spring);border-radius:50%;flex-shrink:0;place-items:center;display:grid}
#s1 .index-row:hover .index-arrow{background:var(--gradient-primary);color:#fff;border-color:#0000;transform:rotate(45deg)}
#s1 .index-cta{justify-content:center;margin-top:48px;display:flex}
#s1 .btn-index-cta{border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);transition:transform var(--dur-med) var(--ease-spring), box-shadow var(--dur-med) var(--ease-out);align-items:center;gap:10px;padding:16px 36px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}
#s1 .btn-index-cta:hover{box-shadow:var(--shadow-xs);transform:translateY(-2px)scale(1.02)}
@media (width<=1100px){#s1 .hero-inner,#s1 .index{width:min(1440px,100% - 24px)}}
@media (width<=1080px){#s1 .hero-inner{grid-template-columns:1fr;gap:28px;padding-bottom:56px}
#s1 .hero-content{text-align:center;pointer-events:auto;max-width:640px;margin:0 auto}
#s1 .hero-sub{margin-left:auto;margin-right:auto}
#s1 .hero-actions{justify-content:center}
#s1 .hero-discipline-nav .hero-disciplines{margin-top:4px}}
@media (width<=768px){#s1 .hero-inner{padding:calc(var(--nav-height) + 28px) 0 48px}
#s1 .home--campaign .hero-inner{padding-top:16px}
#s1 .index{padding:80px 0 72px}
#s1 .index-list{grid-template-columns:1fr}
#s1 .index-row{gap:14px;padding:22px 4px}
#s1 .index-arrow{width:38px;height:38px}}
@media (prefers-reduced-motion:reduce){#s1 .hero-eyebrow,#s1 .hero-title-line>span,#s1 .hero-sub,#s1 .hero-actions>*{animation:none}}
#s1 .step-viewer{aspect-ratio:3/4;cursor:default;background:0 0;border-radius:0;width:100%;position:relative;overflow:hidden}
#s1 .step-viewer.is-fit-parent{aspect-ratio:auto;height:100%}
#s1 .step-viewer.is-draggable{cursor:grab}
#s1 .step-viewer.is-draggable:active{cursor:grabbing}
#s1 .step-canvas{width:100%;height:100%;display:block}
#s1 .step-overlay{color:var(--text-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb8;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}
#s1 .step-error{color:#f87171}
#s1 .step-spinner{border:3px solid #94a3b833;border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin-2522293d}
@keyframes spin-2522293d{to{transform:rotate(360deg)}}
#s1 .step-hint{color:var(--text-hint);pointer-events:none;white-space:nowrap;border:1px solid var(--border-light);background:#ffffffbf;border-radius:99px;padding:3px 10px;font-size:11px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}
#s1 .chip-viewer{aspect-ratio:3/4;cursor:grab;background:0 0;width:100%;position:relative;overflow:hidden}
#s1 .chip-viewer:active{cursor:grabbing}
#s1 .chip-canvas{width:100%;height:100%;display:block}
#s1 .chip-overlay{color:var(--text-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb8;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}
#s1 .chip-error{color:#f87171}
#s1 .chip-spinner{border:3px solid #94a3b833;border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin-9b0c3ef7}
@keyframes spin-9b0c3ef7{to{transform:rotate(360deg)}}
#s1 .chip-label{font-size:12px;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-primary);border-radius:var(--radius-md);pointer-events:none;white-space:nowrap;border:1px solid var(--border-strong);box-shadow:var(--shadow-xs);background:#ffffffe0;padding:5px 12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}
#s1 .chip-hint{color:var(--text-hint);pointer-events:none;white-space:nowrap;border:1px solid var(--border-light);background:#ffffffbf;border-radius:99px;padding:3px 10px;font-size:11px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}
#s1 .gis-scene{opacity:0;background:0 0;position:absolute;inset:0;overflow:hidden}
#s1 .gis-scene__paper{background-image:linear-gradient(var(--border-light,#0000000a) 1px, transparent 1px), linear-gradient(90deg, var(--border-light,#0000000a) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 80% at 62%,#000,#0000);mask-image:radial-gradient(90% 80% at 62%,#000,#0000)}
#s1 .gis-scene__frame{box-sizing:border-box;position:absolute;inset:0;overflow:visible}
#s1 .gis-scene__viewport{--gis-scale:1;--gis-blur:0px;width:100%;height:100%;transform:scale(var(--gis-scale));filter:blur(var(--gis-blur));transform-origin:50%;will-change:transform, filter}
#s1 .gis-scene__canvas{width:100%;height:100%;display:block}
#s1 .gis-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}
#s1 .gis-bar-label{font-family:var(--font-mono,monospace);color:#c8dcf8;text-shadow:0 0 8px #3b82f6e6,0 1px 3px #00000acc;white-space:nowrap;pointer-events:none;letter-spacing:.03em;will-change:opacity, left, top;background:#000a2873;border-radius:3px;padding:1px 4px 2px;font-size:clamp(8px,.75vw,11px);font-weight:400;line-height:1.4;position:absolute;transform:translate(-50%,-100%)}
#s1 .gis-scene__canvas--debug{touch-action:none}
#s1 .gis-scene__legend{right:var(--showcase-inline-padding);bottom:var(--showcase-stage-inset-y);max-width:min(320px,36vw);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);text-align:right;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;font-size:10px;display:flex;position:absolute}
#s1 .gis-scene__legend-title{color:var(--primary-dark,#0a5c5f);font-weight:700}
#s1 .gis-scene__ramps{flex-direction:column;gap:4px;margin-top:2px;display:flex}
#s1 .gis-scene__ramp-row{align-items:center;gap:8px;display:flex}
#s1 .gis-scene__ramp-row span{text-align:right;width:28px}
#s1 .gis-scene__ramp-bar{border-radius:2px;width:72px;height:5px;box-shadow:inset 0 0 0 1px #0000000f}
#s1 .gis-scene__ramp-bar--gdp{background:linear-gradient(90deg,#e8f4f4 0%,#7ec4c4 50%,#0d7377 100%)}
#s1 .gis-scene__ramp-bar--pop{background:linear-gradient(90deg,#fff7ed 0%,#fdba74 50%,#ea580c 100%)}
#s1 .gis-scene__ramp-bar--elec{background:linear-gradient(90deg,#bfdbfe 0%,#3b82f6 50%,#1e3a8a 100%)}
@media (width<=768px){#s1 .gis-scene__frame{padding-top:calc(var(--nav-height) + 16px)}
#s1 .gis-scene__legend{max-width:calc(100% - 32px)}}
#s1 .mol-scene{--mol-scale:1;--mol-blur:0px;--mol-translate-x:0%;--mol-translate-y:0%;opacity:0;pointer-events:none;transform:translateX(var(--mol-translate-x)) translateY(var(--mol-translate-y));will-change:transform, opacity;background:0 0;position:absolute;inset:0}
#s1 .mol-scene--static{--mol-translate-x:0%}
#s1 .mol-scene--static,#s1 .mol-scene--static .mol-scene__viewport,#s1 .mol-scene--static .mol-scene__layer,#s1 .mol-scene--static .mol-scene__mol3d{background:0 0!important}
#s1 .mol-scene__paper{background-image:linear-gradient(var(--border-light,#0000000a) 1px, transparent 1px), linear-gradient(90deg, var(--border-light,#0000000a) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 75% at 55%,#000,#0000);mask-image:radial-gradient(85% 75% at 55%,#000,#0000)}
#s1 .mol-scene__viewport{transform:scale(var(--mol-scale));filter:blur(var(--mol-blur));transform-origin:50%;will-change:transform, filter;position:absolute;inset:0}
#s1 .mol-scene__layer{opacity:1;position:absolute;inset:0}
#s1 .mol-scene__layer--rendered{opacity:0}
#s1 .mol-scene__canvas{width:100%;height:100%;display:block}
#s1 .mol-scene__mol3d{background:0 0;width:100%;height:100%;position:relative;overflow:hidden}
#s1 .mol-scene__mol3d canvas{background:0 0!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}
#s1 .emp-scene{opacity:1;pointer-events:none;box-sizing:border-box;background:0 0;justify-content:center;align-items:center;width:100%;height:100%;padding:12px 8px 8px;display:flex;position:absolute;inset:0}
#s1 .heat-chart{flex-direction:column;gap:10px;width:100%;max-width:520px;display:flex}
#s1 .heat-chart__head{text-align:center;line-height:1.35}
#s1 .heat-chart__title{color:var(--text-primary,#0f172a);letter-spacing:.01em;margin:0;font-family:Times New Roman,Songti SC,serif;font-size:clamp(11px,1.4vw,13px);font-weight:700}
#s1 .heat-chart__sub{color:var(--text-muted,#64748b);margin:2px 0 0;font-family:ui-monospace,Consolas,monospace;font-size:clamp(9px,1.1vw,10px)}
#s1 .heat-chart__body{--cell-size:clamp(22px, 2.75vw, 34px);--label-col:28px;--grid-gap:2px;grid-template-columns:var(--label-col) repeat(var(--n,10), var(--cell-size)) auto;grid-template-rows:26px repeat(var(--n,10), var(--cell-size));gap:var(--grid-gap);justify-content:center;align-items:center;display:grid}
#s1 .heat-chart__corner{grid-area:1/1}
#s1 .heat-label{color:var(--text-muted,#64748b);justify-content:center;align-items:center;font-family:ui-monospace,monospace;font-size:clamp(7px,.85vw,9px);font-weight:600;display:flex}
#s1 .heat-label--col{writing-mode:vertical-rl;width:var(--cell-size);align-self:end;height:100%;transform:rotate(180deg)}
#s1 .heat-label--row{width:100%;height:var(--cell-size);justify-content:flex-end;align-self:center;padding-right:4px}
#s1 .heat-matrix{grid-column:2 / calc(var(--n,10) + 2);grid-row:2 / calc(var(--n,10) + 2);grid-template-columns:subgrid;grid-template-rows:subgrid;gap:var(--grid-gap);background:var(--bg-card,#fff);box-shadow:0 1px 3px #0f172a0f, inset 0 0 0 1px var(--border,#e2e8f0);border-radius:4px;display:grid;overflow:visible}
#s1 .heat-cell{aspect-ratio:1;transform-origin:bottom;z-index:0;width:100%;min-width:0;height:100%;min-height:0;animation:stadium-wave-49b1ab7c var(--wave-cycle,5s) linear infinite;animation-delay:calc(-1 * (var(--row) + var(--col)) * var(--wave-stagger,.17s));will-change:transform;border-radius:2px;flex-shrink:0;position:relative;overflow:visible}
#s1 .heat-cell--upper{opacity:.92}
#s1 .heat-cell--upper .heat-cell__val{display:none}
#s1 .heat-cell--diag{box-shadow:inset 0 0 0 1px #0f172a1f}
#s1 .heat-cell__val{z-index:1;color:#0f172ad1;text-shadow:0 0 3px #ffffffa6;justify-content:center;align-items:center;width:100%;height:100%;font-family:ui-monospace,Consolas,monospace;font-size:clamp(6px,.72vw,8px);font-weight:700;line-height:1;display:flex;position:relative}
#s1 .heat-cell--sig .heat-cell__val{color:#0f172af2}
@keyframes stadium-wave-49b1ab7c{0%,10%,to{z-index:0;transform:translateY(0)scale(1)}3%{transform:translateY(calc(var(--cell-size) * -.22)) scale(1.14);z-index:2}7%{transform:translateY(calc(var(--cell-size) * -.06)) scale(1.04);z-index:1}}
#s1 .heat-scale{grid-column:calc(var(--n,10) + 2);grid-row:2 / calc(var(--n,10) + 2);flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;padding-left:8px;display:flex}
#s1 .heat-scale__caption{color:var(--text-muted,#64748b);font-family:Times New Roman,serif;font-size:9px;font-style:italic;font-weight:700}
#s1 .heat-scale__wrap{height:calc(var(--cell-size) * var(--n) + var(--grid-gap) * (var(--n) - 1));align-items:stretch;gap:4px;display:flex}
#s1 .heat-scale__bar{border:1px solid var(--border,#e2e8f0);border-radius:2px;flex-direction:column;flex:1;width:12px;display:flex;overflow:hidden}
#s1 .heat-scale__tick{flex:1}
#s1 .heat-scale__labels{color:var(--text-hint,#94a3b8);flex-direction:column;justify-content:space-between;padding:1px 0;font-family:ui-monospace,monospace;font-size:7px;display:flex}
@media (width<=640px){#s1 .heat-cell__val{font-size:5px}
#s1 .heat-label--col,#s1 .heat-label--row{font-size:6px}}
@media (prefers-reduced-motion:reduce){#s1 .heat-cell{animation:none}}
#s1{--accent-lavender:#eef0f8;--accent-lavender-border:#d9dce8;--accent-lavender-light:#f5f6fb;--accent-lavender-text:#243299;--alipay:#1677ff;--alipay-dark:#0958d9;--bg-card:#fff;--bg-input:#fff;--bg-muted:#f3f4f6;--bg-page:#f6f7f8;--bg-page-alt:#f0f1f3;--bg-subtle:#fafafa;--bg-tab:#eceef1;--border:#e5e7eb;--border-light:#eef0f3;--border-strong:#d1d5db;--bp-console:900px;--bp-mobile:640px;--bp-nav:1100px;--bp-tablet:768px;--content-max-width:960px;--danger:#c43c3c;--danger-bg:#c43c3c0f;--danger-border:#c43c3c38;--dur-fast:.12s;--dur-med:.2s;--dur-slow:.28s;--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--font-heading:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "HarmonyOS Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Menlo", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "HarmonyOS Sans", "Helvetica Neue", Arial, sans-serif;--form-max-width:900px;--form-wide-max-width:1100px;--fs-lg:20px;--fs-md:16px;--fs-sm:14px;--fs-xl:28px;--fs-xs:12px;--fw-bold:700;--fw-medium:500;--fw-regular:400;--fw-semibold:600;--glass-bg:#fff;--glass-blur:none;--glass-border:#e5e7eb;--gold:#8a6914;--gold-border:#8a691447;--gold-bright:#8a6914;--gold-soft:#8a691414;--gradient-hero:#f6f7f8;--gradient-hero-alt:#f6f7f8;--gradient-ink:#111;--gradient-primary:#2f3eb8;--gradient-surface:#fff;--grid-line:#1111110a;--grid-line-strong:#11111112;--header-offset:calc(calc(56px + 0px) + 36px);--ink-700:#3f3f46;--ink-800:#1c1c1e;--ink-900:#111;--ink-line:#11111114;--ink-text:#ffffffeb;--ink-text-muted:#ffffff8f;--lh-body:1.6;--lh-title:1.3;--lightningcss-dark:;--lightningcss-light:;--nav-height:calc(56px + 0px);--primary:#2f3eb8;--primary-border:#2f3eb82e;--primary-dark:#243299;--primary-fg:#fff;--primary-light:#2f3eb8;--primary-muted:#2f3eb80f;--primary-ring:#2f3eb829;--radius-2xl:12px;--radius-3xl:16px;--radius-full:999px;--radius-lg:8px;--radius-md:8px;--radius-sm:4px;--radius-xl:8px;--shadow-card:0 1px 2px #0000000a;--shadow-dialog:0 8px 28px #0000001f;--shadow-gold:0 1px 2px #0000000f;--shadow-lg:0 4px 16px #00000014;--shadow-md:0 1px 2px #0000000f;--shadow-modal:0 8px 28px #0000001f;--shadow-primary:0 1px 2px #0000000f;--shadow-sm:0 1px 2px #0000000d;--shadow-xs:0 1px 2px #0000000a;--sidebar-width:240px;--site-banner-height:36px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--success:#0d8a60;--success-bg:#eef8f3;--text-hint:#a1a1aa;--text-inverse:#fff;--text-muted:#71717a;--text-primary:#111;--text-secondary:#3f3f46;--warning:#b45309;overflow-x:hidden;scroll-behavior:smooth;font-family:var(--font-heading);background:#f6f7f8;color:#111}
/* Compatibility resets are limited to the copied landing-page subtree. */
#s1 [hidden]{display:none!important}
#s1 .home{min-height:100%;background:var(--bg-page)}
#s1 .hero{padding:0;gap:0}
#s1 .hero-inner{padding-top:80px}
#s1 .hero-disciplines__chip{font-family:inherit}
#s1 .logo{display:inline-flex;align-items:center;gap:10px;color:#111;font-size:18px;font-family:var(--font-heading);font-weight:700;letter-spacing:.5px;text-decoration:none;flex-shrink:0}
#s1 .logo svg{width:29px;height:29px}
#s1 .top-nav .logo span{font-family:var(--font-heading);font-weight:700;letter-spacing:.7px}
#s1{position:relative}#s1 .top-nav{position:fixed;top:0;z-index:10}
#s1 .nav-inner{gap:20px}
#s1 .nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
#s1 .nav-btn{height:36px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#3f3f46;font-size:12px;white-space:nowrap}
#s1 .nav-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}
#s1 .nav-link.is-active{color:var(--primary);background:var(--primary-muted)}
#s1 .yx-chat-input{width:calc(100% - 32px);text-align:left}
#s1 .agent-chip{cursor:default;width:auto;min-width:0}
#s1 .agent-chip__info{min-width:0}
#s1 .agent-task__files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
#s1 .agent-task,#s1 .agent-task__done{width:100%;min-width:0}
#s1 .agent-chip{min-height:76px}
#s1 .agent-task__status{font-size:13px;line-height:1.7;color:#508e74;margin-bottom:4px}
#s1 .native-tabs-row{display:flex;align-items:center;gap:16px;justify-content:space-between}
#s1 #home-autoplay{font-size:11px;color:#9898a3;white-space:nowrap;margin-left:auto;padding:6px 0}
#s1 .home-showcase__panel{animation:referencePanelIn .34s cubic-bezier(.22,1,.36,1) both;min-height:450px}
#s1 .home-showcase__tab-progress{animation:none;transform:scaleX(0)}
#s1 .native-viewport{position:absolute;inset:0;min-height:280px;cursor:grab;touch-action:pan-y}
#s1 .native-viewport canvas{display:block;width:100%!important;height:100%!important;outline:none}
#s1 .native-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#9696a3;font-size:12px;z-index:1;pointer-events:none}
#s1 .native-loading i{width:28px;height:28px;border-radius:50%;border:2px solid #e0e0ec;border-bottom-color:var(--primary);animation:nativeModelSpin .8s linear infinite}
#s1 .native-viewport[data-state="error"] .native-loading{pointer-events:auto;cursor:pointer}
#s1 .native-demo-caption{display:block;text-align:right;font-size:10px;color:#9b9ba5;margin-top:8px}
#s1 .native-ready:after{content:'拖拽旋转模型';position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:11px;color:#a4a4af;pointer-events:none}
#s1 .showcase-description__cta{border:0;font-family:inherit;cursor:pointer}
#s1 .showcase-video-placeholder__label{position:absolute;left:24px;bottom:48px;font-size:12px;color:#cbd5e1}
#s1 .heat-chart{opacity:1;transform:none}
#s1 #field-panel-empirical .showcase-media{min-height:460px}
#s1 .native-flow,#s1 .native-fees{width:min(1440px,100% - 40px);margin:auto;padding:60px 0 85px;scroll-margin-top:82px}
#s1 #home-directions,#s1 #home-features{scroll-margin-top:68px}
#s1 .native-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:38px}
#s1 .native-flow-grid>div{border-top:1px solid #dfe1e8;padding-top:22px}
#s1 .native-flow-grid>div>span{font:12px var(--font-mono);color:#9b9ba4}
#s1 .native-flow-grid h3{font-size:16px;margin:16px 0 10px;color:#333;font-weight:600}
#s1 .native-flow-grid p{font-size:13px;color:#71717a;line-height:1.8}
#s1 .native-fees{border-top:1px solid #e5e7eb;text-align:center}
#s1 .native-fees p{font-size:13px;color:#71717a;line-height:1.9;margin:20px auto 28px;max-width:700px}
#s1 .native-footer{width:min(1440px,100% - 40px);margin:auto;padding:36px 0;display:flex;align-items:center;gap:24px}
#s1 .native-footer>span{font-size:12px;color:#92929b}
#s1 .native-footer>div:last-child{display:flex;gap:22px;margin-left:auto}
#s1 .native-footer button{font-size:12px;color:#92929b}
#s1 button:focus-visible,#s1 a:focus-visible{outline:2px solid #777edc;outline-offset:3px}
#s1 .home-showcase:not(.in-view) .heat-cell,#s1 .page-hidden .heat-cell{animation-play-state:paused!important}
@keyframes nativeModelSpin{to{transform:rotate(360deg)}}
@keyframes referencePanelIn{from{opacity:0;transform:translate3d(22px,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes heatReveal{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@media(max-width:1080px){#s1 .nav-links--desktop{display:none!important}#s1 .nav-inner{justify-content:space-between}#s1 .hero-inner{padding-top:88px}}
@media(max-width:768px){#s1 .nav-btn{height:32px;padding:0 12px;font-size:11px}#s1 .logo{font-size:15px;gap:7px}#s1 .logo svg{width:25px;height:25px}#s1 .native-announcement{font-size:10px}#s1 .agent-task__files{grid-template-columns:repeat(2,minmax(0,1fr))}#s1 .native-tabs-row{align-items:flex-start;flex-direction:column;gap:9px}#s1 #home-autoplay{margin-left:0}#s1 .home-showcase__panel{min-height:0}#s1 .native-viewport{min-height:240px}#s1 .native-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}#s1 .native-flow,#s1 .native-fees{padding:45px 0 60px;width:calc(100% - 24px)}#s1 .native-footer{flex-wrap:wrap;width:calc(100% - 24px);gap:18px}#s1 .native-footer>div:last-child{margin-left:0;width:100%}#s1 .hero-disciplines__chips{gap:7px}#s1 .hero-disciplines__chip{padding:5px 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#s1{scroll-behavior:auto}#s1 .home-showcase__panel,#s1 .heat-cell{animation:none!important}}
@media(max-width:768px){#s1 #field-panel-empirical .showcase-media{min-height:340px}}
@media(max-width:640px){#s1 .heat-chart__body{--cell-size:clamp(17px,calc((100vw - 140px)/10),25px)}}

#s1 #field-panel-computing .showcase-media{background:transparent;border:0;aspect-ratio:auto;overflow:visible;min-height:0}
#s1 .cs-demo{width:100%;border:1px solid #dee3ee;border-radius:13px;background:#fff;box-shadow:0 22px 60px -24px #253b7733;overflow:hidden;text-align:left;color:#26304b;font-family:var(--font-heading)}
#s1 .cs-window{height:36px;background:#f8f9fc;border-bottom:1px solid #e9edf4;display:flex;align-items:center;gap:15px;padding:0 14px;font:10px Arial,sans-serif;color:#7e879b;letter-spacing:.4px}
#s1 .cs-window-dots{display:flex;gap:4px}#s1 .cs-window-dots i{width:5px;height:5px;border-radius:50%;background:#ced5e0}#s1 .cs-example{margin-left:auto;font:10px var(--font-heading);letter-spacing:0}
#s1 .cs-switch{display:flex;gap:6px;padding:12px 14px;border-bottom:1px solid #eef0f6}
#s1 .cs-switch button{padding:7px 13px;border-radius:6px;color:#7a8296;background:transparent;border:0;cursor:pointer;font:11px var(--font-heading);transition:color .2s,background .2s}
#s1 .cs-switch button[aria-selected=true]{color:#3d4fbd;background:#edf0ff}#s1 .cs-switch button:hover{background:#f1f3f9}
#s1 .cs-scene{height:332px;animation:csSceneIn .4s ease both}#s1 .cs-system{display:grid;grid-template-columns:59px minmax(0,1fr)}
#s1 .cs-side{background:#fafbfe;border-right:1px solid #edf0f6;padding:14px 7px;display:flex;flex-direction:column;gap:8px;align-items:center;font-size:10px;color:#9da6b9}#s1 .cs-side b{font-size:20px;color:#5769d5;margin-bottom:10px}#s1 .cs-side>span{padding:6px 10px;border-radius:5px}#s1 .cs-side-active{background:#e9edff;color:#5567cf}#s1 .cs-side i{margin-top:auto;font:8px/1.8 Arial,sans-serif;letter-spacing:1px;text-align:center}
#s1 .cs-dashboard{min-width:0;padding:19px 20px}#s1 .cs-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}#s1 .cs-heading small{font:8px Arial,sans-serif;letter-spacing:1.5px;color:#a3acc1}#s1 .cs-heading h3{font-size:14px;margin:5px 0 0;font-weight:600}#s1 .cs-status{font-size:9px;color:#8b94aa;background:#f3f5fa;padding:4px 7px;border-radius:4px;white-space:nowrap}
#s1 .cs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}#s1 .cs-stats>div{background:#f7f9fd;padding:11px 12px;border:1px solid #edf0f6;border-radius:7px}#s1 .cs-stats span{font-size:9px;color:#8b94aa;display:block}#s1 .cs-stats strong{font:600 23px Arial,sans-serif;display:block;margin-top:7px;letter-spacing:-1px}#s1 .cs-stats em{font:9px var(--font-heading);color:#9da6b9;margin-left:6px}
#s1 .cs-chart-title{font-size:10px;display:flex;justify-content:space-between}#s1 .cs-chart-title span{font:8px Arial,sans-serif;color:#a3acc1;letter-spacing:1px}#s1 .cs-chart svg{width:100%;height:94px;margin-top:8px;display:block}#s1 .cs-trend{stroke-dasharray:450;stroke-dashoffset:450;animation:csDraw 1.8s ease forwards}
#s1 .cs-stack{display:flex;justify-content:center;gap:9px;align-items:center;margin-top:9px;font:9px Arial,sans-serif;color:#8590ab}#s1 .cs-stack span{padding:5px 8px;border:1px solid #e4e9f4;border-radius:4px}#s1 .cs-stack i{font-style:normal;color:#b2bace}
#s1 .cs-demo-note{padding:12px 14px;background:#fafbfe;border-top:1px solid #eef0f6;font-size:10px;line-height:1.6;color:#8c95a9}
#s1 .cs-detection{padding:16px;background:#131d30;color:#dce5f7}#s1 .cs-detect-head,#s1 .cs-detect-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:8px}#s1 .cs-detect-head>span:last-child{color:#8a9bb8}#s1 .cs-detect-head i{display:inline-block;width:5px;height:5px;background:#61e2bd;border-radius:50%;margin-right:5px}#s1 .cs-camera{position:relative;overflow:hidden;border-radius:6px;margin:14px 0 10px;height:239px;background:#25324a}#s1 .cs-camera svg{width:100%;height:100%;display:block}#s1 .cs-scan{position:absolute;left:0;right:0;top:0;height:1px;background:#71eac0;box-shadow:0 0 22px 6px #71eac040;animation:csScan 2.5s ease-in-out infinite}#s1 .cs-boxes{opacity:0;animation:csBoxes .7s .6s ease forwards}#s1 .cs-box-labels{fill:#152d2c;stroke:transparent}#s1 .cs-detect-footer{color:#8fa4c0;font-size:9px}#s1 .cs-detect-footer button{background:transparent;border:0;color:#b4c6e3;font:10px var(--font-heading);cursor:pointer;padding:3px}
#s1 .cs-miniapp{background:radial-gradient(ellipse at 35% 40%,#edf2ff,transparent 65%),#f9fbff;display:flex;align-items:center;justify-content:center;gap:32px;padding:13px 20px}#s1 .cs-phone{width:168px;height:306px;flex-shrink:0;border:4px solid #263149;border-radius:24px;background:#fff;box-shadow:0 12px 28px #1b355723;position:relative;overflow:hidden;padding:0 9px}#s1 .cs-phone-top{font:7px Arial,sans-serif;display:flex;justify-content:space-between;margin:10px 4px}#s1 .cs-phone-nav{font-size:10px;font-weight:600;display:flex;justify-content:space-between;margin:12px 1px}#s1 .cs-phone-nav>span{font-size:10px;border:1px solid #edf0f5;padding:0 6px;border-radius:9px}#s1 .cs-phone-welcome{border-radius:9px;background:#e9eeff;padding:15px 10px;position:relative;color:#4d60a4}#s1 .cs-phone-welcome small{font-size:7px}#s1 .cs-phone-welcome strong{display:block;font-size:16px;margin:8px 0 6px;font-weight:600}#s1 .cs-phone-welcome>span{font-size:7px;color:#8a98bc}#s1 .cs-phone-welcome i{position:absolute;right:12px;top:25px;color:#afbbec;font-size:31px}#s1 .cs-phone-list>p{font-size:9px;margin:15px 0 9px}#s1 .cs-phone-list button,#s1 .cs-phone-tile{width:100%;display:flex;align-items:center;gap:7px;padding:9px 5px;border:0;border-bottom:1px solid #f1f3f8;background:#fff;text-align:left;color:#374568}#s1 .cs-phone-list button{cursor:pointer}#s1 .cs-phone-list button>span,#s1 .cs-phone-tile>span{background:#f1f3ff;padding:5px;border-radius:5px;font-size:14px}#s1 .cs-phone-list b{font-size:9px;font-weight:500}#s1 .cs-phone-list b small{display:block;font-size:7px;color:#a1aabe;margin-top:4px}#s1 .cs-phone-list button>i{margin-left:auto;font-size:16px;font-style:normal;color:#b0b9cd}#s1 .cs-phone-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-around;font-size:8px;background:#fff;border-top:1px solid #f1f3f8;padding:9px;color:#99a4b9}#s1 .cs-phone-bottom span:first-child{color:#586bce}#s1 .cs-mini-copy{max-width:160px}#s1 .cs-mini-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#e5f4ee;color:#52a082;font-size:13px}#s1 .cs-mini-copy h3{font-size:14px;font-weight:500;line-height:1.6;margin:15px 0}#s1 .cs-mini-copy p{font-size:11px;color:#8490ac;line-height:2.2}#s1 .cs-mini-copy>span:last-child{font-size:9px;color:#a0abc1;line-height:1.6;display:block;margin-top:18px}#s1 .cs-phone-detail>button{border:0;background:transparent;font-size:8px;color:#5d70c0;padding:6px 0;cursor:pointer}#s1 .cs-phone-detail h4{font-size:13px;margin:14px 0 8px}#s1 .cs-phone-detail p{font-size:8px;color:#8c97af}#s1 .cs-seat-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:20px 8px}#s1 .cs-seat-map i{height:15px;border-radius:3px;background:#e5ebfd;border:1px solid #c9d5f4}#s1 .cs-seat-map i:nth-child(3n){background:#e8ebf1;border-color:#e2e6ed}#s1 .cs-phone-detail>span{font-size:7px;color:#9da7bc;line-height:1.6;display:block}
#s1 .cs-demo button:focus-visible{outline:2px solid #7a88e2;outline-offset:2px}#s1 .home-showcase:not(.in-view) .cs-demo *,#s1 .home-showcase.page-hidden .cs-demo *,#s1 .home-showcase__panel[hidden] .cs-demo *{animation-play-state:paused!important}
@keyframes csSceneIn{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes csDraw{to{stroke-dashoffset:0}}@keyframes csScan{0%{transform:translateY(0);opacity:0}15%,85%{opacity:.7}100%{transform:translateY(239px);opacity:0}}@keyframes csBoxes{to{opacity:1}}
@media(max-width:480px){#s1 .cs-dashboard{padding:17px 12px}#s1 .cs-system{grid-template-columns:45px minmax(0,1fr)}#s1 .cs-side{padding:14px 3px}#s1 .cs-side>span{padding:6px}#s1 .cs-heading h3{font-size:12px}#s1 .cs-stats{gap:5px}#s1 .cs-stats>div{padding:10px 7px}#s1 .cs-stats strong{font-size:21px}#s1 .cs-status{font-size:8px}#s1 .cs-miniapp{gap:16px;padding:13px 12px}#s1 .cs-mini-copy h3{font-size:12px}#s1 .cs-window{gap:8px;font-size:8px}#s1 .cs-demo-note{font-size:9px}#s1 .cs-stack{gap:5px;font-size:8px}#s1 .cs-stack span{padding:5px}#s1 .cs-detection{padding:13px 10px}#s1 .cs-switch button{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){#s1 .cs-demo *{animation:none!important}#s1 .cs-trend{stroke-dashoffset:0}#s1 .cs-boxes{opacity:1}#s1 .cs-scan{display:none}}

/* Homepage opening: editorial copy and an interactive paper preview. */
#s1 .hero{background:#fafbfe;min-height:0}
#s1 .hero-bg{background:radial-gradient(ellipse at 67% 38%,#e9edff80,transparent 55%),linear-gradient(180deg,#fff,#f8faff)!important;opacity:1}
#s1 .hero-bg:before,#s1 .hero-bg:after,#s1 .hero-bg>.hero-glow{display:none!important}
#s1 .hero-inner{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);padding:125px 0 46px;gap:72px;width:min(1400px,calc(100% - 96px))}
#s1 .hero-content{padding:10px 0 20px}
#s1 .hero-title{font-size:clamp(40px,4.15vw,65px);line-height:1.28;font-weight:650;letter-spacing:-2.8px;color:#20232b}
#s1 .hero-title-line{padding:0;overflow:visible}
#s1 .hero-title em{background:none;color:#3847bc;font-weight:inherit}
#s1 .hero-sub{max-width:420px;font-size:16px;line-height:1.95;color:#7a8190;margin:25px 0 0}
#s1 .hero-actions{margin-top:34px;gap:13px}
#s1 .btn-hero-primary,#s1 .btn-hero-ghost{height:48px;border-radius:12px;font-size:13px;padding:0 23px;box-shadow:none}
#s1 .btn-hero-primary{background:#3544b6;box-shadow:0 6px 16px #3544b61a}
#s1 .btn-hero-ghost{background:#fff;border-color:#e4e7f0;color:#5d6577}
#s1 .hero-discipline-nav{margin-top:6px;padding-top:27px;border-top:1px solid #e5e9f2}
#s1 .hero-disciplines__chips{gap:8px}
#s1 .hero-disciplines__chip{background:#ffffffa6;border:1px solid #e8ebf4;box-shadow:none;color:#687185;font-weight:400;padding:5px 11px;font-size:11px}
#s1 .hero-studio{width:100%;border:1px solid #e3e7f0;border-radius:16px;background:#f7f9fd;box-shadow:0 25px 65px -30px #35457342;overflow:hidden;animation:studioIn .7s ease both}
#s1 .studio-top{height:49px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e7ebf4;padding:0 20px}
#s1 .studio-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:550;color:#40495e}#s1 .studio-title svg{width:20px;height:20px;color:#20232b}
#s1 .studio-example{font-size:10px;color:#a1a9bb;letter-spacing:1px}
#s1 .studio-inner{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:404px}
#s1 .studio-navigation{padding:28px 10px;display:flex;flex-direction:column;gap:6px}
#s1 .studio-nav-label{font-size:9px;color:#a6afc1;padding:0 11px 12px;letter-spacing:1px}
#s1 .studio-navigation button{display:flex;align-items:center;gap:8px;padding:11px 10px;border-radius:7px;background:transparent;border:0;font:11px var(--font-heading);color:#9099ad;cursor:pointer;white-space:nowrap;text-align:left;transition:background .2s,color .2s}
#s1 .studio-navigation button>span{font:9px Arial,sans-serif;color:#aeb8cd}
#s1 .studio-navigation button[aria-selected=true]{background:#e8edff;color:#4355ba}#s1 .studio-navigation button[aria-selected=true]>span{color:#6d7fc9}
#s1 .studio-navigation button:hover{background:#edf1fa}
#s1 .studio-nav-foot{margin-top:auto;padding:20px 10px 0;color:#a1aabd;font-size:8px;line-height:1.8;display:flex;flex-direction:column}#s1 .studio-nav-foot i{display:block;width:20px;height:1px;background:#d9dfed;margin:10px 0}
#s1 .studio-paper-wrap{min-width:0;padding:23px 24px 23px 0}
#s1 .studio-paper{position:relative;background:#fff;min-height:360px;padding:25px 30px 34px;border:1px solid #edf0f5;box-shadow:0 5px 14px #3c507908;border-radius:2px}
#s1 .studio-paper-meta{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.5px;color:#a9b0c0}
#s1 .studio-paper h3{font-size:18px;line-height:1.65;color:#343b4d;letter-spacing:.5px;font-weight:600;margin:19px 0 17px}
#s1 .studio-paper-rule{height:1px;background:#e8ecf4;margin-bottom:17px}
#s1 .studio-page-view{height:189px;animation:studioIn .3s ease both}
#s1 .studio-page-view h4{font-size:10px;font-weight:600;margin:0 0 8px;color:#5a647b}
#s1 .studio-page-view p{font-size:9px;line-height:1.95;color:#969fb2;margin:0 0 12px;text-align:justify}
#s1 .studio-keywords{font-size:7px;color:#acb3c2;margin:10px 0 18px;line-height:1.8}
#s1 .studio-paper-lines{display:flex;flex-direction:column;gap:6px;margin-top:8px}#s1 .studio-paper-lines i{height:3px;background:#f0f2f7;width:94%}#s1 .studio-paper-lines i:last-child{width:65%}
#s1 .studio-paper-bottom{display:flex;justify-content:space-between;border-top:1px solid #f0f2f7;padding-top:12px;margin-top:16px;font:7px var(--font-heading);color:#bbc1ce;letter-spacing:.5px}
#s1 .studio-outline-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:15px}
#s1 .studio-outline-list li{display:flex;gap:12px;align-items:flex-start;font-size:10px;color:#68748e}#s1 .studio-outline-list b{font:9px Arial,sans-serif;color:#9caad1;padding-top:2px}#s1 .studio-outline-list small{display:block;font-size:8px;color:#b0b8c8;margin-top:5px}
#s1 .studio-chart-legend{display:flex;gap:14px;font-size:8px;color:#99a3ba;justify-content:flex-end}#s1 .studio-chart-legend span:before{content:'';display:inline-block;width:5px;height:5px;background:#7c8ddb;border-radius:1px;margin-right:5px}#s1 .studio-chart-legend span:last-child:before{background:#dce3fa}
#s1 .studio-bar-chart{height:122px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #e6eaf3;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f0f2f7 39px,#f0f2f7 40px);padding:0 8px;margin:12px 0 27px}
#s1 .studio-bar-chart>div{width:38px;height:100%;display:flex;align-items:flex-end;gap:5px;position:relative}#s1 .studio-bar-chart i{width:16px;height:var(--bar-a);background:linear-gradient(#7082d6,#9dace9);border-radius:3px 3px 0 0;transform-origin:bottom;animation:studioBar .65s ease both}#s1 .studio-bar-chart i:nth-child(2){height:var(--bar-b);background:#dce3fa;animation-delay:.08s}#s1 .studio-bar-chart span{position:absolute;top:calc(100% + 9px);left:-10px;right:-10px;text-align:center;white-space:nowrap;font-size:8px;color:#a0aac0}#s1 .studio-page-view .studio-chart-note{font-size:7px;color:#b1bacb;text-align:center;margin:0}
@keyframes studioIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes studioBar{from{transform:scaleY(.05)}to{transform:scaleY(1)}}
@media(max-width:1080px){#s1 .hero-inner{grid-template-columns:1fr;gap:38px;padding:110px 0 40px;width:min(760px,calc(100% - 48px))}#s1 .hero-content{padding:0}#s1 .hero-title{font-size:52px}#s1 .hero-sub{max-width:540px}#s1 .hero-media{max-width:660px}#s1 .hero-discipline-nav{margin-top:0}}
@media(max-width:540px){#s1 .hero-inner{padding:95px 0 32px;gap:28px;width:calc(100% - 36px)}#s1 .hero-title{font-size:38px;letter-spacing:-1.7px;line-height:1.35}#s1 .hero-sub{font-size:13px;line-height:1.9;margin-top:18px}#s1 .hero-actions{margin-top:23px;gap:10px}#s1 .btn-hero-primary,#s1 .btn-hero-ghost{height:43px;padding:0 17px;font-size:11px;border-radius:10px}#s1 .studio-top{height:42px;padding:0 14px}#s1 .studio-inner{grid-template-columns:1fr;min-height:0}#s1 .studio-navigation{flex-direction:row;padding:10px 12px;gap:5px}#s1 .studio-nav-label,#s1 .studio-nav-foot{display:none}#s1 .studio-navigation button{font-size:10px;padding:8px 9px;gap:5px}#s1 .studio-navigation button>span{font-size:8px}#s1 .studio-paper-wrap{padding:0 15px 16px}#s1 .studio-paper{padding:20px 24px 20px;min-height:360px}#s1 .studio-paper h3{font-size:17px;margin-top:15px}#s1 .studio-page-view{height:189px}#s1 .hero-disciplines__chips{gap:6px}#s1 .hero-disciplines__chip{font-size:10px;padding:4px 9px}}
@media(prefers-reduced-motion:reduce){#s1 .hero-studio,#s1 .studio-page-view,#s1 .studio-bar-chart i{animation:none}}

