*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p{margin:0}button,[role=button],a,input,select,textarea{touch-action:manipulation}:root{color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--font-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--font-mono: "Consolas", "Monaco", "Fira Code", monospace;--text-xs: .625rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-snug: 1.4;--leading-normal: 1.5;--bg-base: #09090b;--bg-primary: #0f0f12;--bg-secondary: #18181b;--bg-tertiary: #212124;--bg-elevated: #2a2a2e;--bg-overlay: rgba(0, 0, 0, .7);--bg-glass: rgba(15, 15, 18, .95);--text-primary: #fafafa;--text-secondary: rgba(250, 250, 250, .85);--text-tertiary: rgba(250, 250, 250, .7);--text-muted: rgba(250, 250, 250, .5);--text-placeholder: rgba(250, 250, 250, .35);--text-disabled: rgba(250, 250, 250, .3);--text-on-accent: #ffffff;--text-on-accent-secondary: #18181b;--text-on-filled: #0f172a;--accent-primary: #a78bfa;--accent-primary-hover: #c4b5fd;--accent-primary-glow: rgba(167, 139, 250, .35);--accent-secondary: #2dd4bf;--accent-secondary-hover: #5eead4;--accent-secondary-glow: rgba(45, 212, 191, .35);--accent-primary-bg: rgba(167, 139, 250, .1);--accent-primary-bg-hover: rgba(167, 139, 250, .15);--accent-secondary-bg: rgba(45, 212, 191, .1);--status-success: #10b981;--status-success-text: #34d399;--status-success-bg: rgba(16, 185, 129, .15);--status-success-border: rgba(16, 185, 129, .3);--status-error: #f87171;--status-error-bg: rgba(248, 113, 113, .15);--status-error-border: rgba(248, 113, 113, .3);--status-warning: #fbbf24;--status-warning-bg: rgba(251, 191, 36, .15);--status-warning-border: rgba(251, 191, 36, .3);--status-info: #60a5fa;--status-info-bg: rgba(96, 165, 250, .15);--status-info-border: rgba(96, 165, 250, .3);--border-default: rgba(250, 250, 250, .1);--border-hover: rgba(250, 250, 250, .15);--border-focus: rgba(167, 139, 250, .5);--border-active: rgba(167, 139, 250, .6);--ui-fill: rgba(250, 250, 250, .06);--ui-fill-hover: rgba(250, 250, 250, .1);--ui-fill-pressed: rgba(250, 250, 250, .14);--ui-fill-selected: rgba(167, 139, 250, .15);--ui-fill-active: rgba(45, 212, 191, .15);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-xl: 0 25px 50px rgba(0, 0, 0, .5);--shadow-glow: 0 4px 15px var(--accent-primary-glow);--space-1: .125rem;--space-2: .25rem;--space-3: .5rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--blur-sm: blur(4px);--blur-md: blur(8px);--blur-lg: blur(12px);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--animation-slide-up: slideUpBottomSheet .3s ease;--z-base: 1;--z-dropdown: 100;--z-overlay: 500;--z-panel-controls: 600;--z-sidesheet: 900;--z-modal: 1000;--z-popover: 1100;--z-tooltip: 1200;--scrollbar-width: 6px;--scrollbar-track: transparent;--scrollbar-thumb: rgba(250, 250, 250, .15);--scrollbar-thumb-hover: rgba(250, 250, 250, .25);--select-chevron-lg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-chevron-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--panel-width: clamp(300px, 28vw, 600px);--text-logo: 1.75rem;--surface-panel-fill: #0e0e12;--drawer-width: 360px;--drawer-pad-x: var(--space-3);--drawer-row-pad-y: var(--space-4);--drawer-row-gap: var(--space-4);--drawer-row-text-size: var(--text-base);--drawer-name-size: var(--text-lg);--drawer-email-size: var(--text-base);--drawer-avatar-size: 56px;--drawer-top-bar-height: 48px;--drawer-top-bar-pad-y: var(--space-2);--drawer-header-pad-top: var(--space-2);--app-bg: #0a0a0d;--app-header-bg: rgba(15, 15, 18, .55);--app-header-tint: rgba(167, 139, 250, .04);--app-header-height: 64px;--app-header-pad-x: var(--space-6);--app-footer-pad-y: var(--space-3);--app-footer-pad-x: var(--space-5);--modal-bg: var(--bg-secondary);--modal-border-color: var(--border-default);--modal-radius: var(--radius-xl);--modal-shadow: var(--shadow-xl), 0 0 40px -10px var(--accent-primary-glow);--modal-overlay-bg: var(--bg-overlay);--modal-overlay-blur: var(--blur-sm);--modal-pad-x: var(--space-6);--modal-header-pad-y: var(--space-6);--card-bg: var(--bg-secondary);--card-border: var(--border-default);--card-border-selected: var(--accent-primary);--card-radius: var(--radius-lg);--card-pad-x: var(--space-4);--card-pad-y: var(--space-4);--card-hover-bg: var(--ui-fill-hover);--composer-attach-size: 32px;--composer-send-size: 32px;--composer-textarea-min-h: 36px}[data-theme=light]{color-scheme:light;--bg-base: #fafafa;--bg-primary: #ffffff;--bg-secondary: #f4f4f5;--bg-tertiary: #e4e4e7;--bg-elevated: #d4d4d8;--bg-overlay: rgba(0, 0, 0, .5);--bg-glass: rgba(255, 255, 255, .95);--surface-panel-fill: #ffffff;--app-bg: #fafafa;--app-header-bg: rgba(255, 255, 255, .65);--app-header-tint: rgba(124, 58, 237, .04);--text-primary: #18181b;--text-secondary: #3f3f46;--text-tertiary: #52525b;--text-muted: #71717a;--text-placeholder: #a1a1aa;--text-disabled: #d4d4d8;--text-on-accent: #ffffff;--text-on-accent-secondary: #18181b;--text-on-filled: #ffffff;--accent-primary: #7c3aed;--accent-primary-hover: #8b5cf6;--accent-primary-glow: rgba(124, 58, 237, .2);--accent-secondary: #14b8a6;--accent-secondary-hover: #2dd4bf;--accent-secondary-glow: rgba(20, 184, 166, .2);--accent-primary-bg: rgba(124, 58, 237, .08);--accent-primary-bg-hover: rgba(124, 58, 237, .12);--accent-secondary-bg: rgba(20, 184, 166, .08);--status-success: #059669;--status-success-text: #065F46;--status-success-bg: rgba(5, 150, 105, .1);--status-success-border: rgba(5, 150, 105, .25);--status-error: #dc2626;--status-error-bg: rgba(220, 38, 38, .1);--status-error-border: rgba(220, 38, 38, .25);--status-warning: #d97706;--status-warning-bg: rgba(217, 119, 6, .1);--status-warning-border: rgba(217, 119, 6, .25);--status-info: #2563eb;--status-info-bg: rgba(37, 99, 235, .1);--status-info-border: rgba(37, 99, 235, .25);--border-default: rgba(0, 0, 0, .08);--border-hover: rgba(0, 0, 0, .12);--border-focus: rgba(139, 92, 246, .4);--border-active: rgba(139, 92, 246, .5);--ui-fill: rgba(0, 0, 0, .04);--ui-fill-hover: rgba(0, 0, 0, .06);--ui-fill-pressed: rgba(0, 0, 0, .08);--ui-fill-selected: rgba(139, 92, 246, .1);--ui-fill-active: rgba(20, 184, 166, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--shadow-glow: 0 4px 15px var(--accent-primary-glow);--scrollbar-thumb: rgba(0, 0, 0, .15);--scrollbar-thumb-hover: rgba(0, 0, 0, .25);--select-chevron-lg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-chevron-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}@media(max-width:767px){:root{--app-header-height: 56px}}*::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:calc(var(--scrollbar-width) / 2)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}html,textarea,.speech-display,.sidesheet-content,.session-messages-content,.modal-container,.conversation-history,.calendar-agenda,.hire-panel-content,.model-gallery-list,.model-settings-content,.model-setup-content,.detail-view-content,.vn-text,.react-datepicker__time-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@keyframes slideUpBottomSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-loading-fallback{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-loading-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0s;--transition-normal: 0s;--transition-slow: 0s;--animation-slide-up: none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.avatar-controls-dropdown{position:relative}.avatar-controls-trigger{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.avatar-controls-trigger:hover{background:var(--ui-fill);border-color:var(--border-default);color:var(--text-primary)}.avatar-controls-trigger:active{transform:scale(.97)}.avatar-controls-trigger:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-secondary-glow)}.avatar-controls-label{line-height:var(--leading-none);white-space:nowrap}.avatar-controls-menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:160px;padding:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-secondary);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);display:flex;flex-direction:column;gap:var(--space-2)}.avatar-controls-item{width:100%;height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:var(--font-medium);transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.avatar-controls-item:hover{background:var(--ui-fill-hover);color:var(--text-primary)}.avatar-controls-item:active{transform:translateY(1px)}.avatar-controls-item:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-secondary-glow)}@media(max-width:768px){.avatar-controls-label{display:none}}.source-citation{margin-top:var(--space-3);font-size:var(--text-sm)}.source-citation-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.source-citation-header:hover{background:var(--ui-fill-hover);color:var(--text-secondary)}.source-citation-header:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.source-count{font-size:var(--text-sm)}.source-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.source-item{margin:0;padding:0}.source-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--accent-primary);text-decoration:none;font-size:var(--text-sm);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.source-link:hover{background:var(--ui-fill-hover);color:var(--accent-primary-hover);border-color:var(--border-focus)}.source-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.source-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.source-icon{flex-shrink:0;opacity:.6;transition:opacity var(--transition-fast)}.source-link:hover .source-icon{opacity:1}.trial-pai-card{margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:var(--status-info-bg);border-radius:var(--radius-md);text-align:center;word-break:keep-all}.trial-pai-card__link{color:var(--status-info);font-weight:var(--font-semibold);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.trial-pai-card__link:hover{filter:brightness(1.15)}.trial-pai-card__link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);backdrop-filter:var(--modal-overlay-blur);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease}.modal-container{background:var(--modal-bg);border:1px solid var(--modal-border-color);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);width:100%;max-width:480px;max-height:90vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;animation:modalEnter .25s cubic-bezier(.16,1,.3,1)}.modal-container--sm{max-width:360px}.modal-container--lg{max-width:600px}.modal-container--fit{width:fit-content;min-width:280px;max-width:480px}@keyframes modalEnter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--modal-header-pad-y) var(--modal-pad-x) 0}.modal-header h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;letter-spacing:-.01em;text-wrap:balance}.modal-header-spacer{flex:1}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-lg);line-height:var(--leading-none);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:var(--ui-fill-hover);color:var(--text-primary)}.modal-close:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.modal-content{padding:var(--space-5) var(--modal-pad-x) var(--modal-pad-x)}.modal-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-group label,.form-group .form-label{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary)}.form-group input{padding:.625rem .875rem;min-height:45px;background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-md);transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal)}.form-group input:focus{outline:none;border-color:var(--accent-primary);background:var(--ui-fill-hover);box-shadow:0 0 0 3px var(--accent-primary-glow),0 0 20px -5px var(--accent-primary-glow);transition:border-color var(--transition-fast),box-shadow var(--transition-normal)}.form-group input::placeholder{color:var(--text-placeholder)}.form-hint{font-size:var(--text-base);color:var(--text-muted);margin-bottom:var(--space-5)}.form-error{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-md);color:var(--status-error);font-size:var(--text-base);line-height:var(--leading-snug)}.form-error:before{content:"";flex-shrink:0;width:18px;height:18px;margin-top:.0625rem;background:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat}.form-success{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-md);color:var(--status-success);font-size:var(--text-base)}.form-submit{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;height:45px;padding:0 var(--space-6);background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-semibold);cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.form-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-submit:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.form-submit-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--text-on-accent);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:var(--space-3)}.form-link{text-align:center}.form-link button{background:none;border:none;color:var(--accent-primary);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;text-decoration:underline}.form-link button:hover{color:var(--accent-primary-hover)}.form-link button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.modal-container--centered{position:relative}.modal-content--centered{padding:var(--modal-pad-x);text-align:center;display:flex;flex-direction:column;align-items:center}.modal-btn{padding:0 var(--space-5);min-height:45px;min-width:120px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-medium);word-break:keep-all;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);border:none}.modal-btn--sm,.modal-container--centered .modal-btn{padding:.625rem var(--space-5);min-height:40px;min-width:100px}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.modal-btn-primary{background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary)}.modal-btn-primary:hover:not(:disabled){background:var(--accent-primary-bg);border-color:var(--accent-primary-hover)}.modal-btn-primary-filled{background:var(--accent-primary);color:var(--text-on-accent);border:1px solid var(--accent-primary)}.modal-btn-primary-filled:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.modal-btn-secondary{background:transparent;color:var(--accent-secondary);border:1px solid var(--accent-secondary)}.modal-btn-secondary:hover:not(:disabled){background:var(--accent-secondary-bg);border-color:var(--accent-secondary-hover)}.modal-btn-secondary-filled{background:var(--accent-secondary);color:var(--text-on-accent);border:1px solid var(--accent-secondary)}.modal-btn-secondary-filled:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-secondary-glow)}.modal-btn-tertiary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default)}.modal-btn-tertiary:hover:not(:disabled){background:var(--ui-fill-hover)}.modal-btn-danger{background:transparent;color:var(--status-error);border:1px solid var(--status-error-border)}.modal-btn-danger:hover:not(:disabled){background:var(--status-error-bg);border-color:var(--status-error)}.modal-btn-danger-filled{background:var(--status-error);color:var(--text-on-accent);border:1px solid var(--status-error)}.modal-btn-danger-filled:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-btn-danger-filled:disabled{transform:none;box-shadow:none}.modal-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}.modal-icon svg{width:48px;height:48px}.modal-icon--warning{color:var(--status-warning)}.modal-icon--info{color:var(--accent-primary)}.modal-icon--error{color:var(--status-error)}.modal-icon--success{color:var(--status-success)}.modal-icon--neutral{color:var(--text-secondary)}.modal-alert{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.modal-alert-message{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-5);letter-spacing:-.01em;word-break:break-word}.modal-alert-message strong{color:var(--accent-primary)}.modal-alert-description{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-5);line-height:var(--leading-normal);max-width:320px;white-space:pre-line}.modal-alert-description strong{color:var(--accent-primary)}.modal-alert-bullets{list-style:disc inside;margin:0 0 var(--space-5);padding:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal);max-width:320px;text-align:left;align-self:center}.modal-alert-bullets__warning{color:var(--status-warning);font-weight:var(--font-semibold)}.modal-alert-buttons{display:flex;gap:var(--space-3);margin-top:var(--space-3);width:100%;max-width:320px;margin-inline:auto}.modal-alert-buttons>button{flex:1}.modal-alert-buttons--full{max-width:none;margin-inline:0}.modal-alert-error{background:var(--status-error-bg);border:1px solid var(--status-error-border);color:var(--status-error);padding:.625rem .875rem;border-radius:var(--radius-sm);font-size:var(--text-base);margin-bottom:var(--space-5);width:100%;max-width:320px}.modal-alert-link{background:none;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;text-decoration:underline;margin-top:var(--space-4);word-break:keep-all}.modal-alert-link:hover{color:var(--accent-primary)}.modal-alert-link:disabled{opacity:.5;cursor:not-allowed}.modal-alert-form{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-6);text-align:left;width:100%;max-width:320px}.modal-alert-countdown{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-6)}.modal-alert-countdown-number{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--text-secondary);line-height:var(--leading-none);font-variant-numeric:tabular-nums}.modal-alert-logout:hover{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error)}.modal-form-intro{font-size:var(--text-base);color:var(--text-secondary);text-align:left;margin-bottom:var(--space-5);line-height:var(--leading-normal)}.modal-form-intro strong{color:var(--accent-primary)}.modal-options{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.modal-option-card{display:flex;align-items:flex-start;gap:var(--space-5);padding:var(--space-5) 1.25rem;background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal);text-align:left;width:100%}.modal-option-card:hover{background:var(--ui-fill-hover);border-color:var(--border-hover)}.modal-option-card:focus-visible{outline:2px solid transparent;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.modal-option-card--recommended{border-color:var(--accent-primary);background:var(--accent-primary-bg)}.modal-option-card--recommended:hover{background:var(--accent-primary-bg-hover);border-color:var(--accent-primary)}.modal-option-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);overflow:hidden}.modal-option-icon img{width:100%;height:100%;object-fit:cover}.modal-option-icon svg{width:24px;height:24px;color:var(--text-secondary)}.modal-option-content{flex:1;min-width:0}.modal-option-title{display:block;font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.modal-option-desc{display:block;font-size:var(--text-base);color:var(--text-secondary);margin:0;line-height:var(--leading-snug)}@media(max-width:480px){.modal-container{margin:var(--space-4);max-width:calc(100% - var(--space-4) * 2)}.modal-header{padding:var(--modal-header-pad-y) var(--modal-pad-x) 0}.modal-header h2{font-size:var(--text-md)}.modal-content,.modal-content--centered{padding:var(--space-5)}.modal-icon svg{width:40px;height:40px}.modal-alert-message{font-size:var(--text-lg)}.modal-btn{padding:0 var(--space-4);min-height:45px;min-width:100px}.modal-btn--sm{padding:var(--space-3) var(--space-4);min-height:36px;min-width:80px}.form-group input{padding:.75rem .875rem;min-height:45px}}.step-description{text-align:center;color:var(--text-secondary);font-size:var(--text-md);margin-bottom:.5rem;line-height:var(--leading-normal)}.step-description strong{color:var(--text-primary)}.code-input{text-align:center}.password-rules{list-style:none;padding:0;margin:.5rem 0 0;font-size:var(--text-base);display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem}.password-rules li{padding:.25rem 0 .25rem 1.25rem;position:relative;transition:color var(--transition-normal)}.password-rules li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;transition:background var(--transition-normal),border var(--transition-normal)}.password-rules li.invalid{color:var(--text-muted)}.password-rules li.invalid:before{background:var(--status-error-bg);border:1px solid var(--status-error-border)}.password-rules li.valid{color:var(--status-success)}.password-rules li.valid:before{background:var(--status-success-bg);border:1px solid var(--status-success);content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px 10px;display:flex;align-items:center;justify-content:center}.chat-message-attachment-thumb{display:inline-block;margin-top:var(--space-3);padding:0;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;line-height:0;transition:border-color .12s ease}.chat-message-attachment-thumb:hover{border-color:var(--border-hover)}.chat-message-attachment-thumb:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.chat-message-attachment-thumb img{display:block;width:120px;height:120px;object-fit:cover}.chat-message-attachment-expanded{display:block;max-width:80vw;max-height:70vh;width:auto;height:auto;object-fit:contain;margin:0 auto}.chat-interface{--chat-msg-assistant-fill: rgba(250, 250, 250, .04);--chat-msg-user-fill: var(--accent-primary);--chat-input-fill: rgba(250, 250, 250, .04);display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--surface-panel-fill);border:1px solid var(--border-default);overflow:hidden}[data-theme=light] .chat-interface{--chat-msg-assistant-fill: rgba(0, 0, 0, .04);--chat-input-fill: rgba(0, 0, 0, .03)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default)}.chat-header-identity{display:flex;flex-direction:column;min-width:0;flex-shrink:1}.chat-header-status-row{display:flex;align-items:center;gap:var(--space-2);line-height:var(--leading-none)}.chat-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.chat-model-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.chat-header-dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary-glow);flex-shrink:0;animation:statusPulse 2s ease-in-out infinite}.chat-header-dot.ready{background:var(--accent-secondary);box-shadow:0 0 6px var(--accent-secondary-glow);animation:none}.chat-header-dot.speaking{background:var(--status-info);box-shadow:0 0 6px var(--status-info-border)}.chat-header-dot.error{background:var(--status-error);box-shadow:0 0 6px var(--status-error-border);animation:none}.chat-status{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--accent-primary);animation:statusPulse 2s ease-in-out infinite}.chat-status.ready{color:var(--status-success);animation:none}.chat-status.speaking{color:var(--status-info)}.chat-status.error{color:var(--status-error);animation:none}.chat-close-button{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);transition:color var(--transition-normal)}.chat-close-button:hover{color:var(--text-primary)}.speech-display{flex:1;overflow-y:auto;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start;mask-image:linear-gradient(to bottom,transparent 0,black 12px,black calc(100% - 16px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 12px,black calc(100% - 16px),transparent 100%)}.welcome-message{text-align:center;width:100%;padding:var(--space-8) var(--space-5);color:var(--text-secondary)}.welcome-message p{margin:var(--space-3) 0;font-size:var(--text-md);color:var(--text-secondary)}.welcome-message p:first-child{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.quick-prompts{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}.quick-prompt-button{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-5);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);line-height:var(--leading-none);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.quick-prompt-button:hover:not(:disabled){background:var(--ui-fill);border-color:var(--border-hover);color:var(--text-primary)}.quick-prompt-button:active:not(:disabled){transform:scale(.97)}.quick-prompt-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.quick-prompt-button:disabled{opacity:.4;cursor:not-allowed}.welcome-back-message{text-align:center;width:100%;padding:var(--space-8) var(--space-5);color:var(--text-muted)}.welcome-back-message p{margin:var(--space-3) 0}.welcome-back-message p:first-child{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.welcome-back-message .session-info{font-size:var(--text-md);color:var(--text-secondary);margin:0}.welcome-back-message .session-info--count{font-size:var(--text-sm)}.load-history-button{padding:var(--space-3) var(--space-5);background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;word-break:keep-all;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.load-history-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.load-history-button:disabled{opacity:.5;cursor:not-allowed}.load-history-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.session-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);margin:var(--space-5) auto 0;width:100%;max-width:240px}.start-new-button{padding:var(--space-3) var(--space-5);background:var(--accent-secondary);border:none;border-radius:var(--radius-md);color:var(--text-on-accent);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;word-break:keep-all;transition:background var(--transition-fast),transform var(--transition-fast)}.start-new-button:hover:not(:disabled){background:var(--accent-secondary-hover);transform:translateY(-1px)}.start-new-button:disabled{cursor:wait;opacity:.5}.start-new-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-secondary-glow)}.chat-new-session-button{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.chat-new-session-button:hover:not(:disabled){background:var(--ui-fill);border-color:var(--border-default);color:var(--text-primary)}.chat-new-session-button:active:not(:disabled){transform:scale(.97)}.chat-new-session-label{white-space:nowrap}.chat-new-session-button:disabled{cursor:not-allowed;opacity:.5}.chat-new-session-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.creating-session{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px}.creating-session .spin{animation:spin 1s linear infinite;color:var(--accent-primary)}.chat-message{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);max-width:85%;word-wrap:break-word;animation:fadeInSlideUp .3s ease}.chat-message.user{align-self:flex-end;background:var(--chat-msg-user-fill);border-bottom-right-radius:var(--radius-sm)}.chat-message.assistant{align-self:flex-start;background:var(--chat-msg-assistant-fill);border-bottom-left-radius:var(--radius-sm)}.chat-message.assistant.typing{border-left:3px solid var(--accent-primary)}.chat-message .message-role{font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.02em;color:var(--text-muted)}.chat-message.user .message-role{color:var(--text-on-accent)}.chat-message .message-content{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-secondary);white-space:pre-wrap}.chat-message.user .message-content{color:var(--text-on-accent)}.load-more-button{align-self:center;padding:var(--space-3) var(--space-5);background:var(--ui-fill-hover);border:1px solid var(--border-hover);border-radius:var(--radius-full);color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal);margin-bottom:var(--space-5)}.load-more-button:hover{background:var(--ui-fill-pressed);color:var(--text-primary)}.load-more-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.loading-more-indicator{align-self:center;padding:var(--space-3) var(--space-5);font-size:var(--text-base);color:var(--text-muted);margin-bottom:var(--space-5)}.checking-session{display:flex;justify-content:center;gap:var(--space-3);padding:var(--space-8);width:100%}.checking-session .dot{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out;opacity:.6}.checking-session .dot:nth-child(1){animation-delay:-.32s}.checking-session .dot:nth-child(2){animation-delay:-.16s}.loading-indicator{display:flex;align-self:flex-start;gap:var(--space-3);padding:var(--space-5)}.loading-indicator .dot{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out;opacity:.6}.loading-indicator .dot:nth-child(1){animation-delay:-.32s}.loading-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.chat-error{padding:var(--space-4) var(--space-5);margin:0 var(--space-6);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-md);color:var(--status-error);font-size:var(--text-base)}.input-area{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-default)}.composer{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--chat-input-fill);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.composer:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.composer.is-dragging{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.composer-drop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--accent-primary);font-weight:var(--font-semibold);border-radius:var(--radius-lg);background:var(--surface-panel-fill);z-index:1;word-break:keep-all}.attachment-button{width:var(--composer-attach-size);height:var(--composer-attach-size);padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.attachment-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary);border-color:var(--accent-primary)}.attachment-button:disabled{opacity:.4;cursor:not-allowed}.attachment-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.attachment-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-preview{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--chat-input-fill);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.attachment-preview-thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.attachment-preview-size{color:var(--text-secondary);font-size:var(--text-sm);flex:1;min-width:0}.attachment-preview-error-label{color:var(--text-warning, var(--text-secondary));font-size:var(--text-sm);flex:1;min-width:0}.attachment-preview-progress{flex:1;height:6px;background:var(--surface-recessed, var(--border-default));border-radius:var(--radius-sm);overflow:hidden}.attachment-preview-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary));transition:width var(--transition-fast)}.attachment-preview-remove{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.attachment-preview-remove:hover{background:var(--surface-hover);color:var(--text-primary)}.attachment-preview-remove:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.message-textarea{width:100%;min-height:var(--composer-textarea-min-h);max-height:120px;padding:0;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);resize:none;outline:none}.message-textarea::placeholder{color:var(--text-placeholder)}.message-textarea:disabled{opacity:.5;cursor:not-allowed}@media(forced-colors:active){.message-textarea:focus-visible{outline:2px solid ButtonText}}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.composer-actions-left{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.send-button{width:var(--composer-send-size);height:var(--composer-send-size);padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary));border:none;border-radius:var(--radius-md);color:var(--text-on-accent);cursor:pointer;flex-shrink:0;font-family:var(--font-sans);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-glow)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.4;cursor:not-allowed}.send-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}@media(max-width:768px){.chat-header{padding:var(--space-4) var(--space-5)}.chat-new-session-label{display:none}.speech-display{padding:var(--space-6) var(--space-5);gap:var(--space-4)}.input-area{padding:var(--space-3) var(--space-4)}}@media(orientation:portrait){.chat-interface{width:100%;height:100%;max-width:100%;border:none}.chat-header{padding:var(--space-4) var(--space-5)}.chat-close-button{display:flex}.chat-header-actions .avatar-controls-dropdown{display:none}.speech-display{padding:var(--space-6) var(--space-5)}.input-area{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}}.chat-panel-toggle{position:absolute;left:0;top:50%;transform:translate(-100%,-50%);z-index:var(--z-base);width:24px;height:60px;padding:0;border-radius:var(--radius-md) 0 0 var(--radius-md);background:var(--surface-panel-fill);border:1px solid var(--border-default);border-right:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),width var(--transition-normal)}.chat-panel-toggle:hover{background:var(--ui-fill);border-color:var(--border-hover);color:var(--text-primary);width:28px}.chat-panel-toggle:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.toggle-arrow{display:flex;align-items:center;justify-content:center;width:100%;height:100%}@media(orientation:portrait){.chat-panel-toggle{display:none}.main-content-split.chat-panel-closed .chat-panel-toggle{display:flex;position:fixed;right:0;left:auto;top:40%;transform:translateY(-50%);z-index:var(--z-panel-controls);border-radius:var(--radius-md) 0 0 var(--radius-md)}}.vn-dialogue-box{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:var(--z-overlay);width:90%;max-width:700px;background:var(--surface-panel-fill);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:vnSlideUp .3s ease}@keyframes vnSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.vn-dialogue-box.is-dragging{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.vn-drop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--accent-primary);font-weight:var(--font-semibold);border-radius:var(--radius-lg);background:var(--surface-panel-fill);z-index:1;word-break:keep-all}.vn-header-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default)}.vn-header-left{display:flex;align-items:center;gap:var(--space-2);line-height:var(--leading-none);min-width:0;flex-shrink:1}.vn-model-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vn-header-dot{display:inline-block;width:4px;height:4px;border-radius:var(--radius-full);background:var(--accent-primary);box-shadow:0 0 4px var(--accent-primary-glow);flex-shrink:0;animation:statusPulse 2s ease-in-out infinite}.vn-header-dot.ready{background:var(--accent-secondary);box-shadow:0 0 4px var(--accent-secondary-glow);animation:none}.vn-header-dot.speaking{background:var(--status-info);box-shadow:0 0 4px var(--status-info-border)}.vn-header-dot.error{background:var(--status-error);box-shadow:0 0 4px var(--status-error-border);animation:none}.vn-header-status{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--accent-primary)}.vn-header-status.ready{color:var(--status-success)}.vn-header-status.speaking{color:var(--status-info)}.vn-header-status.error{color:var(--status-error)}.vn-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.vn-new-session-button{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.vn-new-session-button:hover:not(:disabled){background:var(--ui-fill);border-color:var(--border-default);color:var(--text-primary)}.vn-new-session-button:active:not(:disabled){transform:scale(.97)}.vn-new-session-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.vn-new-session-label{white-space:nowrap}.vn-new-session-button:disabled{cursor:not-allowed;opacity:.5}.vn-dialogue-area{padding:0}.vn-dialogue-area.empty{display:flex;align-items:center;justify-content:center;padding:var(--space-3);height:3.75rem}.vn-dialogue-content{width:100%;padding:var(--space-4) var(--space-5)}.vn-text{display:block;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;min-height:2.85rem;max-height:7.125rem;overflow-y:auto;overscroll-behavior:contain}.vn-placeholder{color:var(--text-muted);font-size:var(--text-base)}.vn-creating-session{display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.vn-creating-session .spin{animation:spin 1s linear infinite;color:var(--accent-primary)}.vn-checking-session{display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.vn-quick-prompts{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.vn-quick-prompt-button{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.vn-quick-prompt-button:hover:not(:disabled){background:var(--ui-fill);border-color:var(--border-hover);color:var(--text-primary)}.vn-quick-prompt-button:active:not(:disabled){transform:scale(.97)}.vn-quick-prompt-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.vn-quick-prompt-button:disabled{opacity:.4;cursor:not-allowed}.vn-error{padding:var(--space-3) var(--space-4);background:var(--status-error-bg);color:var(--status-error);font-size:var(--text-sm);border-radius:var(--radius-md);margin:var(--space-3) var(--space-5)}.vn-error-inline{display:flex;align-items:center;justify-content:center;min-height:2.85rem}.vn-error-pill{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--status-error-bg);color:var(--status-error);font-size:var(--text-base);border-radius:var(--radius-md);text-align:center;max-width:100%}.vn-welcome-back{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);text-align:center}.vn-welcome-back-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.vn-welcome-back-info{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.vn-welcome-back-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:360px;margin-top:var(--space-2);gap:var(--space-3)}.vn-load-history-button,.vn-start-new-button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);word-break:keep-all;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.vn-load-history-button{background:var(--accent-primary);border:none;color:var(--text-on-accent)}.vn-load-history-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow)}.vn-start-new-button{background:var(--accent-secondary);border:none;color:var(--text-on-accent)}.vn-start-new-button:hover:not(:disabled){background:var(--accent-secondary-hover);transform:translateY(-1px)}.vn-load-history-button:disabled,.vn-start-new-button:disabled{cursor:not-allowed;opacity:.5}.vn-load-history-button:focus-visible,.vn-start-new-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.vn-typing-indicator{display:flex;align-items:center;min-height:2.85rem}.typing-dots{display:flex;gap:var(--space-2)}.typing-dots .dot{width:8px;height:8px;background:var(--accent-primary);border-radius:var(--radius-full);animation:typingBounce 1.4s infinite ease-in-out;opacity:.6}.typing-dots .dot:nth-child(1){animation-delay:-.32s}.typing-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.vn-input-row{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-default)}.vn-composer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.vn-composer:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.vn-textarea{width:100%;min-height:var(--composer-textarea-min-h);max-height:120px;padding:0;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);resize:none;outline:none}.vn-textarea::placeholder{color:var(--text-placeholder)}.vn-textarea:disabled{opacity:.5;cursor:not-allowed}@media(forced-colors:active){.vn-textarea:focus-visible{outline:2px solid ButtonText}}.vn-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.vn-composer-actions-left{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.vn-send-button{width:var(--composer-send-size);height:var(--composer-send-size);padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-secondary),var(--accent-primary));border:none;border-radius:var(--radius-md);color:var(--text-on-accent);cursor:pointer;flex-shrink:0;font-family:var(--font-sans);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.vn-send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-glow)}.vn-send-button:active:not(:disabled){transform:scale(.95)}.vn-send-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.vn-send-button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.vn-dialogue-box{bottom:var(--space-4);width:95%;border-radius:var(--radius-lg)}.vn-header-bar{padding:var(--space-3) var(--space-2) var(--space-2) var(--space-3)}.vn-header-status{white-space:nowrap}.vn-new-session-label{display:none}.vn-dialogue-content{padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5)}.vn-input-row,.vn-composer{padding:var(--space-2) var(--space-3)}}.menu-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-normal),transform var(--transition-normal)}.menu-button:hover{background:var(--ui-fill-hover)}.menu-button:active{transform:scale(.95)}.menu-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.menu-icon{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:14px}.menu-icon .bar{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:1px;transition:transform var(--transition-slow),opacity var(--transition-slow)}.menu-button.open .menu-icon .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-button.open .menu-icon .bar:nth-child(2){opacity:0;transform:scaleX(0)}.menu-button.open .menu-icon .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.main-spinner-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:mainSpinnerFadeIn .2s ease .3s both}.main-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes mainSpinnerFadeIn{0%{opacity:0}to{opacity:1}}.background-upload-wrapper{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.background-upload-tile{font-family:var(--font-sans);word-break:keep-all}.background-upload-tile:disabled{cursor:progress}.background-upload-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:var(--bg-tertiary);color:var(--text-muted)}.background-upload-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.background-upload-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);color:var(--text-on-accent)}.background-upload-spinner svg{animation:background-upload-spin 1s linear infinite}@keyframes background-upload-spin{to{transform:rotate(360deg)}}.background-upload-actions{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);z-index:1}.background-upload-action{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--text-on-accent);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;word-break:keep-all;transition:background-color var(--transition-fast),transform var(--transition-fast)}.background-upload-action:hover{background:var(--accent-primary);transform:scale(1.02)}.background-upload-action:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.background-upload-validation-error{font-size:var(--text-xs);color:var(--status-error);padding:var(--space-1) var(--space-2);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-sm);word-break:keep-all}.chunk-error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center}.chunk-error-message{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.chunk-error-button{font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) 1.25rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.chunk-error-button:hover{background:var(--ui-fill-hover);color:var(--text-primary)}.chunk-error-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.sidesheet-backdrop{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:var(--blur-sm);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow);z-index:var(--z-sidesheet)}.sidesheet-backdrop.open{opacity:1;visibility:visible}.sidesheet{position:fixed;top:0;left:0;bottom:0;width:var(--drawer-width);max-width:90vw;background:var(--surface-panel-fill);border-right:1px solid var(--border-default);box-shadow:var(--shadow-lg);transform:translate(-100%);transition:transform var(--transition-slow);z-index:calc(var(--z-sidesheet) + 1);overflow:hidden;overscroll-behavior:contain}.sidesheet.open{transform:translate(0)}.sidesheet-top-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--drawer-top-bar-pad-y) var(--space-4);height:var(--drawer-top-bar-height);flex-shrink:0}.sidesheet-back-button,.sidesheet-close-button{width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);display:flex;align-items:center;justify-content:center}.sidesheet-back-button:hover,.sidesheet-close-button:hover{background:var(--ui-fill);border-color:var(--border-default);color:var(--text-primary)}.sidesheet-back-button:focus-visible,.sidesheet-close-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sidesheet-back-placeholder{width:36px;height:36px}.sidesheet-views-container{position:relative;width:100%;height:calc(100% - var(--drawer-top-bar-height))}.sidesheet-view{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform var(--transition-slow),opacity var(--transition-slow)}.sidesheet-view.active{transform:translate(0);opacity:1;pointer-events:auto}.sidesheet-view.slide-left{transform:translate(-100%);opacity:0;pointer-events:none}.sidesheet-view.slide-right{transform:translate(100%);opacity:0;pointer-events:none}.sidesheet-content{display:flex;flex-direction:column;height:100%;padding:0 var(--space-5) var(--space-5)}.sidesheet-header{padding:var(--drawer-header-pad-top) var(--drawer-pad-x) var(--space-5)}.sidesheet-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2);text-wrap:balance}.sidesheet-header p{font-size:var(--text-base);color:var(--text-tertiary);margin:0}.sidesheet-header .user-avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--drawer-avatar-size);height:var(--drawer-avatar-size);border-radius:var(--radius-full);background:var(--accent-primary);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-on-accent);margin-bottom:var(--space-3);user-select:none}.sidesheet-header .user-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.sidesheet-header .user-name{font-size:var(--drawer-name-size);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidesheet-header .user-email{font-size:var(--drawer-email-size);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidesheet-divider{height:1px;background:var(--border-default);margin:0 calc(var(--space-5) * -1)}.sidesheet-nav{flex:1;display:flex;flex-direction:column;padding:var(--space-4) 0}.sidesheet-nav-group{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0}.sidesheet-nav-group:first-child{padding-top:var(--space-2)}.sidesheet-nav-group:last-child{padding-bottom:var(--space-2)}.sidesheet-nav-group+.sidesheet-nav-group{border-top:1px solid var(--border-default)}.sidesheet-nav-item{display:flex;align-items:center;gap:var(--drawer-row-gap);width:100%;padding:var(--drawer-row-pad-y) var(--drawer-pad-x);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--drawer-row-text-size);font-weight:var(--font-medium);text-align:left;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidesheet-nav-item:hover:not(:disabled){background:var(--ui-fill)}.sidesheet-nav-item:active:not(:disabled){background:var(--ui-fill-hover)}.sidesheet-nav-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sidesheet-nav-item:disabled{cursor:not-allowed;opacity:.5}.sidesheet-nav-item .nav-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--text-secondary)}.sidesheet-nav-item .nav-text{flex:1}.sidesheet-nav-item .nav-count{font-size:var(--text-sm);padding:2px 6px;background:var(--ui-fill-hover);border-radius:var(--radius-full);color:var(--text-tertiary)}.sidesheet-nav-item .nav-toggle{width:32px;height:18px;background:var(--ui-fill);border-radius:var(--radius-full);position:relative;transition:background var(--transition-normal);flex-shrink:0}.sidesheet-nav-item .nav-toggle.on{background:var(--accent-primary)}.sidesheet-nav-item .nav-toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-on-accent);border-radius:50%;transition:transform var(--transition-normal)}.sidesheet-nav-item .nav-toggle.on .nav-toggle-knob{transform:translate(14px)}.sidesheet-nav-item .nav-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.sidesheet-nav-item .nav-language-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;background:var(--ui-fill);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);flex-shrink:0}.detail-view-header{position:relative;padding-top:var(--drawer-header-pad-top);padding-bottom:var(--space-5);margin-bottom:var(--space-4)}.detail-view-header:after{content:"";position:absolute;bottom:0;left:calc(var(--space-5) * -1);right:calc(var(--space-5) * -1);height:1px;background:var(--border-default)}.detail-view-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}.detail-view-header p{font-size:var(--text-base);color:var(--text-muted)}.detail-view-header-title-row{display:flex;align-items:baseline;justify-content:space-between}.slot-counter{font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-secondary)}.detail-view-header--with-action{display:flex;justify-content:space-between;align-items:flex-start}.detail-view-header-text{flex:1}.detail-view-header-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal);flex-shrink:0}.detail-view-header-action:hover{background:var(--ui-fill-hover);border-color:var(--border-hover);color:var(--text-primary)}.detail-view-content{flex:1;min-height:0}.detail-view-content.scrollable{overflow-y:auto;overscroll-behavior:contain}.sidesheet-actions{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-5)}.sidesheet-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-default)}.sidesheet-button{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);border:none;border-radius:var(--radius-md);cursor:pointer;word-break:keep-all;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sidesheet-button.primary{background:var(--accent-primary);border:1px solid var(--accent-primary);color:var(--text-on-accent)}.sidesheet-button.primary:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.sidesheet-button.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-default)}.sidesheet-button.secondary:hover{background:var(--ui-fill-hover);border-color:var(--border-hover)}.sidesheet-button.logout{display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3)}.sidesheet-button.logout:hover{background:var(--ui-fill);color:var(--text-primary)}.sidesheet-button:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.background-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.background-option{position:relative;aspect-ratio:16 / 9;border:2px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:var(--bg-secondary);transition:border-color var(--transition-normal),transform var(--transition-normal);padding:0}.background-option:hover{border-color:var(--border-hover);transform:translateY(-2px)}.background-option.selected{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-glow)}.background-thumbnail{width:100%;height:100%;object-fit:cover}.background-none{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);font-size:var(--text-md)}.background-name{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3);background:var(--bg-overlay);color:var(--text-primary);font-size:var(--text-sm);text-align:center}.background-check{position:absolute;top:.5rem;right:.5rem;width:1.5rem;height:1.5rem;background:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-on-accent);font-size:var(--text-sm);font-weight:var(--font-bold)}.sidesheet-loading-fallback{display:flex;align-items:center;justify-content:center;min-height:120px}@media(max-width:480px){.sidesheet{width:100%;max-width:100%}}.calendar-agenda{display:flex;flex-direction:column;gap:var(--space-5);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding-right:var(--space-2)}.calendar-agenda-loading,.calendar-agenda-error,.calendar-agenda-empty{padding:var(--space-6) var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-base)}.calendar-agenda-error{color:var(--status-error)}.calendar-agenda-group{display:flex;flex-direction:column;gap:var(--space-3)}.calendar-agenda-date{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 var(--space-2)}.calendar-agenda-events{display:flex;flex-direction:column;gap:var(--space-2)}.calendar-event-item{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);border-left:3px solid var(--accent-primary)}.calendar-event-item--today{border-left-color:var(--accent-secondary)}.calendar-event-item:hover{background:var(--bg-elevated)}.calendar-event-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.calendar-event-time{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.calendar-event-title{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-location{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2)}.calendar-event-location svg{flex-shrink:0}.calendar-event-location span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-agenda-load-more{width:100%;padding:var(--space-3);background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.calendar-agenda-load-more:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-hover)}.calendar-agenda-load-more:disabled{opacity:.5;cursor:not-allowed}.calendar-agenda-load-more:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.calendar-agenda-inline-error{padding:var(--space-3) var(--space-4);text-align:center;color:var(--status-error);font-size:var(--text-sm)}.guest-landing-voice-demo{--voice-row-fill: rgba(250, 250, 250, .04);--voice-row-fill-hover: rgba(250, 250, 250, .07);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-panel-fill);border:1px solid var(--border-default);border-radius:var(--radius-md)}[data-theme=light] .guest-landing-voice-demo{--voice-row-fill: rgba(0, 0, 0, .04);--voice-row-fill-hover: rgba(0, 0, 0, .07)}.guest-landing-voice-demo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.guest-landing-voice-demo-item{display:block}.guest-landing-voice-demo-row{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--voice-row-fill);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.guest-landing-voice-demo-row:hover{background:var(--voice-row-fill-hover);border-color:var(--border-default)}.guest-landing-voice-demo-row:active{transform:scale(.99)}.guest-landing-voice-demo-row:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.guest-landing-voice-demo-row.is-playing{background:var(--voice-row-fill-hover);border-color:var(--accent-primary)}.guest-landing-voice-demo-row.is-played .guest-landing-voice-demo-name{color:var(--text-secondary)}.guest-landing-voice-demo-row.is-prompting{animation:voicePromptPulse 2.6s ease-out 1}@keyframes voicePromptPulse{0%{box-shadow:0 0 0 0 transparent}20%{box-shadow:0 0 0 4px var(--accent-primary-glow)}60%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.guest-landing-voice-demo-icon{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-primary);color:var(--text-on-accent);transition:background-color .15s ease}.guest-landing-voice-demo-row.is-played .guest-landing-voice-demo-icon{background:var(--surface-panel-fill);color:var(--text-secondary);border:1px solid var(--border-default)}.guest-landing-voice-demo-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.guest-landing-voice-demo-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:.01em}.guest-landing-voice-demo-tagline{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug);word-break:keep-all}.guest-landing-voice-demo-meta{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;flex:none}.guest-landing-voice-demo-row.is-playing .guest-landing-voice-demo-meta{color:var(--accent-primary)}.guest-landing-voice-demo-wave{display:inline-flex;align-items:center;justify-content:center;gap:2px;height:14px}.guest-landing-voice-demo-wave>span{display:block;width:2px;border-radius:1px;background:var(--text-on-accent);animation:voiceWavePulse .9s ease-in-out infinite}.guest-landing-voice-demo-wave>span:nth-child(1){animation-delay:0s}.guest-landing-voice-demo-wave>span:nth-child(2){animation-delay:.15s}.guest-landing-voice-demo-wave>span:nth-child(3){animation-delay:.3s}.guest-landing-voice-demo-wave>span:nth-child(4){animation-delay:.45s}@keyframes voiceWavePulse{0%,to{height:4px}50%{height:14px}}.guest-landing--panel{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:var(--surface-panel-fill);border:1px solid var(--border-default);overflow:hidden}.guest-landing--panel .guest-landing-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-default)}.guest-landing--panel .guest-landing-header-identity{flex-direction:column;gap:var(--space-2)}.guest-landing--panel .guest-landing-model-name{font-size:var(--text-lg);font-weight:var(--font-semibold)}.guest-landing--panel .guest-landing-speech-area{flex:1;display:flex;align-items:flex-start;padding:var(--space-6) var(--space-5);min-height:0;overflow-y:auto}.guest-landing--panel .guest-landing-buttons{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border-default)}.guest-landing--overlay{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:var(--z-overlay);width:min(700px,calc(100% - 2 * var(--space-6)));max-height:calc(100% - 2 * var(--space-6));background:var(--surface-panel-fill);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:guestLandingSlideUp var(--transition-slow)}@keyframes guestLandingSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.guest-landing--overlay .guest-landing-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default);flex-shrink:0}.guest-landing--overlay .guest-landing-header-identity{flex-direction:row;align-items:center;gap:var(--space-3);flex-shrink:1;min-width:0}.guest-landing--overlay .guest-landing-model-name{font-size:var(--text-md);font-weight:var(--font-semibold)}.guest-landing--overlay .guest-landing-speech-area{flex:1;min-height:0;padding:var(--space-4) var(--space-5);overflow-y:auto}.guest-landing--overlay .guest-landing-buttons{grid-template-columns:1fr 1fr;padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border-default);flex-shrink:0}.guest-landing--overlay .guest-landing-status{animation:none}.guest-landing--overlay .guest-landing-capability-list{grid-template-columns:1fr 1fr 1fr}.guest-landing--overlay .guest-landing-capability{align-items:center}.guest-landing--overlay .guest-landing-capability-body{display:none}.guest-landing-header-identity{display:flex;min-width:0;flex-shrink:1}.guest-landing-status-row{display:inline-flex;align-items:center;gap:var(--space-2);line-height:var(--leading-none)}.guest-landing-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.guest-landing-model-name{color:var(--text-primary);line-height:var(--leading-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.guest-landing-header-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--status-info);box-shadow:0 0 6px var(--status-info-border);flex-shrink:0;animation:statusPulse 2s ease-in-out infinite}.guest-landing-header-dot.ready{background:var(--accent-secondary);box-shadow:0 0 6px var(--accent-secondary-glow);animation:none}.guest-landing--overlay .guest-landing-header-dot{width:4px;height:4px;box-shadow:0 0 4px var(--status-info-border);animation:none}.guest-landing--overlay .guest-landing-header-dot.ready{box-shadow:0 0 4px var(--accent-secondary-glow)}.guest-landing-status{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--status-info);animation:statusPulse 2s ease-in-out infinite}.guest-landing-status.ready{color:var(--status-success);animation:none}.guest-landing-close-button{display:none;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.guest-landing-close-button:hover{background:var(--ui-fill);border-color:var(--border-default);color:var(--text-primary)}.guest-landing-close-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.guest-landing-speech{display:flex;flex-direction:column;gap:var(--space-3);max-width:100%;width:100%;align-self:stretch}.guest-landing-speech-text{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-primary);word-break:keep-all;white-space:pre-wrap}.guest-landing-speech-text strong{color:var(--accent-primary)}.guest-landing-cursor{color:var(--accent-primary);animation:guestCursorBlink .6s step-end infinite}@keyframes guestCursorBlink{50%{opacity:0}}.guest-landing-capability-list{display:grid;grid-template-columns:1fr;gap:var(--space-3);list-style:none;margin:var(--space-2) 0 0;padding:0}.guest-landing-capability{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);width:100%;background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:0;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.guest-landing-capability:hover{border-color:var(--accent-primary)}.guest-landing-capability:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.guest-landing-capability[aria-pressed=true]{border-color:var(--accent-primary)}.guest-landing-capability-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--accent-secondary-glow);color:var(--accent-secondary);flex-shrink:0}.guest-landing-capability-text{display:flex;flex-direction:column;min-width:0}.guest-landing-capability-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-snug)}.guest-landing-capability-body{font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-normal);word-break:keep-all}.guest-landing-detail{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-2);flex:1;min-height:0}.guest-landing-back{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0;background:transparent;border:none;color:var(--text-tertiary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast)}.guest-landing-back:hover{color:var(--accent-primary)}.guest-landing-back:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.guest-landing-demo{--chat-msg-assistant-fill: rgba(250, 250, 250, .04);--chat-msg-user-fill: var(--accent-primary);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-panel-fill);border:1px solid var(--border-default);border-radius:var(--radius-md)}[data-theme=light] .guest-landing-demo{--chat-msg-assistant-fill: rgba(0, 0, 0, .04)}.guest-landing-demo-msg{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);max-width:85%;word-wrap:break-word;opacity:0}.guest-landing-demo-msg.is-visible{opacity:1;animation:fadeInSlideUp .3s ease}.guest-landing-demo-msg--user{align-self:flex-end;background:var(--chat-msg-user-fill);border-bottom-right-radius:var(--radius-sm)}.guest-landing-demo-msg--assistant{align-self:flex-start;background:var(--chat-msg-assistant-fill);border-bottom-left-radius:var(--radius-sm)}.guest-landing-demo-role{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.02em;color:var(--text-muted)}.guest-landing-demo-msg--user .guest-landing-demo-role{color:var(--text-on-accent)}.guest-landing-demo-content{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-secondary);white-space:pre-wrap;word-break:keep-all}.guest-landing-demo-msg--user .guest-landing-demo-content{color:var(--text-on-accent)}.guest-landing-demo-msg--assistant.guest-landing-demo-msg--decorated{max-width:95%}.guest-landing-demo-events{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.guest-landing-demo-events .calendar-event-item{cursor:default}.guest-landing-demo-events .calendar-event-item:hover{background:var(--bg-tertiary)}.memory-tower{width:100%;max-width:360px;margin-inline:auto;margin-block:auto;display:flex;flex-direction:column;gap:var(--space-3);animation:memoryTowerFadeIn .5s ease-out}@keyframes memoryTowerFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.memory-tower-tier{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);box-shadow:var(--shadow-sm);min-height:56px;overflow:hidden}.memory-tower-tier:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--memory-tier-accent, var(--accent-primary))}.memory-tower-tier-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:var(--memory-tier-icon-bg, var(--accent-primary-bg));color:var(--memory-tier-accent, var(--accent-primary))}.memory-tower-tier-text{display:flex;flex-direction:column;gap:2px;min-width:0}.memory-tower-tier-title{font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary);word-break:keep-all}.memory-tower-tier-desc{font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-snug);color:var(--text-tertiary);word-break:keep-all}.memory-tower-tier--live{--memory-tier-accent: var(--status-info);--memory-tier-icon-bg: var(--status-info-bg)}.memory-tower-tier--session{--memory-tier-accent: var(--status-success-text);--memory-tier-icon-bg: var(--status-success-bg)}.memory-tower-tier--long{--memory-tier-accent: var(--accent-primary);--memory-tier-icon-bg: var(--accent-primary-bg)}.memory-tower-tier--profile{--memory-tier-accent: var(--status-warning);--memory-tier-icon-bg: var(--status-warning-bg)}.memory-tower-flow{align-self:center;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:999px;background:var(--ui-fill);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap}.memory-tower-flow-label{line-height:var(--leading-none)}.guest-landing-pricing-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:var(--space-2) 0 0;padding:0}.guest-landing-pricing-tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--ui-fill);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:0}.guest-landing-pricing-tile--featured{border-color:var(--accent-primary)}.guest-landing-pricing-tile-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.guest-landing-pricing-tile-body{display:flex;flex-direction:column;gap:2px}.guest-landing-pricing-tier{font-size:var(--text-base);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.guest-landing-pricing-tile--featured .guest-landing-pricing-tier{color:var(--accent-primary)}.guest-landing-pricing-price{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-none)}.guest-landing-pricing-cadence{margin-left:var(--space-1);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text-tertiary)}.guest-landing-pricing-tagline{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary);line-height:var(--leading-snug)}.guest-landing-pricing-detail{font-size:var(--text-base);color:var(--text-tertiary);line-height:var(--leading-normal);word-break:keep-all}.guest-landing-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.guest-landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--ui-fill);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;word-break:keep-all;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.guest-landing-btn:hover:not(:disabled){background:var(--ui-fill-hover);border-color:var(--border-hover)}.guest-landing-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.guest-landing-btn:disabled{opacity:.5;cursor:not-allowed}.guest-landing-btn--cta{grid-column:1 / -1;font-size:var(--text-md);padding:var(--space-3) var(--space-4);background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-on-accent)}.guest-landing-btn--cta:hover:not(:disabled){background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);color:var(--text-on-accent)}.guest-landing-btn--poke{color:var(--text-secondary)}.guest-landing-trust-copy{grid-column:1 / -1;margin-top:calc(var(--space-2) * -.5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);text-align:center;letter-spacing:.02em}@media(max-width:768px){.guest-landing--overlay{bottom:var(--space-4);width:95%}.guest-landing--overlay .guest-landing-header{padding:var(--space-3)}.guest-landing--overlay .guest-landing-speech-area{padding:var(--space-5) var(--space-4)}.guest-landing--overlay .guest-landing-buttons{padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-3)}.guest-landing--panel .guest-landing-header{padding:var(--space-4) var(--space-5)}.guest-landing-trust-copy{display:none}.guest-landing-capability-list>li{display:flex}.guest-landing-capability{height:100%}}@media(orientation:portrait){.guest-landing-close-button{display:flex}.guest-landing--panel .guest-landing-header-actions .avatar-controls-dropdown{display:none}}.toast-container{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px;z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:.625rem;max-width:400px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-4);padding:14px var(--space-5);border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon-wrapper{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.toast-icon{width:16px;height:16px}.toast-success .toast-icon-wrapper{background:var(--status-success-bg);color:var(--status-success)}.toast-error .toast-icon-wrapper{background:var(--status-error-bg);color:var(--status-error)}.toast-info .toast-icon-wrapper{background:var(--status-info-bg);color:var(--status-info)}.toast-content{flex:1;min-width:0}.toast-title{font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-snug)}.toast-message{font-size:var(--text-base);color:var(--text-tertiary);margin-top:var(--space-1);line-height:var(--leading-snug);word-break:break-word}.toast-action{margin-top:var(--space-3);padding:.375rem var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--accent-primary);background:transparent;border:1px solid var(--accent-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);word-break:keep-all}.toast-action:hover{background:var(--accent-primary);color:var(--text-on-accent)}.toast-action:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.toast-dismiss{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:transparent;font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.toast-dismiss:hover{background:var(--ui-fill-hover);color:var(--text-secondary)}.toast-dismiss:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px var(--accent-primary-glow)}.toast-dismiss svg{width:14px;height:14px}@media(max-width:768px){.toast-container{bottom:auto;top:calc(70px + env(safe-area-inset-top,0px));right:10px;left:10px;max-width:none}.toast{padding:var(--space-4) 14px}}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);background:var(--app-bg);color:var(--text-primary);overflow:hidden}.app-container{display:flex;flex-direction:column;width:100%;height:100svh}.app-main{flex:1;padding:0;overflow:hidden;width:100%}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--app-header-pad-x);height:var(--app-header-height);flex-shrink:0;position:relative;z-index:2;background:linear-gradient(180deg,var(--app-header-tint),transparent),var(--app-header-bg);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);border-bottom:1px solid var(--border-default)}.header-right{display:flex;align-items:center;gap:var(--space-3);justify-self:end}.app-logo{font-size:var(--text-logo);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0;line-height:var(--leading-none);white-space:nowrap;background:linear-gradient(90deg,var(--accent-secondary),var(--accent-primary));-webkit-background-clip:text;background-clip:text;color:transparent}@media(forced-colors:active){.app-logo{background:none;color:CanvasText}}.header-auth-button{padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal);white-space:nowrap}.header-signin{background:transparent;border:1px solid var(--border-default);color:var(--text-primary)}.header-signin:hover{background:var(--ui-fill-hover);border-color:var(--border-hover)}.header-signup{background:var(--accent-primary);border:1px solid var(--accent-primary);color:var(--text-on-accent)}.header-signup:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.header-user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-on-accent)}.header-language-toggle{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.05em;padding:var(--space-3) var(--space-4);background:transparent;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal)}.header-language-toggle:hover{background:var(--ui-fill-hover);border-color:var(--border-hover)}.main-content-split{flex:1;display:flex;gap:0;padding:0;overflow:hidden;height:100%;background:transparent}.live2d-section{flex:2;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:0;background:transparent}.live2d-stage{position:relative;width:100%;height:100%;border:none;outline:none;overflow:hidden;background:transparent}.chat-panel-wrapper{position:relative;flex:0 0 auto;width:var(--panel-width);display:flex;overflow:visible;transition:width var(--transition-slow)}.main-content-split.chat-panel-closed .chat-panel-wrapper{flex:0;width:0}.chat-section{width:100%;height:100%;display:flex;opacity:1;transition:opacity var(--transition-slow)}.main-content-split.chat-panel-closed .chat-section{opacity:0;pointer-events:none}.main-content-split.chat-panel-closed .live2d-section{flex:1}@media not (orientation:portrait){.main-content-split.panel-open .chat-section{opacity:1;pointer-events:auto}.main-content-split.panel-open .chat-panel-wrapper{flex:0 0 auto;width:var(--panel-width)}}.live2d-canvas{width:100%;height:100%;display:block;border:none;outline:none;background:transparent;opacity:0;transition:opacity .4s ease-out}.live2d-canvas.live2d-canvas--loaded{opacity:1}.live2d-skeleton{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.live2d-skeleton:before{content:"";width:40%;height:60%;border-radius:var(--radius-xl);background:var(--ui-fill-secondary);animation:statusPulse 2s ease-in-out infinite}@media(orientation:portrait){.app-main{padding:0}.live2d-section{flex:1;padding:0}.chat-panel-wrapper{position:static;flex:unset;min-width:unset;max-width:unset;overflow:visible}.main-content-split.chat-panel-closed .chat-panel-wrapper{flex:unset;min-width:unset;max-width:unset}.chat-section{position:fixed;top:0;left:0;width:100%;height:100%;max-width:none;min-width:0;z-index:var(--z-overlay);transform:translate(0);transition:transform var(--transition-slow),opacity var(--transition-slow);overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.main-content-split.chat-panel-closed .chat-section{transform:translate(100%);opacity:0;pointer-events:none;flex:unset;max-width:none;overflow:visible}.main-content-split.settings-open .chat-section{pointer-events:none}.main-content-split.settings-open .chat-section .secretary-settings-panel{pointer-events:auto}}@media(max-width:768px){.app-logo{font-size:var(--text-lg)}.header-signup,.header-language-toggle{display:none}.header-signin{padding:.375rem .75rem;font-size:var(--text-sm)}.header-user-avatar{width:32px;height:32px;font-size:var(--text-base)}.live2d-stage{border-radius:var(--radius-md)}.app-main{padding:0}.main-content-split{flex-direction:column}.live2d-section{flex:1;min-height:300px;padding:0}.chat-section{flex:1;min-width:0;max-width:none;min-height:300px}}
