*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--radius:var(--radius-md);--ui-background:var(--surface);--ui-foreground:var(--text);--ui-card:var(--surface);--ui-card-foreground:var(--text);--ui-popover:var(--surface);--ui-popover-foreground:var(--text);--ui-primary:var(--accent);--ui-primary-foreground:var(--on-accent);--ui-secondary:var(--surface-alt);--ui-secondary-foreground:var(--text);--ui-muted:var(--surface-alt);--ui-muted-foreground:var(--muted);--ui-accent:var(--surface-alt);--ui-accent-foreground:var(--text);--ui-destructive:var(--danger);--ui-destructive-foreground:var(--on-danger);--ui-border:var(--border);--ui-input:var(--border);--ui-ring:var(--accent);--ui-chart-1:var(--accent);--ui-chart-2:var(--accent-2);--ui-chart-3:#6f6256;--ui-chart-4:#d4b29a;--ui-chart-5:#8bb7aa}.dark,[data-theme=dark]{--ui-background:var(--surface);--ui-foreground:var(--text);--ui-card:var(--surface);--ui-card-foreground:var(--text);--ui-popover:var(--surface);--ui-popover-foreground:var(--text);--ui-primary:var(--accent);--ui-primary-foreground:var(--on-accent);--ui-secondary:var(--surface-alt);--ui-secondary-foreground:var(--text);--ui-muted:var(--surface-alt);--ui-muted-foreground:var(--muted);--ui-accent:var(--surface-alt);--ui-accent-foreground:var(--text);--ui-destructive:var(--danger);--ui-destructive-foreground:var(--on-danger);--ui-border:var(--border);--ui-input:var(--border);--ui-ring:var(--accent);--ui-chart-1:var(--accent);--ui-chart-2:var(--accent-2);--ui-chart-3:#9aa6ad;--ui-chart-4:#d9b290;--ui-chart-5:#7bb7a1}*{border-color:var(--ui-border)}body{background-color:var(--ui-background);color:var(--ui-foreground)}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-50{z-index:50}.m-0{margin:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-3{margin-top:.75rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!contents{display:contents!important}.contents{display:contents}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[8\.5rem\]{min-width:8.5rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-input{border-color:var(--ui-input)}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-background{background-color:var(--ui-background)}.bg-border{background-color:var(--ui-border)}.bg-destructive{background-color:var(--ui-destructive)}.bg-muted{background-color:var(--ui-muted)}.bg-popover{background-color:var(--ui-popover)}.bg-primary{background-color:var(--ui-primary)}.bg-secondary{background-color:var(--ui-secondary)}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-1{padding-bottom:.25rem}.pt-1\.5{padding-top:.375rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tracking-widest{letter-spacing:.1em}.text-destructive-foreground{color:var(--ui-destructive-foreground)}.text-foreground{color:var(--ui-foreground)}.text-muted-foreground{color:var(--ui-muted-foreground)}.text-popover-foreground{color:var(--ui-popover-foreground)}.text-primary{color:var(--ui-primary)}.text-primary-foreground{color:var(--ui-primary-foreground)}.text-secondary-foreground{color:var(--ui-secondary-foreground)}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.fade-out{--tw-exit-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}:root{color-scheme:light;--bg-1:#faf7f4;--bg-2:#f0ebe4;--surface:#fff;--surface-alt:#f7f3ee;--text:#1a1614;--muted:#5a504a;--accent:#2d6a5a;--accent-2:#d9936a;--assistant-bubble:rgba(61,122,106,.08);--user-bubble:rgba(45,106,90,.13);--assistant-border:rgba(45,106,90,.45);--danger:#ad453c;--border:#e8e0d8;--shadow-sm:0 1px 3px rgba(120,80,40,.06);--shadow:0 2px 8px rgba(120,80,40,.08);--shadow-lg:0 4px 16px rgba(120,80,40,.1);--warm-glow:hsla(22,59%,63%,.08);--on-accent:#fff;--on-danger:#fff;--accent-2-text:#9a5a23;--scrim:rgba(0,0,0,.5);--scrim-strong:rgba(0,0,0,.62);--modal-bg:hsla(0,0%,100%,.96);--shadow-modal:0 20px 60px -20px rgba(0,0,0,.5);--share-bg-1:#f4f1eb;--share-bg-2:#dfe9e3;--share-text:#1d1b19;--share-text-soft:#332f2a;--share-muted:#6c6258;--share-muted-strong:#4a443d;--share-accent:#2d6a5a;--share-on-accent:#fff;--share-card-bg:hsla(0,0%,100%,.72);--share-border:rgba(29,27,25,.12);--share-card-shadow:0 20px 60px -30px rgba(29,27,25,.45);--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--assistant-avatar-size:28px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in:cubic-bezier(0.55,0,1,0.45);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--dur-4:520ms}[data-theme=dark]{color-scheme:dark;--bg-1:#1a1c1e;--bg-2:#1e2124;--surface:#25282a;--surface-alt:#2a2e31;--text:#f0f0f0;--muted:#a0a0a0;--accent:#6dbda5;--accent-2:#e5a876;--assistant-bubble:rgba(109,189,165,.12);--user-bubble:rgba(109,189,165,.17);--assistant-border:rgba(109,189,165,.35);--danger:#f28b7d;--border:#3a3f44;--on-accent:#10201b;--on-danger:#2a100c;--accent-2-text:var(--accent-2);--modal-bg:rgba(30,28,26,.97);--shadow-sm:0 1px 3px rgba(0,0,0,.2);--shadow:0 2px 8px rgba(0,0,0,.3);--shadow-lg:0 4px 16px rgba(0,0,0,.4);--warm-glow:hsla(22,59%,63%,.05)}*{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;font-family:var(--font-sans);color:var(--text);background:var(--bg-1);min-height:100vh;line-height:1.6;letter-spacing:.01em;-webkit-font-smoothing:antialiased}.background{position:fixed;inset:0;background:linear-gradient(135deg,var(--bg-1) 0,var(--bg-2) 40%,var(--bg-1) 70%,var(--bg-2) 100%);z-index:-1}.background:after{content:"";position:absolute;inset:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.5'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;pointer-events:none}[data-theme=dark] .background:after{opacity:.15}.app-layout{display:flex;min-height:100dvh;height:100dvh}.sidebar{width:200px;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:8px;gap:4px;transition:width .2s ease;overflow:hidden}.sidebar,.sidebar-header{display:flex;flex-shrink:0}.sidebar-header{align-items:center;justify-content:space-between;padding:4px 4px 8px;min-height:36px}.sidebar-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--accent);overflow:hidden}.sidebar-brand .brand-icon{width:22px;height:22px;flex-shrink:0}.sidebar-brand-text{font-family:var(--font-serif);font-size:1.125rem;font-weight:600;white-space:nowrap;letter-spacing:.06em;transition:opacity .2s ease}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-link{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);text-decoration:none;color:var(--text);font-weight:500;font-size:.875rem;transition:background-color var(--dur-1) ease,color var(--dur-2) ease,transform var(--dur-1) ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.sidebar-link:hover:not(.active){background:var(--surface-alt)}.sidebar-link:active{transform:scale(.98)}.sidebar-link.active{color:var(--accent)}.sidebar-active-pill{position:absolute;inset:0;z-index:-1;border-radius:inherit;background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 3px 0 0 var(--accent)}[data-theme=dark] .sidebar-active-pill{background:color-mix(in srgb,var(--accent) 12%,transparent)}.sidebar-label{overflow:hidden;transition:opacity .2s ease}.sidebar-footer{display:flex;flex-direction:column;gap:4px;padding-top:12px;margin-top:4px;border-top:1px solid var(--border)}.sidebar-footer button{justify-content:flex-start;white-space:nowrap;overflow:hidden}.sidebar-desktop-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;margin-bottom:4px;transition:background-color .15s ease,color .15s ease}.sidebar-desktop-toggle:hover{background:var(--surface-alt);color:var(--text)}.sidebar.collapsed{width:52px;padding:8px 6px}.sidebar.collapsed .sidebar-header{justify-content:center;padding:4px 0 8px}.sidebar.collapsed .sidebar-brand-text{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .sidebar-desktop-toggle{display:none}.sidebar.collapsed .sidebar-footer button span,.sidebar.collapsed .sidebar-label{opacity:0;width:0}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px;gap:0}.sidebar.collapsed .sidebar-footer button{justify-content:center;gap:0}.sidebar.collapsed .sidebar-desktop-toggle{align-self:center}.sidebar-toggle-mobile{display:none}@media (max-width:768px){.sidebar-desktop-toggle{display:none}}.sidebar-overlay{display:none}.main-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.page-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.page-header-brand{display:flex;align-items:center;gap:8px}.page-header h1{font-size:1.125rem;margin:0;font-family:var(--font-serif);font-weight:600;color:var(--accent)}.page-header .page-header-chat{display:none}@media (max-width:768px){.page-header .page-header-chat{display:inline-flex;height:36px;padding:0 14px}}.page-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-page{flex-direction:column;height:100%;gap:0;padding:0}.chat-container,.chat-page{display:flex;overflow:hidden}.chat-container{flex:1;min-height:0;flex-direction:column}.chat-topbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;height:52px;padding:0 14px;background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.chat-topbar-title{display:flex;align-items:baseline;gap:8px;min-width:0}.chat-topbar-title h1{margin:0;font-family:var(--font-serif);font-size:1.0625rem;font-weight:600;color:var(--accent);white-space:nowrap}.chat-topbar-date{font-size:.75rem;color:var(--muted);white-space:nowrap}.chat-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-share-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--accent);font-size:.8125rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.chat-share-btn .icon{width:16px;height:16px}.chat-share-btn:hover{background:var(--surface-alt);border-color:var(--accent)}.chat-share-btn.is-locked{color:var(--muted)}.chat-share-btn.is-locked:hover{background:var(--surface-alt);border-color:var(--border);color:var(--muted)}.chat-share-btn:disabled{color:var(--muted);cursor:default}.chat-share-btn:disabled:hover{background:var(--surface);border-color:var(--border)}.new-chat-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;margin:.75rem auto 0;max-width:46rem;width:calc(100% - 2rem);padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);color:var(--muted);font-size:.8125rem;line-height:1.4;text-align:center}.new-chat-confirm-actions{display:flex;align-items:center;gap:.5rem}.chat-messages-wrapper{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.chat-messages{flex:1;min-height:0;padding:12px 16px;max-width:800px;margin:0 auto;width:100%}.chat-messages [data-radix-scroll-area-viewport]{padding-right:8px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overflow-x:hidden!important}.chat-messages [data-radix-scroll-area-viewport]>div{display:block!important;min-width:0!important;width:100%}.jump-to-latest{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:10}.jump-to-latest-btn{pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.jump-to-latest-btn:hover{background:var(--surface-alt);color:var(--text);box-shadow:var(--shadow-lg)}.jump-to-latest-btn svg{width:20px;height:20px}.chat-input{flex-shrink:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:center;gap:8px;max-width:800px;margin:0 auto;width:100%;position:relative}.chat-input,.chat-list{display:flex;flex-direction:column}.chat-list{min-width:0;max-width:100%;min-height:100%;justify-content:flex-end;gap:0;padding-bottom:12px;padding-top:4px}.typing-dots{display:flex;align-items:center;gap:4px;padding:4px 0}@media (max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100;width:min(288px,84vw);transform:translateX(-100%);visibility:hidden;transition:transform .24s var(--ease-in),visibility 0s linear .24s;box-shadow:var(--shadow-lg);padding:64px 12px calc(12px + env(safe-area-inset-bottom));touch-action:pan-y}.sidebar.open{transform:translateX(0);visibility:visible;transition:transform .38s var(--ease-out),visibility 0s}.sidebar-overlay.dragging,.sidebar.dragging{transition:none}.sidebar-link{padding:13px 14px;font-size:.9375rem}.sidebar.collapsed{width:min(288px,84vw);padding:64px 12px calc(12px + env(safe-area-inset-bottom))}.sidebar.collapsed .sidebar-header{justify-content:space-between;padding:4px 4px 8px}.sidebar.collapsed .sidebar-brand-text,.sidebar.collapsed .sidebar-footer button span,.sidebar.collapsed .sidebar-label{opacity:1;width:auto}.sidebar.collapsed .sidebar-link{justify-content:flex-start;padding:13px 14px;gap:10px}.sidebar.collapsed .sidebar-footer button{justify-content:flex-start;gap:8px}.sidebar-footer button{height:40px;font-size:.8125rem}.sidebar-toggle-mobile{display:flex;position:fixed;top:6px;left:10px;z-index:101;width:44px;height:44px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text);transition:background-color var(--dur-1) ease,transform var(--dur-1) ease;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent}.sidebar-toggle-mobile:hover{background:var(--surface-alt)}.sidebar-toggle-icon{position:absolute;inset:0;margin:auto;transition:opacity var(--dur-2) ease,transform var(--dur-3) var(--ease-out)}.sidebar-toggle-mobile .sidebar-toggle-icon-close,.sidebar-toggle-mobile[aria-expanded=true] .sidebar-toggle-icon-menu{opacity:0;transform:rotate(-90deg) scale(.6)}.sidebar-toggle-mobile[aria-expanded=true] .sidebar-toggle-icon-close{opacity:1;transform:none}.sidebar-overlay{display:block;position:fixed;inset:0;background:var(--scrim);z-index:99;opacity:0;pointer-events:none;transition:opacity .24s var(--ease-in);-webkit-tap-highlight-color:transparent}.sidebar-overlay.open{opacity:1;pointer-events:auto;transition:opacity .38s var(--ease-out)}.chat-topbar,.page-header{padding-left:64px}.chat-topbar{height:56px}.chat-topbar-date{display:none}.main-content{width:100%}.page-body{padding:12px}.chat-messages{padding:8px 12px}.chat-messages [data-radix-scroll-area-viewport]{scrollbar-gutter:auto;padding-right:0}.chat-list{overflow-x:hidden}.chat-input{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.composer-icon-btn svg{width:18px;height:18px}.jump-to-latest-btn{width:36px;height:36px}.jump-to-latest-btn svg{width:18px;height:18px}}.icon{width:18px;height:18px;flex-shrink:0}.brand-icon{width:22px;height:22px;color:var(--accent)}.card{background:var(--surface);border-radius:var(--radius-lg);padding:16px;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow),inset 0 0 0 1px var(--warm-glow)}a.card:hover{transform:translateY(-2px)}a.card:active{transform:translateY(0) scale(.99);transition-duration:var(--dur-1)}.card h2{margin-top:0;font-family:var(--font-serif);font-weight:600}.section-title{display:flex;align-items:center;gap:10px}.section-title h2,.section-title h3{margin:0;font-family:var(--font-serif);font-weight:600}.section-title h3{font-size:1rem}.section-title--stacked{align-items:flex-start}.section-title--stacked>.icon{margin-top:5px}.section-title--stacked .helper{margin:2px 0 0}.helper{color:var(--muted);font-size:.75rem;margin-top:8px}.status-message{font-size:.8125rem;text-align:center;margin:12px 0 0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--muted)}.status-message.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.field-hint{font-size:.6875rem;color:var(--muted)}.field-hint.error{color:var(--danger)}.loading-skeleton-group{margin-top:12px;display:flex;flex-direction:column;gap:10px}.loading-skeleton-block,.loading-skeleton-line{border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(90deg,var(--surface-alt) 0,var(--surface) 50%,var(--surface-alt) 100%);background-size:220% 100%;animation:skeletonPulse 1.3s ease-in-out infinite}.loading-skeleton-line{height:12px}.loading-skeleton-line-sm{width:42%}.loading-skeleton-line-lg{width:88%}.loading-skeleton-block{height:64px}@keyframes skeletonPulse{0%{background-position:100% 0}to{background-position:-100% 0}}.chat-skeleton-avatar{width:var(--assistant-avatar-size);height:var(--assistant-avatar-size);flex-shrink:0;border-radius:50%;background:linear-gradient(90deg,var(--surface-alt) 0,var(--surface) 50%,var(--surface-alt) 100%);background-size:220% 100%;animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-bubble{gap:8px}.skeleton-line{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--surface-alt) 0,var(--surface) 50%,var(--surface-alt) 100%);background-size:220% 100%;animation:skeletonPulse 1.5s ease-in-out infinite}.chat-skeleton .message-user .skeleton-line{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 6%,transparent) 0,color-mix(in srgb,var(--accent) 12%,transparent) 50%,color-mix(in srgb,var(--accent) 6%,transparent) 100%);background-size:220% 100%;animation:skeletonPulse 1.5s ease-in-out infinite}[data-theme=dark] .chat-skeleton .message-user .skeleton-line{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent) 0,color-mix(in srgb,var(--accent) 16%,transparent) 50%,color-mix(in srgb,var(--accent) 8%,transparent) 100%);background-size:220% 100%;animation:skeletonPulse 1.5s ease-in-out infinite}.chat-skeleton .message-row+.message-row{margin-top:16px}.grid{display:grid;gap:16px;align-items:start}.helper+.grid{margin-top:16px}@media (min-width:860px){.grid{grid-template-columns:1.2fr .8fr}}.form-actions{margin-top:20px}.recap-section{display:flex;flex-direction:column;gap:12px}.insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:960px){.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.insights-grid{grid-template-columns:1fr}}.insight-card h4{margin:0;font-size:.9375rem;font-weight:600}.journal-card{background:var(--surface)}.journal-card p,.prompt-text{margin:8px 0 0}.prompt-text{font-weight:600}.recap-list{list-style:none;margin:8px 0 0;padding:0;gap:10px}.recap-list,.recap-list li{display:flex;flex-direction:column}.recap-list li{margin:0;gap:2px}.recap-list-date{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.stat-item{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:8px;margin-bottom:0}.stat-label{font-weight:600;text-transform:capitalize}.stat-bar{height:8px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border);overflow:hidden}.stat-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform-origin:left center;animation:barGrow .76s var(--ease-out) backwards;animation-delay:calc(.12s + var(--i, 0) * 70ms)}@keyframes barGrow{0%{transform:scaleX(0)}}.stat-count{font-weight:700;font-size:.8125rem;font-variant-numeric:tabular-nums;animation:enterFade var(--dur-3) ease backwards;animation-delay:calc(.42s + var(--i, 0) * 70ms)}.timeline{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.timeline-item{padding:10px;border-radius:var(--radius-md);border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-alt);margin-bottom:0;transition:background-color .15s ease;animation:enterFade .38s ease backwards;animation-delay:calc(80ms + var(--i, 0) * 55ms)}.timeline-item:hover{background:var(--surface)}.timeline-date{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.timeline-content{color:var(--text)}.memory-list{position:relative;display:flex;flex-direction:column;gap:10px;margin-top:10px}.memory-item{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-alt);transition:background-color .15s ease}.memory-item:hover{background:var(--surface)}.memory-meta{margin-top:6px;font-size:.75rem;color:var(--muted)}.memory-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.memory-actions button{min-height:32px;padding:6px 14px;border-radius:999px;font-size:.75rem;box-shadow:none}.memory-confirm{align-items:center;animation:enterFade var(--dur-2) ease backwards}.memory-confirm-text{flex-basis:100%;font-size:.75rem;color:var(--muted)}.memory-edit textarea{min-height:80px}.composer-pill{display:flex;align-items:flex-end;gap:4px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:8px 8px 8px 14px;box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.composer-pill:hover:not(:focus-within){border-color:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:var(--shadow)}[data-theme=dark] .composer-pill:hover:not(:focus-within){border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.composer-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent),var(--shadow)}[data-theme=dark] .composer-pill:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent),var(--shadow)}.composer-pill-placeholder{height:54px}.composer-left,.composer-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.composer-icon-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,opacity .15s ease,transform .15s ease}.composer-icon-btn:hover:not(:disabled){background:var(--surface-alt);color:var(--text)}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.composer-plus svg{transition:transform var(--dur-3) var(--ease-spring)}.composer-plus[data-state=open]{background:var(--surface-alt);color:var(--text)}.composer-plus[data-state=open] svg{transform:rotate(135deg)}.composer-tools-dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:enterPop var(--dur-3) var(--ease-spring) backwards}.composer-icon-btn.composer-send{background:var(--accent);color:var(--on-accent);transition:background-color var(--dur-2) ease,color var(--dur-2) ease,opacity var(--dur-2) ease,transform var(--dur-3) var(--ease-spring)}.composer-icon-btn.composer-send:hover:not(:disabled){background:var(--accent);opacity:.9}.composer-icon-btn.composer-send:disabled{background:var(--surface-alt);color:var(--muted);opacity:.6;transform:scale(.88)}.composer-textarea{flex:1;min-height:28px;max-height:120px;border:none;background:transparent;padding:6px 8px;resize:none;font-size:.9375rem;line-height:1.5;color:var(--text);font-family:inherit;overflow-y:auto}.composer-textarea::-moz-placeholder{color:var(--muted)}.composer-textarea::placeholder{color:var(--muted)}@media (max-width:768px),(pointer:coarse){.composer-textarea{font-size:1rem}}.composer-textarea:focus{outline:none;border:none;box-shadow:none;background:transparent}[data-theme=dark] .composer-textarea:focus{box-shadow:none}.composer-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:8px;background:transparent;color:var(--text);font-family:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .12s ease}.composer-menu-item:focus-visible,.composer-menu-item:hover{background:var(--surface-alt);outline:none}.composer-menu-item:disabled{opacity:.5;cursor:default}.composer-menu[data-state=open]{animation-duration:var(--dur-2);animation-timing-function:var(--ease-out)}.composer-menu-hint{margin-left:auto;font-size:.6875rem;color:var(--muted);white-space:nowrap}.composer-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-alt);border:1px solid var(--border);border-radius:16px;width:100%}.composer-preview-img{width:40px;height:40px;border-radius:8px;-o-object-fit:cover;object-fit:cover;border:1px solid var(--border)}.composer-preview-label{flex:1;font-size:.8125rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-preview-doc{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--accent)}.composer-preview-doc svg{width:20px;height:20px}.composer-preview-meta{flex-shrink:0;white-space:nowrap}.composer-char-count,.composer-preview-meta{font-size:.6875rem;color:var(--muted);font-variant-numeric:tabular-nums}.composer-char-count{align-self:flex-end;animation:enterFade var(--dur-2) ease backwards}.composer-char-count-limit,.composer-error{color:var(--danger);font-weight:600}.composer-error{font-size:.75rem;margin:0;text-align:center}.stream-interrupted-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;margin:.5rem auto 0;max-width:46rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);color:var(--muted);font-size:.8125rem;line-height:1.4;text-align:center;animation:enterRise var(--dur-3) var(--ease-out) backwards}.message-row{display:flex;flex-direction:column;min-width:0;max-width:100%}.chat-list-ready{animation:listReveal .28s var(--ease-out) backwards}@keyframes listReveal{0%{opacity:.4}}.route-enter .chat-skeleton{animation:enterFade var(--dur-2) ease .24s backwards}.chat-list-ready .message-row{animation:enterRise var(--dur-3) var(--ease-out) backwards}.chat-list-ready .message-row-user{transform-origin:100% 100%;animation:bubbleSend .42s var(--ease-spring) backwards}@keyframes bubbleSend{0%{opacity:0;transform:translateY(14px) scale(.94)}}.chat-list-ready .message-row.message-row-instant,.chat-list-ready .streaming-footer .message-row{animation:none}.message-row-settle .message-actions,.message-row-settle .message-sources{animation:enterFade var(--dur-3) var(--ease-out) 60ms backwards}.message-row-user{align-items:flex-end}.message-row-assistant{align-items:stretch;width:100%}.message-bubble{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:6px;font-size:.9375rem;line-height:1.55}.message-user{max-width:72%;background:var(--user-bubble);border-radius:18px 18px 4px 18px;padding:10px 14px;transition:background-color .15s ease}.message-row-user:hover .message-user{background:color-mix(in srgb,var(--accent) 12%,transparent)}[data-theme=dark] .message-row-user:hover .message-user{background:color-mix(in srgb,var(--accent) 18%,transparent)}.message-assistant{background:transparent;border:none;border-radius:var(--radius-lg);padding:12px 14px;width:100%}.message-assistant-row{display:flex;align-items:flex-start;gap:12px;width:100%;min-width:0;border-left:2px solid var(--assistant-border);padding-left:10px;transition:border-color .15s ease}.message-row-assistant:hover .message-assistant-row{border-left-color:var(--accent)}.message-assistant-avatar{width:var(--assistant-avatar-size);height:var(--assistant-avatar-size);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--on-accent)}.message-assistant-avatar svg{width:14px;height:14px}.message-assistant-body{flex:1;min-width:0;max-width:100%;display:flex;flex-direction:column;gap:4px}.message-row{margin-top:4px}.message-row.group-first{margin-top:16px}.chat-list>.message-row:first-child{margin-top:0}.chat-day-separator{padding:12px 0}.chat-list>.chat-day-separator+.message-row{margin-top:8px}.message-row-user.group-first:not(.group-last) .message-user{border-radius:18px 18px 6px 18px}.message-row-user:not(.group-first):not(.group-last) .message-user{border-radius:18px 6px 6px 18px}.message-row-user.group-last:not(.group-first) .message-user{border-radius:18px 6px 4px 18px}.message-assistant-avatar-spacer{width:var(--assistant-avatar-size);flex-shrink:0}.message-row-assistant:not(.group-first) .message-assistant-row{border-left-color:color-mix(in srgb,var(--accent) 20%,transparent)}[data-theme=dark] .message-row-assistant:not(.group-first) .message-assistant-row{border-left-color:color-mix(in srgb,var(--accent) 15%,transparent)}.message-text{margin:0;min-width:0;max-width:100%;white-space:pre-wrap;word-break:break-word;color:var(--text)}.markdown-content{min-width:0;max-width:100%;white-space:normal}.markdown-content blockquote,.markdown-content li,.markdown-content p{overflow-wrap:anywhere}.markdown-content p{margin:0 0 .75rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:.5rem 0 .25rem;font-weight:600;line-height:1.3;color:var(--text)}.markdown-content h1{font-size:1.25em}.markdown-content h2{font-size:1.15em}.markdown-content h3{font-size:1.05em}.markdown-content ul{list-style:disc outside;margin:.5rem 0;padding-left:1.5rem}.markdown-content ol{list-style:decimal outside;margin:.5rem 0;padding-left:1.5rem}.markdown-content li{margin:.25rem 0}.markdown-content code{background:color-mix(in srgb,var(--text) 5%,transparent);padding:.125rem .375rem;border-radius:4px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text);overflow-wrap:anywhere}.markdown-code-block{max-width:100%;min-width:0;margin:.875rem 0;overflow:hidden;border:1px solid var(--border);border-radius:8px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 6%,transparent)}.markdown-code-block,.markdown-code-header{background:color-mix(in srgb,var(--text) 3.5%,transparent)}.markdown-code-header{display:flex;align-items:center;justify-content:space-between;min-height:38px;gap:12px;padding:8px 10px 8px 12px;border-bottom:1px solid var(--border)}.markdown-code-language{display:inline-flex;min-width:0;align-items:center;gap:8px;color:var(--text);font-size:.8125rem;font-weight:600;line-height:1.2}.markdown-code-language svg{width:16px;height:16px;flex-shrink:0}.markdown-code-copy{display:inline-flex;width:30px;height:30px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.markdown-code-copy:hover{border-color:var(--border);background:var(--surface-alt);color:var(--text)}.markdown-code-copy svg{width:16px;height:16px}.markdown-code-pre{max-height:min(52vh,520px);margin:0;padding:14px 16px 16px;overflow:auto;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.65;-moz-tab-size:2;-o-tab-size:2;tab-size:2;overscroll-behavior:contain;scrollbar-gutter:stable}.markdown-code-pre,.markdown-code-pre code{max-width:100%;min-width:0;background:transparent;border-radius:0}.markdown-code-pre code{display:block;width:100%;padding:0;color:inherit;font-size:inherit;line-height:inherit;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.markdown-content pre:not(.markdown-code-pre){margin:.75rem 0;padding:.75rem 1rem;max-width:100%;min-width:0;background:color-mix(in srgb,var(--text) 5%,transparent);border-radius:8px;overflow-x:auto}.markdown-content pre:not(.markdown-code-pre) code{background:transparent;padding:0;font-size:.85em;white-space:pre;overflow-wrap:normal;word-break:normal}.markdown-content blockquote{margin:.5rem 0;padding:.5rem 1rem;border-left:3px solid var(--accent);background:var(--surface-alt);border-radius:0 6px 6px 0}.markdown-content blockquote p{margin:0}.markdown-content strong{font-weight:600;color:var(--text)}.markdown-content em{font-style:italic}.markdown-content a{color:var(--accent);text-decoration:underline}.markdown-content a:hover{text-decoration:none}.markdown-content hr{margin:1rem 0;border:none;border-top:1px solid var(--border)}[data-theme=dark] .markdown-content code{background:color-mix(in srgb,var(--text) 8%,transparent)}[data-theme=dark] .markdown-content pre:not(.markdown-code-pre){background:color-mix(in srgb,var(--text) 6%,transparent)}[data-theme=dark] .markdown-code-block{background:color-mix(in srgb,var(--text) 5.5%,transparent)}[data-theme=dark] .markdown-code-header{background:color-mix(in srgb,var(--text) 4%,transparent)}.message-image{overflow:hidden;border-radius:12px}.message-image img{display:block;max-height:260px;max-width:100%;width:auto;-o-object-fit:contain;object-fit:contain;border-radius:8px;animation:imgFadeIn .32s ease}@keyframes imgFadeIn{0%{opacity:0}to{opacity:1}}.message-document{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:8px 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);background:color-mix(in srgb,var(--surface) 55%,transparent);color:inherit;text-decoration:none;transition:border-color .15s ease}a.message-document:focus-visible,a.message-document:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);text-decoration:none}.message-document-icon{flex-shrink:0;width:20px;height:20px;color:var(--accent)}.message-document-text{display:flex;flex-direction:column;min-width:0}.message-document-name{font-size:.8125rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-document-meta{font-size:.6875rem;line-height:1.3;color:var(--muted)}.message-time{font-size:.6875rem;font-weight:400;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--text) 25%,var(--muted));letter-spacing:.01em}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px}.message-pending{font-size:.6875rem;color:var(--muted);font-weight:500}.message-actions{display:flex;align-items:center;gap:6px}.message-copy-btn{display:inline-flex;width:30px;height:30px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.message-copy-btn:hover{border-color:var(--border);background:var(--surface-alt);color:var(--text)}.message-copy-btn svg{width:16px;height:16px}.copy-icon-done{color:var(--accent)}.copy-icon-done,.icon-pop{animation:enterPop var(--dur-3) var(--ease-spring) backwards}.copy-icon-idle{animation:enterFade var(--dur-2) ease backwards}.correction-annotation{max-width:72%;margin-top:4px;position:relative;padding-left:12px;display:flex;flex-direction:column;align-items:flex-end}.correction-annotation:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:1px;background:color-mix(in srgb,var(--accent-2) 30%,transparent)}[data-theme=dark] .correction-annotation:before{background:color-mix(in srgb,var(--accent-2) 25%,transparent)}.correction-toggle-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;font-size:.6875rem;font-weight:600;color:var(--accent-2-text);background:color-mix(in srgb,var(--accent-2) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent-2) 20%,transparent);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;letter-spacing:.02em;animation:staggerFadeIn .28s ease backwards}.correction-toggle-chevron{width:12px;height:12px;transition:transform var(--dur-3) var(--ease-out)}.correction-toggle-btn[aria-expanded=true] .correction-toggle-chevron{transform:rotate(180deg)}.correction-toggle-btn:hover{background:color-mix(in srgb,var(--accent-2) 14%,transparent);border-color:color-mix(in srgb,var(--accent-2) 35%,transparent);color:var(--text)}[data-theme=dark] .correction-toggle-btn{color:var(--accent-2-text);background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-color:color-mix(in srgb,var(--accent-2) 20%,transparent)}[data-theme=dark] .correction-toggle-btn:hover{background:color-mix(in srgb,var(--accent-2) 18%,transparent);border-color:color-mix(in srgb,var(--accent-2) 35%,transparent)}.correction-panel{margin-top:6px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent-2);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm)}.correction-item{display:flex;flex-direction:column;gap:4px}.correction-item+.correction-item{padding-top:8px;border-top:1px solid var(--border)}.correction-diff{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem}.correction-original{text-decoration:line-through;color:var(--muted)}.correction-arrow{color:var(--muted);font-size:.6875rem}.correction-fixed{color:var(--accent-2-text);font-weight:600}.correction-rule{font-size:.6875rem;color:var(--muted);font-style:italic;line-height:1.3}@media (max-width:768px){.correction-annotation,.message-user{max-width:88%}}textarea{flex:1;min-height:72px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);resize:vertical}input,select,textarea{font-family:inherit;background:var(--surface);font-size:1rem;width:100%;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}input,select{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:4px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}label{font-size:.75rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.form-select-wrapper{position:relative}.form-select-wrapper select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer}.form-select-chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;margin-top:2px}ul{margin:10px 0 0;padding-left:20px;color:var(--text)}li{margin-bottom:6px}.login-page{width:100%;min-height:100dvh;display:grid;grid-template-columns:45% 55%;position:relative;overflow:hidden}.login-theme-toggle{position:fixed;top:16px;right:16px;z-index:10}.login-brand-panel{display:flex;align-items:center;justify-content:center;padding:48px 40px;position:relative;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 8%,var(--bg-1)) 0,color-mix(in srgb,var(--accent) 3%,var(--bg-1)) 50%,color-mix(in srgb,var(--accent-2) 6%,var(--bg-1)) 100%)}[data-theme=dark] .login-brand-panel{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 12%,var(--bg-1)) 0,color-mix(in srgb,var(--accent) 4%,var(--bg-1)) 50%,color-mix(in srgb,var(--accent-2) 8%,var(--bg-1)) 100%)}.login-brand-panel:before{content:"";position:absolute;inset:0;opacity:.025;background-image:repeating-linear-gradient(0deg,var(--text) 0,var(--text) 1px,transparent 1px,transparent 52px),repeating-linear-gradient(90deg,var(--text) 0,var(--text) 1px,transparent 1px,transparent 52px);pointer-events:none}[data-theme=dark] .login-brand-panel:before{opacity:.035}.login-brand-panel-inner{position:relative;z-index:1;max-width:400px;width:100%;display:flex;flex-direction:column;gap:28px;animation:loginFadeSlide .52s var(--ease-out) backwards}.login-brand-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden}.login-brand-orb{position:absolute;border-radius:50%}.login-brand-orb--1{width:520px;height:520px;background:radial-gradient(closest-side,var(--accent),transparent);opacity:.12;top:-180px;left:-160px;animation:loginOrbDrift 14s ease-in-out infinite alternate}.login-brand-orb--2{width:460px;height:460px;background:radial-gradient(closest-side,var(--accent-2),transparent);opacity:.1;bottom:-160px;right:-140px;animation:loginOrbDrift 16s ease-in-out 2s infinite alternate-reverse}[data-theme=dark] .login-brand-orb--1{opacity:.07}[data-theme=dark] .login-brand-orb--2{opacity:.05}.login-letter-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-serif);font-size:17.5rem;font-weight:700;line-height:1;color:var(--accent);opacity:.04;letter-spacing:-.04em;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}[data-theme=dark] .login-letter-mark{opacity:.035}.login-brand-copy{display:flex;flex-direction:column;gap:8px}.login-brand-title{font-size:2.375rem;font-weight:700;margin:0;letter-spacing:-.03em;font-family:var(--font-serif);color:var(--text);line-height:1.1}.login-brand-tagline{font-size:1.0625rem;color:color-mix(in srgb,var(--text) 55%,var(--muted));margin:0;font-style:italic;font-family:var(--font-serif);letter-spacing:.01em}.login-snippet{display:flex;flex-direction:column;gap:16px;padding:24px 0;border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.login-snippet-line{display:flex;flex-direction:column;gap:4px}.login-snippet-line--user{animation:loginFadeSlide .46s var(--ease-out) .18s backwards}.login-snippet-line--emthy{padding-left:16px;border-left:2px solid var(--accent);animation:loginFadeSlide .46s var(--ease-out) .34s backwards}.login-snippet-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.login-snippet-line--emthy .login-snippet-label{color:var(--accent)}.login-snippet-line p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--text)}.login-snippet-line--emthy p{font-family:var(--font-serif);font-style:italic;color:var(--text)}.login-brand-rule{width:48px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:1px;opacity:.5}.login-brand-principles{font-size:.75rem;color:var(--muted);margin:0;line-height:1.7;letter-spacing:.02em;font-family:var(--font-serif);font-style:italic;animation:fadeIn .42s ease .48s backwards}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 40px;background:var(--bg-1);position:relative}.login-form-panel:before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:1px;background:linear-gradient(180deg,transparent,var(--border) 30%,var(--border) 70%,transparent)}.login-form-panel-inner{width:100%;max-width:400px;display:flex;flex-direction:column;gap:28px}.login-form-panel .auth-card{width:100%;padding:36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);animation:enterRise .48s var(--ease-out) 60ms backwards;transition:box-shadow .3s ease}.login-form-panel .auth-card:hover{box-shadow:var(--shadow-lg)}.auth-card .grid{grid-template-columns:1fr;gap:20px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:500;color:var(--muted);letter-spacing:.01em}.auth-title{font-size:1.5rem;font-weight:600;text-align:left;margin:0 0 28px;color:var(--text);font-family:var(--font-serif);letter-spacing:-.01em}.auth-copy{margin:-16px 0 24px;color:var(--muted);font-size:.875rem;line-height:1.55}.auth-card input{height:44px;padding:0 14px;font-size:.9375rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-1);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.auth-card input::-moz-placeholder{color:var(--muted)}.auth-card input::placeholder{color:var(--muted)}.auth-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);background:var(--surface)}[data-theme=dark] .auth-card input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.auth-actions{display:flex;flex-direction:column;gap:0;margin-top:28px}.auth-actions button{width:100%;height:46px;font-size:.9375rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.auth-actions button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 30%,transparent)}.auth-actions button[type=submit]:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 25%,transparent);transform:translateY(-1px)}.auth-actions button[type=submit]:active:not(:disabled){transform:translateY(0);filter:brightness(.97)}.share-page{flex:1;min-width:0;height:100dvh;overflow-y:auto;align-items:center;padding:48px 20px;background:linear-gradient(135deg,var(--share-bg-1),var(--share-bg-2));color:var(--share-text)}.share-page,.share-stack{display:flex;flex-direction:column}.share-stack{margin:auto;width:100%;max-width:560px;gap:28px}.share-article{background:var(--share-card-bg);border-radius:20px;padding:40px 36px;box-shadow:var(--share-card-shadow)}.share-article-title{font-size:1.75rem;line-height:1.25;font-weight:600;margin:0 0 24px}.share-article-body,.share-article-title{font-family:var(--font-serif),Georgia,serif}.share-article-body{font-size:1.125rem;line-height:1.7;margin:0 0 20px;color:var(--share-text-soft)}.share-article-footer{margin-top:28px;padding-top:16px;border-top:1px solid var(--share-border);font-size:.875rem;color:var(--share-muted)}.share-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.share-cta-brand{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--share-muted)}.share-cta-tagline{margin:0;max-width:360px;font-size:.9375rem;line-height:1.5;color:var(--share-muted-strong)}.share-cta-btn{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:12px 28px;border-radius:999px;background:var(--share-accent);color:var(--share-on-accent);font-size:.9375rem;font-weight:600;text-decoration:none;box-shadow:0 6px 18px -6px color-mix(in srgb,var(--share-accent) 55%,transparent);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.share-cta-btn:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 10px 24px -8px color-mix(in srgb,var(--share-accent) 60%,transparent)}.share-cta-btn:active{transform:translateY(0);filter:brightness(.97)}.auth-actions.auth-actions-google{margin-top:4px}.auth-actions button[type=button]{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm);font-weight:500}.auth-actions button[type=button]:hover:not(:disabled){background:var(--surface-alt);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:var(--shadow)}.auth-actions button:disabled{opacity:.5;cursor:not-allowed}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:12px}.auth-password-wrap{position:relative;display:block}.auth-password-input{padding-right:40px}.auth-password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer}.auth-password-toggle:hover{color:var(--text)}.auth-password-toggle .icon{width:18px;height:18px}.auth-text-button{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:.8125rem;font-weight:600;padding:0}.auth-text-button:hover{text-decoration:underline;text-underline-offset:3px}.auth-message{font-size:.8125rem;text-align:center;margin:16px 0 0;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-alt);line-height:1.5}.auth-message.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 15%,transparent);animation:authShake .42s var(--ease-out)}.auth-message-info{animation:enterRise var(--dur-3) var(--ease-out) backwards}@keyframes authShake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}.auth-swap{animation:enterRise var(--dur-3) var(--ease-out) backwards}.auth-webview-note{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 18px;padding:12px 14px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent-2) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent-2) 30%,transparent)}.auth-webview-note p{margin:0;font-size:.8125rem;line-height:1.5;color:var(--text)}.auth-webview-link{padding:0;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--accent-2-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--muted);font-size:.75rem;text-transform:lowercase;letter-spacing:.04em}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border) 20%,var(--border) 80%,transparent)}.auth-switch{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);font-size:.875rem;color:var(--muted)}.auth-switch-link{background:none;border:none;color:var(--accent);font-size:.875rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color .15s ease}.auth-switch-link:hover{text-decoration:underline;text-underline-offset:3px}.login-features{color:var(--muted);margin:0;animation:fadeIn .42s ease .32s backwards;letter-spacing:.01em}.login-features,.login-legal{font-size:.8125rem;text-align:center}.login-legal{margin:-16px 0 0;animation:fadeIn .42s ease .38s backwards}.login-legal a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.login-legal a:hover{color:var(--accent)}.reset-password-page{display:flex;min-height:100dvh;overflow:auto}.reset-password-page .login-form-panel{width:100%;min-height:100dvh}.reset-password-page .login-form-panel:before{display:none}@keyframes loginFadeSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loginOrbDrift{0%{transform:translate(0)}to{transform:translate(20px,15px)}}@media (max-width:768px){.login-page{display:flex;flex-direction:column;overflow:visible;-webkit-overflow-scrolling:touch}.login-brand-panel{padding:40px 28px 28px;align-items:flex-start;flex-shrink:0}.login-brand-panel-inner{max-width:480px;gap:20px;margin:0 auto}.login-letter-mark{font-size:11.25rem}.login-brand-title{font-size:1.875rem}.login-brand-tagline{font-size:.9375rem}.login-snippet{gap:12px;padding:16px 0}.login-snippet-line p{font-size:.875rem}.login-brand-rule{width:36px}.login-form-panel:before{left:10%;right:10%;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--border) 30%,var(--border) 70%,transparent)}.login-form-panel{padding:28px 28px 36px;align-items:flex-start}.login-form-panel-inner{max-width:400px;margin:0 auto}}@media (max-width:480px){.login-brand-panel{padding:32px 20px 20px}.login-brand-panel-inner{gap:16px}.login-letter-mark{font-size:8.75rem}.login-brand-title{font-size:1.625rem}.login-brand-tagline{font-size:.875rem}.login-snippet{gap:10px;padding:12px 0}.login-snippet-line p{font-size:.8125rem}.login-brand-principles,.login-brand-rule{display:none}.login-form-panel{padding:24px 20px 32px}.login-form-panel .auth-card{padding:24px}.auth-title{font-size:1.25rem;margin-bottom:20px}.auth-card input{height:42px;font-size:1rem}.auth-actions button{height:44px;font-size:.875rem}.login-theme-toggle{top:12px;right:12px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDeco{0%{opacity:0}to{opacity:var(--deco-opacity)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes enterFade{0%{opacity:0}}@keyframes enterRise{0%{opacity:0;transform:translateY(12px)}}@keyframes enterPop{0%{opacity:0;transform:scale(.6)}}.route-frame{display:contents}.route-enter .page-body>.grid>*,.route-enter .page-body>.recap-section>.insights-grid>*,.route-enter .page-body>.recap-section>.section-title,.route-enter .page-body>:not(.grid,.recap-section){animation:routeSettle .42s var(--ease-out) backwards;animation-delay:calc(var(--stagger-base, 0ms) + var(--stagger-step, 0ms))}@keyframes routeSettle{0%{opacity:.4;transform:translateY(10px)}}.route-enter .page-body>:nth-child(2){--stagger-base:50ms}.route-enter .page-body>:nth-child(3){--stagger-base:100ms}.route-enter .page-body>:nth-child(n+4){--stagger-base:150ms}.route-enter .page-body>.grid>:nth-child(2),.route-enter .page-body>.recap-section>.insights-grid>:nth-child(2){--stagger-step:60ms}.route-enter .page-body>.recap-section>.insights-grid>:nth-child(3){--stagger-step:120ms}.route-enter .privacy-page,.route-enter .share-page{animation:enterFade var(--dur-3) var(--ease-out) backwards}.route-enter .is-route-loading .page-body>*,.route-enter .is-route-loading .page-body>.grid>*,.route-enter .is-route-loading .page-body>.recap-section>.insights-grid>*,.route-enter .is-route-loading .page-body>.recap-section>.section-title{animation:none}.route-enter .is-route-loading .chat-messages,.route-enter .is-route-loading .page-body{animation:enterFade var(--dur-2) ease .24s backwards}.route-enter .page-body [aria-busy=true],.route-enter .page-body [aria-busy=true]>.card{animation:none}@keyframes typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.thinking-shimmer{background:linear-gradient(90deg,var(--muted) 0,var(--muted) 40%,var(--text) 50%,var(--muted) 60%,var(--muted) 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:textShimmer 2.4s linear infinite}@keyframes textShimmer{0%{background-position:100% 0}to{background-position:0 0}}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);animation:typing 1.2s ease-in-out infinite}button:active:not(:disabled){transform:scale(.98)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;gap:12px;min-height:100%;position:relative}.empty-state-deco{font-family:var(--font-serif);font-size:7.5rem;line-height:1;color:var(--accent);--deco-opacity:0.07;opacity:var(--deco-opacity);position:absolute;top:12%;left:50%;transform:translateX(-50%);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:fadeInDeco .8s ease backwards}[data-theme=dark] .empty-state-deco{--deco-opacity:0.05}.empty-state-brand{display:flex;align-items:center;gap:8px;animation:enterRise .42s var(--ease-out) 40ms backwards}.empty-state-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center}.empty-state-avatar svg{width:16px;height:16px}.empty-state-brand-name{font-size:1.125rem;color:var(--accent);letter-spacing:.04em}.empty-state-brand-name,.empty-state-heading{font-family:var(--font-serif);font-weight:600}.empty-state-heading{font-size:1.625rem;color:var(--text);margin:4px 0 0;animation:enterRise .42s var(--ease-out) .11s backwards}.empty-state-subtext{font-size:.875rem;color:var(--muted);margin:0;max-width:380px;line-height:1.6;animation:enterRise .42s var(--ease-out) .18s backwards}.empty-state-starters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;max-width:440px;width:100%}.empty-state-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);text-align:left;font-family:inherit;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;box-shadow:var(--shadow-sm);animation:enterRise .42s var(--ease-out) backwards;-webkit-tap-highlight-color:transparent}.empty-state-card:nth-child(2){border-left-color:var(--accent-2)}.empty-state-card:nth-child(3){border-left-color:var(--ui-chart-5)}.empty-state-card:nth-child(4){border-left-color:var(--ui-chart-4)}.empty-state-card-icon{font-size:1rem;margin-bottom:2px;line-height:1}.empty-state-card-text{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.4}.empty-state-card-hint{font-size:.75rem;color:var(--muted);line-height:1.3}.empty-state-card:hover{background:var(--surface-alt);border-color:var(--accent);box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-2px)}[data-theme=dark] .empty-state-card:hover{box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}.empty-state-card:active:not(:disabled){transform:scale(.97) translateY(0);transition-duration:var(--dur-1)}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}@media (max-width:720px){.card{padding:14px;border-radius:var(--radius-md)}.stat-item{grid-template-columns:1fr auto;grid-template-areas:"label count" "bar bar";row-gap:6px}.stat-label{grid-area:label}.stat-count{grid-area:count}.stat-bar{grid-area:bar}}.webview-guard{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,var(--bg-1),var(--bg-2))}.webview-guard-card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--radius-lg);padding:36px 28px;border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.webview-guard-icon{color:var(--accent)}.webview-guard-title{margin:0;font-size:1.5rem;font-weight:700;font-family:var(--font-serif);color:var(--text);text-wrap:balance}.webview-guard-text{margin:0;font-size:.9375rem;line-height:1.5;color:var(--muted)}.webview-guard-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.webview-guard-btn{width:100%;height:44px;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s ease}.webview-guard-btn:active{opacity:.85}.webview-guard-btn.primary{background:var(--accent);color:var(--on-accent)}.webview-guard-btn.secondary{background:var(--surface-alt);color:var(--text);border:1px solid var(--border)}.webview-guard-hint{margin:4px 0 0;font-size:.8125rem;color:var(--muted);line-height:1.5}.webview-guard-divider{display:flex;align-items:center;gap:12px;width:100%;margin-top:4px;font-size:.8125rem;color:var(--muted)}.webview-guard-divider:after,.webview-guard-divider:before{content:"";flex:1;height:1px;background:var(--border)}.webview-guard-btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--border)}.privacy-page{flex:1;min-width:0;height:100dvh;overflow-y:auto;padding:40px 20px 64px;background:linear-gradient(135deg,var(--bg-1),var(--bg-2));color:var(--text)}.privacy-stack{width:100%;max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.privacy-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.privacy-brand{font-family:var(--font-serif),Georgia,serif;font-size:1.25rem;font-weight:600;color:var(--accent);text-decoration:none}.privacy-langs{display:flex;gap:8px}.privacy-langs a{font-size:.8125rem;font-weight:600;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.privacy-langs a:hover{color:var(--accent);border-color:var(--assistant-border)}.privacy-doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:36px 32px;scroll-margin-top:24px}.privacy-title{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:1.75rem;line-height:1.25;font-weight:600;text-wrap:balance}.privacy-updated{margin:8px 0 0;font-size:.8125rem;color:var(--muted)}.privacy-intro{margin:20px 0 0;font-size:1rem;line-height:1.65}.privacy-section h2{margin:28px 0 10px;font-size:1rem;font-weight:700}.privacy-section li,.privacy-section p{font-size:.9375rem;line-height:1.65}.privacy-section p{margin:0}.privacy-section ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}.privacy-section p+ul,.privacy-section ul+p{margin-top:10px}.privacy-section a{color:var(--accent);overflow-wrap:anywhere}.page-legal{margin:8px 0 0;font-size:.8125rem;text-align:center}.page-legal a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.page-legal a:hover{color:var(--accent)}@media (max-width:480px){.privacy-page{padding:24px 16px 48px}.privacy-doc{padding:26px 20px}}.card-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .2s var(--ease-out);-webkit-tap-highlight-color:transparent}.card-cta:hover{border-color:var(--accent);box-shadow:var(--shadow)}.card-cta-arrow{width:20px;height:20px;flex-shrink:0;color:var(--muted);transition:transform var(--dur-2) var(--ease-out),color var(--dur-2) ease}.card-cta:hover .card-cta-arrow{transform:translateX(3px);color:var(--accent)}.card-studio-editor{display:flex;flex-direction:column;gap:14px;margin-top:12px}.card-studio-gate{display:flex;flex-direction:column;gap:6px;margin:0;font-size:.8125rem}.card-studio-gate .helper{margin:0}.card-gate-progress{height:6px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border);overflow:hidden}.card-gate-progress-fill{height:100%;border-radius:inherit;background:var(--accent);animation:gateFill .9s var(--ease-out) .2s backwards}@keyframes gateFill{0%{width:0}}.card-studio-fields{display:flex;flex-direction:column;gap:12px;animation:enterRise var(--dur-3) var(--ease-out) backwards}.card-studio-writing{display:flex;flex-direction:column;gap:10px;animation:enterFade var(--dur-2) ease backwards}.card-studio-label{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:600;color:var(--muted)}.card-studio-label input,.card-studio-label textarea{font-weight:400;color:var(--text)}.card-studio-label textarea{min-height:160px;font-family:var(--font-serif),Georgia,serif;line-height:1.6}.card-studio-list{margin-top:16px}.card-studio-cards,.card-studio-list{display:flex;flex-direction:column;gap:10px}.card-studio-cards{position:relative}.card-studio-link{display:inline-block;margin-top:8px;font-size:.75rem;color:var(--muted);word-break:break-all}.card-studio-view{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--accent);text-decoration:none;background:none;border:none;cursor:pointer}.card-studio-view:hover{text-decoration:underline}.card-preview-backdrop{position:fixed;inset:0;background:var(--scrim-strong);display:flex;align-items:center;justify-content:center;padding:24px 16px;z-index:200}.card-preview-modal{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--modal-bg);border-radius:20px;padding:40px 36px 32px;box-shadow:var(--shadow-modal);color:var(--share-text)}[data-theme=dark] .card-preview-modal{color:var(--text)}[data-theme=dark] .card-preview-close,[data-theme=dark] .card-preview-footer{color:var(--muted)}.card-preview-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--share-muted);padding:4px 8px}.card-preview-close:hover{color:var(--share-text)}[data-theme=dark] .card-preview-close:hover{color:var(--text)}.card-preview-title{font-size:1.5rem;line-height:1.25;font-weight:600;margin:0 0 20px}.card-preview-body,.card-preview-title{font-family:var(--font-serif),Georgia,serif}.card-preview-body{font-size:1.0625rem;line-height:1.7;margin:0 0 14px;color:var(--share-text-soft)}[data-theme=dark] .card-preview-body{color:var(--muted)}.card-preview-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--share-border);display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--share-muted)}.card-preview-open{color:var(--share-text);font-weight:600;text-decoration:none}.card-preview-open:hover{text-decoration:underline}[data-theme=dark] .card-preview-open{color:var(--text)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:var(--ui-foreground)}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--ui-muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--ui-muted-foreground)}.hover\:bg-accent:hover{background-color:var(--ui-accent)}.hover\:text-accent-foreground:hover{color:var(--ui-accent-foreground)}.hover\:text-foreground:hover{color:var(--ui-foreground)}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:var(--ui-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ui-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--ui-background)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked],.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--ui-primary)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--ui-input)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}@media (min-width:768px){.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}