:root{--bg-abyss:#040711;--glass-panel:rgba(10,16,32,.52);--glass-raised:rgba(15,23,44,.66);--glass-1:rgba(148,190,255,.04);--glass-2:rgba(148,190,255,.07);--glass-3:rgba(148,190,255,.11);--glass-4:rgba(148,190,255,.16);--lg-blur:32px;--lg-saturate:1.7;--lg-specular:inset 0 1px 0 hsla(0,0%,100%,.16),inset 0 -1px 0 hsla(0,0%,100%,.03);--accent:#38bdf8;--accent-hi:#7dd3fc;--accent-deep:#4f7cf6;--accent-grad:linear-gradient(135deg,#67e8f9,#38bdf8 45%,#4f7cf6);--accent-glow:rgba(56,189,248,.35);--accent-soft:rgba(56,189,248,.12);--text-1:rgba(245,248,255,.96);--text-2:rgba(199,214,240,.62);--text-3:rgba(199,214,240,.34);--separator:rgba(148,190,255,.08);--border-light:rgba(148,190,255,.14);--radius-panel:28px;--radius-bubble:22px;--radius-small:14px;--radius-pill:999px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--ease-out:cubic-bezier(0.33,1,0.68,1);--dur-fast:150ms;--dur-normal:220ms;--dur-slow:340ms;--font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,"Liberation Mono",monospace}*{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background:var(--bg-abyss)}form{margin:0}::selection{background:rgba(56,189,248,.35);color:#fff}.welcome-chip:focus-visible,button:focus-visible{outline:2px solid rgba(125,211,252,.65);outline-offset:2px}.page-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;background-color:var(--bg-abyss);color:var(--text-1);font-family:var(--font-ui);display:flex;justify-content:center;align-items:center;overflow:hidden;z-index:1;overscroll-behavior:none}.bg-stage{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bg-aurora{position:absolute;inset:-20%;background:radial-gradient(42% 50% at 12% 18%,rgba(103,232,249,.1),transparent 62%),radial-gradient(38% 46% at 88% 26%,rgba(79,124,246,.12),transparent 60%),radial-gradient(50% 55% at 50% 96%,rgba(56,189,248,.06),transparent 55%),radial-gradient(30% 34% at 72% 78%,rgba(129,140,248,.05),transparent 60%)}.bg-grid{background-image:linear-gradient(rgba(125,211,252,.045) 1px,transparent 0),linear-gradient(90deg,rgba(125,211,252,.045) 1px,transparent 0);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 42%,#000 30%,transparent 78%);mask-image:radial-gradient(ellipse 72% 62% at 50% 42%,#000 30%,transparent 78%)}.bg-grid,.bg-noise{position:absolute;inset:0}.bg-noise{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}.orb{position:absolute;border-radius:50%;filter:blur(110px);opacity:.35;animation:float 28s ease-in-out infinite}.orb-1{width:460px;height:460px;background:#0ea5e9;top:-12%;left:-8%}.orb-2{width:520px;height:520px;background:#1e3a8a;bottom:-16%;right:-10%;animation-delay:-11s;animation-duration:34s}.lg-defs{position:absolute;width:0;height:0;overflow:hidden}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(36px,-44px) scale(1.05)}}@keyframes condense{0%{opacity:0;transform:translateY(14px) scale(.97);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes popIn{0%{transform:scale(.88) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@keyframes ringPulse{0%{box-shadow:0 0 0 0 rgba(56,189,248,.35)}70%{box-shadow:0 0 0 9px rgba(56,189,248,0)}to{box-shadow:0 0 0 0 rgba(56,189,248,0)}}@keyframes dotFade{0%,20%{opacity:0}40%,60%{opacity:1}80%,to{opacity:0}}.progress-container{height:2px;background:var(--glass-1);border-radius:1px;overflow:hidden;flex-shrink:0;margin:10px 0;position:relative;z-index:3}.progress-bar-fill{height:100%;width:0;border-radius:1px;background:var(--accent-grad);box-shadow:0 0 10px var(--accent-glow);transition:width var(--dur-slow) var(--ease-in-out);position:relative}.progress-bar-fill.loading{width:70%!important;animation:progressPulse 2s ease-in-out infinite}.progress-bar-fill.done{width:100%!important}.progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:10px;background:#e0f7ff;filter:blur(2px);opacity:.8}.app-container{position:relative;z-index:10;width:90%;max-width:840px;height:85vh;display:flex;flex-direction:column;padding:24px;box-sizing:border-box;overflow:hidden;background:var(--glass-panel);backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));border-radius:var(--radius-panel);box-shadow:0 32px 64px -24px rgba(2,6,18,.7),0 0 90px -30px rgba(56,189,248,.14),var(--lg-specular);--px:50%;--py:0%;--glow-o:0}.app-container:before{content:"";border-radius:var(--radius-panel);padding:1px;background:linear-gradient(135deg,hsla(0,0%,100%,.16),rgba(148,190,255,.05) 38%,rgba(56,189,248,.18) 62%,hsla(0,0%,100%,.06));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.app-container:before,.pointer-glow{position:absolute;inset:0;pointer-events:none;z-index:1}.pointer-glow{border-radius:inherit;opacity:var(--glow-o);transition:opacity .5s var(--ease-out);background:radial-gradient(340px circle at var(--px) var(--py),rgba(125,211,252,.09),transparent 65%)}@media(min-width:601px){.app-container.lens-on .input-area{backdrop-filter:url(#lg-lens) blur(12px) saturate(var(--lg-saturate));-webkit-backdrop-filter:url(#lg-lens) blur(12px) saturate(var(--lg-saturate))}}.header{padding-bottom:14px;justify-content:space-between;gap:16px;flex-shrink:0;border-bottom:1px solid var(--separator);position:relative;z-index:3}.header,.header-left{display:flex;align-items:center}.header-left{gap:14px;min-width:0}.icon-box{width:44px;height:44px;background:linear-gradient(145deg,rgba(56,189,248,.14),rgba(79,124,246,.08));border-radius:var(--radius-small);display:flex;align-items:center;justify-content:center;border:1px solid rgba(125,211,252,.22);box-shadow:0 4px 16px -6px rgba(56,189,248,.35),var(--lg-specular);color:var(--accent-hi);flex-shrink:0;transition:box-shadow var(--dur-normal) var(--ease-out-expo)}.icon-box:hover{box-shadow:0 4px 22px -4px rgba(56,189,248,.5),var(--lg-specular)}.brand-icon{width:23px;height:23px}.header-title-row{display:flex;align-items:center;gap:10px;min-width:0}.header-title{margin:0;font-size:20px;font-weight:600;background:linear-gradient(105deg,#f8fbff 40%,#99d6f8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:-.3px;white-space:nowrap}.subtitle{color:var(--text-2);font-size:13px;margin-top:3px}.status-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--accent-hi);padding:3px 9px;border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid rgba(56,189,248,.22);white-space:nowrap;flex-shrink:0}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(56,189,248,.8);animation:dotPulse 2.2s ease-in-out infinite}#chat-messages{flex:1 1;overflow-y:auto;padding-right:8px;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;position:relative;z-index:2}.msg-bubble{flex-shrink:0;position:relative;padding:11px 16px;border-radius:var(--radius-bubble);max-width:75%;font-size:17px;line-height:1.45;white-space:pre-wrap;word-break:break-word;animation:condense var(--dur-slow) var(--ease-out-expo) both}.msg-user{background:linear-gradient(135deg,rgba(103,232,249,.22),rgba(56,189,248,.18) 45%,rgba(79,124,246,.24));border:1px solid rgba(125,211,252,.24);align-self:flex-end;border-bottom-right-radius:8px;color:var(--text-1);box-shadow:0 4px 18px -6px rgba(56,189,248,.25),var(--lg-specular);transition:transform var(--dur-fast) var(--ease-out)}.msg-user:active{transform:scale(.98)}.msg-ai{background:rgba(17,25,47,.66);border:1px solid rgba(148,190,255,.1);align-self:flex-start;border-bottom-left-radius:8px;color:#dbe4f5;min-height:24px;box-shadow:0 4px 16px -8px rgba(2,6,18,.5),inset 0 1px 0 hsla(0,0%,100%,.07);white-space:normal}.copy-btn{position:absolute;top:8px;right:8px;background:rgba(148,190,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(148,190,255,.12);border-radius:var(--radius-pill);color:var(--text-2);padding:4px 11px;font-size:11px;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);display:flex;align-items:center;gap:4px;opacity:0}.msg-ai:hover .copy-btn{opacity:1}.copy-btn:hover{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.35);color:#fff}.copy-btn:active{transform:scale(.95);opacity:.6;transition:all .1s ease}.retry-btn{background:var(--glass-2);border:1px solid var(--border-light);border-radius:var(--radius-pill);color:var(--text-2);padding:4px 14px;font-size:12px;cursor:pointer;margin-top:8px;transition:all var(--dur-fast) var(--ease-out)}.retry-btn:hover{background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.35);color:#fff}.loading-placeholder{display:flex;align-items:center;color:var(--text-2)}.orbit-spinner{width:18px;height:18px;margin-right:10px;flex-shrink:0;animation:spin .9s linear infinite;transform-origin:center}.orbit-spinner circle{fill:none;stroke-width:2.4}.orbit-track{stroke:rgba(125,211,252,.15)}.orbit-arc{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:16 41}.loading-dots{display:inline-flex;margin-left:1px}.loading-dots span{opacity:0;animation:dotFade 1.4s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.skill-bar{display:flex;gap:8px;overflow-x:auto;flex-shrink:0;padding:2px 2px 10px;position:relative;z-index:14;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.skill-bar::-webkit-scrollbar{display:none}.skill-chip{flex-shrink:0;padding:6px 14px;border-radius:var(--radius-pill);background:var(--glass-2);border:1px solid var(--separator);color:var(--text-2);font-size:12.5px;font-family:inherit;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05);transition:all var(--dur-normal) var(--ease-spring);white-space:nowrap}.skill-chip:hover:not(:disabled){background:var(--glass-3);color:var(--text-1);border-color:var(--border-light);transform:translateY(-1px)}.skill-chip:active:not(:disabled){transform:scale(.96)}.skill-chip.active{background:linear-gradient(135deg,rgba(103,232,249,.2),rgba(56,189,248,.16) 50%,rgba(79,124,246,.2));border-color:rgba(56,189,248,.5);color:#e6f7ff;box-shadow:0 0 14px -2px var(--accent-glow),inset 0 1px 0 hsla(0,0%,100%,.14)}.skill-chip:disabled{opacity:.45;cursor:not-allowed}.input-area{display:flex;gap:10px;align-items:flex-end;background:var(--glass-raised);backdrop-filter:blur(24px) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(24px) saturate(var(--lg-saturate));padding:8px 8px 8px 14px;border-radius:26px;border:1px solid var(--border-light);box-shadow:0 12px 32px -16px rgba(2,6,18,.6),var(--lg-specular);flex-shrink:0;transition:border-color var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out);position:relative;z-index:15}.input-area:focus-within{border-color:rgba(56,189,248,.45);box-shadow:0 0 0 1px rgba(56,189,248,.25),0 0 24px rgba(56,189,248,.16),0 12px 32px -16px rgba(2,6,18,.6),var(--lg-specular)}.styled-textarea{flex:1 1;min-height:24px;height:24px;padding:10px 8px;background:transparent;border:none;resize:none;outline:none;font-size:17px;line-height:1.45;color:var(--text-1);font-family:inherit;overflow-y:auto;transition:height .1s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.styled-textarea::placeholder{color:var(--text-3)}.btn-primary{width:44px;height:44px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-grad);color:#052033;border:none;cursor:pointer;flex-shrink:0;box-shadow:0 6px 18px -6px var(--accent-glow),inset 0 1px 0 hsla(0,0%,100%,.5),inset 0 -2px 6px rgba(2,32,60,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;position:relative;z-index:16;transition:all var(--dur-normal) var(--ease-spring)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px -6px rgba(56,189,248,.5),inset 0 1px 0 hsla(0,0%,100%,.5),inset 0 -2px 6px rgba(2,32,60,.25)}.btn-primary:active:not(:disabled){transform:scale(.92);transition:all .1s ease}.btn-primary:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}.btn-icon,.btn-stop{display:flex;align-items:center;justify-content:center}.btn-stop{width:44px;height:44px;padding:0;border-radius:50%;background:var(--glass-3);border:1px solid rgba(125,211,252,.3);color:var(--accent-hi);cursor:pointer;flex-shrink:0;animation:ringPulse 1.8s var(--ease-out) infinite;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation;transition:all var(--dur-fast) var(--ease-out)}.btn-stop:hover{background:var(--glass-4);color:#fff}.btn-stop:active{transform:scale(.92);transition:all .1s ease}.btn-stop-icon{display:flex;align-items:center;justify-content:center}.btn-ghost{background:var(--glass-2);color:var(--text-2);border:1px solid var(--separator);border-radius:var(--radius-pill);padding:8px 18px;font-size:13px;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap}.btn-ghost:hover{background:var(--glass-3);color:var(--text-1);border-color:var(--border-light)}.btn-ghost:active{opacity:.5;transform:scale(.98);transition:all .1s ease}.scroll-bottom-btn{position:absolute;bottom:92px;right:20px;z-index:20;width:38px;height:38px;border-radius:50%;background:var(--glass-raised);backdrop-filter:blur(16px) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(16px) saturate(var(--lg-saturate));border:1px solid var(--border-light);color:var(--accent-hi);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--dur-normal) var(--ease-spring);box-shadow:0 6px 20px -8px rgba(2,6,18,.7),var(--lg-specular);animation:popIn var(--dur-slow) var(--ease-spring) forwards}.scroll-bottom-btn:hover{background:var(--glass-4);color:#fff;box-shadow:0 8px 24px -8px rgba(56,189,248,.35),var(--lg-specular)}.scroll-bottom-btn:active{transform:scale(.9);transition:all .1s ease}.scroll-bottom-btn svg{width:16px;height:16px;fill:currentColor}.welcome-area{margin:auto;text-align:center;padding:44px 32px;max-width:560px;background:var(--glass-1);border-radius:24px;border:1px solid var(--separator);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05);animation:condense .5s var(--ease-out-expo) both}.welcome-icon-tile{width:64px;height:64px;margin:0 auto 20px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(56,189,248,.16),rgba(79,124,246,.1));border:1px solid rgba(125,211,252,.25);box-shadow:0 12px 32px -12px rgba(56,189,248,.35),var(--lg-specular);color:var(--accent-hi);animation:floatY 6s ease-in-out infinite}.welcome-icon-tile svg{width:30px;height:30px}.welcome-area h3{margin:0 0 10px;font-size:22px;font-weight:600;letter-spacing:-.3px;color:#fff;background:linear-gradient(120deg,#fff 30%,#7dd3fc 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.welcome-area p{color:var(--text-2);margin:0 0 26px;font-size:15px;line-height:1.7}.welcome-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}.welcome-chip{padding:9px 16px;border-radius:var(--radius-pill);background:var(--glass-2);border:1px solid var(--border-light);color:rgba(220,232,252,.85);font-size:13px;font-family:inherit;cursor:pointer;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06);transition:all var(--dur-normal) var(--ease-spring)}.welcome-chip:hover{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.4);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px -8px var(--accent-glow)}.welcome-chip:active{transform:scale(.96)}.welcome-tags{font-size:10.5px;letter-spacing:.22em}.char-counter,.welcome-tags{font-family:var(--font-mono);color:var(--text-3)}.char-counter{position:absolute;top:-24px;right:14px;font-size:11px;transition:color var(--dur-fast) ease}.char-counter.warning{color:#fbbf24}.char-counter.danger{color:#f87171}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(148,190,255,.14);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:rgba(148,190,255,.24)}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:rgba(2,4,12,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--dur-fast) ease}.confirm-dialog{background:var(--glass-raised);backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-saturate));border:1px solid var(--border-light);border-radius:24px;padding:26px;max-width:330px;width:90%;text-align:center;box-shadow:0 24px 48px -16px rgba(2,6,18,.8),var(--lg-specular);animation:popIn var(--dur-slow) var(--ease-spring) forwards}.confirm-dialog h3{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--text-1)}.confirm-dialog p{margin:0 0 22px;font-size:14px;color:var(--text-2);line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions .btn-ghost{height:40px;padding:0 22px;display:inline-flex;align-items:center}.confirm-btn{width:auto;height:40px;border-radius:var(--radius-pill);padding:0 24px;font-size:14px;font-weight:600}@media(prefers-reduced-motion:reduce){.orb,.orbit-spinner{animation:none!important}.loading-dots span,.msg-bubble{animation:none!important;opacity:1}.msg-bubble{transform:none;filter:none}.scroll-bottom-btn{opacity:1;transform:none}.confirm-overlay,.progress-bar-fill.loading,.scroll-bottom-btn{animation:none!important}.confirm-dialog,.welcome-area{animation:none!important;opacity:1;transform:none}.welcome-area{filter:none}.btn-stop,.status-dot,.welcome-icon-tile{animation:none!important}.pointer-glow{display:none!important}.orb{filter:blur(60px);opacity:.22}*{transition-duration:.01ms!important}}@media(max-width:600px)and (prefers-reduced-motion:reduce),(max-width:600px)and (update:slow){.header{background:rgba(4,7,17,.96)!important}.header,.input-area{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.input-area{background:rgba(8,13,28,.96)!important}.copy-btn,.scroll-bottom-btn{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.scroll-bottom-btn{background:rgba(8,13,28,.94)!important}.confirm-dialog{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(10,16,32,.97)!important}.bg-grid,.bg-noise,.orb-2{display:none}}.msg-ai .markdown-body{color-scheme:dark;font-size:16px;line-height:1.6;--color-fg-default:#ccd6e8;--color-fg-muted:#8d9ab5;--color-fg-subtle:#6d7a94;--color-canvas-default:transparent;--color-canvas-subtle:rgba(148,190,255,.04);--color-border-default:rgba(148,190,255,.1);--color-border-muted:rgba(148,190,255,.06);--color-neutral-muted:rgba(148,190,255,.08);--color-accent-fg:#7dd3fc;--color-accent-emphasis:#38bdf8;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f87171;--color-prettylights-syntax-comment:#8d9ab5;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8d9ab5;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff}.msg-ai .markdown-body pre{background:rgba(4,8,20,.5)!important;border:1px solid rgba(148,190,255,.08);border-radius:var(--radius-small)}.msg-ai .markdown-body code{background:rgba(148,190,255,.08);border:1px solid rgba(148,190,255,.06);border-radius:5px;padding:.15em .35em;font-size:.9em}.msg-ai .markdown-body pre code{background:transparent;border:none;padding:0;border-radius:0;font-size:inherit}.msg-ai .markdown-body a{color:#7dd3fc;text-decoration:none;border-bottom:1px solid rgba(125,211,252,.3);transition:border-color var(--dur-fast) var(--ease-out)}.msg-ai .markdown-body a:hover{border-bottom-color:#7dd3fc}.msg-ai .markdown-body blockquote{border-left:3px solid rgba(56,189,248,.45);background:rgba(56,189,248,.04);border-radius:0 8px 8px 0;padding:8px 16px;margin:8px 0}.msg-ai .markdown-body table{display:table;border-collapse:collapse;width:100%}.msg-ai .markdown-body td,.msg-ai .markdown-body th{border:1px solid rgba(148,190,255,.1);padding:8px 12px}.msg-ai .markdown-body th{background:rgba(148,190,255,.05);font-weight:600}.msg-ai .markdown-body tr:nth-child(2n){background:rgba(148,190,255,.025)}.msg-ai .markdown-body hr{border:none;height:1px;background:rgba(148,190,255,.1);margin:16px 0}@media(max-width:600px){.page-wrapper{align-items:stretch;padding:0}.app-container{padding:0 14px;height:100vh;height:100dvh;width:100%;max-width:100%;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.app-container:before,.pointer-glow{display:none}.header{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin:0 -14px;padding:8px 14px;padding-top:calc(8px + var(--safe-top));min-height:44px;position:relative;border-bottom:1px solid var(--separator);background:rgba(6,10,24,.72);backdrop-filter:blur(24px) saturate(var(--lg-saturate));-webkit-backdrop-filter:blur(24px) saturate(var(--lg-saturate))}.header-left{gap:10px;flex:1 1;min-width:0}.icon-box{width:32px;height:32px;border-radius:10px;box-shadow:none}.brand-icon{width:17px;height:17px}.header-title{font-size:17px}.header-title-row{gap:8px}.status-badge{font-size:9px;padding:2px 7px;gap:4px}.status-dot{width:5px;height:5px}.subtitle{font-size:11px;margin-top:1px}.btn-ghost{padding:6px 12px;font-size:12px;border:none;color:var(--accent-hi);background:transparent;flex-shrink:0}.btn-ghost:active{opacity:.4;transform:scale(.97)}.progress-container{margin:8px 0;height:2px}#chat-messages{padding-right:0;gap:6px;margin-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}#chat-messages::-webkit-scrollbar{display:none}.msg-bubble{max-width:85%;padding:10px 14px;font-size:16px;line-height:1.5;border-radius:var(--radius-bubble)}.msg-user{border-bottom-right-radius:8px}.msg-ai{border-bottom-left-radius:8px}.copy-btn{opacity:.8;top:6px;right:6px;padding:5px 10px;font-size:11px;min-height:28px}.input-area{padding:6px 6px 6px 12px;gap:8px;align-items:center;border-radius:24px;margin:0 0 calc(8px + var(--safe-bottom))}.skill-bar{padding:2px 0 8px;gap:6px}.skill-chip{padding:5px 12px;font-size:12px}.styled-textarea{padding:8px 4px;font-size:16px;min-height:24px;height:24px;line-height:1.4}.input-area .btn-primary{width:38px;height:38px}.input-area .btn-primary .btn-icon svg{width:17px;height:17px}.input-area .btn-stop{width:38px;height:38px}.orb{filter:blur(80px)}.orb-1{width:260px;height:260px}.orb-2{width:300px;height:300px}.bg-grid{background-size:36px 36px}.welcome-area{padding:28px 20px;max-width:100%}.welcome-icon-tile{width:56px;height:56px;margin-bottom:16px}.welcome-icon-tile svg{width:26px;height:26px}.welcome-area h3{font-size:19px}.welcome-area p{font-size:14px;line-height:1.6;margin-bottom:20px}.welcome-area p br{display:none}.welcome-chip{padding:8px 14px;font-size:12.5px}.welcome-tags{font-size:9.5px}.scroll-bottom-btn{bottom:calc(76px + var(--safe-bottom));right:14px;width:34px;height:34px}.scroll-bottom-btn svg{width:14px;height:14px}.char-counter{top:-20px;right:12px}::-webkit-scrollbar{display:none}}@media(max-width:375px){.app-container{padding:0 10px}.header{margin:0 -10px;padding:8px 10px;padding-top:calc(8px + var(--safe-top))}.icon-box{width:28px;height:28px;border-radius:8px}.brand-icon{width:15px;height:15px}.header-title{font-size:15.5px}.status-badge,.subtitle{display:none}.msg-bubble{max-width:90%;padding:9px 12px;font-size:15px}.input-area .btn-primary{width:34px;height:34px}.input-area .btn-primary .btn-icon svg{width:15px;height:15px}.input-area .btn-stop{width:34px;height:34px}.welcome-icon-tile{width:48px;height:48px}.welcome-icon-tile svg{width:22px;height:22px}.welcome-area h3{font-size:17px}}.dark,:root{color-scheme:dark;--color-fg-default:#c9d1d9;--color-fg-muted:#8b949e;--color-fg-subtle:#6e7681;--color-canvas-default:transparent;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#58a6ff;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--color-fg-default);background-color:var(--color-canvas-default);font-size:14px;line-height:1.5;word-wrap:break-word}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold,600)}.markdown-body dfn{font-style:italic}.markdown-body mark{background-color:var(--color-attention-subtle);color:var(--color-fg-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:var(--base-text-weight-semibold,600);line-height:1.25}.markdown-body h1{margin:.67em 0;font-size:2em}.markdown-body h1,.markdown-body h2{font-weight:var(--base-text-weight-semibold,600);padding-bottom:.3em;border-bottom:1px solid var(--color-border-muted)}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h3,.markdown-body h4{font-weight:var(--base-text-weight-semibold,600)}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h5,.markdown-body h6{font-weight:var(--base-text-weight-semibold,600)}.markdown-body h6{font-size:.85em;color:var(--color-fg-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body ol,.markdown-body ul{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dd{margin-left:0}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600)}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body code,.markdown-body pre,.markdown-body samp,.markdown-body tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;word-wrap:normal}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--color-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight pre,.markdown-body pre{padding:16px 16px 8px;overflow:auto;font-size:85%;line-height:1.45;border-radius:6px;direction:ltr}.markdown-body pre code,.markdown-body pre tt{display:inline-block;max-width:100%;padding:0;margin:0;overflow-x:scroll;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body table th{font-weight:var(--base-text-weight-semibold,600)}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid var(--color-border-default)}.markdown-body table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default);border:0}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>:not(summary){display:none!important}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal,400)}.markdown-body .task-list-item+.task-list-item{margin-top:4px}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border-bottom-color:var(--color-neutral-muted);border:1px solid var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.markdown-body pre{padding:0}.markdown-body code,.markdown-body pre{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.markdown-body pre code{display:block;overflow-x:auto;padding:1em}.markdown-body code{padding:3px 5px}.markdown-body .hljs,.markdown-body pre{background:#1a1b26;color:#cbd2ea}.markdown-body{/*!
  Theme: Tokyo-night-Dark
  origin: https://github.com/enkia/tokyo-night-vscode-theme
  Description: Original highlight.js style
  Author: (c) Henri Vandersleyen <hvandersleyen@gmail.com>
  License: see project LICENSE
  Touched: 2022
*/}.markdown-body .hljs-comment,.markdown-body .hljs-meta{color:#565f89}.markdown-body .hljs-deletion,.markdown-body .hljs-doctag,.markdown-body .hljs-regexp,.markdown-body .hljs-selector-attr,.markdown-body .hljs-selector-class,.markdown-body .hljs-selector-id,.markdown-body .hljs-selector-pseudo,.markdown-body .hljs-tag,.markdown-body .hljs-template-tag,.markdown-body .hljs-variable.language_{color:#f7768e}.markdown-body .hljs-link,.markdown-body .hljs-literal,.markdown-body .hljs-number,.markdown-body .hljs-params,.markdown-body .hljs-template-variable,.markdown-body .hljs-type,.markdown-body .hljs-variable{color:#ff9e64}.markdown-body .hljs-attribute,.markdown-body .hljs-built_in{color:#e0af68}.markdown-body .hljs-keyword,.markdown-body .hljs-property,.markdown-body .hljs-subst,.markdown-body .hljs-title,.markdown-body .hljs-title.class_,.markdown-body .hljs-title.class_.inherited__,.markdown-body .hljs-title.function_{color:#7dcfff}.markdown-body .hljs-selector-tag{color:#73daca}.markdown-body .hljs-addition,.markdown-body .hljs-bullet,.markdown-body .hljs-quote,.markdown-body .hljs-string,.markdown-body .hljs-symbol{color:#9ece6a}.markdown-body .hljs-code,.markdown-body .hljs-formula,.markdown-body .hljs-section{color:#7aa2f7}.markdown-body .hljs-attr,.markdown-body .hljs-char.escape_,.markdown-body .hljs-keyword,.markdown-body .hljs-name,.markdown-body .hljs-operator{color:#bb9af7}.markdown-body .hljs-punctuation{color:#c0caf5}.markdown-body .hljs-emphasis{font-style:italic}.markdown-body .hljs-strong{font-weight:700}