:root{--font-sans: "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--r-small: 8px;--r-medium: 12px;--r-large: 18px;--r-xlarge: 22px;--r-pill: 999px;--shadow-input: 0 6px 28px rgba(26, 55, 39, .05);--shadow-pop: 0 16px 48px rgba(26, 55, 39, .1);--shadow-drawer: -12px 0 40px rgba(26, 55, 39, .08);--sidebar-w: 240px;--sidebar-w-collapsed: 72px;--topbar-h: 64px;--home-composer-max: 760px;--chat-col-max: 848px;--companion-w: 224px;--companion-h: 294px;--page-gutter: 48px;--compact-entry: 48px;--t-home-title: 28px;--t-home-title-lh: 40px;--t-page-title: 20px;--t-page-title-lh: 30px;--t-body-title: 18px;--t-body-title-lh: 28px;--t-chat: 16px;--t-chat-lh: 28px;--t-action: 14px;--t-action-lh: 22px;--t-caption: 13px;--t-caption-lh: 20px;--t-label: 12px;--t-label-lh: 18px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur: .22s;--dur-slow: .36s;--pet-glow: radial-gradient( 58% 52% at 50% 44%, rgba(207, 240, 214, .95) 0%, rgba(226, 248, 230, .55) 46%, rgba(250, 252, 250, 0) 72% )}:root[data-skin=companion]{--canvas: #fafcfa;--sidebar: #f4f7f5;--surface: #ffffff;--surface-soft: #f5faf6;--surface-selected: #eaf8ed;--surface-hover: #eaf1ec;--border: #dfe9e1;--border-strong: #a7d7b5;--text: #1d2a24;--text-2: #596b62;--text-3: #66796e;--accent: #29e154;--accent-interactive: #176a3b;--accent-strong: #183f2b;--accent-on: #ffffff;--error: #b64a3e;--row-selected: #e3f3e7;--bubble-user: #edf8ef;--code-bg: #f5f8f6;--composer-border: #dbddde;--composer-placeholder: #adb5bd;--chip-active-bg: #e9fcee;--chip-active-border: #21b443;--chip-active-text: #21b443;--chip-inactive-text: #111925;--disc-fill: #eff1f1;--send-disabled-fill: #e7e7e7;--send-disabled-icon: #f9f9f9;--accent-send: #3fbe5e;--accent-send-hover: #2fa84c;--text-placeholder: #6e747a;--home-glow: radial-gradient( 62% 52% at 50% 30%, #f2faf4 0%, rgba(242, 250, 244, 0) 70% ), #fafcfa}:root[data-skin=classic]{--canvas: #ffffff;--sidebar: #f7f8f8;--surface: #ffffff;--surface-soft: #f6f8f7;--surface-selected: #eef3f0;--surface-hover: #f1f4f2;--border: #e5e8e6;--border-strong: #c3ccc6;--text: #1c2420;--text-2: #4e5a54;--text-3: #75817a;--accent: #29e154;--accent-interactive: #176a3b;--accent-strong: #183f2b;--accent-on: #ffffff;--error: #b64a3e;--row-selected: #e9efeb;--bubble-user: #eef3f0;--code-bg: #f6f8f7;--composer-border: #dbddde;--composer-placeholder: #adb5bd;--chip-active-bg: #e9fcee;--chip-active-border: #21b443;--chip-active-text: #21b443;--chip-inactive-text: #111925;--disc-fill: #eff1f1;--send-disabled-fill: #e7e7e7;--send-disabled-icon: #f9f9f9;--accent-send: #3fbe5e;--accent-send-hover: #2fa84c;--text-placeholder: #6e747a;--home-glow: #ffffff}:root[data-motion=reduced]{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}@media (prefers-reduced-motion: reduce){:root:not([data-motion=full]){--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--t-chat);line-height:var(--t-chat-lh);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}input,textarea{font:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}a{color:var(--accent-interactive);text-decoration:none}:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px;border-radius:var(--r-small)}::selection{background:var(--surface-selected)}*{scrollbar-width:thin;scrollbar-color:rgba(102,121,110,.28) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#66796e3d;border-radius:var(--r-pill)}*::-webkit-scrollbar-track{background:transparent}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-small);color:var(--text-2);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn:active{background:var(--surface-selected)}.shell{display:flex;height:100%;background:var(--canvas);color:var(--text)}.sidebar{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--border);transition:flex-basis var(--dur) var(--ease-out),width var(--dur) var(--ease-out);min-height:0}.shell[data-collapsed=true] .sidebar{flex-basis:var(--sidebar-w-collapsed);width:var(--sidebar-w-collapsed)}.sidebar-brand{height:var(--topbar-h);flex:0 0 var(--topbar-h);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-4)}.brand-mark{display:inline-flex;align-items:center;gap:var(--s-2);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.brand-mark__glyph{width:19px;height:15px;flex:none}.sidebar-collapse{margin-left:auto}.sidebar-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--s-2) var(--s-4) var(--s-4)}.new-chat-btn{display:flex;align-items:center;gap:var(--s-2);width:100%;height:44px;padding:0 var(--s-3);border-radius:var(--r-medium);background:var(--surface);border:1px solid var(--border);font-size:var(--t-action);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.new-chat-btn:hover{background:var(--surface-soft);border-color:var(--border-strong)}.nav-section-label{margin:var(--s-5) var(--s-2) var(--s-2);font-size:var(--t-label);font-weight:500;color:var(--text-3);letter-spacing:.02em}.conv-list{flex:1;min-height:0;overflow-y:auto;margin:0 calc(var(--s-2) * -1);padding:0 var(--s-2)}.conv-item{display:flex;align-items:center;gap:var(--s-2);width:100%;height:42px;padding:0 var(--s-2);border-radius:10px;color:var(--text);font-size:var(--t-action);text-align:left;white-space:nowrap;overflow:hidden;transition:background var(--dur-fast) var(--ease-out)}.conv-item:hover{background:var(--surface-hover)}.conv-item[aria-current=true]{background:var(--row-selected);color:var(--text);font-weight:500}.conv-item__icon{flex:none;color:var(--text-3)}.conv-item__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.conv-item__time{flex:none;font-size:var(--t-label);color:var(--text-3)}.shell[data-collapsed=true] .sidebar-label,.shell[data-collapsed=true] .nav-section-label,.shell[data-collapsed=true] .conv-item__title,.shell[data-collapsed=true] .conv-item__time,.shell[data-collapsed=true] .user-entry__meta{display:none}.shell[data-collapsed=true] .new-chat-btn,.shell[data-collapsed=true] .conv-item{justify-content:center;padding:0}.shell[data-collapsed=true] .sidebar-brand{gap:4px;padding:0 8px}.shell[data-collapsed=true] .sidebar-collapse{width:28px;height:28px}.sidebar-download{padding:0 var(--s-4) var(--s-2)}.download-btn{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:44px;padding:0 var(--s-3);border-radius:var(--r-medium);background:var(--surface);border:1px solid var(--border);font-size:var(--t-action);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.download-btn:hover{background:var(--surface-soft);border-color:var(--border-strong)}.download-btn .chevron-right{margin-left:auto;color:var(--text-3)}.shell[data-collapsed=true] .download-btn{justify-content:center;padding:0}.sidebar-user{border-top:1px solid var(--border);padding:var(--s-2)}.user-entry{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:44px;padding:var(--s-1) var(--s-2);border-radius:var(--r-medium);text-align:left;transition:background var(--dur-fast) var(--ease-out)}.user-entry:hover{background:var(--surface-hover)}.user-entry__avatar{flex:none;width:32px;height:32px;border-radius:var(--r-pill);background:var(--accent-strong);color:var(--accent-on);display:grid;place-items:center;font-size:var(--t-label);font-weight:600}.user-entry__meta{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}.user-entry__name{font-size:var(--t-action);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-entry__sub{font-size:var(--t-label);color:var(--text-3)}.shell[data-collapsed=true] .user-entry{justify-content:center;padding:0}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.topbar{flex:0 0 var(--topbar-h);height:var(--topbar-h);display:flex;align-items:center;gap:var(--s-2);padding:0 var(--page-gutter)}.topbar__title{font-size:var(--t-page-title);line-height:var(--t-page-title-lh);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__heading{display:flex;align-items:baseline;gap:var(--s-2);min-width:0}.topbar__subtitle{flex:none;font-size:var(--t-caption);color:var(--text-3)}.topbar__brand{display:none}.topbar__spacer{flex:1}.topbar__link{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--t-action);color:var(--text-2);padding:var(--s-1) var(--s-2);border-radius:var(--r-small);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.topbar__link:hover{background:var(--surface-hover);color:var(--text)}.page{flex:1;min-height:0;position:relative}.pet-only{display:none}:root[data-skin=companion] .pet-only{display:block}.scrim{position:fixed;inset:0;background:#1d2a2452;backdrop-filter:blur(2px);z-index:60;animation:fade-in var(--dur) var(--ease-out)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.popover{position:absolute;z-index:30;min-width:220px;padding:var(--s-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-medium);box-shadow:var(--shadow-pop);animation:slide-up var(--dur) var(--ease-out)}.popover__item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-small);font-size:var(--t-action);color:var(--text);text-align:left;transition:background var(--dur-fast) var(--ease-out)}.popover__item:hover{background:var(--surface-hover)}.popover__item[aria-current=true]{background:var(--surface-selected);color:var(--accent-interactive);font-weight:500}.popover__divider{height:1px;margin:var(--s-1) var(--s-2);background:var(--border)}@media (max-width: 1023px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translate(-100%);box-shadow:var(--shadow-pop)}.shell[data-mobile-open=true] .sidebar{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;z-index:45;background:#1d2a244d}.topbar{padding:0 var(--s-4)}.topbar__link--optional{display:none}.topbar__brand{display:inline-flex;font-size:16px}}@media (min-width: 1024px){.sidebar-backdrop,.sidebar-menu-trigger{display:none}}@media (max-width: 767px){:root{--page-gutter: var(--s-4)}.topbar,.sidebar-brand{flex-basis:56px;height:56px}}.home{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--home-glow);overflow:hidden}.home-hero{position:relative;flex:none;width:100%;height:max(58vh,min(30vw,500px));overflow:hidden;background:linear-gradient(180deg,#cadfe0 0%,#e9f3ed 55%,var(--surface-soft) 100%)}.home-hero--mobile{display:none}.home-hero--fallback{display:grid;place-items:center}.home-hero--classic{height:0}.home-hero__art{position:absolute;inset:0;opacity:0;transition:opacity .26s var(--ease-out)}.home-hero--ready .home-hero__art{opacity:1}.home-hero__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.home-hero__props{z-index:2}.home-hero__fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(250,252,250,0) 94%,rgba(250,252,250,.5) 97.5%,var(--canvas) 100%)}.home__topbar{position:absolute;top:0;left:0;right:0;z-index:5}.home-body{position:relative;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:var(--s-6) var(--page-gutter) var(--s-6);text-align:center}.home-copy{display:flex;flex-direction:column;align-items:center}.home-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-action);line-height:20px;font-weight:500;color:var(--text-2);letter-spacing:.01em}.home-eyebrow strong{font-weight:700;color:var(--text)}.home-title{margin-top:6px;font-size:var(--t-home-title);line-height:var(--t-home-title-lh);font-weight:600;letter-spacing:-.01em;color:var(--text)}.home-caption{margin-top:6px;font-size:var(--t-action);line-height:22px;color:var(--text-3)}.home-composer{width:min(799px,100%);margin-top:var(--s-8)}.home-footnote{margin-top:var(--s-6);font-size:var(--t-label);color:var(--text-3);opacity:.85}.home-body--classic{justify-content:center;padding-bottom:var(--s-8)}@media (max-width: 767px){.home-hero{height:clamp(300px,46vh,460px)}.home-hero--mobile{display:block}.home-hero:not(.home-hero--mobile){display:none}.home-body{padding:var(--s-6) var(--s-4) var(--s-6)}.home__topbar .sidebar-menu-trigger{background:#ffffffb8;backdrop-filter:blur(6px)}.home-title{font-size:23px;line-height:32px}.home-caption{font-size:var(--t-action)}.home-composer,.home-footnote{margin-top:var(--s-6)}}@media (min-width: 768px){.home-hero--mobile{display:none}}.composer{display:flex;flex-direction:column;width:100%;min-height:132px;background:var(--surface);border:1px solid var(--composer-border);border-radius:var(--r-xlarge);box-shadow:var(--shadow-input);padding:13px 16px 17px;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.composer:focus-within{border-color:var(--border-strong);box-shadow:var(--shadow-input),0 0 0 4px #a7d7b538}.composer__input{display:block;width:100%;border:0;outline:0;resize:none;background:transparent;font-size:var(--t-chat);line-height:var(--t-chat-lh);color:var(--text);min-height:28px;overflow-y:hidden}.composer__input::placeholder{color:var(--composer-placeholder)}.composer__toolbar{display:flex;align-items:center;margin-top:auto;padding-top:var(--s-3);min-height:29px}.composer__attach{flex:none;width:29px;height:29px;border-radius:var(--r-pill);background:var(--disc-fill);color:var(--text-2);display:grid;place-items:center;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.composer__attach:hover{background:var(--surface-hover);color:var(--text)}.composer__attach svg{width:16px;height:16px}.composer__tools{display:flex;align-items:center;gap:13px;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px 0 -2px 25px;-webkit-overflow-scrolling:touch}.composer__tools::-webkit-scrollbar{display:none}.composer__spacer{flex:1;min-width:var(--s-2)}.tool-chip{display:inline-flex;align-items:center;gap:6px;flex:none;height:29px;padding:0 13px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--composer-border);font-size:var(--t-caption);font-weight:500;color:var(--chip-inactive-text);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tool-chip:hover{background:var(--surface-soft);border-color:var(--border-strong)}.tool-chip[aria-pressed=true]{background:var(--chip-active-bg);border-color:var(--chip-active-border);color:var(--chip-active-text)}.composer__send{flex:none;width:31px;height:31px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--send-disabled-fill);color:var(--send-disabled-icon);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.composer__send--ready{background:var(--accent-send);color:var(--accent-on)}.composer__send--ready:hover{background:var(--accent-send-hover);transform:scale(1.04)}.composer__send--ready:active{transform:scale(.98)}.composer__send:disabled{opacity:1}.composer__send--stop{background:var(--accent-strong);color:var(--accent-on)}.composer__stop-glyph{width:12px;height:12px;border-radius:3px;background:currentColor}.composer__voice{flex:none;margin-right:22px}.composer__voice svg{width:18px;height:18px}@media (max-width: 767px){.composer{padding:14px 14px 12px;border-radius:var(--r-large)}.composer__tools{gap:8px;margin-left:12px}.tool-chip{height:29px;padding:0 11px}.composer__voice{margin-right:10px}.chat-page .composer__toolbar{display:grid;grid-template-columns:29px minmax(0,1fr) 32px 32px;gap:8px}.chat-page .composer__tools{grid-column:1 / -1;grid-row:1;min-width:0;margin:0}.chat-page .composer__attach{grid-column:1;grid-row:2}.chat-page .composer__spacer{grid-column:2;grid-row:2}.chat-page .composer__voice{grid-column:3;grid-row:2;margin-right:0}.chat-page .composer__send{grid-column:4;grid-row:2}}.msg-list{display:flex;flex-direction:column;gap:30px;padding-bottom:var(--s-6)}.msg-list__empty{padding:var(--s-16) 0;text-align:center;color:var(--text-3);font-size:var(--t-action)}.msg-list__end{height:1px}.msg--user{display:flex;justify-content:flex-end}.msg__bubble{max-width:620px;padding:12px var(--s-4);background:var(--bubble-user);border-radius:var(--r-large);font-size:var(--t-chat);line-height:var(--t-chat-lh);color:var(--text);overflow-wrap:break-word}.msg__text{margin:0;white-space:pre-wrap}.msg__attachments{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-bottom:var(--s-2)}.msg__attachments li{font-size:var(--t-caption);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px 10px}.msg--assistant{display:flex;flex-direction:column;gap:var(--s-3);max-width:100%}.msg__identity{display:inline-flex;align-items:center;gap:6px;height:20px;color:var(--text-2);font-size:var(--t-caption);font-weight:500}.msg__identity-glyph{display:block}.msg__streaming{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--t-caption);color:var(--text-3)}.msg__caret{width:2px;height:15px;background:var(--accent-interactive);animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:.15}}.msg__error{padding:var(--s-3) var(--s-4);background:#b64a3e12;border:1px solid rgba(182,74,62,.22);border-radius:var(--r-medium)}.msg__error-text{font-size:var(--t-action);line-height:var(--t-action-lh);color:var(--error)}.msg__notice{font-size:var(--t-caption);color:var(--text-3)}.md{font-size:var(--t-chat);line-height:var(--t-chat-lh);color:var(--text);overflow-wrap:break-word}.md>*:first-child{margin-top:0}.md p{margin:0 0 14px}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{margin:24px 0 12px;font-weight:600;color:var(--text)}.md h1{font-size:24px;line-height:34px}.md h2{font-size:var(--t-body-title);line-height:var(--t-body-title-lh);padding-bottom:6px;border-bottom:1px solid var(--border)}.md h3{font-size:17px;line-height:26px}.md h4{font-size:var(--t-chat);line-height:var(--t-chat-lh)}.md ul,.md ol{margin:0 0 14px;padding-left:22px}.md ul{list-style:disc}.md ol{list-style:decimal}.md li{margin-bottom:6px}.md li::marker{color:var(--text-3)}.md li>ul,.md li>ol{margin:6px 0 0}.md blockquote{margin:0 0 14px;padding:2px 0 2px var(--s-3);border-left:3px solid var(--border-strong);color:var(--text-2)}.md hr{height:1px;margin:20px 0;border:0;background:var(--border)}.md a{color:var(--accent-interactive);text-decoration:underline;text-underline-offset:2px}.md img{max-width:100%;border-radius:var(--r-medium)}.md strong{font-weight:600}.md__inline-code{padding:1px 5px;background:var(--code-bg);border:1px solid var(--border);border-radius:5px;font-family:var(--font-mono);font-size:.875em;color:var(--accent-interactive)}.code-block{margin:0 0 14px;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r-medium);overflow:hidden}.code-block__bar{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 var(--s-3);border-bottom:1px solid var(--border);background:#fff9}.code-block__lang{font-family:var(--font-mono);font-size:var(--t-label);color:var(--text-3);text-transform:lowercase}.code-block__copy{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-label);color:var(--text-2);padding:2px 6px;border-radius:6px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.code-block__copy:hover{background:var(--surface-selected);color:var(--accent-interactive)}.code-block__scroll{overflow-x:auto}.code-block__code{display:block;margin:0;padding:var(--s-3) var(--s-4);font-family:var(--font-mono);font-size:13px;line-height:22px;color:#2a3b32;white-space:pre}.md__table-wrap{margin:0 0 14px;overflow-x:auto}.md table{width:100%;border-collapse:collapse;font-size:var(--t-action);line-height:22px}.md th,.md td{padding:9px var(--s-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.md th{font-weight:600;color:var(--text);background:var(--surface-soft)}.md tbody tr:hover{background:var(--surface-soft)}.md tbody tr:last-child td{border-bottom:0}.feedback-bar{display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap}.feedback-bar__btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--s-1);border-radius:var(--r-small);color:var(--text-3);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.feedback-bar__btn:hover{background:var(--surface-hover);color:var(--text-2)}.feedback-bar__btn--feedback[aria-pressed=true]{background:var(--surface-selected);color:var(--accent-interactive)}.feedback-bar__btn--feedback:disabled{opacity:.45}.feedback-bar__divider{width:1px;height:18px;margin:0 var(--s-1);background:var(--border)}.feedback-bar__retry{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 var(--s-3);border-radius:var(--r-pill);background:var(--surface-selected);color:var(--accent-interactive);font-size:var(--t-caption);font-weight:500;transition:background var(--dur-fast) var(--ease-out)}.feedback-bar__retry:hover{background:var(--border-strong);color:var(--accent-strong)}.feedback-bar__ack{font-size:var(--t-caption);color:var(--text-3)}@media (max-width: 767px){.feedback-bar__btn{min-width:44px;height:44px}.msg__bubble{max-width:100%}}.hljs{color:#2a3b32}.hljs-comment,.hljs-quote{color:#7d8b83;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-doctag,.hljs-template-tag{color:#176a3b}.hljs-string,.hljs-regexp,.hljs-meta .hljs-string{color:#2f7d57}.hljs-number,.hljs-literal{color:#9a5b2a}.hljs-title,.hljs-title.function_,.hljs-section{color:#1d4f34}.hljs-title.class_,.hljs-type{color:#3b6a8c}.hljs-built_in,.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:#6b4f8c}.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#1d4f34}.hljs-symbol,.hljs-bullet,.hljs-link{color:#2f7d57}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-addition{color:#176a3b;background:#29e1541f}.hljs-deletion{color:#b64a3e;background:#b64a3e1a}.chat-page{display:flex;flex-direction:column;min-height:0;background:var(--canvas)}.chat-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,var(--chat-col-max)) var(--companion-w);grid-template-rows:minmax(0,1fr);gap:var(--s-8);justify-content:center;align-items:start;padding:var(--s-6) var(--page-gutter) var(--s-6)}.chat-main{align-self:stretch;display:flex;flex-direction:column;min-width:0;min-height:0}.chat-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 var(--s-2) var(--s-4)}.chat-main--empty .chat-scroll{flex:1}.chat-composer-wrap{flex:none;display:flex;justify-content:center;padding:var(--s-3) var(--s-2) var(--s-5)}.chat-layout--no-companion{grid-template-columns:minmax(0,var(--chat-col-max))}@media (max-width: 1359px){.chat-layout{grid-template-columns:minmax(0,var(--chat-col-max))}.companion-panel{display:none}}@media (max-width: 767px){.topbar__subtitle{display:none}.chat-layout{padding:var(--s-4) var(--s-4) var(--s-4);gap:0}.chat-composer-wrap{padding:var(--s-2) 0 var(--s-4)}.chat-scroll{padding:0 0 var(--s-3)}}.pet-artwork{position:relative;display:grid;place-items:center;flex:none}.pet-artwork__viewport{position:relative;display:block;width:80.0285%;height:100%;overflow:hidden}.pet-artwork__sheet{position:absolute;top:0;left:0;display:block;width:200%;height:200%;max-width:none;pointer-events:none;animation:pet-action 1.2s steps(1,end) both}[data-pet-status=idle] .pet-artwork__viewport{transform-origin:50% 95%;animation:pet-idle-breathe 2.8s ease-in-out infinite}[data-pet-status=idle] .pet-artwork__sheet{animation:pet-idle 2.8s steps(1,end) infinite}[data-pet-status=thinking] .pet-artwork__sheet{animation:pet-thinking 4s steps(1,end) infinite}[data-pet-status=feeding] .pet-artwork__sheet{animation-duration:1s}@keyframes pet-action{0%{transform:translate(0)}25%{transform:translate(-50%)}50%{transform:translateY(-50%)}75%,to{transform:translate(-50%,-50%)}}@keyframes pet-idle{0%,to{transform:translate(-.713%);clip-path:inset(0 50% 50% 0)}38%{transform:translate(-49.287%);clip-path:inset(0 0 50% 50%)}44%{transform:translate(-.713%,-50%);clip-path:inset(50% 50% 0 0)}52%{transform:translate(-49.376%,-50%);clip-path:inset(50% 0 0 50%)}}@keyframes pet-idle-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.025)}}@keyframes pet-thinking{0%{transform:translate(0)}30%{transform:translate(-50%)}58%{transform:translateY(-50%)}70%,to{transform:translate(-50%,-50%)}}[data-pet-status=error] .pet-artwork__sheet,:root[data-motion=reduced] .pet-artwork__sheet,:root[data-motion=reduced] .pet-artwork__viewport{animation:none}@media (prefers-reduced-motion: reduce){.pet-artwork .pet-artwork__sheet,.pet-artwork .pet-artwork__viewport{animation:none}}.pet-hero{position:relative;width:248px;height:248px;display:grid;place-items:center}.pet-hero__glow{position:absolute;inset:-16% -24%;background:var(--pet-glow);pointer-events:none}.pet-hero__img{position:relative;width:248px;height:248px;object-fit:contain}.pet-placeholder{display:grid;place-items:center;background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:var(--r-large)}.pet-placeholder--round{border-radius:var(--r-pill)}.pet-placeholder__label{font-size:var(--t-label);color:var(--text-3)}.companion-panel{position:relative;flex:none;width:var(--companion-w);height:var(--companion-h);padding:var(--s-5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:transparent;border:0}.companion-panel__collapse{position:absolute;top:10px;right:10px;width:28px;height:28px;color:var(--text-3)}.companion-panel__collapse:hover{color:var(--text)}.companion-panel__stage{position:relative;width:184px;height:184px;display:grid;place-items:center}.companion-panel__glow{position:absolute;inset:-14% -20%;background:var(--pet-glow);pointer-events:none}.companion-panel__img{position:relative;width:184px;height:184px;object-fit:contain}.companion-panel__status{font-size:var(--t-caption);line-height:var(--t-caption-lh);color:var(--text-2);text-align:center;max-width:100%}.compact-entry{position:relative;flex:none;width:var(--compact-entry);height:var(--compact-entry);display:grid;place-items:center;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.compact-entry:hover{background:var(--surface-soft);border-color:var(--border-strong);transform:translateY(-1px)}.compact-entry:active{transform:translateY(0)}.compact-entry__face{width:44px;height:44px;object-fit:contain}.compact-entry__dot{position:absolute;right:3px;bottom:3px;width:10px;height:10px;border-radius:var(--r-pill);background:var(--accent);border:2px solid var(--surface)}.compact-entry--floating{box-shadow:var(--shadow-input)}.companion-sheet{flex:none;align-self:flex-end;display:grid;grid-template-columns:88px minmax(0,1fr) 32px;align-items:center;gap:var(--s-2);max-width:100%;margin:0 var(--s-2);background:transparent}.companion-sheet__copy{min-width:0}.companion-sheet__title{font-size:var(--t-label);color:var(--text-3)}.companion-sheet__stage{position:relative;width:88px;height:88px;display:grid;place-items:center}.companion-sheet__img{position:relative}.companion-sheet__status{margin-top:2px;font-size:var(--t-action);color:var(--text-2)}.companion-sheet__close{align-self:start;margin-top:var(--s-2)}@media (min-width: 1360px){.companion-sheet{display:none}}.skin-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:420px;max-width:100%;padding:var(--s-6);background:var(--surface);box-shadow:var(--shadow-drawer);overflow-y:auto;animation:slide-in-right var(--dur) var(--ease-out)}.skin-drawer__head{display:flex;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-6)}.skin-drawer__title{font-size:var(--t-page-title);line-height:var(--t-page-title-lh);font-weight:600;color:var(--text)}.skin-drawer__desc{margin-top:2px;font-size:var(--t-caption);line-height:var(--t-caption-lh);color:var(--text-3)}.skin-drawer__section{margin:0 0 var(--s-3);font-size:var(--t-label);font-weight:500;letter-spacing:.04em;color:var(--text-3)}.skin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4)}.preview-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:var(--s-2);border-radius:var(--r-medium);background:var(--surface);border:1px solid var(--border);text-align:left;transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.preview-card:hover{border-color:var(--border-strong)}.preview-card--selected{border-color:var(--border-strong);box-shadow:0 0 0 3px #a7d7b54d}.preview-card__check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:var(--r-pill);background:var(--accent-interactive);color:#fff;display:grid;place-items:center}.preview-card__name{font-size:var(--t-action);font-weight:500;color:var(--text)}.preview-card__desc{font-size:var(--t-label);line-height:16px;color:var(--text-3)}.preview-card__art{position:relative;width:100%;height:104px;border-radius:var(--r-small);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.preview-card__art--classic{background:#fff;border:1px solid var(--border)}.preview-card__art--companion{background:linear-gradient(180deg,#f0faf3,#fafcfa);border:1px solid #e2ece5}.preview-card__brand{font-size:11px;font-weight:700;color:var(--text)}.preview-card__glow{position:absolute;top:-22%;left:24%;width:52%;height:62%;background:radial-gradient(closest-side,#cff0d6f2,#fafcfa00)}.preview-card__pet{position:relative;width:40px;height:40px;border-radius:var(--r-pill);background:linear-gradient(160deg,#dfe6e2,#c3cfc8 55%,#e9efeb);box-shadow:inset 0 -6px 10px #788c8247}.preview-card__line{height:4px;border-radius:var(--r-pill);background:var(--border)}.preview-card__line--title{width:42%;height:5px;background:#cfd8d2}.preview-card__line--short{width:30%}.preview-card__mock-input{width:78%;height:18px;margin-top:3px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--border)}.skin-drawer__prefs{display:flex;flex-direction:column}.toggle-row{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 0;border-top:1px solid var(--border)}.toggle-row--disabled{opacity:.55}.toggle-row__text{flex:1;display:flex;flex-direction:column;gap:1px}.toggle-row__label{font-size:var(--t-action);color:var(--text)}.toggle-row__desc{font-size:var(--t-caption);line-height:var(--t-caption-lh);color:var(--text-3)}.toggle{position:relative;flex:none;width:40px;height:24px;border-radius:var(--r-pill);background:var(--border);transition:background var(--dur) var(--ease-out)}.toggle[aria-checked=true]{background:var(--accent-interactive)}.toggle:disabled{opacity:.6}.toggle__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--r-pill);background:#fff;box-shadow:0 1px 3px #1a37272e;transition:transform var(--dur) var(--ease-out)}.toggle[aria-checked=true] .toggle__thumb{transform:translate(16px)}.skin-drawer__note{margin-top:var(--s-6);font-size:var(--t-caption);line-height:var(--t-caption-lh);color:var(--text-3)}@media (max-width: 767px){.skin-drawer{top:auto;left:0;width:auto;max-height:88vh;padding:var(--s-5);border-radius:var(--r-large) var(--r-large) 0 0;box-shadow:var(--shadow-pop);animation:slide-up var(--dur) var(--ease-out)}.skin-grid{grid-template-columns:1fr}}.dev-panel{position:fixed;right:var(--s-4);bottom:var(--s-4);z-index:44;max-width:min(320px,calc(100vw - 32px));font-size:12px}.dev-panel__toggle{display:flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:#1d2a24;color:#d8e6dc;font-size:11px;font-weight:600;letter-spacing:.08em;box-shadow:var(--shadow-pop)}.dev-panel__body{margin-top:var(--s-2);padding:var(--s-3);border-radius:var(--r-medium);background:#1d2a24f0;color:#d8e6dc;box-shadow:var(--shadow-pop);backdrop-filter:blur(8px)}.dev-panel__group{margin:6px 0 4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9db3a4}.dev-panel__group:first-child{margin-top:0}.dev-panel__row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.dev-panel__row button{padding:3px 8px;border-radius:6px;background:#ffffff1a;color:#e6f0e9;font-size:11px;transition:background .12s ease}.dev-panel__row button:hover{background:#29e15447}.dev-panel__row button[aria-pressed=true]{background:var(--accent);color:#183f2b;font-weight:600}@media (max-width: 767px){.dev-panel{bottom:4px;right:8px}}
