#ink-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:80;mix-blend-mode:multiply;opacity:.6}.book-shell{margin:62px 72px 0;perspective:1800px}.book-hint{font:10px var(--mono);letter-spacing:.14em;color:var(--blue);margin:0 0 15px;text-align:right}.portfolio-book{height:610px;position:relative;transform-style:preserve-3d}.book-page{position:absolute;inset:0;background:#fff;box-shadow:0 28px 65px rgba(21,29,58,.12);padding:clamp(26px,5vw,70px);display:grid;grid-template-columns:1fr 1fr;gap:7vw;transform-origin:left center;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .45s;backface-visibility:hidden;overflow:hidden}.book-page:after{content:"";position:absolute;inset:0;border:1px solid #e3e3df;pointer-events:none}.book-page.is-hidden{transform:rotateY(-165deg);opacity:0;pointer-events:none}.book-page.is-active{z-index:3}.book-kicker{font:10px var(--mono);letter-spacing:.16em;color:var(--blue)}.book-page h3{font:500 clamp(42px,5vw,74px)/.98 var(--serif);letter-spacing:-.08em;margin:30px 0 20px}.book-page p{max-width:430px;font-size:14px;line-height:1.9;color:#505050}.book-points{margin-top:28px;border-top:1px solid #ddd}.book-points div{padding:10px 0;border-bottom:1px solid #e4e4e0;font-size:12px}.book-points strong{font:10px var(--mono);color:var(--blue);letter-spacing:.1em;display:inline-block;width:105px}.book-visual{align-self:center;height:390px;position:relative;overflow:hidden}.yishan-visual{background:#f6f4ee}.yishan-visual:before,.yishan-visual:after{display:none}.yishan-visual .yishan-main{width:100%;height:100%;object-fit:cover;display:block}.yishan-guide-link{position:absolute;right:10px;bottom:10px;width:46%;z-index:3;display:block;border:3px solid #fff;box-shadow:0 14px 30px rgba(21,29,58,.22);border-radius:3px;overflow:hidden;background:#fff;transition:transform .25s}.yishan-guide-link:hover{transform:translateY(-4px) scale(1.03)}.yishan-guide-link img{width:100%;display:block;aspect-ratio:2107/1012;object-fit:cover}.yishan-guide-link span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(21,29,58,.62),transparent);color:#fff;font:9px var(--mono);letter-spacing:.14em;padding:16px 8px 6px;text-align:left}.mindmap-visual{background:#0f172f;overflow:hidden}.mindmap-visual:before{content:"";position:absolute;width:178px;height:178px;border:2px solid #9ec1ff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 40px rgba(61,112,230,.15),0 0 0 90px rgba(61,112,230,.09)}.node{position:absolute;color:#fff;border:1px solid rgba(168,196,255,.8);padding:10px 13px;font:10px var(--mono);letter-spacing:.08em;background:rgba(20,44,103,.56)}.node.a{left:11%;top:19%}.node.b{right:10%;top:25%}.node.c{left:14%;bottom:20%}.node.d{right:12%;bottom:18%}.node.center{left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:#153fba;border:none;border-radius:50%;padding:24px 13px}.book-controls{position:absolute;z-index:6;top:0;left:0;right:0;bottom:0;pointer-events:none}.book-controls button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;border:1px solid #cfcfcb;background:rgba(255,255,255,.95);font:12px var(--mono);letter-spacing:.08em;padding:16px 20px;cursor:pointer;color:var(--blue);box-shadow:0 6px 18px rgba(21,29,58,.10)}.book-controls button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}#book-prev{left:-60px}#book-next{right:-60px}.book-index{position:absolute;z-index:5;left:32px;bottom:28px;color:#999;font:10px var(--mono);letter-spacing:.15em}.balloon-zone{height:440px;width:100%;align-self:stretch;margin-top:64px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f7f7f5 0,#edf2ff 100%)}.balloon-note{position:absolute;z-index:2;left:5vw;top:38px;font:10px var(--mono);letter-spacing:.14em;color:var(--blue)}.balloon{position:absolute;width:clamp(64px,7vw,112px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff 0 4%,rgba(255,255,255,.42) 7%,transparent 23%),linear-gradient(135deg,#9bb9ff,#153fba);box-shadow:inset -13px -18px 20px rgba(0,0,0,.11),0 15px 30px rgba(21,63,186,.2);cursor:crosshair;transition:transform .35s ease,opacity .25s}.balloon.gold{background:radial-gradient(circle at 32% 25%,#fff 0 4%,rgba(255,255,255,.42) 7%,transparent 23%),linear-gradient(135deg,#f3e3aa,#b6922f)}.balloon.white{background:radial-gradient(circle at 32% 25%,#fff 0 5%,#f1f3f9 33%,#c9d0e0)}.balloon.popped{transform:scale(.1)!important;opacity:0}.balloon.fly{transition:none;transform:scale(1.06)}.balloon-zone h3{position:absolute;z-index:2;right:5vw;top:31%;margin:0;font:500 clamp(31px,4vw,60px)/1.1 var(--serif);letter-spacing:-.06em;text-align:right}.balloon-zone h3 span{color:var(--blue)}@media(max-width:800px){.portfolio-book{height:690px}.book-page{grid-template-columns:1fr;gap:18px;padding:28px}.book-visual{height:240px;order:-1}.book-page h3{font-size:48px;margin:15px 0}.book-points{margin-top:14px}.book-page p{font-size:13px}.book-index{left:20px}.book-shell{margin:40px 38px 0}.book-controls button{padding:13px 13px;font-size:11px}#book-prev{left:-34px}#book-next{right:-34px}.balloon-zone{height:360px}.balloon-zone h3{top:38%;right:7vw}.balloon-note{left:7vw}}
/* === 物理下落气球 === */
.balloon.phys{transition:none;will-change:transform;top:0;left:0;cursor:crosshair}
/* === 翻书：创意工坊 / PPT 视觉 === */
.studio-visual{background:#eef2fc;position:relative;overflow:hidden}
.studio-visual img{width:100%;height:100%;object-fit:cover;display:block}
.studio-visual i,.studio-visual span{display:none}
.ppt-visual{background:#0f172f;position:relative;display:flex;flex-direction:column;gap:9px;padding:18px;justify-content:center}
.ppt-visual b{position:absolute;right:18px;top:16px;color:#fff;font:500 13px var(--serif);letter-spacing:-.02em}
.ppt-visual i{display:block;background:rgba(255,255,255,.07);border:1px solid rgba(168,196,255,.35);border-radius:8px;padding:10px 14px;font:10px var(--mono);letter-spacing:.12em;color:#cfe0ff}
.ppt-visual i:first-child{background:var(--blue);border-color:var(--blue);color:#fff}
/* === 轮播卡片可点击 === */
.c-item{text-decoration:none;color:inherit;cursor:pointer}
.c-item:hover{border-color:rgba(21,63,186,.5);filter:brightness(1.05)}

/* === 滚动进度条 === */
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#153fba,#6f9dff);width:0;z-index:300;pointer-events:none}
body[data-theme="dark"] .scroll-progress{background:linear-gradient(90deg,#6f9dff,#a8c4ff)}
/* === 主题切换按钮 === */
.theme-toggle{background:none;border:1px solid var(--line);color:var(--ink);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:.3s;margin-left:24px;flex:0 0 auto}
.theme-toggle:hover{border-color:var(--blue);color:var(--blue);transform:rotate(180deg)}
body[data-theme="dark"] .theme-toggle{color:var(--ink)}
body[data-theme="dark"] .balloon-zone{background:linear-gradient(180deg,#0f1116 0,#141b30 100%)}
body[data-theme="dark"] .balloon-note{color:#8a8d96}
/* === 回到顶部按钮 === */
.back-top{position:fixed;right:30px;bottom:104px;width:68px;height:68px;border-radius:50%;border:1px solid var(--line);background:rgba(247,247,245,.92);color:var(--blue);font-size:28px;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(14px);transition:.32s;z-index:180;backdrop-filter:blur(8px);box-shadow:0 10px 26px rgba(21,29,58,.14)}
.back-top.show{opacity:1;pointer-events:auto;transform:none}
.back-top:hover{background:var(--blue);color:#fff;transform:translateY(-5px)}
body[data-theme="dark"] .back-top{background:rgba(15,17,22,.92);border-color:var(--line)}
/* === 键盘彩蛋：B 键全屏 === */
.blast{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:transparent;z-index:320;pointer-events:none;opacity:0;transition:opacity .45s}
.blast.on{opacity:1}
.blast span{font:500 clamp(60px,16vw,220px)/1 var(--serif);color:#fff;letter-spacing:.12em;text-shadow:0 0 70px rgba(111,157,255,.6),0 0 140px rgba(111,157,255,.3)}
body[data-theme="dark"] .blast span{color:#0f1116;text-shadow:0 0 70px rgba(111,157,255,.8)}
/* === 键盘彩蛋：H 键提示 toast === */
.hint-toast{position:fixed;right:26px;bottom:88px;font:10px var(--mono);letter-spacing:.12em;color:var(--blue);border:1px solid rgba(21,63,186,.35);background:rgba(247,247,245,.95);padding:12px 16px;opacity:0;transform:translateY(8px);transition:.35s;z-index:180;pointer-events:none}
.hint-toast.show{opacity:1;transform:none}
body[data-theme="dark"] .hint-toast{background:rgba(15,17,22,.95);border-color:rgba(111,157,255,.4)}
/* === 技能标签翻转 === */
.skill-tags .flip{perspective:640px;display:inline-block;cursor:pointer}
.skill-tags .flip-inner{position:relative;display:inline-block;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.skill-tags .flip:hover .flip-inner{transform:rotateY(180deg)}
.skill-tags .flip-front,.skill-tags .flip-back{backface-visibility:hidden;-webkit-backface-visibility:hidden;display:block;font:11px var(--sans);letter-spacing:.02em;border:1px solid var(--line);padding:6px 10px}
.skill-tags .flip-front{color:#333}
body[data-theme="dark"] .skill-tags .flip-front{color:var(--ink);background:#161923}
.skill-tags .flip-back{position:absolute;inset:0;transform:rotateY(180deg);color:var(--blue);border-color:rgba(21,63,186,.35);background:var(--blue-pale)}
body[data-theme="dark"] .skill-tags .flip-back{background:#131a2c}
@media(max-width:800px){.theme-toggle{margin-left:14px;width:36px;height:36px}.back-top{right:18px;bottom:84px;width:56px;height:56px;font-size:24px}}

/* === 翻书深色适配 === */
body[data-theme="dark"] .book-page{background:#191c25;box-shadow:0 28px 65px rgba(0,0,0,.5)}
body[data-theme="dark"] .book-page:after{border-color:#2a2d38}
body[data-theme="dark"] .book-page p{color:#b6bac4}
body[data-theme="dark"] .book-points{border-color:#2a2d38}
body[data-theme="dark"] .book-points div{border-color:#262a35}
body[data-theme="dark"] .book-index{color:#6a6e79}
body[data-theme="dark"] .book-controls button{background:rgba(20,23,32,.92);border-color:#2a2d38}
body[data-theme="dark"] .book-controls button:hover{background:var(--blue);color:#0f1116;border-color:var(--blue)}
body[data-theme="dark"] .yishan-guide-link{border-color:#2a2d38;background:#262a35}
/* === 技能标签矮化 === */
.skill-tags .flip-front,.skill-tags .flip-back{font:10px var(--sans);line-height:1.25;padding:4px 10px}
/* === 回到顶部：hover 上升气球 === */
.back-top .bt-arrow{display:inline-block;transition:transform .28s,opacity .28s}
.back-top .bt-ball{position:absolute;left:50%;top:50%;font-size:26px;line-height:1;opacity:0;transform:translate(-50%,-50%) scale(.3);pointer-events:none;transition:transform .28s,opacity .28s}
.back-top:hover .bt-arrow{transform:translateY(-8px);opacity:0}
.back-top:hover .bt-ball{opacity:1;transform:translate(-50%,-150%) scale(1);animation:btFloat 1.7s ease-out .1s infinite}
@keyframes btFloat{0%{transform:translate(-50%,-150%) scale(1);opacity:1}70%{opacity:.9}100%{transform:translate(-50%,-330%) scale(.85);opacity:0}}

/* === 微信号 hover 二维码浮层 === */
.wechat-link{position:relative}
.wechat-qr{position:absolute;left:50%;bottom:100%;transform:translateX(-50%) translateY(10px);opacity:0;visibility:hidden;transition:opacity .32s cubic-bezier(.2,.7,.2,1),transform .32s cubic-bezier(.2,.7,.2,1),visibility .32s;background:#fff;padding:10px 10px 8px;border:1px solid #e6e6e1;border-radius:10px;box-shadow:0 20px 46px rgba(21,29,58,.18);z-index:60}
.wechat-link:hover .wechat-qr,.wechat-link.qr-open .wechat-qr{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.wechat-qr img{width:176px;height:auto;display:block;border-radius:6px}
.wechat-qr em{display:block;font:9px var(--mono);letter-spacing:.14em;color:#747474;text-align:center;margin-top:9px;font-style:normal}
.wechat-qr:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%) rotate(45deg);width:11px;height:11px;background:#fff;border-right:1px solid #e6e6e1;border-bottom:1px solid #e6e6e1;border-radius:2px}
body[data-theme="dark"] .wechat-qr{background:#1b1e28;border-color:#2a2d38}
body[data-theme="dark"] .wechat-qr:after{background:#1b1e28;border-color:#2a2d38}
body[data-theme="dark"] .wechat-qr em{color:#8a8d96}
@media(max-width:800px){.wechat-qr img{width:150px}.wechat-qr{left:auto;right:0;transform:translateY(10px)}.wechat-link:hover .wechat-qr,.wechat-link.qr-open .wechat-qr{transform:translateY(0)}.wechat-qr:after{left:auto;right:14px}}

/* ===== 首屏入场动画（A）：.intro-play 开关，删除本块即可整体回滚 ===== */
body.intro-play .hero .eyebrow,
body.intro-play .hero > div:first-child > p,
body.intro-play .hero .hero-facts,
body.intro-play .hero .actions,
body.intro-play .hero .scroll-note,
body.intro-play .hero .hero-art{opacity:0}
body.intro-play .hero .eyebrow{animation:introIn .6s cubic-bezier(.22,.61,.36,1) .12s forwards}
body.intro-play .hero h1 .ch{animation:introCh .5s ease both}
body.intro-play .hero > div:first-child > p:not(.eyebrow){animation:introIn .7s cubic-bezier(.22,.61,.36,1) 1.6s forwards}
body.intro-play .hero .hero-facts{animation:introIn .6s ease 1.85s forwards}
body.intro-play .hero .actions{animation:introIn .6s ease 2.05s forwards}
body.intro-play .hero .scroll-note{animation:introIn .7s ease 2.3s forwards}
body.intro-play .hero .hero-art{animation:introIn .7s cubic-bezier(.22,.61,.36,1) 2.0s forwards}
@keyframes introIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes introCh{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ===== B. 技能数字统计（滚动触发计数） ===== */
.skill-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line,#dededb)} .skill-stats .stat{text-align:center}
.skill-stats .stat b{display:block;font:700 clamp(34px,4.4vw,52px)/1 var(--font-display,Georgia,serif);color:var(--ink,#151515);letter-spacing:-.02em}
.skill-stats .stat span{display:block;margin-top:10px;font:500 clamp(10px,1.1vw,12px)/1.4 var(--font-mono,ui-monospace,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#747474)}
body[data-theme="dark"] .skill-stats{border-top-color:#2a2d38}
body[data-theme="dark"] .skill-stats .stat b{color:#e9e7e2}
@media(max-width:700px){.skill-stats{grid-template-columns:repeat(2,1fr);gap:20px}}

/* ===== C. 网页平台小猫（精灵动画） ===== */
.pet-cat{position:absolute;left:0;top:0;width:64px;height:64px;z-index:90;pointer-events:auto;cursor:pointer;opacity:0;transition:opacity .9s ease}
.pet-cat.visible{opacity:1}
.pet-cat .pc{position:absolute;inset:0;background-image:url('cat-all.png');background-repeat:no-repeat;image-rendering:pixelated;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 3px 7px rgba(21,29,58,.18))}
body[data-theme="dark"] .pet-cat .pc{filter:drop-shadow(0 3px 7px rgba(0,0,0,.45))}
@media(max-width:700px){.pet-cat{box-shadow:none}body[data-theme="dark"] .pet-cat .pc{filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}}

/* ===== D. 气球雨彩蛋 ===== */
.rain-balloon{position:fixed;top:-180px;left:0;z-index:150;pointer-events:none;border-radius:50%;opacity:0;will-change:transform;
  background:radial-gradient(circle at 32% 25%,#fff 0 4%,rgba(255,255,255,.5) 7%,transparent 24%),linear-gradient(135deg,#9bb9ff,#153fba);
  box-shadow:inset -6px -8px 10px rgba(0,0,0,.10),0 10px 22px rgba(21,63,186,.18);
  animation:rainFall 6.5s cubic-bezier(.33,.02,.6,1) forwards}
.rain-balloon.w{background:radial-gradient(circle at 32% 25%,#fff 0 5%,#f1f3f9 33%,#c9d0e0)}
.rain-balloon.g{background:radial-gradient(circle at 32% 25%,#fff 0 4%,rgba(255,255,255,.5) 7%,transparent 24%),linear-gradient(135deg,#f3e3aa,#b6922f)}
.rain-balloon:after{content:"";position:absolute;left:50%;bottom:-13px;width:2px;height:13px;background:rgba(21,63,186,.28)}

/* ===== E. 扣子智能体悬浮气泡 ===== */
.coze-widget{position:fixed;right:24px;bottom:120px;width:400px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 220px);background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;box-shadow:0 24px 60px rgba(21,29,58,.22);z-index:190;display:none;overflow:hidden;flex-direction:column}
.coze-widget.is-open{display:flex}
.coze-widget-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f7f7f5;border-bottom:1px solid rgba(0,0,0,.06);flex:0 0 auto;cursor:grab;user-select:none;-webkit-user-select:none}
.coze-widget-head:active{cursor:grabbing}
.coze-widget-title{font:11px var(--mono);letter-spacing:.1em;color:var(--blue,#153fba)}
.coze-widget-close{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.12);background:#fff;color:#666;font-size:13px;line-height:1;cursor:pointer;transition:.2s}
.coze-widget-close:hover{background:var(--blue,#153fba);color:#fff;border-color:var(--blue,#153fba)}
.coze-widget-body{flex:1;min-height:0;position:relative}
.coze-widget-body iframe,.coze-widget-body > div{width:100%;height:100%;border:0}
body.coze-open .back-top{bottom:150px}
@media(max-width:640px){.coze-widget{right:12px;bottom:92px;left:12px;width:auto;height:58vh}}
body[data-theme="dark"] .coze-widget{background:#16181f;border-color:rgba(255,255,255,.1)}
/* Chat SDK 内部提示层（toast/notice/message/tooltip/popover）提至最高，避免被弹窗盖住 */
[class*="semi-toast"],[class*="semi-notice"],[class*="semi-message"],[class*="semi-tooltip"],[class*="semi-popover"],[class*="semi-banner"]{z-index:2147483002 !important}
/* Chat SDK 弹窗头部可拖拽 */
.coze-chat-sdk header{cursor:grab;user-select:none;-webkit-user-select:none}
.coze-chat-sdk header:active{cursor:grabbing}
body[data-theme="dark"] .coze-widget-head{background:#101218;border-color:rgba(255,255,255,.06)}
body[data-theme="dark"] .coze-widget-close{background:#20232d;border-color:rgba(255,255,255,.14);color:#b6bac4}
@keyframes rainFall{0%{transform:translate3d(0,0,0);opacity:0}10%{opacity:.95}85%{opacity:.9}100%{transform:translate3d(var(--drift,0px),calc(100vh + 200px),0);opacity:.4}}

/* ===== F. 图图 · 常驻 AI 小猫入口（右下角，独立透明） ===== */
.tutu-entry{position:fixed;right:22px;bottom:22px;width:68px;height:68px;padding:0;background:transparent;border:0;cursor:pointer;z-index:2147483001;display:block;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.tutu-entry:hover{transform:translateY(-4px) scale(1.08)}
.tutu-entry:active{transform:scale(.95)}
.tutu-sprite{display:block;width:68px;height:68px;background:url(kitty.png) no-repeat;background-size:800% 800%;image-rendering:pixelated}
.tutu-tip{position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);font:11px var(--mono);letter-spacing:.14em;color:var(--blue);background:rgba(247,247,245,.95);border:1px solid rgba(21,63,186,.3);border-radius:999px;padding:7px 13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.tutu-entry:hover .tutu-tip{opacity:1;transform:translateY(-50%) translateX(-4px)}
body[data-theme="dark"] .tutu-tip{background:rgba(15,17,22,.95);border-color:rgba(111,157,255,.4);color:#9db4ff}
@media(max-width:800px){.tutu-entry{right:14px;bottom:14px;width:56px;height:56px}.tutu-sprite{width:56px;height:56px}.tutu-tip{display:none}.coze-chat-sdk{width:calc(100vw - 20px) !important;max-width:420px !important;right:10px !important;bottom:10px !important;left:auto !important}}


/* ===== H. 扣子 Chat SDK 弹窗换肤（图图 / 政策知识库）—— 跟随网站风格与深色模式 ===== */
.coze-chat-sdk{
  --coze-chat-sdk-semi-color-primary:rgba(21,63,186,1)!important;
  --coze-chat-sdk-semi-color-primary-hover:rgba(17,50,150,1)!important;
  --coze-chat-sdk-semi-color-primary-active:rgba(14,40,120,1)!important;
  --coze-chat-sdk-semi-color-primary-light-default:rgba(240,243,253,1)!important;
  --coze-chat-sdk-semi-color-primary-light-hover:rgba(231,236,250,1)!important;
  --coze-chat-sdk-semi-color-primary-light-active:rgba(216,224,246,1)!important;
  --coze-chat-sdk-semi-color-primary-disabled:rgba(158,170,222,1)!important;
  --coze-chat-sdk-semi-color-focus-border:rgba(21,63,186,1)!important;
  --coze-chat-sdk-semi-color-info:rgba(21,63,186,1)!important;
  --coze-chat-sdk-semi-color-info-hover:rgba(17,50,150,1)!important;
  --coze-chat-sdk-semi-color-info-active:rgba(14,40,120,1)!important;
  --coze-chat-sdk-semi-blue-1:209,217,244!important;
  --coze-chat-sdk-semi-blue-2:163,179,233!important;
  --coze-chat-sdk-semi-blue-3:118,141,222!important;
  --coze-chat-sdk-semi-blue-4:66,100,204!important;
  --coze-chat-sdk-semi-blue-5:21,63,186!important;
  --coze-chat-sdk-semi-blue-6:17,50,150!important;
  --coze-chat-sdk-semi-blue-7:14,40,120!important;
  --coze-chat-sdk-semi-blue-8:10,30,90!important;
  --coze-chat-sdk-semi-blue-9:6,20,60!important;
  --coze-chat-sdk-semi-color-bg-0:rgba(247,247,245,1)!important;
  --coze-chat-sdk-semi-color-bg-1:rgba(247,247,245,1)!important;
  --coze-chat-sdk-semi-color-bg-2:rgba(247,247,245,1)!important;
  --coze-chat-sdk-semi-color-bg-3:rgba(255,255,255,1)!important;
  --coze-chat-sdk-semi-color-default:rgba(247,247,245,1)!important;
  --coze-chat-sdk-semi-color-default-hover:rgba(236,236,233,1)!important;
  --coze-chat-sdk-semi-color-default-active:rgba(226,226,222,1)!important;
  --coze-chat-sdk-semi-color-text-0:rgba(21,23,26,1)!important;
  --coze-chat-sdk-semi-color-text-1:rgba(21,23,26,.78)!important;
  --coze-chat-sdk-semi-color-text-2:rgba(21,23,26,.6)!important;
  --coze-chat-sdk-semi-color-text-3:rgba(21,23,26,.4)!important;
  --coze-chat-sdk-semi-color-border:rgba(21,23,26,.1)!important;
  --coze-chat-sdk-semi-color-border-hover:rgba(21,23,26,.16)!important;
  --coze-chat-sdk-semi-border-radius-large:14px!important;
  --coze-chat-sdk-semi-border-radius-medium:10px!important;
  --coze-chat-sdk-semi-border-radius-small:8px!important;
  --coze-chat-sdk-semi-shadow-elevated:0 24px 60px rgba(21,29,58,.18)!important;
  background:#f7f7f5!important;
  border:1px solid rgba(21,23,26,.08)!important;
  border-radius:16px!important;
  box-shadow:0 24px 60px rgba(21,29,58,.18)!important;
  font-family:"Inter","PingFang SC","Segoe UI",system-ui,-apple-system,sans-serif!important;
}
.coze-chat-sdk header{background:#f7f7f5!important;border-bottom:1px solid rgba(21,23,26,.08)!important}
.coze-chat-sdk header [class*="typography"]{font-weight:500!important;letter-spacing:.02em!important}
.coze-chat-sdk header span{color:rgba(21,23,26,1)!important}
.coze-chat-sdk .rc-textarea,.coze-chat-sdk textarea{
  background:#fff!important;border:1px solid rgba(21,23,26,.12)!important;border-radius:10px!important;
  color:rgba(21,23,26,1)!important;transition:border-color .2s,box-shadow .2s!important;
}
.coze-chat-sdk .rc-textarea::placeholder,.coze-chat-sdk textarea::placeholder{color:rgba(21,23,26,.35)!important}
.coze-chat-sdk .rc-textarea:focus,.coze-chat-sdk textarea:focus{
  border-color:#153fba!important;box-shadow:0 0 0 3px rgba(21,63,186,.12)!important;outline:none!important;
}
.coze-chat-sdk .coze-chat-sdk-semi-button-primary{background:#153fba!important;border-color:#153fba!important;color:#fff!important}
.coze-chat-sdk .coze-chat-sdk-semi-button-primary:hover{background:#113296!important;border-color:#113296!important}

body[data-theme="dark"] .coze-chat-sdk{
  --coze-chat-sdk-semi-color-primary:rgba(111,157,255,1)!important;
  --coze-chat-sdk-semi-color-primary-hover:rgba(135,175,255,1)!important;
  --coze-chat-sdk-semi-color-primary-active:rgba(88,130,226,1)!important;
  --coze-chat-sdk-semi-color-primary-light-default:rgba(111,157,255,.14)!important;
  --coze-chat-sdk-semi-color-primary-light-hover:rgba(111,157,255,.22)!important;
  --coze-chat-sdk-semi-color-primary-light-active:rgba(111,157,255,.3)!important;
  --coze-chat-sdk-semi-blue-1:43,60,99!important;
  --coze-chat-sdk-semi-blue-2:62,84,135!important;
  --coze-chat-sdk-semi-blue-3:82,109,172!important;
  --coze-chat-sdk-semi-blue-4:96,132,214!important;
  --coze-chat-sdk-semi-blue-5:111,157,255!important;
  --coze-chat-sdk-semi-blue-6:135,175,255!important;
  --coze-chat-sdk-semi-blue-7:160,194,255!important;
  --coze-chat-sdk-semi-blue-8:186,214,255!important;
  --coze-chat-sdk-semi-blue-9:212,230,255!important;
  --coze-chat-sdk-semi-color-bg-0:rgba(22,24,31,1)!important;
  --coze-chat-sdk-semi-color-bg-1:rgba(22,24,31,1)!important;
  --coze-chat-sdk-semi-color-bg-2:rgba(22,24,31,1)!important;
  --coze-chat-sdk-semi-color-bg-3:rgba(26,28,36,1)!important;
  --coze-chat-sdk-semi-color-text-0:rgba(233,231,226,1)!important;
  --coze-chat-sdk-semi-color-text-1:rgba(233,231,226,.78)!important;
  --coze-chat-sdk-semi-color-text-2:rgba(233,231,226,.6)!important;
  --coze-chat-sdk-semi-color-text-3:rgba(233,231,226,.4)!important;
  --coze-chat-sdk-semi-color-border:rgba(255,255,255,.1)!important;
  --coze-chat-sdk-semi-color-border-hover:rgba(255,255,255,.16)!important;
  --coze-chat-sdk-semi-shadow-elevated:0 24px 60px rgba(0,0,0,.5)!important;
  background:#16181f!important;
  border-color:rgba(255,255,255,.1)!important;
}
body[data-theme="dark"] .coze-chat-sdk header{background:#101218!important;border-color:rgba(255,255,255,.06)!important}
body[data-theme="dark"] .coze-chat-sdk .rc-textarea,body[data-theme="dark"] .coze-chat-sdk textarea{background:#1b1e28!important;border-color:rgba(255,255,255,.12)!important;color:#e9e7e2!important}
body[data-theme="dark"] .coze-chat-sdk header span{color:rgba(255,255,255,1)!important}
body[data-theme="dark"] .coze-chat-sdk .rc-textarea::placeholder,body[data-theme="dark"] .coze-chat-sdk textarea::placeholder{color:rgba(233,231,226,.4)!important}
body[data-theme="dark"] .coze-chat-sdk .coze-chat-sdk-semi-button-primary{background:#153fba!important;border-color:#153fba!important;color:#fff!important}
body[data-theme="dark"] .coze-chat-sdk .coze-chat-sdk-semi-button-primary:hover{background:#1a46c8!important}


/* ===== I. 图图入口 · 首次访问引导气泡（跟随深浅色） ===== */
.tutu-guide{position:fixed;right:106px;bottom:32px;z-index:2147483003;max-width:232px;padding:13px 18px;background:rgba(247,247,245,.97);border:1px solid rgba(21,63,186,.26);border-radius:14px;box-shadow:0 18px 44px rgba(21,29,58,.16);opacity:0;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity .4s,transform .4s}
.tutu-guide.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.tutu-guide.pulse{animation:tgPulse 2.4s ease-in-out infinite}
@keyframes tgPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.tutu-guide .tg-arrow{position:absolute;right:-6px;bottom:20px;width:13px;height:13px;background:inherit;border-right:1px solid rgba(21,63,186,.26);border-bottom:1px solid rgba(21,63,186,.26);transform:rotate(-45deg)}
.tutu-guide .tg-title{font:600 14px var(--serif);color:#15171a;letter-spacing:.01em}
.tutu-guide .tg-sub{font:11px var(--mono);color:#153fba;letter-spacing:.14em;margin-top:5px}
.tutu-guide .tg-close{position:absolute;top:7px;right:9px;font:12px var(--mono);color:rgba(21,23,26,.4);cursor:pointer;padding:2px;background:none;border:0}
.tutu-guide .tg-close:hover{color:#153fba}
body[data-theme="dark"] .tutu-guide{background:rgba(22,24,31,.97);border-color:rgba(111,157,255,.34);box-shadow:0 18px 44px rgba(0,0,0,.5)}
body[data-theme="dark"] .tutu-guide .tg-title{color:#e9e7e2}
body[data-theme="dark"] .tutu-guide .tg-sub{color:#9db4ff}
body[data-theme="dark"] .tutu-guide .tg-arrow{border-color:rgba(111,157,255,.34)}
body[data-theme="dark"] .tutu-guide .tg-close{color:rgba(233,231,226,.5)}
body[data-theme="dark"] .tutu-guide .tg-close:hover{color:#9db4ff}
@media(max-width:800px){.tutu-guide{right:80px;bottom:20px;max-width:196px;padding:11px 14px}}

/* 关闭按钮：透明底 + 图标色跟随模式（修正 primary 误伤导致的深蓝底深色×看不清） */
.coze-chat-sdk header button.coze-chat-sdk-semi-button-primary{background:transparent!important;border:1px solid transparent!important}
.coze-chat-sdk header button.coze-chat-sdk-semi-button-primary svg,.coze-chat-sdk header button.coze-chat-sdk-semi-button-primary [class*="semi-icon"]{color:rgba(21,23,26,.78)!important}
.coze-chat-sdk header button.coze-chat-sdk-semi-button-primary:hover{background:rgba(21,23,26,.08)!important}
body[data-theme="dark"] .coze-chat-sdk header button.coze-chat-sdk-semi-button-primary{background:transparent!important;border-color:transparent!important}
body[data-theme="dark"] .coze-chat-sdk header button.coze-chat-sdk-semi-button-primary svg,body[data-theme="dark"] .coze-chat-sdk header button.coze-chat-sdk-semi-button-primary [class*="semi-icon"]{color:rgba(233,231,226,.82)!important}
body[data-theme="dark"] .coze-chat-sdk header button.coze-chat-sdk-semi-button-primary:hover{background:rgba(255,255,255,.08)!important}
/* 真正的 × 关闭按钮：Chat SDK 容器第一个子元素（绝对定位右上角 32x32，SDK 默认白色图标在纸白底上完全隐形） */
.coze-chat-sdk > div:first-child{background:transparent!important;border-radius:8px!important;transition:background .2s!important}
.coze-chat-sdk > div:first-child svg{color:rgba(21,23,26,.78)!important}
.coze-chat-sdk > div:first-child:hover{background:rgba(21,23,26,.08)!important}
body[data-theme="dark"] .coze-chat-sdk > div:first-child svg{color:rgba(233,231,226,.82)!important}
body[data-theme="dark"] .coze-chat-sdk > div:first-child:hover{background:rgba(255,255,255,.08)!important}
