@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700;800&family=Inter:wght@400;500;600;700&family=Noto+Sans+Thai:wght@400;500;600;700&display=swap";.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);font-family:var(--font-body)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);height:64px;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.landing-nav__brand{display:flex;align-items:center;gap:var(--space-3);min-width:0}.landing-nav__title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.landing-nav__actions{display:flex;align-items:center;gap:var(--space-3);flex:none}.landing-nav__logo{height:28px;width:auto;max-width:120px}.landing-nav__btn{padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);font:500 .875rem/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:all .2s ease}.landing-nav__btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent}.landing-nav__btn--ghost:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.landing-nav__btn--primary{background:var(--color-accent-text);color:var(--color-on-accent);border:none}.landing-nav__btn--primary:hover{background:var(--color-accent-hover)}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.landing-hero__mascot{width:216px;height:216px;border-radius:50%;background:var(--color-surface-2);display:grid;place-items:center;position:relative;margin-bottom:var(--space-8)}.landing-hero__mascot:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--color-accent);opacity:.4}.landing-hero__title{font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-3);color:var(--color-text-primary)}.landing-hero__title span{color:var(--color-accent-text)}.landing-hero__subtitle,.landing-hero__welcome{font-size:1.125rem;color:var(--color-text-secondary);max-width:48ch;line-height:1.7;margin-bottom:var(--space-8)}.suggested-questions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;max-width:640px;margin-top:var(--space-6)}.suggested-questions__item{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-text-primary);font:500 .875rem/1.4 var(--font-body);text-align:left;cursor:pointer;transition:all .2s ease}.suggested-questions__item:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.landing-hero__actions{display:flex;gap:var(--space-4);align-items:center}.landing-hero__cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--r-pill);font:600 1rem/1 var(--font-body);cursor:pointer;transition:all .2s ease;text-decoration:none}.landing-hero__cta svg{width:18px;height:18px}.landing-hero__cta--primary{background:var(--color-accent-text);color:var(--color-on-accent);border:none}.landing-hero__cta--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.landing-hero__cta--secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.landing-hero__cta--secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.landing-hero__nudge{margin-top:var(--space-4);padding:0;background:none;border:none;color:var(--color-text-secondary);font:500 .9375rem/1.5 var(--font-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.landing-hero__nudge:hover{color:var(--color-accent)}.landing-hero__features{display:flex;gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap;justify-content:center}.landing-hero__feature{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:200px}.landing-hero__feature-icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--color-accent-light);display:grid;place-items:center;color:var(--color-accent)}.landing-hero__feature-icon svg{width:24px;height:24px}.landing-hero__feature-title{font:600 .875rem/1.3 var(--font-body);color:var(--color-text-primary)}.landing-hero__feature-desc{font:400 .8125rem/1.5 var(--font-body);color:var(--color-text-secondary);text-align:center}.landing-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);text-align:center;font-size:.75rem;color:var(--color-text-secondary);background:var(--color-surface)}@media (max-width: 640px){.landing-hero__title{font-size:1.75rem}.landing-hero__subtitle,.landing-hero__welcome{font-size:1rem}.landing-hero__actions{flex-direction:column}.landing-hero__features{gap:var(--space-6)}.landing-nav{height:56px;gap:var(--space-2);padding:0 var(--space-4)}.landing-nav__brand{flex:0 1 auto}.landing-nav__title{font-size:1rem}.landing-nav__actions{gap:var(--space-2)}.landing-nav__btn{padding:6px 10px;font-size:.8125rem}}@media (max-width: 480px){.landing-nav{gap:var(--space-1);padding:0 var(--space-3)}.landing-nav__title{font-size:.9375rem}.landing-nav__actions{gap:2px}.landing-nav__btn{padding:6px 8px;font-size:.75rem}.landing-nav__subtitle{display:none}}.mascot{position:relative;width:var(--mascot-size, 64px);height:var(--mascot-size, 64px);pointer-events:none;-webkit-user-select:none;user-select:none}.mascot__hit{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;cursor:pointer}.mascot__hit--static{pointer-events:none;cursor:default}.mascot__sprite{position:relative;display:block;width:100%;height:100%;transform-origin:50% 78%}.mascot__layer{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;image-rendering:pixelated}.mascot__body{background-size:100% 100%}.mascot__head{background-size:300% 300%;background-position:var(--mascot-head-pos, var(--mascot-head-anim, 50% 50%))}.mascot__face{background-size:600% 400%;background-position:var(--mascot-face-pos, var(--mascot-face-anim, 50% 33.3333%));transform:translate(calc(var(--mascot-size, 64px) * var(--mascot-face-x, 0) / 64),calc(var(--mascot-size, 64px) * var(--mascot-face-y, 0) / 64))}.mascot--breathe .mascot__sprite{animation:mascot-breathe 3.2s ease-in-out infinite}.mascot--ponder .mascot__sprite{animation:mascot-breathe 5.6s ease-in-out infinite}@keyframes mascot-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--mascot-size, 64px) * -1 / 64))}}@media (prefers-reduced-motion: reduce){.mascot__layer{transition:none!important}}.toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;padding:6px;border-radius:var(--r-pill);cursor:pointer;-webkit-tap-highlight-color:transparent}.toggle[data-disabled]{cursor:not-allowed}.toggle__input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.toggle__track{position:relative;display:block;width:56px;height:32px;border-radius:16px;background:var(--color-border);transition:background .3s var(--ease)}.toggle__thumb{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease)}.toggle__input:checked~.toggle__track{background:var(--color-accent)}.toggle__input:checked~.toggle__track .toggle__thumb{transform:translate(24px)}.toggle:not([data-disabled]):hover .toggle__track{background:var(--color-border-strong)}.toggle:not([data-disabled]):hover .toggle__input:checked~.toggle__track{background:var(--color-accent-hover)}.toggle__input:focus-visible~.toggle__track{box-shadow:var(--shadow-focus)}@media (prefers-reduced-motion: reduce){.toggle__track,.toggle__thumb{transition:none}}.privacy-panel{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.privacy-panel__title{font:600 1rem/1.35 var(--font-display);color:var(--color-text-primary)}.privacy-panel__lead{margin:0;font-size:.8125rem;line-height:1.55;color:var(--color-text-secondary)}.privacy-panel__block{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface)}.privacy-panel__block--danger{border-color:var(--color-error);background:var(--color-bg-tertiary)}.privacy-panel__heading{font:600 .875rem/1.35 var(--font-body);color:var(--color-text-primary)}.privacy-panel__desc{margin:0;font-size:.75rem;line-height:1.55;color:var(--color-text-muted)}.privacy-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.privacy-panel__button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--r-pill);background:transparent;color:var(--color-text-secondary);font:500 .8125rem/1.2 var(--font-body);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.privacy-panel__button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-text)}.privacy-panel__button:disabled{opacity:.55;cursor:not-allowed}.privacy-panel__button--danger{border-color:var(--color-error);color:var(--color-error)}.privacy-panel__button--danger:hover:not(:disabled){border-color:var(--color-error);color:var(--color-text-inverse);background:var(--color-error)}.privacy-panel__notice{margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-sm);background:var(--color-accent-light);color:var(--color-accent-text);font-size:.75rem;line-height:1.5}.privacy-panel__error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-error);border-radius:var(--r-sm);background:var(--color-bg-tertiary);font-size:.75rem;line-height:1.5}.privacy-panel__error-title{font-weight:600;color:var(--color-error)}.privacy-panel__error-hint{color:var(--color-text-muted)}.privacy-panel__signin{margin-top:var(--space-1);padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--r-pill);background:var(--color-accent);color:var(--color-text-inverse);font:500 .8125rem/1 var(--font-body);cursor:pointer}.privacy-panel__signin:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.privacy-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.privacy-dialog__sheet{width:100%;max-width:440px;max-height:calc(100vh - 2 * var(--space-4));overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--r-lg, var(--r-md));background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-lg)}.privacy-dialog__title{font:600 1rem/1.35 var(--font-display);color:var(--color-text-primary)}.privacy-dialog__body,.privacy-dialog__note{margin:0;font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.privacy-dialog__note{color:var(--color-text-muted);font-size:.75rem}.privacy-dialog__list{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:var(--space-1);font-size:.8125rem;line-height:1.55;color:var(--color-text-secondary)}.privacy-dialog__label{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.privacy-dialog__input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--r-sm);background:var(--color-bg-tertiary);color:var(--color-text-primary);font:400 .875rem/1.4 var(--font-body)}.privacy-dialog__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.privacy-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.settings-hub{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:settings-hub-overlay-in .2s ease}@keyframes settings-hub-overlay-in{0%{opacity:0}to{opacity:1}}.settings-hub__sheet{width:100%;max-width:960px;display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:settings-hub-in .22s ease}.settings-hub__sheet--fixed-height{height:80vh;height:80dvh;max-height:80dvh}@keyframes settings-hub-in{0%{opacity:0;transform:translateY(12px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-hub__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.settings-hub__head-actions{flex:none;display:flex;align-items:center;gap:var(--space-2);min-width:0}.settings-hub__title{font:600 1.125rem/1.3 var(--font-display);color:var(--color-text-primary)}.settings-hub__select{display:none;max-width:48vw;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--r-sm);background:var(--color-bg-tertiary);color:var(--color-text-primary);font:500 .8125rem/1.35 var(--font-body);cursor:pointer}.settings-hub__select:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-accent)}.settings-hub__close{display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:1.35rem;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.settings-hub__close:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.settings-hub__close:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.settings-hub__guest{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-5);background:var(--color-accent-light);border-bottom:1px solid var(--color-border)}.settings-hub__guest-text{display:flex;flex-direction:column;gap:2px;font-size:.8125rem;line-height:1.45;color:var(--color-text-secondary)}.settings-hub__guest-title{font-weight:600;color:var(--color-accent-text)}.settings-hub__signin{flex:none;padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--r-pill);background:var(--color-accent);color:var(--color-text-inverse);font:500 .8125rem/1 var(--font-body);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.settings-hub__signin:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.settings-hub__body{flex:1;display:flex;min-height:0}.settings-hub__rail{flex:none;width:232px;display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border-right:1px solid var(--color-border);background:var(--color-bg-tertiary);overflow-y:auto}.settings-hub__tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--r-md);background:transparent;color:var(--color-text-secondary);font:500 .875rem/1.35 var(--font-body);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.settings-hub__tab:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.settings-hub__tab--active,.settings-hub__tab--active:hover{background:var(--color-accent-light);color:var(--color-accent-text)}.settings-hub__tab:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.settings-hub__content{flex:1;min-width:0;overflow-y:auto;padding:var(--space-5)}.settings-hub__placeholder{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--r-md);background:var(--color-bg-tertiary);color:var(--color-text-soft);font-size:.875rem;line-height:1.55}.settings-tab{display:flex;flex-direction:column;gap:var(--space-4)}.settings-tab__group{display:flex;flex-direction:column;padding:var(--space-4) var(--space-5) var(--space-2);border:1px solid var(--color-border);border-radius:var(--r-lg);background:var(--color-bg-card);box-shadow:var(--shadow-xs)}.settings-tab__group-title{margin:0 0 var(--space-2);font:600 .9375rem/1.35 var(--font-display);color:var(--color-text-primary)}.settings-tab__fields{display:flex;flex-direction:column}.settings-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-4);row-gap:var(--space-2);padding:var(--space-3) 0}.settings-field+.settings-field{border-top:1px solid var(--color-border)}.settings-field[data-disabled]{opacity:.65}.settings-field__text{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.settings-field__head{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.settings-field__label{font:600 .875rem/1.35 var(--font-body);color:var(--color-text-primary);cursor:pointer}.settings-field__hint{font-size:.6875rem;color:var(--color-text-muted)}.settings-field__desc{margin:0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.settings-field__row{display:flex;align-items:center;gap:var(--space-2);min-width:0;justify-content:flex-end;flex-wrap:wrap}.settings-field__row .settings-field__error{flex-basis:100%}.settings-field[data-wide]{grid-template-columns:minmax(0,1fr)}.settings-field[data-wide] .settings-field__row{justify-content:flex-start}.settings-field__control{flex:1 1 auto;min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--r-sm);background:var(--color-surface);color:var(--color-text-primary);font:400 .875rem/1.4 var(--font-body)}.settings-field__control:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.settings-field__control:disabled{cursor:not-allowed}.settings-field__control--number{flex:0 1 120px}.settings-field__control--area{resize:vertical;min-height:4.5rem;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.settings-field:not([data-wide]) .settings-field__control:not(.settings-field__control--number){flex:0 1 260px}.settings-field__unit{flex:none;font-size:.75rem;color:var(--color-text-muted)}.settings-field__error{grid-column:1 / -1;margin:0;font-size:.75rem;line-height:1.5;color:var(--color-danger, var(--color-error))}.settings-hub__foot{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface)}.settings-hub__readonly{margin-right:auto;padding:2px 8px;border-radius:var(--r-pill);background:var(--color-bg-secondary);color:var(--color-text-muted);font:500 .6875rem/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.05em}.settings-hub__status{margin-right:auto;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:.75rem;line-height:1.4}.settings-hub__dirty{padding:2px 8px;border-radius:var(--r-pill);background:var(--color-accent-light);color:var(--color-accent-text);font-weight:600}.settings-hub__saving,.settings-hub__migrated{color:var(--color-text-muted)}.settings-hub__error{color:var(--color-danger, var(--color-error))}.settings-hub__reset{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--r-pill);background:transparent;color:var(--color-text-secondary);font:500 .8125rem/1 var(--font-body);cursor:pointer;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.settings-hub__reset:hover{border-color:var(--color-accent);color:var(--color-accent-text)}.settings-hub__reset:focus-visible,.settings-hub__done:focus-visible,.settings-hub__signin:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.settings-hub__reset[data-armed]{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent-text)}.settings-hub__done{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--r-pill);background:var(--color-accent);color:var(--color-text-inverse);font:500 .8125rem/1 var(--font-body);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.settings-hub__done:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.legacy-session-notice{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:160;display:flex;align-items:center;gap:var(--space-3);max-width:min(520px,calc(100vw - 2 * var(--space-4)));padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--r-md);background:var(--color-bg-card-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-lg);font-size:.8125rem;line-height:1.45}.legacy-session-notice__dismiss{flex:none;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-pill);background:transparent;color:var(--color-text-secondary);font:500 .75rem/1.4 var(--font-body);cursor:pointer}.legacy-session-notice__dismiss:hover{border-color:var(--color-accent);color:var(--color-accent-text)}@media (max-width: 700px){.settings-hub{padding:var(--space-2)}.settings-hub__sheet{max-width:none;border-radius:var(--r-lg)}.settings-hub__head{padding:var(--space-3) var(--space-4)}.settings-hub__select{display:block}.settings-hub__rail{display:none}.settings-hub__content{padding:var(--space-4)}.settings-tab__group{padding:var(--space-3) var(--space-4) var(--space-1)}}@media (max-width: 520px){.settings-field:not([data-kind=bool]){grid-template-columns:minmax(0,1fr)}.settings-field:not([data-kind=bool]) .settings-field__row{justify-content:flex-start}.settings-field:not([data-wide]) .settings-field__control:not(.settings-field__control--number){flex:1 1 auto}}.profile-settings__open{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:border-color .15s ease,color .15s ease}.profile-settings__open:hover{border-color:var(--color-accent);color:var(--color-accent-text)}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{color-scheme:only light;position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:0;--min-font-size: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv: calc(1 / var(--min-font-size))}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height: 0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x: 1;--rotate: 0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none;margin:-1px;padding:1px;background-color:var(--highlight-bg-color);-webkit-backdrop-filter:var(--highlight-backdrop-filter);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px}@media screen and (forced-colors: active){.textLayer .highlight{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);-webkit-backdrop-filter:var(--highlight-selected-backdrop-filter);backdrop-filter:var(--highlight-selected-backdrop-filter)}.textLayer ::selection{background:#0000ff40}@supports (background: color-mix(in srgb,AccentColor,transparent 75%)){.textLayer ::selection{background:color-mix(in srgb,AccentColor,transparent 75%)}}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.viewer-panel{height:100%;width:min(980px,100%);background:var(--color-surface-2);display:flex;flex-direction:column;box-shadow:var(--shadow-md);animation:panel-in .38s cubic-bezier(.4,0,.2,1) both}@keyframes panel-in{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.source-viewer{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.source-viewer.loading,.source-viewer.error,.source-viewer.empty{display:grid;place-items:center;color:var(--color-text-secondary);font-size:.9rem}.viewer-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.viewer-title-group{min-width:0;display:flex;align-items:center;gap:12px}.doc-icon{width:38px;height:38px;flex:none;border-radius:10px;background:var(--color-accent-light);display:grid;place-items:center;color:var(--color-accent)}.doc-icon svg{width:19px;height:19px}.viewer-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--color-text-primary)}.viewer-sub{font-size:.76rem;color:var(--color-text-muted)}.viewer-close{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--color-text-secondary);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer}.viewer-close:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.pager{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--color-border)}.pager-left{display:flex;align-items:center;gap:8px}.pager-nav{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.pager-nav:disabled{opacity:.4;cursor:not-allowed}.pager-track{width:28px;height:28px;display:grid;place-items:center}.pager-track:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-accent);opacity:.55}.page-label{font-size:.86rem;font-weight:500}.page-count{font-size:.76rem;color:var(--color-text-muted)}.pager-right{position:relative;font-size:.76rem;color:var(--color-text-muted);display:flex;align-items:center}.viewer-body{flex:1;min-height:0;display:grid;grid-template-columns:330px 1fr;grid-template-rows:minmax(0,1fr)}.viewer-side{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:var(--color-bg)}.side-head{padding:16px 16px 8px;font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.elements{flex:0 1 auto;max-height:42%;min-height:96px;overflow-y:auto;padding:0 12px 12px}.element-item{width:100%;display:flex;gap:8px;align-items:flex-start;text-align:left;padding:10px;border-radius:10px;margin-bottom:2px;border:1px solid transparent;cursor:pointer;background:transparent}.element-item:hover{background:var(--color-surface-2)}.element-item.is-active{background:var(--color-surface);border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.element-id{flex:none;font-family:var(--font-mono);font-size:.68rem;color:var(--color-accent);background:var(--color-accent-light);border-radius:6px;padding:2px 7px}.element-content{min-width:0}.element-type{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;display:block;margin-bottom:2px}.element-text{font-size:.86rem;line-height:1.5;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail{flex:none;max-height:55%;overflow-y:auto;border-top:1px solid var(--color-border);background:var(--color-surface);padding:16px}.detail-title{font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:10px}.detail-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.82rem;border-bottom:1px dashed var(--color-border)}.detail-row dt{color:var(--color-text-muted)}.detail-row dd{font-weight:500;text-align:right;overflow-wrap:anywhere}.detail-content{font-size:.84rem;line-height:1.65;color:var(--color-text-secondary);margin-top:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;padding:8px 10px;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.elements-empty{padding:16px 4px;font-size:.82rem;line-height:1.5;color:var(--color-text-muted)}.elements::-webkit-scrollbar,.detail::-webkit-scrollbar,.detail-content::-webkit-scrollbar{width:8px}.elements::-webkit-scrollbar-thumb,.detail::-webkit-scrollbar-thumb,.detail-content::-webkit-scrollbar-thumb{background:var(--color-accent-light);border-radius:4px}.elements::-webkit-scrollbar-thumb:hover,.detail::-webkit-scrollbar-thumb:hover,.detail-content::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.elements,.detail,.detail-content{scrollbar-width:thin;scrollbar-color:var(--color-accent-light) transparent}.sheet-area{min-height:0;overflow:auto;padding:24px 24px 40px;cursor:grab;background:repeating-linear-gradient(45deg,var(--color-bg),var(--color-bg) 12px,var(--color-surface-2) 12px,var(--color-surface-2) 24px)}.sheet-area.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.sheet-area.is-panning *{pointer-events:none}.pdf-container{width:max-content;margin:0 auto}.pdf-page-wrapper{position:relative;background:var(--color-document-page);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.hl-overlay{position:absolute;border:2px solid var(--color-accent);border-radius:3px;background:var(--color-accent-light);pointer-events:none;z-index:3}.hl-tag{position:absolute;top:-20px;left:-2px;z-index:4;display:inline-flex;align-items:center;gap:4px;background:var(--color-accent);color:var(--color-on-accent);font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px}.hl-tag svg{width:9px;height:9px}.pager-nav--text{width:auto;padding:0 10px;font-size:.72rem;gap:5px;display:inline-flex;align-items:center;font-weight:500}.pager-nav--text svg{width:14px;height:14px;flex:none}.print-wrap{position:relative;display:inline-flex;margin-left:8px}.print-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:260px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-lg);padding:14px;display:flex;flex-direction:column;gap:10px}.print-popover__row{display:flex;align-items:center;gap:8px;font-size:.82rem;cursor:pointer}.print-popover__row input[type=checkbox]{accent-color:var(--color-accent)}.print-popover__error{color:var(--color-error);font-size:.78rem}.print-popover__go{background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:999px;min-height:36px;font-weight:500;cursor:pointer}.print-popover__go:hover{background:var(--color-accent-hover)}.print-popover__go:disabled{opacity:.6;cursor:not-allowed}.detail-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.detail-title-row .detail-title{margin-bottom:0}.copy-btn{flex:none;border:1px solid var(--color-border);background:transparent;border-radius:999px;padding:3px 10px;font-size:.7rem;cursor:pointer;color:var(--color-text-secondary)}.copy-btn.copied{color:var(--color-accent-text);border-color:var(--color-accent);background:var(--color-accent-light)}.type-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}.type-chip{border:1px solid var(--color-border);background:transparent;border-radius:999px;padding:3px 10px;font-size:.68rem;cursor:pointer;color:var(--color-text-secondary)}.type-chip.is-active{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent-text);font-weight:500}@media (max-width: 640px){.viewer-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.viewer-side{grid-row:2;border-right:none;border-top:1px solid var(--color-border)}.elements{max-height:38dvh}.detail{display:none}.sheet-area{padding:16px}}.chat-notice,.chat-offline-banner,.chat-maintenance-banner,.chat-archived-badge{display:flex;align-items:center;gap:.75rem;margin:.5rem auto 0;max-width:860px;padding:.6rem .9rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-primary);font-size:.9rem;line-height:1.45}.chat-notice{justify-content:space-between}.chat-notice__dismiss{flex:0 0 auto;border:1px solid var(--color-border);background:transparent;color:inherit;border-radius:8px;padding:.25rem .7rem;cursor:pointer}.chat-offline-banner{border-color:var(--color-warning);background:var(--color-bg-tertiary)}.chat-maintenance-banner{border-color:var(--color-error);background:var(--color-bg-tertiary)}.chat-archived-badge{justify-content:center;font-weight:600}.chat-readonly{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0 auto 1rem;padding:1rem;max-width:860px;border:1px dashed var(--color-border);border-radius:12px;color:var(--color-text-secondary);text-align:center}.chat-readonly__new{border:1px solid var(--color-accent);background:transparent;color:var(--color-accent-text);border-radius:8px;padding:.4rem .9rem;cursor:pointer}.chat-guest-notice{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.5rem auto 0;max-width:860px;padding:.5rem .9rem;border-radius:10px;border:1px dashed var(--color-border);color:var(--color-text-secondary);font-size:.85rem}.sidebar-guest{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.sidebar-guest__signin{border:1px solid var(--color-accent);background:transparent;color:var(--color-accent-text);border-radius:8px;padding:.45rem .8rem;cursor:pointer}.sidebar-offline{margin:.5rem .75rem;font-size:.8rem;color:var(--color-text-secondary)}.session-item-archived-badge{margin-inline-start:.4rem;padding:0 .35rem;border:1px solid currentColor;border-radius:6px;font-size:.7rem;font-weight:600;opacity:.8}.app .chat-footer--centered{justify-content:flex-end}.app .chat-footer--centered>:first-child{margin-top:auto;margin-bottom:auto}.app .chat-footer--centered>:last-child{margin-bottom:0}.app .chat-footer--centered>:only-child{margin-top:auto;margin-bottom:0}.app[data-density=compact] .message-area{gap:var(--space-1);padding:var(--space-2) var(--space-4)}.app[data-density=compact] .msg-content{gap:0}.app[data-density=compact] .msg-bubble{padding:var(--space-2) var(--space-3)}.app[data-density=compact] .msg-row+.msg-row{margin-top:0}.app[data-chat-width=narrow] .chat-composer__row{grid-template-columns:1fr minmax(0,560px) 1fr}.app[data-chat-width=narrow] .message-area{width:100%;max-width:560px;margin-inline:auto}.app[data-chat-width=narrow] .chat-notice,.app[data-chat-width=narrow] .chat-guest-notice,.app[data-chat-width=narrow] .chat-offline-banner,.app[data-chat-width=narrow] .chat-maintenance-banner,.app[data-chat-width=narrow] .chat-archived-badge{max-width:560px}.avatar{display:inline-flex;border-radius:50%;overflow:hidden;transition:transform .2s ease}.avatar--speaking{animation:avatar-pulse 1.5s ease-in-out infinite}.avatar__mouth{transition:d .08s ease}@keyframes avatar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@media (prefers-reduced-motion: reduce){.avatar--speaking{animation:none}}.voice-page{display:flex;flex-direction:column;min-height:100vh;background:var(--color-surface, #fdfcfa);color:var(--color-text-primary, #2c2724)}.voice-page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px);min-height:var(--header-height, 56px);padding:6px var(--space-5, 20px);box-sizing:border-box;border-bottom:1px solid var(--color-border, #e7e1da)}.voice-page__back{display:inline-flex;align-items:center;gap:4px;flex:none;background:none;border:none;padding:8px 10px;border-radius:var(--radius-full, 999px);color:var(--color-text-secondary, #6f635b);font-size:.9rem;line-height:1.2;white-space:nowrap;cursor:pointer}.voice-page__back:hover{background:var(--color-surface-2, #f2ede8);color:var(--color-text-primary, #2c2724)}.voice-page__back-icon{display:none;width:20px;height:20px;flex:none}.voice-page__state{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:.8rem;color:var(--color-text-secondary, #6f635b)}.voice-page__state--connected{color:var(--color-accent, #d97757)}.voice-page__state-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-text-muted, #9a9a9a)}.voice-page__state--connected .voice-page__state-dot{background:var(--color-success, #2e7d32);box-shadow:0 0 6px var(--color-success, #2e7d32)}.voice-page__state--connecting .voice-page__state-dot{background:var(--color-warning, #f57f17);animation:voice-state-blink 1s infinite}.voice-page__state--disconnected .voice-page__state-dot{background:var(--color-error, #c62828)}.voice-page__state-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes voice-state-blink{50%{opacity:.4}}.voice-page__main{flex:1;display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px 20px 40px;max-width:720px;width:100%;margin:0 auto}.voice-page__avatar{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:12px}.voice-page__mascot{image-rendering:pixelated}.voice-page__mascot img,.voice-page__mascot canvas,.voice-page__mascot .mascot__layer{image-rendering:pixelated}.voice-page__header-right{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:nowrap}.voice-page__mascot-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;border:1px solid var(--color-border, #E6DFD5);background:var(--color-surface, #FFFFFF);color:var(--color-text-secondary, #6F635B);border-radius:999px;padding:4px 12px;font-size:.78rem;line-height:1.2;white-space:nowrap;cursor:pointer}.voice-page__mascot-icon{width:16px;height:16px;flex:none}.voice-page__mascot-toggle:hover{border-color:var(--color-border-strong, #D8CFC2);color:var(--color-text-primary, #191919)}.voice-page__status{margin:0;font-size:.95rem;color:var(--color-text-secondary, #6f635b);text-align:center;min-height:1.4em}.voice-page__controls{display:flex;justify-content:center}.voice-page__mic{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 28px;border-radius:var(--radius-full, 999px);border:1px solid var(--color-border, #e7e1da);background:var(--color-surface, #fff);color:var(--color-text-primary, #2c2724);font-size:1rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .08));transition:background .18s ease,border-color .18s ease,color .18s ease}.voice-page__mic svg{width:22px;height:22px}.voice-page__mic:hover{border-color:var(--color-accent, #d97757)}.voice-page__mic.is-active{background:var(--color-accent, #d97757);border-color:var(--color-accent, #d97757);color:var(--color-on-accent);animation:voice-mic-pulse 1.4s ease-out infinite}@keyframes voice-mic-pulse{0%{box-shadow:0 0 #d9775773}70%{box-shadow:0 0 0 14px #d9775700}to{box-shadow:0 0 #d9775700}}.voice-page__transcript{width:100%;min-height:120px;max-height:42vh;overflow-y:auto;padding:16px 18px;border-radius:16px;border:1px solid var(--color-border, #e7e1da);background:var(--color-surface-2, #f7f3ef);display:flex;flex-direction:column;gap:10px}.voice-page__hint{margin:0;color:var(--color-text-secondary, #6f635b);font-size:.9rem}.voice-page__turn{margin:0;line-height:1.6;font-size:.95rem}.voice-page__turn--user{color:var(--color-text-secondary, #6f635b)}.voice-page__turn--assistant{color:var(--color-text-primary, #2c2724)}.voice-page__turn-block{display:flex;flex-direction:column;gap:6px}.voice-page__sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-left:50px}.voice-page__source-cta{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:var(--radius-full, 999px);border:1px solid var(--color-border-strong, #d8cfc2);background:var(--color-surface, #fff);color:var(--color-text-primary, #2c2724);font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.voice-page__source-cta:hover:not(:disabled){background:var(--color-accent, #d97757);border-color:var(--color-accent, #d97757);color:var(--color-on-accent)}.voice-page__source-cta:disabled{opacity:.6;cursor:default}.voice-page__source-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full, 999px);border:1px solid var(--color-border, #e7e1da);background:var(--color-surface-2, #f2ede8);color:var(--color-text-secondary, #6f635b);font-size:.74rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.voice-page__source-chip:hover:not(:disabled){border-color:var(--color-accent, #d97757);color:var(--color-text-primary, #2c2724)}.voice-page__source-chip.is-active{border-color:var(--color-accent, #d97757);color:var(--color-accent, #d97757);font-weight:600}.voice-page__source-chip--disabled,.voice-page__source-chip:disabled{opacity:.6;cursor:default}.voice-page__source-chip--static{cursor:default;opacity:.85}.voice-page__speaker{display:inline-block;min-width:42px;margin-right:8px;font-size:.78rem;font-weight:600;color:var(--color-accent, #d97757);text-transform:uppercase;letter-spacing:.04em}.voice-page__composer{display:flex;gap:8px;width:100%}.voice-page__input{flex:1;min-height:46px;padding:0 16px;border-radius:var(--radius-full, 999px);border:1px solid var(--color-border, #e7e1da);background:var(--color-surface, #fff);color:inherit;font-size:.95rem}.voice-page__input:focus{outline:none;border-color:var(--color-accent, #d97757);box-shadow:var(--shadow-focus, 0 0 0 3px rgba(217, 119, 87, .2))}.voice-page__send{min-height:46px;padding:0 22px;border-radius:var(--radius-full, 999px);border:none;background:var(--color-accent, #d97757);color:var(--color-on-accent);font-size:.92rem;cursor:pointer}.voice-page__send:disabled{opacity:.5;cursor:default}@media (max-width: 640px){.voice-page__header{padding:4px var(--space-3, 12px);gap:4px}.voice-page__back{padding:8px}.voice-page__back-label{display:none}.voice-page__back-icon{display:block}.voice-page__header-right{gap:6px}.voice-page__mascot-toggle{width:30px;height:30px;padding:0}.voice-page__mascot-toggle-label{display:none}.voice-page__state{gap:5px;flex:0 1 auto;max-width:7.5em}.voice-page__main{padding:20px 14px 32px}.voice-page__mic{min-height:52px;padding:0 20px}}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modal-overlay-in .2s ease}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.login-modal{position:relative;width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-6);text-align:center;animation:modal-in .25s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal__close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.login-modal__close:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.login-modal__mascot{width:72px;height:72px;border-radius:50%;background:var(--color-surface-2);display:grid;place-items:center;margin:0 auto var(--space-4);position:relative}.login-modal__mascot:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--color-accent);opacity:.4}.login-modal__mascot svg{width:52px;height:52px;color:var(--color-accent)}.login-modal__title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;margin-bottom:var(--space-2);color:var(--color-text-primary)}.login-modal__desc{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:var(--space-6);line-height:1.6}.login-modal__error{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--color-error);border-radius:var(--r-md);background:var(--color-error-surface);color:var(--color-error);font-size:.875rem;line-height:1.5}.login-modal__notice{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.login-modal__notice--invite{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-text-primary);font-size:.875rem}.login-modal__google-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--color-google-surface);color:var(--color-google-text);border:1px solid var(--color-border);border-radius:var(--r-md);font:500 .9375rem/1 var(--font-body);cursor:pointer;transition:all .2s ease}.login-modal__google-btn:disabled{opacity:.6;cursor:not-allowed}.login-modal__google-btn:hover:not(:disabled){border-color:var(--color-google);box-shadow:0 2px 8px var(--color-google-shadow)}.login-modal__google-btn svg{width:20px;height:20px;flex:none}.login-modal__divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-text-muted);font-size:.75rem}.login-modal__divider:before,.login-modal__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-modal__skip{width:100%;padding:var(--space-3);background:transparent;border:1px solid var(--color-border);border-radius:var(--r-md);font:500 .875rem/1 var(--font-body);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.login-modal__skip:disabled{opacity:.6;cursor:not-allowed}.login-modal__skip:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text-primary)}.login-modal__footer{margin-top:var(--space-4);font-size:.75rem;color:var(--color-text-muted);line-height:1.5}@media (max-width: 640px){.login-modal{margin:var(--space-4)}}.beta-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--color-accent);border-radius:var(--r-sm);background:var(--color-surface-2);color:var(--color-accent-text);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1.6}.beta-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg)}.beta-gate__card{width:100%;max-width:440px;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--space-8) var(--space-6)}.beta-gate__badge{align-self:flex-start;margin-bottom:var(--space-4)}.beta-gate__title{font-family:var(--font-display);font-size:1.375rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.beta-gate__lead{font-size:.9375rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:var(--space-4)}.beta-gate__account{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);background:var(--color-surface-2);border-radius:var(--r-md);font-size:.875rem}.beta-gate__account-label{color:var(--color-text-muted)}.beta-gate__account-email{color:var(--color-text-primary);font-weight:600;word-break:break-all}.beta-gate__label{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.beta-gate__input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface);color:var(--color-text-primary);font:500 1rem/1.4 var(--font-body);letter-spacing:.06em;text-transform:uppercase}.beta-gate__input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-color:var(--color-accent)}.beta-gate__input--locked{background:var(--color-surface-2);color:var(--color-text-secondary);cursor:default}.beta-gate__locked{margin-top:var(--space-2);font-size:.8125rem;line-height:1.5;color:var(--color-text-muted)}.beta-gate__error{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-error);border-radius:var(--r-md);background:var(--color-error-surface);color:var(--color-error);font-size:.875rem;line-height:1.5}.beta-gate__submit{margin-top:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--r-md);background:var(--color-accent);color:var(--color-on-accent);font:600 .9375rem/1 var(--font-body);cursor:pointer;transition:opacity .15s ease}.beta-gate__submit:disabled{opacity:.55;cursor:not-allowed}.beta-gate__back,.beta-gate__signout{align-self:center;margin-top:var(--space-4);padding:0;background:none;border:none;color:var(--color-text-secondary);font:500 .875rem/1.4 var(--font-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.beta-gate__back:hover,.beta-gate__signout:hover{color:var(--color-accent)}.beta-gate__about{margin-top:var(--space-4);font-size:.75rem;line-height:1.6;color:var(--color-text-muted)}@media (max-width: 640px){.beta-gate{padding:var(--space-4)}.beta-gate__card{padding:var(--space-6) var(--space-4)}}:root{color-scheme:light;--color-bg: #F9F6F0;--color-bg-primary: #F9F6F0;--color-bg-secondary: #F1ECE4;--color-bg-tertiary: #F4EFE6;--color-bg-card: #F1ECE4;--color-bg-card-elevated: #FFFFFF;--color-surface: #FFFFFF;--color-surface-2: #F1ECE4;--color-text-primary: #191919;--color-text-secondary: #5A5A5A;--color-text-soft: #6B6B6B;--color-text-muted: #666666;--color-text-inverse: #FFFFFF;--color-border: #E6DFD5;--color-border-strong: #D8CFC2;--color-accent: #D97757;--color-accent-hover: #CC6A4F;--color-accent-text: #9E4526;--color-accent-light: rgba(217,119,87,.12);--color-success: #2E7D32;--color-warning: #F57F17;--color-error: #C62828;--color-info: #1565C0;--shadow-xs: 0 1px 2px rgba(25,25,25,.04);--shadow-sm: 0 2px 4px rgba(25,25,25,.06);--shadow-md: 0 4px 12px rgba(25,25,25,.08);--shadow-lg: 0 8px 24px rgba(25,25,25,.1);--shadow-focus: 0 0 0 3px rgba(217,119,87,.3);--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", "Noto Sans Thai", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--font-family-display: var(--font-display);--font-family-body: var(--font-body);--font-family-mono: var(--font-mono);--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .38s;--ease: cubic-bezier(.4, 0, .2, 1);--duration-fast: var(--dur-fast);--duration-normal: var(--dur-normal);--duration-slow: var(--dur-slow);--easing-standard: var(--ease);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--header-height: 56px;--sidebar-width: 280px;--color-overlay: rgba(25, 25, 25, .4);--color-google: #4285F4;--color-google-shadow: rgba(66, 133, 244, .15);--color-google-surface: #FFFFFF;--color-google-text: #191919;--color-code-bg: #24292F;--color-code-text: #FFFFFF;--color-code-inline-bg: rgba(25, 25, 25, .06);--color-row-alt-bg: rgba(25, 25, 25, .02);--color-accent-strong: rgba(217, 119, 87, .2);--color-scrim: rgba(25, 25, 25, .38);--color-on-accent: #FFFFFF;--color-error-surface: rgba(198, 40, 40, .08);--color-danger: var(--color-error);--color-danger-surface: var(--color-error-surface);--color-pill-hover: rgba(255, 255, 255, .5);--color-document-page: #FFFFFF}[data-theme=dark]{color-scheme:dark;--color-bg: #14110F;--color-bg-primary: #14110F;--color-bg-secondary: #1D1917;--color-bg-tertiary: #191512;--color-bg-card: #1D1917;--color-bg-card-elevated: #24201D;--color-surface: #1A1614;--color-surface-2: #241F1C;--color-text-primary: #F2EDE7;--color-text-secondary: #C9C1B8;--color-text-soft: #B0A79D;--color-text-muted: #9A9288;--color-text-inverse: #14110F;--color-border: #332C27;--color-border-strong: #463C35;--color-accent: #E08A6B;--color-accent-hover: #EBA083;--color-accent-text: #F0A98F;--color-accent-light: rgba(224, 138, 107, .16);--color-success: #7BC47F;--color-warning: #F2B45A;--color-error: #F07B6F;--color-info: #8AB4F8;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 10px 32px rgba(0, 0, 0, .55);--shadow-focus: 0 0 0 3px rgba(224, 138, 107, .35);--color-overlay: rgba(0, 0, 0, .6);--color-code-bg: #0E0C0B;--color-code-text: #E8E2DA;--color-code-inline-bg: rgba(255, 255, 255, .08);--color-row-alt-bg: rgba(255, 255, 255, .03);--color-accent-strong: rgba(224, 138, 107, .26);--color-scrim: rgba(0, 0, 0, .55);--color-google: #8AB4F8;--color-google-shadow: rgba(138, 180, 248, .22);--color-on-accent: #14110F;--color-error-surface: rgba(240, 123, 111, .18);--color-pill-hover: rgba(255, 255, 255, .08);--color-document-page: #FFFFFF}[data-contrast=high]{--color-text-primary: #000000;--color-text-secondary: #1A1A1A;--color-text-soft: #262626;--color-text-muted: #3A3A3A;--color-text-inverse: #FFFFFF;--color-border: #6B6B6B;--color-border-strong: #2E2E2E;--color-accent: #9A3E1C;--color-accent-hover: #7E3216;--color-accent-text: #7E3216;--color-accent-light: rgba(154, 62, 28, .18);--color-accent-strong: rgba(154, 62, 28, .32);--color-success: #1B5E20;--color-warning: #8A4B00;--color-error: #A11212;--shadow-focus: 0 0 0 3px #000000}[data-theme=dark][data-contrast=high]{--color-text-primary: #FFFFFF;--color-text-secondary: #F2F2F2;--color-text-soft: #E6E6E6;--color-text-muted: #D8D8D8;--color-text-inverse: #000000;--color-border: #9C9C9C;--color-border-strong: #C4C4C4;--color-accent: #FFB59B;--color-accent-hover: #FFCBB8;--color-accent-text: #FFD2C2;--color-accent-light: rgba(255, 181, 155, .22);--color-accent-strong: rgba(255, 181, 155, .36);--color-success: #9BE3A0;--color-warning: #FFD08A;--color-error: #FFB0A6;--color-on-accent: #000000;--shadow-focus: 0 0 0 3px #FFFFFF}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-font-size=sm]{font-size:14px}[data-font-size=lg]{font-size:18px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-primary);line-height:1.7}pre,code,kbd,samp,table{line-height:1.5}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--color-surface)}.app--with-sidebar{flex-direction:row}.app--with-sidebar .app-main{flex:1;display:flex;flex-direction:column;min-width:0}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.chat-header{flex:none;height:var(--header-height);display:flex;align-items:center;padding:0 var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);gap:var(--space-3)}.chat-header__left{display:flex;align-items:center;gap:var(--space-3)}.chat-header__info{display:flex;flex-direction:column}.chat-header__title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1.2}.ws-status{display:flex;align-items:center;gap:5px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.ws-status__dot{width:6px;height:6px;border-radius:50%}.ws-status--connected .ws-status__dot{background:var(--color-success)}.ws-status--connecting .ws-status__dot{background:var(--color-warning);animation:blink 1s infinite}.ws-status--disconnected .ws-status__dot{background:var(--color-error)}@keyframes blink{50%{opacity:.4}}.header-icon-btn{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--color-text-secondary);border:1px solid var(--color-border);background:transparent;cursor:pointer;transition:all .15s ease}.header-icon-btn:hover{background:var(--color-surface-2);color:var(--color-text-primary)}.chat-header__right{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);min-width:0}.chat-header__login{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-text-primary);font:500 .8125rem/1 var(--font-body);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.chat-header__login svg{flex:none}.chat-header__login:hover{border-color:var(--color-google);box-shadow:0 2px 8px var(--color-google-shadow)}.chat-header__voice{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-text-primary);font:500 .8125rem/1 var(--font-body);cursor:pointer;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.chat-header__voice svg{flex:none}.chat-header__voice:hover{border-color:var(--color-accent);color:var(--color-accent-text)}@media (max-width: 640px){.chat-header__voice-label{display:none}.chat-header__voice{padding:var(--space-2)}}.chat-header__user{display:inline-flex;align-items:center;gap:var(--space-2);max-width:220px;padding:3px var(--space-3) 3px 3px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface-2)}.chat-header__user-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;background:var(--color-border)}.chat-header__user-avatar--fallback{display:grid;place-items:center;background:var(--color-accent);color:var(--color-on-accent);font-size:.75rem;font-weight:600}.chat-header__user-name{font-size:.8125rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-sidebar{flex:none;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease,opacity .25s ease}.session-sidebar:not(.open){width:0;opacity:0;pointer-events:none}.sidebar-header{flex:none;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-title{font-family:var(--font-display);font-size:.95rem;font-weight:600}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.new-chat-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--r-md);font:500 .8125rem/1 var(--font-body);cursor:pointer;transition:background .15s}.new-chat-btn:hover{background:var(--color-accent-hover)}.session-list{display:flex;flex-direction:column;gap:2px}.session-item{display:flex;align-items:center;gap:var(--space-1);border-radius:var(--r-md);transition:background .15s}.session-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:var(--color-overlay)}.session-confirm__sheet{width:min(360px,calc(100vw - 32px));padding:var(--space-4);border-radius:var(--r-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.session-confirm__title{margin:0 0 var(--space-2);font-size:1rem}.session-confirm__body{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.session-confirm__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.session-confirm__btn{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--r-md);background:transparent;color:var(--color-text-primary);cursor:pointer}.session-confirm__btn.destructive{border-color:var(--color-danger);color:var(--color-danger)}.session-item:hover{background:var(--color-surface-2)}.session-item.is-active{background:var(--color-accent-light)}.session-item-clickable{flex:1;padding:var(--space-2) var(--space-3);cursor:pointer;min-width:0}.session-item-content{min-width:0}.session-item-title{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item-meta{display:flex;align-items:center;gap:var(--space-2);font-size:.625rem;color:var(--color-text-secondary)}.session-item-message-count{background:var(--color-accent-light);color:var(--color-accent);padding:1px 5px;border-radius:var(--r-pill);font-weight:600}.session-item-voice-badge{font-size:.75rem;line-height:1;margin-left:4px;opacity:.85;vertical-align:baseline}.session-action-btn{width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--color-text-muted);border:none;background:transparent;cursor:pointer;transition:all .15s;flex:none;margin-right:var(--space-1)}.session-action-btn.destructive:hover{color:var(--color-error);background:var(--color-error-surface)}.session-action-btn:not(.destructive):hover{color:var(--color-accent);background:var(--color-surface-2)}.session-item-rename{width:100%;min-width:0;font:inherit;color:inherit;background:var(--color-surface-2);border:1px solid var(--color-accent);border-radius:var(--r-sm);padding:2px 6px}@media (hover: hover){.session-action-btn{opacity:0}.session-item:hover .session-action-btn,.session-item:focus-within .session-action-btn{opacity:1}}.sidebar-footer{flex:none;padding:var(--space-3);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.clear-history-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--r-md);font:500 .75rem/1 var(--font-body);cursor:pointer;transition:all .15s}.clear-history-btn:hover{background:var(--color-error);border-color:var(--color-error);color:var(--color-on-accent)}.user-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border-radius:var(--r-md)}.user-card__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}.user-card__info{flex:1;min-width:0;display:flex;flex-direction:column}.user-card__name{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card__email{font-size:.625rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-card__logout{width:28px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--color-text-muted);border:none;background:transparent;cursor:pointer;transition:all .15s;flex:none}.user-card__logout:hover{color:var(--color-error);background:var(--color-error-surface)}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.message-area{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.message-area--empty{display:none}.mascot-toggle{pointer-events:auto;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font:500 .6875rem/1.2 var(--font-body);padding:3px 10px;border-radius:999px;cursor:pointer;margin-bottom:4px;white-space:nowrap;transition:color .15s,border-color .15s}.mascot-toggle:hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.mascot-toggle--on{border-color:var(--color-accent)}.mascot-toggle--on:hover{border-color:var(--color-accent-hover)}.mascot-motion-toggle{pointer-events:auto;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-bottom:4px;cursor:pointer;transition:color .15s,border-color .15s}.mascot-motion-toggle:hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.mascot-motion-toggle--on{border-color:var(--color-accent)}.mascot-motion-toggle--on:hover{border-color:var(--color-accent-hover)}.mascot-motion-toggle--off svg{opacity:.45}.mascot-motion-toggle--off:hover svg{opacity:.75}.chat-mascot-slot__controls{display:flex;align-items:center;gap:var(--space-1)}.chat-footer{flex:none}.chat-footer--centered{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.chat-footer--centered>:first-child{margin-top:auto}.chat-footer--centered>:last-child{margin-bottom:auto}.chat-composer{padding:0 var(--space-4) var(--space-4)}.chat-composer__hero{text-align:center;margin-bottom:var(--space-6)}.chat-composer__hero-title{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.chat-composer__hero-sub{font-size:.9375rem;color:var(--color-text-secondary)}.chat-composer__row{display:grid;grid-template-columns:1fr minmax(0,720px) 1fr;align-items:flex-end;gap:var(--space-3)}.chat-composer__row>.chat-composer__box{grid-column:2;margin-inline:0}.chat-mascot-slot{justify-self:end;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.chat-mascot-slot .mascot-toggle{padding:3px 6px;margin-bottom:0}.chat-mascot-slot .mascot-motion-toggle{margin-bottom:0}.chat-composer__spacer{justify-self:start}.chat-hero-mascot{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.chat-composer__box{width:100%;max-width:720px;margin:0 auto}.chat-composer__box--centered{max-width:640px}.chat-composer__form{display:flex;flex-direction:column;gap:var(--space-3)}.chat-composer__input-wrap{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-xl);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);transition:border-color .2s,box-shadow .2s}.chat-composer__input-wrap:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.chat-composer__textarea{flex:1;min-height:24px;max-height:120px;padding:var(--space-2) 0;border:none;background:transparent;font:400 .9375rem/1.5 var(--font-body);color:var(--color-text-primary);resize:none;outline:none;display:block;vertical-align:middle}.chat-composer__textarea::placeholder{color:var(--color-text-muted)}.chat-composer__textarea--error{color:var(--color-error)}.chat-composer__send{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:none;background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;transition:all .2s;flex:none}.chat-composer__send--active{background:var(--color-accent);color:var(--color-on-accent);cursor:pointer}.chat-composer__send--active:hover{background:var(--color-accent-hover)}.chat-composer__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.chat-composer__left,.chat-composer__right{display:flex;align-items:center;gap:var(--space-2)}.chat-composer__label{font:500 .6875rem/1 var(--font-body);color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}.chat-composer__count{font-size:.6875rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.chat-composer__count--error{color:var(--color-error)}.thinking-pills{display:flex;gap:2px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--r-pill);padding:3px}.thinking-pill{display:flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:var(--r-pill);font:500 .8125rem/1 var(--font-body);color:var(--color-text-primary);background:transparent;cursor:pointer;transition:all .15s}.thinking-pill:hover{background:var(--color-pill-hover)}.thinking-pill--active{background:var(--color-accent);color:var(--color-on-accent)}.thinking-pill--active:hover{background:var(--color-accent-hover)}.thinking-pill__label{font-weight:600;font-size:.8125rem}.thinking-pill__desc{font-size:.6875rem;opacity:.85;display:inline}.thinking-pill--active .thinking-pill__desc{opacity:1}.msg-row{display:flex;gap:var(--space-2);max-width:85%}.msg-row--user{align-self:flex-end;flex-direction:row-reverse}.msg-row--bot{align-self:flex-start}.msg-row>*{min-width:0}.msg-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.msg-content--user{align-items:flex-end}.msg-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--r-lg);line-height:1.6}.msg-bubble--user{background:var(--color-accent);color:var(--color-on-accent);border-bottom-right-radius:var(--r-sm)}.msg-bubble--bot{background:var(--color-surface-2);border:1px solid var(--color-border);border-bottom-left-radius:var(--r-sm)}.msg-text{white-space:pre-wrap}.msg-md{white-space:normal}.msg-md p{margin:.35em 0}.msg-md>*:first-child,.msg-md p:first-child{margin-top:0}.msg-md>*:last-child,.msg-md p:last-child{margin-bottom:0}.msg-md h1,.msg-md h2,.msg-md h3,.msg-md h4{font-family:var(--font-body);font-weight:600;line-height:1.4;margin:.8em 0 .4em;color:var(--color-text-primary)}.msg-md h1{font-size:1.05rem}.msg-md h2{font-size:1rem}.msg-md h3{font-size:.95rem}.msg-md h4{font-size:.9rem}.msg-md ul,.msg-md ol{padding-left:1.25em;margin:.4em 0}.msg-md li{margin:.2em 0}.msg-md li::marker{color:var(--color-accent)}.msg-md strong{font-weight:600}.msg-md code{background:var(--color-code-inline-bg);font-family:var(--font-mono);font-size:.85em;padding:1px 5px;border-radius:4px}.msg-md pre{background:var(--color-code-bg);color:var(--color-code-text);border-radius:var(--radius-md);padding:12px 14px;overflow-x:auto;margin:.6em 0}.msg-md pre code{background:transparent;color:inherit;padding:0;font-size:.85em}.msg-md table{border-collapse:collapse;margin:.6em 0;width:100%}.msg-md th,.msg-md td{border:1px solid var(--color-border);padding:6px 10px;font-size:.9em;text-align:left}.msg-md th{background:var(--color-surface);font-weight:600}.msg-md tbody tr:nth-child(2n){background:var(--color-row-alt-bg)}.msg-md blockquote{border-left:3px solid var(--color-accent);padding-left:12px;color:var(--color-text-secondary);margin:.6em 0}.msg-md a{color:var(--color-accent);text-decoration:none}.msg-md a:hover{text-decoration:underline}.msg-md hr{border:none;border-top:1px solid var(--color-border);margin:.8em 0}.cite-chip{display:inline-flex;align-items:center;vertical-align:super;font-family:var(--font-mono);font-size:.68rem;line-height:1.2;color:var(--color-accent-text);background:var(--color-accent-light);border:1px solid transparent;border-radius:6px;padding:0 6px;margin:0 2px;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.cite-chip:hover{border-color:var(--color-accent);background:var(--color-accent-strong)}.msg-cta--disabled,.cite-chip--disabled{opacity:.6;cursor:default}.msg-cta--disabled:hover,.cite-chip--disabled:hover{background:var(--color-accent-light);box-shadow:none}.cite-chip--disabled:hover{border-color:transparent}.msg-cursor{display:inline-block;animation:blink 1s infinite;margin-left:2px}.msg-time{font-size:.74rem;color:var(--color-text-soft);letter-spacing:.02em;padding:0 var(--space-2)}.msg-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.msg-row--user .msg-meta{justify-content:flex-end}.msg-cta{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:36px;background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-full);padding:0 13px;font-size:.8rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.msg-cta svg{width:14px;height:14px}.msg-cta:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-sm)}.msg-cta:focus-visible{box-shadow:var(--shadow-focus)}.thought-inline{max-width:min(680px,100%);margin:var(--space-2) 0}.thought-inline__toggle{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface-2);font:400 .75rem/1.4 var(--font-body);color:var(--color-text-muted);cursor:pointer;text-align:left}.thought-inline__toggle:hover{color:var(--color-text-secondary)}.thought-inline__chevron{flex-shrink:0;font-size:.625rem}.thought-inline__summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thought-inline--pending .thought-inline__toggle{color:var(--color-accent);background:var(--color-accent-light);border-color:transparent}.thought-inline__dots{display:inline-flex;margin-left:2px}.thought-inline__dots span{display:inline-block;animation:thought-dot-pulse 1.2s ease-in-out infinite}.thought-inline__dots span:nth-child(2){animation-delay:.2s}.thought-inline__dots span:nth-child(3){animation-delay:.4s}@keyframes thought-dot-pulse{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.thought-inline__list{margin-top:var(--space-2);margin-left:var(--space-2);padding-left:var(--space-3);border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto}.thought-inline__step{display:flex;gap:var(--space-2);font-size:.75rem;line-height:1.55;color:var(--color-text-muted)}.thought-inline__step-dot{flex-shrink:0;width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--color-border)}.thought-inline__step:last-child .thought-inline__step-dot{background:var(--color-accent)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidebar-backdrop{display:none}@media (min-width: 1024px){.app--with-sidebar .app-main{max-width:none}}@media (max-width: 1023px){.session-sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;z-index:50;width:var(--sidebar-width);box-shadow:var(--shadow-md)}.session-sidebar:not(.open){width:0;box-shadow:none}.sidebar-backdrop{display:block;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;z-index:49;background:var(--color-scrim);border:none;padding:0}}@media (max-width: 768px){:root{--header-height: 48px;--sidebar-width: 260px}.chat-header__title{font-size:.95rem}.chat-composer{padding:0 var(--space-3) var(--space-3)}.chat-composer__hero-title{font-size:1.25rem}.chat-composer__controls{flex-direction:row;gap:var(--space-3);align-items:center;flex-wrap:wrap}.chat-composer__left,.chat-composer__right{display:flex;align-items:center;gap:var(--space-2)}.chat-composer__label{font-size:.6875rem}.thinking-pill__desc{display:none}.msg-row{max-width:92%}}@media (max-width: 480px){:root{--header-height: 44px}.chat-composer__hero-title{font-size:1.1rem}.chat-composer__hero-sub{font-size:.8125rem}.chat-composer__input-wrap{padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3)}.mode-label-l{display:none}.mode-btn{padding:7px 11px;font-size:.78rem}.chat-composer__label{font-size:.625rem}.chat-composer__controls{gap:var(--space-2)}}@media (max-width: 640px){.chat-composer__row{grid-template-columns:1fr;align-items:stretch}.chat-composer__row>.chat-composer__box{grid-column:1}.chat-mascot-slot{justify-self:start}.chat-composer__spacer{display:none}}.announcement-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);border-left:4px solid var(--color-info);background:var(--color-surface-2);color:var(--color-text-primary);font-size:.875rem;line-height:1.5;flex-shrink:0}.announcement-banner--info{border-left-color:var(--color-info)}.announcement-banner--warning{border-left-color:var(--color-warning)}.announcement-banner--critical{border-left-color:var(--color-error)}.announcement-banner__text{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}.announcement-banner__dismiss{flex:none;padding:2px var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--r-pill);background:transparent;color:inherit;font:500 .75rem/1.4 var(--font-body);cursor:pointer}.announcement-banner__dismiss:hover{background:var(--color-pill-hover)}.brand-logo{display:block;flex:none;object-fit:contain}.chat-header__logo{height:28px;width:auto;max-width:120px}.branding-disclaimer{margin:var(--space-2) 0 0;font-size:.75rem;color:var(--color-text-muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.mascot--motion.mascot--breathe .mascot__sprite{animation:mascot-breathe 3.2s ease-in-out infinite!important}.mascot--motion.mascot--ponder .mascot__sprite{animation:mascot-breathe 5.6s ease-in-out infinite!important}}
