:root{--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-composer: 28px;--radius-round: 999px;--radius: var(--radius-sm);--sidebar-expanded: 260px;--sidebar-collapsed: 64px;--motion-instant: .1s;--motion-fast: .16s;--motion-normal: .22s;--motion-ink: .3s;--motion-brush: 1.5s;--motion-empty-state: .9s;--motion-theme: .24s;--motion-slow: .3s;--motion-sidebar: var(--motion-slow);--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-ink: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.2, .8, .2, 1);--ease-enter: var(--ease-standard);--ease-exit: cubic-bezier(.4, 0, 1, 1);--shadow-soft: 0 8px 28px rgba(0, 0, 0, .12);--shadow-medium: 0 12px 34px rgba(0, 0, 0, .16);--shadow-tooltip: 0 8px 24px rgba(0, 0, 0, .18);--shadow-action: 0 4px 14px rgba(0, 0, 0, .16);--shadow-action-hover: 0 6px 18px rgba(0, 0, 0, .2);--shadow-focus: var(--shadow-medium);--surface-focus: var(--surface-elevated);--surface-translucent: color-mix(in srgb, var(--surface-elevated) 92%, transparent);--highlight-subtle: rgba(255, 255, 255, .03);--paper-surface: var(--surface-default);--paper-surface-hover: var(--surface-hover);--paper-edge: var(--border-subtle);--annotation-cinnabar: var(--accent-cinnabar);--annotation-cinnabar-soft: var(--accent-cinnabar-soft);--ink-mark: var(--text-primary)}:root,:root[data-theme=jingmo],html[data-theme=jingmo]{color-scheme:dark;--bg-app: #1d1f1c;--bg-sidebar: #171916;--bg-main: #202320;--bg-canvas: var(--bg-main);--surface-soft: #252825;--surface-default: #2a2d2a;--surface-hover: #313430;--surface-active: #383b37;--surface-elevated: #30332f;--surface-focus: #2d302d;--text-primary: #f3f1ea;--text-secondary: #b3b7af;--text-tertiary: #838980;--text-disabled: #636860;--text-inverse: #1c1e1b;--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--accent-cinnabar: #b7614f;--accent-cinnabar-hover: #c26c59;--accent-cinnabar-soft: rgba(183, 97, 79, .14);--action-primary-bg: #f3f1ea;--action-primary-bg-hover: #ffffff;--action-primary-fg: #1c1e1b;--success: #6f9275;--danger: #c86e65;--error: var(--danger);--warning: #b79a62;--logo-bg: var(--text-primary);--logo-fg: var(--text-inverse);--brush-opacity: .018;--brush-blend-mode: screen;--brush-color: rgba(243, 241, 234, .7);--drop-hint-bg: rgba(42, 45, 42, .88);--tooltip-bg: rgba(46, 49, 46, .96);--highlight-subtle: rgba(255, 255, 255, .03);--paper-surface: #292c29;--paper-surface-hover: #30332f;--paper-edge: rgba(255, 255, 255, .075);--annotation-cinnabar: var(--accent-cinnabar);--annotation-cinnabar-soft: var(--accent-cinnabar-soft);--ink-mark: rgba(243, 241, 234, .72);--shadow-soft: 0 8px 28px rgba(0, 0, 0, .16);--shadow-medium: 0 12px 34px rgba(0, 0, 0, .2);--shadow-tooltip: 0 8px 24px rgba(0, 0, 0, .24)}html[data-theme=xuanzhi]{color-scheme:light;--bg-app: #f4f1e9;--bg-sidebar: #eeeae1;--bg-main: #f7f4ec;--bg-canvas: var(--bg-main);--surface-soft: #f1ede4;--surface-default: #fffcf5;--surface-hover: #ece7dc;--surface-active: #e5dfd3;--surface-elevated: #ffffff;--surface-focus: #ffffff;--text-primary: #252621;--text-secondary: #6e716a;--text-tertiary: #92958d;--text-disabled: #b2b4ad;--text-inverse: #fffdf7;--border-subtle: rgba(37, 38, 33, .08);--border-medium: rgba(37, 38, 33, .12);--border-strong: rgba(37, 38, 33, .2);--accent-cinnabar: #a94f3f;--accent-cinnabar-hover: #963f32;--accent-cinnabar-soft: rgba(169, 79, 63, .1);--action-primary-bg: #2c2d28;--action-primary-bg-hover: #1f201c;--action-primary-fg: #fffdf7;--success: #57725c;--danger: #a94f47;--error: var(--danger);--warning: #9b7e42;--logo-bg: var(--action-primary-bg);--logo-fg: var(--action-primary-fg);--brush-opacity: .022;--brush-blend-mode: multiply;--brush-color: rgba(37, 38, 33, .72);--drop-hint-bg: rgba(255, 252, 245, .88);--tooltip-bg: rgba(255, 252, 245, .96);--highlight-subtle: rgba(255, 255, 255, .64);--paper-surface: #fffaf1;--paper-surface-hover: #f6f0e5;--paper-edge: rgba(37, 38, 33, .09);--annotation-cinnabar: var(--accent-cinnabar);--annotation-cinnabar-soft: var(--accent-cinnabar-soft);--ink-mark: rgba(37, 38, 33, .64);--shadow-soft: 0 8px 24px rgba(50, 44, 35, .07);--shadow-medium: 0 12px 30px rgba(50, 44, 35, .1);--shadow-tooltip: 0 8px 24px rgba(50, 44, 35, .16)}html[data-theme=zhusha]{color-scheme:light;--bg-app: #f7f2e9;--bg-sidebar: #f0eadf;--bg-main: #fcfaf5;--bg-canvas: var(--bg-main);--surface-soft: #f5f0e7;--surface-default: #ffffff;--surface-hover: #f1e9de;--surface-active: #e9ded1;--surface-elevated: #ffffff;--surface-focus: #ffffff;--text-primary: #27241f;--text-secondary: #726d65;--text-tertiary: #9a948c;--text-disabled: #bcb6ad;--text-inverse: #fffdf9;--border-subtle: rgba(39, 36, 31, .08);--border-medium: rgba(39, 36, 31, .13);--border-strong: rgba(39, 36, 31, .2);--accent-cinnabar: #a63f32;--accent-cinnabar-hover: #923329;--accent-cinnabar-soft: rgba(166, 63, 50, .1);--action-primary-bg: #a63f32;--action-primary-bg-hover: #923329;--action-primary-fg: #fffdf9;--success: #5e775f;--danger: #a63f32;--error: var(--danger);--warning: #9b7543;--logo-bg: var(--accent-cinnabar);--logo-fg: var(--action-primary-fg);--brush-opacity: .022;--brush-blend-mode: multiply;--brush-color: rgba(166, 63, 50, .55);--drop-hint-bg: rgba(255, 255, 255, .88);--tooltip-bg: rgba(255, 255, 255, .96);--highlight-subtle: rgba(255, 255, 255, .64);--paper-surface: #fffdf8;--paper-surface-hover: #f6eee4;--paper-edge: rgba(39, 36, 31, .09);--annotation-cinnabar: var(--accent-cinnabar);--annotation-cinnabar-soft: var(--accent-cinnabar-soft);--ink-mark: rgba(39, 36, 31, .66);--shadow-soft: 0 8px 24px rgba(50, 44, 35, .07);--shadow-medium: 0 12px 30px rgba(50, 44, 35, .1);--shadow-tooltip: 0 8px 24px rgba(50, 44, 35, .16)}:root,html[data-theme]{--bg-surface: var(--surface-default);--bg-surface-hover: var(--surface-hover);--bg-surface-active: var(--surface-active);--bg-elevated: var(--surface-elevated);--line-subtle: var(--border-subtle);--border-hover: var(--border-medium);--border-focus: var(--border-strong);--cinnabar: var(--accent-cinnabar);--ink-accent: var(--action-primary-bg)}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color var(--motion-theme) var(--ease-standard),color var(--motion-normal) var(--ease-standard),border-color var(--motion-normal) var(--ease-standard),box-shadow var(--motion-theme) var(--ease-standard),fill var(--motion-normal) var(--ease-standard),stroke var(--motion-normal) var(--ease-standard)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,Arial,sans-serif;letter-spacing:0}#root{isolation:isolate}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.64}input,textarea{width:100%;border:1px solid var(--line-subtle);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-primary);outline:none}input{min-height:44px;padding:0 12px}textarea{resize:none;min-height:44px;padding:12px 14px}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.public-page,.auth-page,.mobile-upload-page{min-height:100vh;display:grid;place-items:center;padding:32px}.home-hero{width:min(720px,100%);min-height:min(680px,calc(100vh - 64px));display:flex;flex-direction:column;justify-content:center;gap:20px}.brand-mark,.brand-seal{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink-accent);color:var(--bg-canvas);font-weight:700}.brand-kicker,.card-eyebrow{margin:0;color:var(--cinnabar);font-size:.86rem;font-weight:650}.home-hero h1{margin:0;font-size:clamp(4rem,13vw,8.5rem);line-height:.95}.hero-copy{margin:0;max-width:540px;color:var(--text-secondary);font-size:1.28rem;line-height:1.8}.hero-actions,.form-row,.composer-actions{display:flex;align-items:center;gap:10px}.primary-action,.secondary-action,.submit-button,.camera-button{min-height:44px;border:1px solid var(--line-subtle);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast)}.primary-action,.submit-button,.camera-button{border-color:transparent;background:var(--ink-accent);color:var(--bg-canvas)}.secondary-action{background:var(--bg-surface)}.primary-action:hover,.secondary-action:hover,.submit-button:hover,.camera-button:hover,.icon-button:hover,.nav-item:hover,.composer-actions button:hover{transform:translateY(-1px)}.mobile-upload-preview{display:grid;gap:14px;margin-top:18px}.mobile-upload-preview img{width:100%;max-height:min(48vh,420px);border:1px solid var(--line-subtle);border-radius:var(--radius);background:var(--bg-canvas);object-fit:contain}.mobile-upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-upload-status{margin:14px 0 0;color:var(--text-secondary)}.mobile-upload-status.completed{color:var(--success)}.mobile-upload-status.error{color:var(--danger)}.home-prompt,.quiet-panel,.auth-card,.structured-card,.empty-library,.flow-step,.settings-list article{border:1px solid var(--line-subtle);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.home-prompt{width:min(560px,100%);min-height:64px;display:flex;align-items:center;gap:12px;padding:0 18px;color:var(--text-secondary)}.quiet-panel,.auth-card{width:min(420px,calc(100vw - 48px));padding:28px}.quiet-panel.legal-copy{width:min(720px,calc(100vw - 48px));line-height:1.85}.narrow{width:min(460px,calc(100vw - 48px))}.auth-brand{text-align:center;display:grid;justify-items:center;gap:8px;margin-bottom:22px}.auth-brand h1,.auth-card h1,.quiet-panel h1,.page-header h1,.chat-empty h1{margin:0}.auth-brand p,.quiet-panel p,.page-header p,.chat-empty p{color:var(--text-secondary);line-height:1.7}.auth-tabs{display:grid;grid-auto-flow:column;gap:4px;padding:4px;border-radius:var(--radius);background:#1f211f0d;margin-bottom:18px}.auth-tabs button,.form-row button,.text-button{border:0;background:transparent;color:var(--text-secondary)}.auth-tabs button{min-height:38px;border-radius:6px}.auth-tabs button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 8px #1f211f14}.auth-form{display:grid;gap:14px}.auth-form label,.onboarding label,.settings-list label{display:grid;gap:8px;color:var(--text-secondary);font-size:.94rem}.phone-input{display:flex;align-items:center;border:1px solid var(--line-subtle);border-radius:var(--radius);background:#ffffff8a;overflow:hidden}.phone-input strong{padding:0 12px;color:var(--text-primary)}.phone-input input{border:0;background:transparent}.form-error,.form-success,.form-hint{margin:0;font-size:.9rem;line-height:1.6}.form-error{color:var(--error)}.form-success{color:var(--success)}.form-hint{color:var(--text-secondary)}.otp-hidden-input{position:absolute;opacity:0;pointer-events:none}.otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.otp-boxes span{display:grid;place-items:center;height:48px;border:1px solid var(--line-subtle);border-radius:var(--radius);background:#ffffff70}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-expanded) 1fr;transition:grid-template-columns var(--motion-normal) var(--ease-standard)}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--bg-sidebar);border-right:1px solid var(--line-subtle)}.sidebar-top,.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-footer{margin-top:auto;flex-direction:column;align-items:stretch}.sidebar-brand,.new-chat-button,.nav-item{min-height:42px;display:flex;align-items:center;gap:10px;border-radius:var(--radius);color:var(--text-secondary);padding:0 10px}.sidebar-brand span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink-accent);color:var(--bg-canvas)}.new-chat-button,.nav-item{border:1px solid transparent}.new-chat-button,.nav-item:hover,.nav-item.active{background:#ffffff75;color:var(--text-primary)}.nav-item.as-button{width:100%;border:0;background:transparent}.sidebar-nav{display:grid;gap:4px}.icon-button,.composer-actions button{width:38px;height:38px;border:1px solid var(--line-subtle);border-radius:var(--radius);display:grid;place-items:center;background:var(--bg-surface);color:var(--text-primary)}.tooltip-wrap{position:relative;display:contents}.tooltip-wrap:hover:after{content:attr(data-tooltip);position:fixed;z-index:40;margin:36px 0 0 10px;padding:6px 8px;border-radius:6px;background:var(--ink-accent);color:var(--bg-canvas);font-size:.78rem;white-space:nowrap;transition-delay:.42s}.app-main{min-width:0}.chat-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.page-header{padding:24px 32px 10px}.chat-empty{align-self:center;justify-self:center;width:min(680px,calc(100vw - 120px));text-align:center}.chat-empty h1{font-size:3rem}.quick-prompts button,.choice-grid button{min-height:44px;border:1px solid var(--line-subtle);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-primary)}.choice-grid button.selected{border-color:color-mix(in srgb,var(--cinnabar) 54%,transparent);color:var(--cinnabar)}.message-list{width:min(820px,calc(100vw - 120px));margin:0 auto;padding:24px 0 140px;display:grid;gap:18px;list-style:none}.message{max-width:74%;padding:12px 16px;border-radius:var(--radius);line-height:1.75}.message.assistant{justify-self:start;background:var(--bg-surface)}.composer{position:sticky;bottom:0;width:min(820px,calc(100vw - 120px));margin:0 auto 18px;border:1px solid var(--line-subtle);border-radius:var(--radius);background:var(--bg-surface);padding:12px;box-shadow:var(--shadow-soft)}.composer.dragging{background:color-mix(in srgb,var(--bg-surface) 86%,var(--cinnabar))}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:var(--radius);background:#f7f6f2db;color:var(--cinnabar);z-index:2}.composer textarea{border:0;background:transparent}.composer-actions{justify-content:flex-end}.send-button{background:var(--ink-accent)!important;color:var(--bg-canvas)!important}.attachment-row{display:flex;gap:10px;margin-bottom:8px;overflow-x:auto}.attachment-row figure{margin:0;width:86px;flex:0 0 86px}.attachment-row img{width:86px;height:86px;object-fit:cover;border-radius:var(--radius)}.attachment-row button{width:100%;border:0;background:transparent;color:var(--text-secondary);font-size:.8rem}.content-page{width:min(1040px,calc(100vw - 120px));margin:0 auto;padding:24px 0}.practice-flow,.growth-grid,.settings-list{display:grid;gap:14px}.practice-flow{grid-template-columns:repeat(5,minmax(0,1fr))}.flow-step,.structured-card,.empty-library,.settings-list article{padding:18px}.flow-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cinnabar);color:#fff}.flow-step h2,.structured-card h2,.structured-card h3,.settings-list h2,.empty-library h2{margin:12px 0 0;font-size:1.08rem}.structured-card dl{display:grid;gap:10px}.structured-card dt{color:var(--text-secondary);font-size:.86rem}.structured-card dd{margin:4px 0 0}.danger-button{min-height:40px;border:1px solid color-mix(in srgb,var(--error) 42%,transparent);border-radius:var(--radius);background:transparent;color:var(--error);padding:0 12px}.toggle-row{grid-template-columns:1fr auto;align-items:center}.toggle-row input{width:auto;min-height:auto}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;background:#17191652}.dialog-panel{width:min(360px,100%);border-radius:var(--radius);background:var(--bg-canvas);border:1px solid var(--line-subtle);padding:18px;box-shadow:var(--shadow-soft)}.dialog-panel header{display:flex;justify-content:space-between;align-items:center}.qr-code,.qr-placeholder{width:220px;height:220px;margin:18px auto;display:block;border-radius:var(--radius)}.qr-placeholder{background:var(--bg-surface)}@media (max-width: 760px){.public-page,.auth-page,.mobile-upload-page{padding:0 24px}.auth-card,.quiet-panel{width:100%;box-shadow:none}.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;width:var(--sidebar-expanded);transform:translate(calc(-100% + 68px))}.app-shell:not(.is-collapsed) .sidebar{transform:translate(0)}.chat-empty,.message-list,.composer,.content-page{width:calc(100vw - 92px);margin-left:78px;margin-right:14px}.quick-prompts,.practice-flow,.choice-grid{grid-template-columns:1fr}.message{max-width:90%}}.sidebar{width:var(--sidebar-expanded);gap:6px;padding:10px;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);transition:width var(--motion-sidebar) var(--ease-standard)}.tooltip-wrap:hover:after{content:attr(data-tooltip);position:absolute;z-index:50;left:calc(100% + 10px);top:50%;bottom:auto;max-width:220px;padding:6px 9px;border:1px solid var(--border-subtle);border-radius:9px;background:#303330db;color:var(--text-primary);box-shadow:0 10px 22px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.78rem;line-height:1.2;white-space:nowrap;pointer-events:none;animation:tooltip-side-in .14s var(--ease-standard) .38s both}.sidebar{gap:6px;padding:10px;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle)}.sidebar-brand,.new-chat-button,.nav-item,.recent-item{position:relative;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);gap:10px;padding:0 11px}.sidebar-brand:hover,.new-chat-button:hover,.nav-item:hover,.recent-item:hover,.icon-button:hover,.composer-left button:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.sidebar-brand:active,.new-chat-button:active,.nav-item:active,.recent-item:active,.icon-button:active,.composer-left button:active,.quick-prompts button:active{transform:scale(.98)}.nav-item.active{background:var(--bg-surface-active);color:var(--text-primary)}.nav-item.active:before{content:"";position:absolute;left:0;top:13px;width:2px;height:18px;border-radius:999px;background:var(--accent-cinnabar)}.brand-name{background:transparent;color:var(--text-primary)}.icon-button,.sidebar-toggle{width:44px;height:44px;border:0;border-radius:10px;color:var(--text-secondary);background:transparent}.recent-item{min-height:34px;color:var(--text-secondary)}.sidebar-label{opacity:1;transform:none;transition:opacity .1s var(--ease-standard) 80ms,transform .1s var(--ease-standard) 80ms}.app-shell.is-collapsed .sidebar{padding:10px}.app-shell.is-collapsed .brand-dot{flex-basis:40px;width:40px;height:40px}.app-shell.is-collapsed .nav-item.active{background:var(--bg-surface-active)}.app-shell.is-collapsed .nav-item.active:before{left:0;top:13px;height:18px}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap:hover:after{left:calc(100% + 10px);top:50%;bottom:auto;transform:translateY(-50%);border:1px solid var(--border-subtle);border-radius:9px;background:color-mix(in srgb,var(--bg-surface-hover) 88%,transparent);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 22px #0000002e;animation:tooltip-side-in .14s var(--ease-standard) .38s both}@keyframes tooltip-side-in{0%{opacity:0;transform:translateY(-50%) translate(-2px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.quick-prompts button{border:1px solid rgba(255,255,255,.065);border-radius:12px;background:#282b28;color:var(--text-secondary)}.composer textarea:focus{outline:none}.composer-left,.composer-right{min-height:48px}.composer-left button{width:36px;height:36px;color:#9da29b}.composer-left button:hover{color:var(--text-primary)}.motion-target:focus-visible,.icon-button:focus-visible,.quick-prompts button:focus-visible,.composer-left button:focus-visible,.send-button:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}@media (max-width: 760px){.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed)}.composer{width:100%;min-height:64px}}body{background:var(--bg-main)}.motion-target,.icon-button,.composer-left button,.composer-right button,.quick-prompts button{transition:transform var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.motion-target:hover,.icon-button:hover,.composer-left button:hover,.composer-right button:hover,.quick-prompts button:hover{transform:translateY(-1px)}.motion-target:hover svg,.icon-button:hover svg,.composer-left button:hover svg,.composer-right button:hover svg,.quick-prompts button:hover svg{transform:scale(1.035)}.motion-target:active,.icon-button:active,.composer-left button:active,.composer-right button:active,.quick-prompts button:active{transform:scale(.97)}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-expanded) minmax(0,1fr);background:var(--bg-main);transition:grid-template-columns var(--motion-sidebar) var(--ease-standard)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:12px;padding:12px 10px;overflow:hidden;background:var(--bg-sidebar);border-right:1px solid var(--line-subtle);transition:width var(--motion-sidebar) var(--ease-standard)}.sidebar-top{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:8px}.sidebar-brand,.new-chat-button,.nav-item,.recent-item{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:9px;padding:0 10px;color:var(--text-secondary);background:transparent;white-space:nowrap}.sidebar-brand{min-width:0;color:var(--text-primary)}.brand-dot{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--ink-accent);color:var(--bg-canvas);font-weight:700}.brand-name{flex:1 1 auto;display:inline-block;width:auto;height:auto;border-radius:0;background:transparent;color:var(--text-primary);font-weight:700}.new-chat-button,.recent-item{cursor:pointer;text-align:left}.new-chat-button:hover,.nav-item:hover,.recent-item:hover{background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);color:var(--text-primary)}.nav-item.active{background:color-mix(in srgb,var(--cinnabar) 13%,var(--bg-elevated));color:var(--text-primary)}.sidebar-nav,.recent-list{display:grid;gap:3px}.recent-section{min-height:0;display:grid;gap:6px}.recent-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:var(--text-secondary);font-size:.78rem}.recent-item{min-height:34px;font-size:.9rem}.sidebar-footer{margin-top:auto;display:grid;gap:6px}.sidebar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;opacity:1;transform:translate(0);transition:opacity var(--motion-fast) var(--ease-standard) .11s,transform var(--motion-fast) var(--ease-standard) .11s}.app-shell.is-collapsed .sidebar-label{opacity:0;transform:translate(-4px);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.app-shell.is-collapsed .sidebar-top{grid-template-columns:38px}.app-shell.is-collapsed .sidebar-toggle{grid-row:2}.app-shell.is-collapsed .sidebar-brand,.app-shell.is-collapsed .new-chat-button,.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed{justify-content:center;padding:0}.app-shell.is-collapsed .brand-dot{margin:0 auto}.app-shell.is-collapsed .new-chat-button,.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .icon-button{color:color-mix(in srgb,var(--text-secondary) 82%,var(--text-primary))}.app-shell.is-collapsed .recent-heading,.app-shell.is-collapsed .recent-list{pointer-events:none}.icon-button,.composer-left button,.composer-right button{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--text-secondary)}.icon-button:hover,.composer-left button:hover,.composer-right button:hover{background:color-mix(in srgb,var(--bg-elevated) 75%,transparent);color:var(--text-primary)}.tooltip-wrap:hover:after{content:attr(data-tooltip);position:absolute;z-index:50;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);max-width:220px;padding:6px 9px;border:1px solid var(--line-subtle);border-radius:9px;background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);color:var(--text-primary);box-shadow:0 10px 26px #0000001f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.78rem;line-height:1.2;white-space:nowrap;animation:tooltip-in .14s var(--ease-standard) .38s both;pointer-events:none}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(3px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.app-main{min-width:0;min-height:100vh;background:var(--bg-main)}.chat-page{position:relative;min-height:100vh;display:flex;flex-direction:column;padding:0 20px}.welcome-panel{position:relative;z-index:1;width:min(780px,calc(100% - 40px));margin:calc(38vh - 116px) auto 0;text-align:center}.welcome-panel h1{margin:0;font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.15;font-weight:720}.welcome-panel p{margin:12px 0 0;color:var(--text-secondary);font-size:1rem;line-height:1.7}.quick-prompts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}.quick-prompts button{min-height:46px;border:1px solid var(--line-subtle);border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:color-mix(in srgb,var(--bg-surface) 78%,transparent);color:var(--text-primary)}.quick-prompts button:hover{background:var(--bg-elevated);border-color:color-mix(in srgb,var(--cinnabar) 34%,var(--line-subtle))}.message-list{flex:1;width:min(780px,100%);margin:0 auto;padding:72px 0 140px;display:grid;align-content:end;gap:16px;list-style:none}.message-list.empty{min-height:0;padding:0}.message{max-width:76%;padding:12px 15px;border-radius:18px;line-height:1.75}.message p{margin:0}.message.user{justify-self:end;background:var(--ink-accent);color:var(--bg-canvas)}.message.assistant{justify-self:start;background:var(--bg-surface);color:var(--text-primary)}.composer{position:sticky;bottom:18px;z-index:5;width:min(780px,100%);margin:0 auto 18px;border:1px solid transparent;border-radius:26px;background:var(--bg-surface);padding:8px;box-shadow:0 8px 34px #1f211f14;transition:transform var(--motion-normal) var(--ease-standard),border-color var(--motion-normal) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),background-color var(--motion-normal) var(--ease-standard)}.composer:focus-within{transform:translateY(-2px);border-color:color-mix(in srgb,var(--cinnabar) 34%,transparent);box-shadow:var(--shadow-focus)}.composer.dragging{background:color-mix(in srgb,var(--bg-surface) 88%,var(--cinnabar));border-color:color-mix(in srgb,var(--cinnabar) 48%,transparent)}.composer-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:6px}.composer-left,.composer-right{min-height:42px;display:flex;align-items:center;gap:2px}.composer textarea{min-height:42px;max-height:180px;border:0;background:transparent;padding:10px 8px;line-height:1.55}.composer-error{padding:4px 12px 0}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;border-radius:26px;background:color-mix(in srgb,var(--bg-surface) 86%,transparent);color:var(--cinnabar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.attachment-row{display:flex;gap:8px;margin:0 4px 6px;overflow-x:auto}.attachment-row img{width:78px;height:78px;border-radius:14px;object-fit:cover}.content-page{width:min(980px,calc(100% - 40px));margin:0 auto;padding:32px 0;animation:page-in var(--motion-normal) var(--ease-standard) both}@media (max-width: 760px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;width:var(--sidebar-expanded);transform:none;box-shadow:12px 0 34px #0000002e;transition:width var(--motion-sidebar) var(--ease-standard),box-shadow var(--motion-sidebar) var(--ease-standard)}.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed);box-shadow:none}.app-shell:not(.is-collapsed) .sidebar{width:var(--sidebar-expanded)}.app-main{padding-left:var(--sidebar-collapsed)}.chat-page{padding:0 14px}.welcome-panel{width:min(100%,calc(100vw - 96px));margin-top:calc(36vh - 110px)}.quick-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}.composer,.message-list{width:100%}.composer-inner{grid-template-columns:auto minmax(0,1fr) auto}.composer-left button{width:34px}.composer textarea{min-height:48px;padding-top:12px}}body{background:var(--bg-canvas)}.app-shell{grid-template-columns:var(--sidebar-expanded) minmax(0,1fr);background:var(--bg-canvas);transition:grid-template-columns var(--motion-sidebar) var(--ease-standard)}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr);transition-delay:.1s}.sidebar{width:var(--sidebar-expanded);gap:6px;padding:10px;overflow:visible;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);transition:width var(--motion-sidebar) var(--ease-standard)}.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed);transition-delay:.1s}.app-shell:not(.is-collapsed) .sidebar{transition-delay:0ms}.app-main{background:var(--bg-canvas)}.sidebar-top{min-height:44px;grid-template-columns:minmax(0,1fr) 44px;gap:6px}.app-shell.is-collapsed .sidebar-top{grid-template-columns:44px;justify-items:center}.app-shell.is-collapsed .sidebar-toggle{grid-row:auto}.sidebar-brand,.new-chat-button,.nav-item,.recent-item{position:relative;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);gap:10px;padding:0 12px;transition:transform var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.sidebar-brand{padding:0 2px}.sidebar-nav,.recent-list,.sidebar-footer{gap:6px}.sidebar svg{flex:0 0 20px;width:20px;height:20px;transition:transform var(--motion-fast) var(--ease-standard)}.sidebar-brand:hover,.new-chat-button:hover,.nav-item:hover,.recent-item:hover,.icon-button:hover,.composer-left button:hover,.composer-right button:hover{background:var(--bg-surface-hover);color:var(--text-primary);transform:translateY(-1px)}.sidebar-brand:hover svg,.new-chat-button:hover svg,.nav-item:hover svg,.icon-button:hover svg,.composer-left button:hover svg,.composer-right button:hover svg{transform:scale(1.035)}.sidebar-brand:active,.new-chat-button:active,.nav-item:active,.recent-item:active,.icon-button:active,.composer-left button:active,.composer-right button:active,.quick-prompts button:active{transform:scale(.97)}.nav-item.active,.app-shell.is-collapsed .nav-item.active{background:var(--bg-surface-active);color:var(--text-primary)}.nav-item.active:before,.app-shell.is-collapsed .nav-item.active:before{content:"";position:absolute;left:0;top:13px;width:2px;height:18px;border-radius:999px;background:var(--accent-cinnabar)}.brand-dot{flex:0 0 40px;width:40px;height:40px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface);color:var(--text-primary)}.brand-name{color:var(--text-primary);background:transparent}.icon-button,.sidebar-toggle,.composer-left button,.composer-right button{width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary)}.composer-left button,.composer-right button{width:36px;height:36px;color:#9da29b}.composer-left button:hover,.composer-right button:hover{color:var(--text-primary)}.app-shell.is-collapsed .sidebar-brand,.app-shell.is-collapsed .new-chat-button,.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .icon-button{width:44px;height:44px;min-height:44px;justify-content:center;padding:0}.app-shell.is-collapsed .brand-dot{flex-basis:40px;width:40px;height:40px;margin:0}.sidebar-label{min-width:0;overflow:hidden;opacity:1;transform:none;text-overflow:ellipsis;transition:opacity .1s var(--ease-standard) 80ms}.app-shell.is-collapsed .sidebar-label{opacity:0;transform:none;transition:opacity .1s var(--ease-standard)}.recent-heading{color:var(--text-tertiary)}.recent-item{min-height:34px}.tooltip-wrap:hover:after{content:attr(data-tooltip);position:absolute;z-index:50;left:calc(100% + 10px);top:50%;bottom:auto;max-width:220px;padding:6px 9px;border:1px solid var(--border-subtle);border-radius:9px;background:#303330db;color:var(--text-primary);box-shadow:0 10px 22px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.78rem;line-height:1.2;white-space:nowrap;pointer-events:none;transform:translateY(-50%);animation:tooltip-side-in .14s var(--ease-standard) .38s both}.quick-prompts button{border:1px solid rgba(255,255,255,.065);border-radius:12px;background:#282b28;color:var(--text-secondary);transition:transform var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.quick-prompts button:hover{background:var(--bg-surface-hover);border-color:#fff1;color:var(--text-primary);transform:translateY(-1px)}.quick-prompts button:active{transform:scale(.98)}.composer{width:min(760px,100%);min-height:64px;border:1px solid var(--border-subtle);border-radius:26px;background:var(--bg-surface);box-shadow:0 12px 34px #00000029}.composer:focus-within{transform:translateY(-1px);border-color:#ffffff26;background:#2c2f2c;box-shadow:0 18px 42px #00000047}.composer.dragging{background:var(--bg-surface-hover);border-color:var(--border-focus)}.composer textarea{min-height:48px;color:var(--text-primary);outline:none;box-shadow:none}.send-button{width:36px;height:36px;border:0;border-radius:50%;background:var(--bg-surface-active)!important;color:var(--text-tertiary)!important;cursor:not-allowed;opacity:1;transform:none}.send-button svg{width:18px;height:18px}.send-button[data-state=ready],.send-button[data-state=generating]{background:var(--text-primary)!important;color:#1c1e1c!important;cursor:pointer}.send-button[data-state=ready]:hover,.send-button[data-state=generating]:hover{background:#fff!important;transform:scale(1.035)}.send-button[data-state=ready]:active,.send-button[data-state=generating]:active{transform:scale(.94)}.send-button:disabled{opacity:1}.motion-target:focus-visible,.icon-button:focus-visible,.quick-prompts button:focus-visible,.composer-left button:focus-visible,.composer-right button:focus-visible,.send-button:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}@media (max-width: 760px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{width:var(--sidebar-expanded)}.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed)}.composer{width:100%;min-height:64px}}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-expanded) minmax(0,1fr);overflow:hidden;background:var(--bg-app);transition:grid-template-columns var(--motion-slow) var(--ease-standard)}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}.app-main{min-width:0;min-height:100vh;overflow:hidden;background:var(--bg-main)}.chat-page{position:relative;min-height:100vh;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0 32px;background:transparent}.motion-target,.icon-button,.composer-left button,.composer-right button,.quick-prompts button{transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.content-page{animation:page-in var(--motion-normal) var(--ease-standard) both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.app-shell{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}.chat-page{padding:0 24px}}@media (max-width: 760px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.app-main{min-height:100dvh}.chat-page{min-height:100dvh;padding:0 14px}}.sidebar{position:sticky;top:0;z-index:20;width:var(--sidebar-expanded);height:100dvh;display:flex;flex-direction:column;gap:6px;padding:10px;overflow:hidden;background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);transition:width var(--motion-sidebar) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed);align-items:center}.sidebar-top{height:58px;min-height:58px;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;column-gap:10px;width:100%}.sidebar-brand{min-width:0;display:contents;width:auto;min-height:0;border:0;padding:0;color:var(--text-primary);background:transparent;white-space:nowrap}.sidebar .brand-mark{width:42px;height:42px;min-width:42px;min-height:42px;flex:0 0 42px;aspect-ratio:1 / 1;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-round);background:var(--logo-bg);color:var(--logo-fg);font-size:17px;font-weight:700;line-height:1;opacity:1;transform:scale(1);transition:opacity var(--motion-instant) var(--ease-standard),transform var(--motion-instant) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.brand-name{min-width:0;overflow:hidden;color:var(--text-primary);font-size:18px;font-weight:600;line-height:1;text-overflow:ellipsis;opacity:1;transform:translate(0);transition:opacity var(--motion-instant) var(--ease-standard),transform var(--motion-instant) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.sidebar-brand[data-visible=false] .brand-mark{opacity:0;transform:scale(.96)}.sidebar-brand[data-visible=false] .brand-name{opacity:0;transform:translate(-4px)}.sidebar-toggle{width:32px;height:32px;min-width:32px;border-radius:var(--radius-xs)}.new-chat-button,.nav-item,.account-pill{position:relative;width:100%;height:46px;min-height:46px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:12px;border:0;border-radius:13px;padding:0 13px;background:transparent;color:var(--text-secondary);white-space:nowrap;box-sizing:border-box;transition:width var(--motion-sidebar) var(--ease-standard),height var(--motion-sidebar) var(--ease-standard),min-height var(--motion-sidebar) var(--ease-standard),padding var(--motion-sidebar) var(--ease-standard),column-gap var(--motion-sidebar) var(--ease-standard),border-radius var(--motion-sidebar) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.sidebar-nav,.sidebar-footer{width:100%;display:grid;gap:6px}.sidebar .tooltip-wrap{width:100%;transition:width var(--motion-sidebar) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.sidebar-footer{flex:0 0 auto;margin-top:auto}.sidebar svg{width:20px;height:20px;justify-self:center;flex:none;stroke-width:1.9;color:currentColor}.sidebar-label{min-width:0;max-width:180px;overflow:hidden;opacity:1;color:inherit;font-size:16px;font-weight:550;line-height:1;text-overflow:ellipsis;transform:translate(0);transition:opacity var(--motion-fast) var(--ease-standard) 90ms,transform var(--motion-fast) var(--ease-standard) 90ms}.sidebar-brand:hover,.new-chat-button:hover,.nav-item:hover,.account-pill:hover,.icon-button:hover{background:var(--surface-hover);color:var(--text-primary);transform:translateY(-1px)}.sidebar-brand:hover svg,.new-chat-button:hover svg,.nav-item:hover svg,.account-pill:hover svg,.icon-button:hover svg{transform:scale(1.035)}.sidebar-brand:active,.new-chat-button:active,.nav-item:active,.account-pill:active,.icon-button:active{transform:scale(.975)}.nav-item.active,.nav-item[aria-current=page]{color:var(--text-primary);background:var(--surface-active)}.nav-item.active:before,.nav-item[aria-current=page]:before{content:"";position:absolute;left:0;top:50%;width:2px;height:20px;background:var(--accent-cinnabar);-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 2 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.1 0.4C0.35 3.3 0.55 6.2 0.8 9.8C1.02 13 0.8 16.4 0.25 19.5C1.58 18.1 1.82 15.1 1.55 10.2C1.35 6.5 1.82 2.8 1.1 0.4Z' fill='black'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 2 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.1 0.4C0.35 3.3 0.55 6.2 0.8 9.8C1.02 13 0.8 16.4 0.25 19.5C1.58 18.1 1.82 15.1 1.55 10.2C1.35 6.5 1.82 2.8 1.1 0.4Z' fill='black'/%3E%3C/svg%3E");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:2px 20px;mask-size:2px 20px;transform:translateY(-50%)}.app-shell .sidebar .nav-item.active:before,.app-shell .sidebar .nav-item[aria-current=page]:before{top:50%;transform:translateY(-50%)}.recent-section{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0;width:100%;padding-top:14px;overflow:hidden;transition:opacity var(--motion-fast) var(--ease-standard) 80ms,transform var(--motion-fast) var(--ease-standard) 80ms}.recent-heading{flex:0 0 34px;height:34px;min-height:34px;width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:8px;padding:0 10px;background:transparent;color:var(--text-tertiary);font-size:13px;font-weight:520;line-height:1;text-align:left;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.recent-heading:hover{background:var(--surface-hover);color:var(--text-primary)}.recent-heading:focus-visible{outline:2px solid var(--border-strong);outline-offset:-2px}.recent-heading .sidebar-label{display:inline-flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:13px;font-weight:520}.recent-heading .sidebar-label:after{content:"";width:18px;height:1px;border-radius:var(--radius-round);background:var(--ink-mark);opacity:.13;flex:none}.recent-heading:hover .sidebar-label{color:var(--text-primary)}.recent-heading-icon{width:15px!important;height:15px!important;transition:transform .18s var(--ease-standard)}.recent-section[data-recents-collapsed=true] .recent-heading-icon{transform:rotate(-90deg)}.conversation-list-frame{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--motion-normal) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.recent-section[data-recents-collapsed=true] .conversation-list-frame{grid-template-rows:0fr;opacity:0}.conversation-list-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 12px;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.conversation-list-scroll::-webkit-scrollbar{width:6px}.conversation-list-scroll::-webkit-scrollbar-track{background:transparent}.conversation-list-scroll::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-round)}.conversation-list-scroll::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.conversation-list-frame:before,.conversation-list-frame:after{content:"";position:absolute;left:0;right:0;z-index:2;height:16px;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-standard)}.conversation-list-frame:before{top:0;background:linear-gradient(to bottom,var(--bg-sidebar),transparent)}.conversation-list-frame:after{bottom:0;background:linear-gradient(to top,var(--bg-sidebar),transparent)}.conversation-list-frame[data-fade-top=true]:before,.conversation-list-frame[data-fade-bottom=true]:after{opacity:1}.recent-item{min-width:0;width:100%;height:38px;min-height:38px;display:flex;align-items:center;border:0;border-radius:var(--radius-sm);padding:0 34px 0 10px;background:transparent;color:var(--text-secondary);text-align:left;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-instant) var(--ease-standard)}.recent-item .sidebar-label{font-size:14px;font-weight:450;max-width:100%}.recent-item:hover{background:var(--surface-hover);color:var(--text-primary);transform:none}.recent-item:active{transform:scale(.99)}.recent-empty{display:grid;gap:6px;margin:0;padding:8px 10px;color:var(--text-tertiary);font-size:13px;font-weight:400;line-height:1.35}.recent-empty p{margin:0}.recent-empty span{font-size:12.5px}.conversation-group{display:grid;gap:4px}.conversation-group+.conversation-group{margin-top:12px}.conversation-group-label{display:flex;align-items:center;gap:8px;margin:0;padding:0 10px;color:var(--text-tertiary);font-size:12px;font-weight:500;line-height:1.3}.conversation-group-label:after{content:"";width:16px;height:1px;border-radius:var(--radius-round);background:var(--ink-mark);opacity:.11;flex:none}.conversation-group-list{display:grid;gap:2px}.conversation-item{position:relative;min-width:0;width:100%;height:38px;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;border-radius:var(--radius-sm);overflow:visible}.conversation-item .recent-item{grid-column:1 / -1;grid-row:1}.conversation-item.active .recent-item{background:var(--surface-active);color:var(--text-primary);font-weight:520;box-shadow:inset 0 0 0 1px var(--border-subtle)}.conversation-title{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.conversation-menu-button{grid-column:2;grid-row:1;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-tertiary);opacity:0;transform:none;transition:opacity .14s var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.conversation-item:hover .conversation-menu-button,.conversation-menu-button:focus-visible{opacity:1}.conversation-menu-button:hover{background:var(--surface-hover);color:var(--text-primary)}.conversation-menu{position:absolute;top:34px;right:4px;z-index:40;min-width:136px;display:grid;gap:2px;padding:6px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-elevated);box-shadow:var(--shadow-tooltip);animation:conversation-menu-in var(--motion-fast) var(--ease-standard) both}.conversation-menu>button,.conversation-confirm button,.conversation-rename button{min-height:32px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);text-align:left}.conversation-menu>button:hover,.conversation-confirm button:hover,.conversation-rename button:hover{background:var(--surface-hover);color:var(--text-primary)}.conversation-confirm,.conversation-rename{display:grid;gap:6px;width:190px;padding:4px}.conversation-confirm strong{color:var(--text-primary);font-size:13px;font-weight:560}.conversation-confirm p{margin:0;color:var(--text-tertiary);font-size:12px;line-height:1.4}.conversation-rename label{display:grid;gap:6px;color:var(--text-tertiary);font-size:12px}.conversation-rename input{width:100%;height:32px;box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-default);color:var(--text-primary);font:inherit;outline:none;padding:0 9px}.conversation-rename input:focus-visible{border-color:var(--border-strong);box-shadow:0 0 0 2px var(--accent-cinnabar-soft)}.conversation-confirm div,.conversation-rename div{display:flex;justify-content:flex-end;gap:6px}.conversation-confirm .danger-action{color:var(--danger)}.conversation-rename-input{grid-column:1 / -1;grid-row:1;width:100%;height:30px;min-width:0;box-sizing:border-box;border:1px solid var(--border-medium);border-radius:8px;background:var(--surface-default);color:var(--text-primary);font:inherit;font-size:14px;outline:none;padding:0 8px}.conversation-rename-input:focus-visible{border-color:var(--border-strong);box-shadow:0 0 0 2px var(--accent-cinnabar-soft)}.conversation-skeleton{display:grid;gap:12px;padding:12px 10px}.conversation-skeleton span{height:12px;border-radius:6px;background:var(--surface-active);opacity:.54;animation:conversation-skeleton-pulse .9s var(--ease-standard) infinite alternate}.conversation-skeleton span:nth-child(1){width:72%}.conversation-skeleton span:nth-child(2){width:58%}.conversation-skeleton span:nth-child(3){width:66%}@keyframes conversation-menu-in{0%{opacity:0;transform:scale(.98) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes conversation-skeleton-pulse{0%{opacity:.34}to{opacity:.62}}@media (prefers-reduced-motion: reduce){.conversation-list-frame,.recent-heading-icon,.conversation-menu-button,.conversation-menu,.recent-item,.conversation-skeleton span{animation:none;transition-duration:1ms}}.account-pill{height:46px;min-height:46px}.account-pill .sidebar-label,.sidebar-footer .nav-item .sidebar-label{font-weight:500}.account-avatar{width:22px;height:22px;display:grid;place-items:center;justify-self:center;border-radius:var(--radius-round);background:var(--logo-bg);color:var(--logo-fg);font-size:11px;font-weight:700;line-height:1;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.account-pill:hover .account-avatar{transform:scale(1.035)}.account-copy{display:grid;gap:3px;line-height:1.1}.account-copy small{overflow:hidden;color:var(--text-tertiary);font-size:11px;font-weight:420;line-height:1;text-overflow:ellipsis}.icon-button{display:grid;place-items:center;border:0;background:transparent;color:var(--text-secondary)}.sidebar-brand:focus-visible,.new-chat-button:focus-visible,.nav-item:focus-visible,.account-pill:focus-visible,.recent-item:focus-visible,.icon-button:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}.app-shell.is-collapsed .sidebar-top{grid-template-columns:44px;grid-template-rows:44px;justify-items:center;row-gap:0;height:44px;min-height:44px}.app-shell.is-collapsed .sidebar-brand,.app-shell.is-collapsed .new-chat-button,.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .account-pill,.app-shell.is-collapsed .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;grid-template-columns:1fr;place-items:center;justify-content:center;padding:0;border-radius:12px}.app-shell.is-collapsed .new-chat-button,.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .account-pill{grid-template-columns:22px minmax(0,1fr);column-gap:0;padding:0 11px}.app-shell.is-collapsed .sidebar-brand{display:none}.app-shell.is-collapsed .sidebar-top>.tooltip-wrap{grid-column:1;grid-row:1;width:44px;height:44px}.app-shell.is-collapsed .sidebar .brand-mark{display:none}.app-shell.is-collapsed .brand-name{position:absolute;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-4px);transition:opacity var(--motion-instant) var(--ease-standard),transform var(--motion-instant) var(--ease-standard)}.app-shell.is-collapsed .new-chat-button .sidebar-label,.app-shell.is-collapsed .nav-item .sidebar-label,.app-shell.is-collapsed .account-pill .sidebar-label{max-width:0;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity var(--motion-instant) var(--ease-standard),transform var(--motion-instant) var(--ease-standard),max-width var(--motion-sidebar) var(--ease-standard)}.app-shell.is-collapsed .recent-section{display:none}.app-shell.is-collapsed .nav-item.active,.app-shell.is-collapsed .nav-item[aria-current=page]{background:var(--surface-active)}.app-shell.is-collapsed .nav-item.active:before,.app-shell.is-collapsed .nav-item[aria-current=page]:before{left:0;height:20px}.app-shell.is-collapsed .sidebar-footer{align-items:center}@media (max-width: 760px){.sidebar{position:fixed;width:var(--sidebar-expanded);max-width:calc(100vw - 48px);height:100dvh;box-shadow:var(--shadow-medium)}.app-shell.is-collapsed .sidebar{width:var(--sidebar-collapsed);box-shadow:none}.conversation-item,.recent-item{height:44px;min-height:44px}.conversation-list-scroll{padding-bottom:16px}}.welcome-panel{position:relative;z-index:0;width:min(880px,100%);margin:calc(32vh - 92px) auto 0;text-align:center;pointer-events:auto}.welcome-panel h1{margin:0;color:var(--text-primary);font-size:40px;font-weight:620;line-height:1.15;letter-spacing:0}.welcome-panel p{margin:12px 0 0;color:var(--text-secondary);font-size:16.5px;font-weight:400;line-height:1.6}.quick-prompts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}.quick-prompts button{min-width:176px;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border-subtle);border-radius:16px;padding:0 18px;background:var(--surface-default);color:var(--text-secondary);font-size:15.5px;font-weight:500;line-height:1;box-shadow:inset 0 1px 0 var(--highlight-subtle)}.quick-prompts button svg{width:18px;height:18px;color:currentColor;opacity:.86;stroke-width:1.9}.quick-prompts button:hover{border-color:var(--border-medium);background:var(--surface-hover);color:var(--text-primary);transform:translateY(-1px)}.quick-prompts button:active{transform:scale(.985)}.quick-prompts button:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}@media (max-width: 900px){.welcome-panel{margin-top:calc(30vh - 84px)}.quick-prompts{width:min(460px,100%);margin-right:auto;margin-left:auto}.quick-prompts button{flex:1 1 190px}}@media (max-width: 520px){.welcome-panel{width:100%;margin-top:118px}.welcome-panel h1{font-size:34px}.welcome-panel p{font-size:15px}.quick-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-prompts button{min-width:0;padding:0 12px}}.composer{position:sticky;bottom:24px;z-index:5;width:min(760px,calc(100vw - 64px));min-height:64px;max-height:180px;margin:0 auto 24px;border:1px solid var(--border-subtle);border-radius:var(--radius-composer);background:var(--surface-default);padding:10px 10px 10px 12px;box-shadow:var(--shadow-soft),inset 0 1px 0 var(--highlight-subtle);transition:background-color var(--motion-normal) var(--ease-standard),border-color var(--motion-normal) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),transform var(--motion-normal) var(--ease-standard)}.composer:focus-within{border-color:var(--border-strong);background:var(--surface-focus);box-shadow:var(--shadow-medium),inset 0 1px 0 var(--highlight-subtle);transform:translateY(-1px)}.composer:hover:not(.dragging){border-color:var(--border-medium);box-shadow:var(--shadow-medium),inset 0 1px 0 var(--highlight-subtle)}.composer.dragging{border-color:var(--border-medium);background:var(--surface-elevated);box-shadow:var(--shadow-medium),inset 0 1px 0 var(--highlight-subtle)}.composer-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:8px}.composer-left,.composer-right{min-height:42px;display:flex;align-items:center;gap:4px}.composer-left button,.composer-right button{width:36px;height:36px;min-width:36px;min-height:36px;display:grid;place-items:center;border:0;border-radius:11px;background:transparent;color:var(--text-tertiary)}.composer-left button svg,.composer-right button svg{width:18px;height:18px;flex:none;stroke-width:1.9}.composer-left button:hover,.composer-right button:hover{background:var(--surface-hover);color:var(--text-primary)}.composer-left button:active,.composer-right button:active{transform:scale(.95)}.composer textarea{min-height:42px;max-height:180px;border:0;background:transparent;padding:9px 6px;color:var(--text-primary);font-size:16px;font-weight:400;line-height:1.5;outline:none;box-shadow:none}.composer textarea:focus{outline:none;box-shadow:none}.composer textarea::placeholder{color:var(--text-tertiary)}.send-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;display:grid!important;place-items:center!important;border:0;border-radius:var(--radius-round);background:var(--surface-active)!important;color:var(--text-disabled)!important;box-shadow:none;cursor:default;opacity:1;transform:none}.send-button svg{width:17px;height:17px;display:block;flex:none;stroke-width:2}.send-button .send-icon{transform:translate(.5px,-.5px)}.send-button[data-state=ready],.send-button[data-state=generating]{background:var(--action-primary-bg)!important;color:var(--action-primary-fg)!important;box-shadow:var(--shadow-action);cursor:pointer}.send-button[data-state=ready]:hover,.send-button[data-state=generating]:hover{background:var(--action-primary-bg-hover)!important;box-shadow:var(--shadow-action-hover);transform:scale(1.04)}.send-button[data-state=ready]:active,.send-button[data-state=generating]:active{transform:scale(.95)}.send-button:disabled{background:var(--surface-active)!important;color:var(--text-disabled)!important;box-shadow:none;cursor:default;opacity:1}.composer-left button:focus-visible,.composer-right button:focus-visible,.send-button:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}.drop-hint{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:2;display:grid;place-items:center;border-radius:var(--radius-composer);border:1px dashed var(--border-medium);background:color-mix(in srgb,var(--surface-elevated) 78%,transparent);color:var(--text-primary);font-size:14px;font-weight:520;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:drop-hint-in var(--motion-fast) var(--ease-standard)}.attachment-row{display:flex;gap:8px;margin:0 4px 8px;overflow-x:auto}.attachment-row figure{width:78px;flex:0 0 78px}.attachment-row img{width:78px;height:78px;border-radius:var(--radius-md);object-fit:cover;box-shadow:0 0 0 1px var(--border-subtle)}@keyframes drop-hint-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.composer{width:min(760px,calc(100vw - 48px));bottom:18px;margin-bottom:18px}}@media (max-width: 520px){.composer{width:100%;min-height:68px;bottom:calc(12px + env(safe-area-inset-bottom));margin-bottom:calc(12px + env(safe-area-inset-bottom));padding:8px}.composer-inner{align-items:center;gap:4px}.composer-left button{width:32px;min-width:32px;height:34px;min-height:34px}.send-button{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}.composer textarea{min-height:46px;padding:4px 2px;font-size:15px;line-height:1.35}}.message-attachments{display:flex;justify-content:flex-end;gap:8px;margin:0 0 8px}.message.assistant .message-attachments{justify-content:flex-start}.message-attachment{max-width:220px;margin:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-soft)}.message-attachment img{display:block;width:min(220px,42vw);max-height:240px;object-fit:cover}.message-attachment span{display:block;max-width:220px;padding:8px 10px;overflow:hidden;color:var(--text-secondary);font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 520px){.message-attachment img{width:min(180px,58vw);max-height:200px}}.agent-activity-message{display:grid;gap:8px;max-width:min(100%,320px);min-height:28px;padding:0 4px;border-radius:0;background:transparent;color:var(--text-secondary);animation:agent-activity-in var(--motion-normal) var(--ease-standard) both}.message.agent-activity-message{background:transparent}.agent-activity{display:inline-flex;align-items:center;gap:10px;min-height:28px;color:var(--text-secondary);font-size:14px;font-weight:430;line-height:1.4}.agent-activity-hint{margin:0;color:var(--text-tertiary);font-size:13px;line-height:1.5}@keyframes agent-activity-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.agent-activity-message{animation-name:agent-activity-fade}}@keyframes agent-activity-fade{0%{opacity:0}to{opacity:1}}.tooltip-wrap{position:relative;display:inline-flex;min-width:0}.tooltip-wrap:hover:after{content:attr(data-tooltip);position:absolute;z-index:60;left:calc(100% + 10px);top:50%;max-width:220px;padding:7px 10px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--tooltip-bg);color:var(--text-primary);box-shadow:var(--shadow-tooltip);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;pointer-events:none;animation:tooltip-in var(--motion-fast) var(--ease-standard) .38s both}.sidebar .tooltip-wrap{width:100%}.sidebar .tooltip-wrap:hover:after{display:none}.app-shell.is-collapsed .sidebar .tooltip-wrap{width:44px}.app-shell.is-collapsed .sidebar .tooltip-wrap:hover:after{display:block}.composer .tooltip-wrap:hover:after{left:50%;top:auto;bottom:calc(100% + 10px);transform:translate(-50%)}@keyframes tooltip-in{0%{opacity:0;transform:translate(-4px) translateY(-50%)}to{opacity:1;transform:translate(0) translateY(-50%)}}.composer .tooltip-wrap:hover:after{animation-name:composer-tooltip-in}@keyframes composer-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.settings-list article{display:grid;gap:16px}.theme-switcher{min-width:0;display:grid;gap:12px;margin:0;padding:0;border:0}.theme-switcher legend{color:var(--text-secondary);font-size:.94rem}.theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-card{position:relative;min-width:0;display:grid;gap:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;background:var(--surface-default);color:var(--text-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.theme-card:hover{border-color:var(--border-medium);background:var(--surface-hover);color:var(--text-primary);transform:translateY(-1px)}.theme-card[data-selected=true]{border-color:var(--border-strong);background:var(--surface-active);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--accent-cinnabar-soft)}.theme-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.theme-card:has(input:focus-visible){outline:2px solid var(--border-strong);outline-offset:2px}.theme-preview{height:46px;display:grid;grid-template-columns:22px minmax(0,1fr);overflow:hidden;border:1px solid var(--border-subtle);border-radius:11px;background:var(--bg-main)}.theme-preview-sidebar{background:var(--bg-sidebar)}.theme-preview-main{display:grid;place-items:end center;padding:0 8px 8px}.theme-preview-main span{width:70%;height:10px;border-radius:var(--radius-round);background:var(--surface-default);box-shadow:0 1px 4px #00000014}.theme-card-copy{display:grid;gap:4px}.theme-card-copy strong{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1}.theme-card-copy span{min-height:30px;color:var(--text-tertiary);font-size:12px;line-height:1.35}.theme-check{position:absolute;top:10px;right:10px;color:var(--accent-cinnabar);opacity:0;transform:scale(.9);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.theme-card[data-selected=true] .theme-check{opacity:1;transform:scale(1)}.toggle-row{min-height:44px;display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:space-between;gap:16px}.toggle-row input[type=checkbox]{width:42px;min-width:42px;height:24px;min-height:24px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-medium);border-radius:var(--radius-round);background:var(--surface-active);padding:0;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.toggle-row input[type=checkbox]:before{content:"";display:block;width:18px;height:18px;margin:2px;border-radius:var(--radius-round);background:var(--text-tertiary);transition:background-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.toggle-row input[type=checkbox]:checked{border-color:var(--accent-cinnabar-soft);background:var(--accent-cinnabar-soft)}.toggle-row input[type=checkbox]:checked:before{background:var(--accent-cinnabar);transform:translate(18px)}@media (max-width: 1040px){.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.theme-options{grid-template-columns:1fr}}.brush-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;opacity:var(--brush-opacity);mix-blend-mode:var(--brush-blend-mode);pointer-events:none;animation:brush-background-in .9s var(--ease-standard) both}html[data-brush-background=off] .brush-background{display:none}.brush-stroke{position:absolute;width:clamp(320px,46vw,760px);color:var(--brush-color);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:28;transform:translate3d(var(--brush-shift-x, 0),var(--brush-shift-y, 0),0)}.brush-stroke-primary{top:7vh;right:-14vw}.brush-stroke-secondary{bottom:-13vh;left:-16vw;width:clamp(320px,38vw,620px);stroke-width:24}.brush-stroke-tertiary{top:47vh;right:6vw;width:clamp(340px,32vw,640px);stroke-width:20}.app-shell{position:relative;z-index:1}@keyframes brush-background-in{0%{opacity:0;transform:translateY(8px)}to{opacity:var(--brush-opacity);transform:translateY(0)}}@media (max-width: 760px){.brush-background{opacity:calc(var(--brush-opacity) * .8)}.brush-stroke{width:360px}.brush-stroke-primary{top:8vh;right:-180px}.brush-stroke-secondary,.brush-stroke-tertiary{display:none}}@media (prefers-reduced-motion: reduce){.brush-background{animation:none;opacity:var(--brush-opacity)}.brush-stroke{transform:none}}.ink-composer{overflow:visible;isolation:isolate}.ink-composer textarea::placeholder{color:color-mix(in srgb,var(--text-tertiary) 72%,transparent);font-size:14px;font-weight:400;letter-spacing:.04em;opacity:.42}.ink-focus-line{position:absolute;left:18px;bottom:9px;width:72%;max-width:540px;height:1px;border-radius:var(--radius-round);background:var(--ink-mark);opacity:0;transform:scaleX(0);transform-origin:left center;transition:opacity .18s var(--ease-ink),transform .18s var(--ease-ink);pointer-events:none}.ink-composer[data-ink-state=focused] .ink-focus-line,.ink-composer[data-ink-state=submitting] .ink-focus-line,.ink-composer[data-ink-state=streaming] .ink-focus-line,.ink-composer[data-ink-state=error] .ink-focus-line{opacity:.12;transform:scaleX(1);transition-duration:var(--motion-ink)}.ink-composer[data-ink-state=typing] .ink-focus-line,.ink-composer[data-ink-state=hasAttachment] .ink-focus-line{opacity:.08;transform:scaleX(1);transition-duration:var(--motion-normal)}.ink-composer[data-ink-state=error] .ink-focus-line{background:var(--danger);opacity:.22}@media (prefers-reduced-motion: reduce){.ink-focus-line{animation:none!important;transform:none!important;transition:opacity .12s linear!important}}.brush-activity{width:22px;height:12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:currentColor}.agent-dots{display:inline-flex;align-items:center;gap:5px}.agent-dot{width:4px;height:4px;border-radius:var(--radius-round);background:currentColor;opacity:.32;transform:translateY(0) scale(1);animation:momai-dot-pulse 1.12s ease-in-out infinite}.agent-dot:nth-child(2){animation-delay:.16s}.agent-dot:nth-child(3){animation-delay:.32s}.completion-stroke{position:relative;display:block;width:14px;height:1px;margin-top:8px;border-radius:var(--radius-round);background:var(--ink-mark);opacity:.08;transform-origin:left center;animation:completion-stroke-in var(--motion-ink) var(--ease-ink) both}.completion-stroke[data-important=true]:after{content:"";position:absolute;right:-5px;top:50%;width:4px;height:4px;border-radius:var(--radius-round);background:var(--annotation-cinnabar);opacity:.7;transform:translateY(-50%)}@keyframes momai-dot-pulse{0%,70%,to{opacity:.3;transform:translateY(0) scale(1)}35%{opacity:.95;transform:translateY(-1px) scale(1.16)}}@keyframes completion-stroke-in{0%{opacity:0;transform:scaleX(0)}62%{opacity:.18;transform:scaleX(1)}to{opacity:.08;transform:scaleX(1)}}@media (prefers-reduced-motion: reduce){.brush-activity,.completion-stroke{animation:none!important;transform:none!important;transition:opacity .12s linear!important}.agent-dot{animation:none!important;opacity:.55}}.paper-surface{border:1px solid var(--paper-edge);border-radius:16px;background:var(--paper-surface);box-shadow:0 8px 26px #0000000f,inset 0 1px 0 var(--highlight-subtle)}html[data-theme=jingmo] .paper-surface{box-shadow:0 10px 28px #0000002e,inset 0 1px #ffffff09}.paper-surface:hover{background:var(--paper-surface-hover)}.cinnabar-annotation{display:grid;gap:14px;padding:18px}.cinnabar-heading{display:flex;align-items:center;gap:8px;min-width:0}.cinnabar-heading p{margin:0;color:var(--text-secondary);font-size:13px;font-weight:560;line-height:1}.cinnabar-dot{width:6px;height:6px;border-radius:var(--radius-round);background:var(--annotation-cinnabar);box-shadow:0 0 0 4px var(--annotation-cinnabar-soft);flex:none}.cinnabar-annotation h3{margin:0;color:var(--text-primary);font-size:20px;font-weight:610;line-height:1.28}.cinnabar-body{display:grid;gap:12px}.cinnabar-body dl{display:grid;gap:12px;margin:0}.cinnabar-body dt{display:inline-flex;align-items:center;gap:7px;color:var(--annotation-cinnabar);font-size:13px;font-weight:600}.cinnabar-body dt:before{content:"";width:12px;height:1px;border-radius:var(--radius-round);background:currentColor;opacity:.72}.cinnabar-body dd,.cinnabar-body p{margin:5px 0 0;color:var(--text-secondary);line-height:1.7}.cinnabar-seal{width:22px;height:22px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--annotation-cinnabar) 64%,transparent);border-radius:var(--radius-round);color:var(--annotation-cinnabar);font-size:10px;font-weight:650;line-height:1;opacity:.68;transform:rotate(-8deg);margin-left:auto}.brush-empty-state{position:absolute;inset:auto 50% -18px auto;width:min(52vw,520px);min-width:280px;color:var(--brush-color);opacity:var(--brush-opacity);mix-blend-mode:var(--brush-blend-mode);pointer-events:none;transform:translate(50%,6px);animation:brush-empty-state-in var(--motion-empty-state) var(--ease-ink) both}.brush-empty-state svg{width:100%;height:auto;display:block;overflow:visible}.brush-empty-state path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.brush-empty-main{stroke-width:16;opacity:.78}.brush-empty-secondary{stroke-width:9;opacity:.38}.brush-empty-tertiary{stroke-width:6;opacity:.34}.welcome-panel .brush-empty-state{left:50%;right:auto;bottom:-42px;z-index:-1;transform:translate(-50%,6px)}.practice-empty-card,.works-empty-card,.growth-empty-card{position:relative;overflow:hidden}.practice-empty-card .brush-empty-state,.works-empty-card .brush-empty-state,.growth-empty-card .brush-empty-state{right:-120px;bottom:-54px;width:min(420px,72vw);transform:translateY(6px);animation-name:brush-empty-card-in}@keyframes brush-empty-state-in{0%{opacity:0;transform:translate(50%,6px)}to{opacity:var(--brush-opacity)}}.welcome-panel .brush-empty-state{animation-name:brush-empty-welcome-in}@keyframes brush-empty-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:var(--brush-opacity);transform:translateY(0)}}@keyframes brush-empty-welcome-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:var(--brush-opacity);transform:translate(-50%)}}@media (max-width: 640px){.brush-empty-state{width:min(86vw,360px);opacity:calc(var(--brush-opacity) * .8)}}@media (prefers-reduced-motion: reduce){.brush-empty-state{animation:none!important;transform:none!important;transition:opacity .12s linear!important}.welcome-panel .brush-empty-state{transform:translate(-50%)!important}}.practice-page{width:min(840px,calc(100vw - 48px));margin:0 auto;padding:56px 0 96px}.practice-page-header{display:grid;gap:10px;margin-bottom:28px}.practice-page-header h1{font-size:34px;font-weight:620;letter-spacing:0;line-height:1.16}.practice-page-header p{margin:0}.practice-task-card{display:grid;gap:22px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-soft),inset 0 1px #ffffff08;padding:28px;animation:practice-card-in var(--motion-normal) var(--ease-standard) both}.practice-task-card h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600;line-height:1.25}.practice-task-card p{margin:8px 0 0;color:var(--text-secondary);line-height:1.7}.practice-task-heading{display:grid;gap:6px}.practice-focus{display:grid;gap:8px;border-radius:var(--radius-md);background:linear-gradient(to right,transparent calc(50% - .5px),color-mix(in srgb,var(--ink-mark) 5%,transparent) 50%,transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),color-mix(in srgb,var(--ink-mark) 5%,transparent) 50%,transparent calc(50% + .5px)),var(--surface-soft);border:1px solid var(--border-subtle);padding:18px}.practice-focus span{color:var(--text-primary);font-size:18px;font-weight:560}.practice-focus p{margin:0}.practice-detail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.practice-detail-list div{min-width:0;border-radius:var(--radius-md);background:var(--surface-soft);padding:14px}.practice-detail-list dt{color:var(--text-tertiary);font-size:12px;font-weight:520}.practice-detail-list dd{margin:7px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.5}.practice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.practice-actions .text-button{min-height:40px;padding:0 10px}.practice-skeleton span{height:16px;border-radius:var(--radius-round);background:var(--surface-active);opacity:.5;animation:practice-skeleton-pulse .9s var(--ease-standard) infinite alternate}.practice-skeleton span:nth-child(1){width:42%}.practice-skeleton span:nth-child(2){width:82%}.practice-skeleton span:nth-child(3){width:64%}@keyframes practice-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes practice-skeleton-pulse{0%{opacity:.32}to{opacity:.58}}@media (max-width: 760px){.practice-page{width:min(100%,calc(100vw - 28px));padding:28px 0 112px}.practice-task-card{padding:20px}.practice-detail-list{grid-template-columns:1fr}.practice-actions{align-items:stretch;flex-direction:column}.practice-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.practice-task-card,.practice-skeleton span{animation:none}}.works-page{position:relative;width:min(1040px,calc(100vw - 48px));margin:0 auto;padding:56px 0 96px}.works-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.works-header h1,.work-detail-card h1{margin:0;color:var(--text-primary);font-size:34px;font-weight:620;line-height:1.16}.works-header p,.work-detail-body p,.works-empty-card p{margin:8px 0 0;color:var(--text-secondary);line-height:1.7}.works-empty-card,.work-detail-card,.works-skeleton{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-soft),inset 0 1px #ffffff08}.works-empty-card{display:grid;gap:22px;max-width:560px;padding:28px;animation:works-card-in var(--motion-normal) var(--ease-standard) both}.works-empty-card h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:600}.work-filter-row{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto;padding-bottom:2px}.work-filter{min-height:38px;border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--surface-default);color:var(--text-secondary);padding:0 14px;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.work-filter:hover,.work-filter.active{border-color:var(--border-medium);background:var(--surface-hover);color:var(--text-primary)}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.work-card{min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-default);overflow:hidden;padding:8px;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.work-card:hover{border-color:var(--border-medium);background:var(--surface-elevated);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.work-card-link{display:grid;color:inherit;text-decoration:none}.work-thumb{aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;border-radius:calc(var(--radius-md) - 6px);background:var(--paper-surface);color:var(--text-primary);font-size:38px;font-weight:650;padding:10px}.work-thumb img,.work-detail-media img{width:100%;height:100%;display:block;object-fit:contain;transition:transform var(--motion-fast) var(--ease-standard)}.work-card:hover .work-thumb img{transform:scale(1.015)}.work-card-body{display:grid;gap:10px;padding:14px}.work-card-title-row{min-width:0;display:flex;justify-content:space-between;gap:10px}.work-card h2{min-width:0;margin:0;overflow:hidden;color:var(--text-primary);font-size:17px;font-weight:580;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.work-card p{margin:0;overflow:hidden;color:var(--text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.work-card-tags{display:flex;flex-wrap:wrap;gap:6px}.work-card-tags span,.work-favorite{border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--paper-surface);color:var(--text-tertiary);font-size:12px;line-height:1;padding:6px 8px}.works-filter-empty{color:var(--text-tertiary);font-size:14px}.work-back-link{display:inline-flex;margin-bottom:14px;color:var(--text-secondary);text-decoration:none}.work-back-link:hover{color:var(--text-primary)}.work-detail-card{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:28px;padding:24px;animation:works-card-in var(--motion-normal) var(--ease-standard) both}.work-detail-media{border:0;min-height:320px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-md);background:var(--paper-surface);color:var(--text-primary);font-size:56px;font-weight:650;padding:18px}.work-detail-media-button{cursor:zoom-in}.work-detail-media-button:disabled{cursor:default}.work-detail-body{min-width:0;display:grid;align-content:start;gap:18px}.work-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.work-detail-list div{border-radius:var(--radius-md);background:var(--surface-soft);padding:14px}.work-detail-list dt{color:var(--text-tertiary);font-size:12px;font-weight:520}.work-detail-list dd{margin:7px 0 0;color:var(--text-secondary);line-height:1.5}.work-detail-actions{display:flex;flex-wrap:wrap;gap:10px}.work-detail-actions button:disabled{color:var(--text-disabled);cursor:default;opacity:.65}.danger-action{min-height:40px;border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);border-radius:var(--radius-round);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);padding:0 16px;font-weight:560;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.danger-action:hover{border-color:color-mix(in srgb,var(--danger) 48%,transparent);background:color-mix(in srgb,var(--danger) 15%,transparent)}.work-rename-row{display:grid;gap:10px}.work-rename-row label{display:grid;gap:6px;color:var(--text-tertiary);font-size:12px;font-weight:520}.work-rename-row input{min-height:42px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-primary);padding:0 12px;font-size:18px;outline:none}.work-image-preview,.work-delete-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:22px;background:#00000061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.work-image-preview img{max-width:min(1040px,94vw);max-height:88dvh;object-fit:contain;border-radius:var(--radius-md);background:var(--paper-surface);box-shadow:var(--shadow-medium);padding:12px}.work-image-preview-close{position:fixed;top:22px;right:22px;width:38px;height:38px;border:1px solid var(--border-medium);border-radius:var(--radius-round);background:var(--surface-default);color:var(--text-primary)}.work-delete-confirm article{width:min(420px,100%);border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-medium);padding:22px}.work-delete-confirm h2{margin:0;color:var(--text-primary);font-size:22px}.work-delete-confirm p{margin:10px 0 18px;color:var(--text-secondary);line-height:1.6}.work-delete-confirm div{display:flex;justify-content:flex-end;gap:10px}.works-skeleton{display:grid;gap:12px;max-width:560px;padding:24px}.works-skeleton span{height:14px;border-radius:var(--radius-round);background:var(--surface-active);opacity:.5;animation:works-skeleton-pulse .9s var(--ease-standard) infinite alternate}.works-skeleton span:nth-child(1){width:46%}.works-skeleton span:nth-child(2){width:86%}.works-skeleton span:nth-child(3){width:64%}.works-drag-overlay{position:fixed;top:18px;right:18px;bottom:18px;left:18px;z-index:10;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--accent-cinnabar-soft) 38%,transparent);color:var(--text-primary);pointer-events:none;animation:works-card-in var(--motion-fast) var(--ease-standard) both}.works-drag-overlay span{border:1px solid var(--border-medium);border-radius:var(--radius-round);background:color-mix(in srgb,var(--paper-surface) 90%,transparent);box-shadow:var(--shadow-soft);padding:12px 18px;font-weight:560}.work-upload-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:22px;background:#0000001f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.work-upload-panel{width:min(760px,100%);max-height:min(780px,calc(100dvh - 44px));overflow:auto;border:1px solid var(--border-medium);border-radius:var(--radius-xl);background:var(--surface-default);box-shadow:var(--shadow-medium);padding:22px;animation:works-card-in var(--motion-normal) var(--ease-standard) both}.work-upload-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.work-upload-header h2{margin:0;color:var(--text-primary);font-size:24px;font-weight:620}.work-upload-close{width:34px;height:34px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-secondary)}.work-upload-close:hover{background:var(--surface-hover);color:var(--text-primary)}.work-upload-dropzone{border:1px dashed var(--border-medium);border-radius:var(--radius-lg);background:var(--paper-surface);padding:22px;text-align:center}.work-upload-dropzone label{display:grid;gap:8px;color:var(--text-primary);cursor:pointer;font-weight:560}.work-upload-dropzone small,.work-upload-mobile-entry span{color:var(--text-tertiary);font-size:13px;font-weight:400}.work-upload-error{margin:12px 0 0;color:var(--danger);font-size:14px}.work-upload-preview-list{display:grid;gap:14px;margin-top:16px}.work-upload-preview{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--paper-surface);padding:12px}.work-upload-preview-media{min-height:180px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-soft);padding:10px}.work-upload-preview-media img{width:100%;height:100%;max-height:260px;object-fit:contain}.work-upload-preview-fields{display:grid;gap:10px}.work-upload-preview-fields label{display:grid;gap:6px;color:var(--text-tertiary);font-size:12px;font-weight:520}.work-upload-preview-fields input,.work-upload-preview-fields select{min-height:38px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-primary);padding:0 10px;font:inherit;outline:none}.work-upload-preview-fields input:focus,.work-upload-preview-fields select:focus{border-color:var(--border-strong)}.work-upload-mobile-entry{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-secondary);padding:14px}.work-upload-mobile-entry p{margin:0;color:var(--text-primary);font-weight:560}.work-upload-qr{width:92px;height:92px;border-radius:var(--radius-sm);background:#fff;padding:6px}.work-upload-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}@keyframes works-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes works-skeleton-pulse{0%{opacity:.32}to{opacity:.58}}@media (max-width: 760px){.works-page{width:min(100%,calc(100vw - 28px));padding:28px 0 112px}.works-header,.work-detail-card{grid-template-columns:1fr}.works-header{display:grid}.works-header .primary-action,.work-detail-actions button{width:100%}.work-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.work-detail-list{grid-template-columns:1fr}.work-detail-media{min-height:240px}.work-upload-preview,.work-upload-mobile-entry{grid-template-columns:1fr}.work-upload-actions{display:grid}}@media (prefers-reduced-motion: reduce){.works-empty-card,.work-detail-card,.works-skeleton span{animation:none}}.growth-page{width:min(960px,calc(100vw - 48px));margin:0 auto;padding:56px 0 96px}.growth-page-header{display:grid;gap:10px;margin-bottom:28px}.growth-page-header h1{margin:0;color:var(--text-primary);font-size:34px;font-weight:620;line-height:1.16}.growth-page-header p{margin:0}.growth-layout{display:grid;gap:16px}.growth-section,.growth-empty-card,.growth-skeleton{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-soft),inset 0 1px #ffffff08;animation:growth-card-in var(--motion-normal) var(--ease-standard) both}.growth-section,.growth-empty-card{padding:24px}.growth-empty-card{display:grid;max-width:560px;gap:22px}.growth-empty-card h2,.growth-section-header h2,.growth-improvement-card h3,.growth-practice-card h3,.growth-timeline-card h3{margin:0;color:var(--text-primary)}.growth-empty-card h2,.growth-section-header h2{font-size:24px;font-weight:600;line-height:1.25}.growth-empty-card p,.growth-muted,.growth-improvement-card p,.growth-practice-card p,.growth-timeline-card p{margin:0;color:var(--text-secondary);line-height:1.6}.growth-empty-card p{margin-top:8px}.growth-section-header{display:grid;gap:6px;margin-bottom:18px}.growth-timeline-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px}.growth-improvement-grid,.growth-practice-list{display:grid;gap:12px}.growth-improvement-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.growth-improvement-card,.growth-practice-card,.growth-timeline-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-soft);transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.growth-improvement-card:hover,.growth-practice-card:hover,.growth-timeline-card:hover{border-color:var(--border-medium);background:var(--surface-hover)}.growth-improvement-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding:14px}.growth-improvement-card h3,.growth-practice-card h3{font-size:18px;font-weight:580;line-height:1.32}.growth-improvement-card>div:last-child,.growth-practice-card>div:first-child,.growth-timeline-copy{display:grid;gap:8px}.growth-before-after,.growth-mini-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.growth-before-after{align-content:start}.growth-before-after span,.growth-mini-thumbs span,.growth-mini-thumbs a{display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-tertiary);font-size:13px;font-weight:560;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.growth-mini-thumbs a:hover{border-color:var(--border-medium);background:var(--surface-hover);color:var(--text-primary)}.growth-before-after span{aspect-ratio:1}.growth-result-pill,.growth-status-text{width:fit-content;border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--accent-cinnabar-soft);color:var(--text-primary);font-size:12px;font-weight:560;line-height:1;padding:6px 8px}.growth-practice-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px}.growth-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.growth-card-actions .secondary-action{min-height:40px}.growth-card-actions .text-button{min-height:40px;padding:0 10px}.growth-filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.growth-filter{min-height:36px;border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--surface-default);color:var(--text-secondary);padding:0 13px;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.growth-filter:hover,.growth-filter.active{border-color:var(--border-medium);background:var(--surface-hover);color:var(--text-primary)}.growth-timeline{display:grid;gap:10px;margin:0;padding:0;list-style:none}.growth-timeline-card{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) 70px;align-items:center;gap:12px;padding:14px}.growth-timeline-card.selected{border-color:var(--border-medium);box-shadow:inset 0 0 0 1px var(--border-subtle),var(--shadow-soft)}.growth-timeline-dot{width:9px;height:9px;border-radius:var(--radius-round);background:var(--ink-mark);opacity:.5;box-shadow:0 0 0 4px color-mix(in srgb,var(--ink-mark) 8%,transparent)}.growth-timeline-card[data-result=clearly_improved] .growth-timeline-dot,.growth-timeline-card[data-result=slightly_improved] .growth-timeline-dot{background:var(--annotation-cinnabar);opacity:.78;box-shadow:0 0 0 4px var(--annotation-cinnabar-soft)}.growth-timeline-card[data-result=unable_to_compare] .growth-timeline-dot{background:var(--text-tertiary);opacity:.5}.growth-timeline-card h3{font-size:16px;font-weight:580}.growth-timeline-card p{font-size:14px}.growth-mini-thumbs span,.growth-mini-thumbs a{height:34px}.growth-located-pill{width:fit-content;border:1px solid var(--border-subtle);border-radius:var(--radius-round);background:var(--accent-cinnabar-soft);color:var(--text-primary);font-size:12px;font-weight:560;line-height:1;padding:6px 8px}.growth-skeleton{display:grid;gap:14px;padding:24px}.growth-skeleton span{height:15px;border-radius:var(--radius-round);background:var(--surface-active);opacity:.5;animation:growth-skeleton-pulse .9s var(--ease-standard) infinite alternate}.growth-skeleton span:nth-child(1){width:44%}.growth-skeleton span:nth-child(2){width:78%}.growth-skeleton span:nth-child(3){width:62%}@keyframes growth-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes growth-skeleton-pulse{0%{opacity:.32}to{opacity:.58}}@media (max-width: 760px){.growth-page{width:min(100%,calc(100vw - 28px));padding:28px 0 112px}.growth-section,.growth-empty-card{padding:20px}.growth-timeline-header,.growth-practice-card,.growth-timeline-card{grid-template-columns:1fr;align-items:stretch}.growth-card-actions{justify-content:stretch}.growth-card-actions button{flex:1 1 auto}.growth-mini-thumbs{max-width:120px}}@media (prefers-reduced-motion: reduce){.growth-section,.growth-empty-card,.growth-skeleton,.growth-skeleton span{animation:none}}
