@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-v21-latin-700italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter-v20-latin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--color-primary: #1f1137;--color-text-primary: #E8AE9C;--color-background: #0c1444;--color-text-secondary: #74591A;--color-white: #ffffff;--color-surface: #ffffff;--color-surface-secondary: #f8f9fa;--color-border-light: #f8f9fa;--color-border: #ddd;--color-text-muted: #666;--color-text-dark: #333;--color-hover: rgba(31, 17, 55, .1);--color-focus: rgba(232, 174, 156, .3);--color-disabled: rgba(0, 0, 0, .3);--font-family-primary: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-size-h1: clamp(32px, 4vw, 48px);--font-size-h2: clamp(24px, 3vw, 32px);--font-size-h3: clamp(20px, 2.5vw, 24px);--font-size-body: 16px;--font-size-body-large: 18px;--font-size-small: 14px;--font-size-xs: 12px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 40px;--spacing-3xl: 48px;--spacing-4xl: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--container-max-width: 800px;--content-max-width: 1400px;--touch-target-min: 44px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--focus-ring-width: 2px;--focus-ring-offset: 2px;--z-dropdown: 100;--z-modal: 200;--z-overlay: 300;--z-tooltip: 400;--v2-color-bg: #F5F1EA;--v2-color-ink: #1A1814;--v2-color-accent: #6B2C2C;--v2-color-border: #D9D2C5;--v2-color-muted: #645C50;--v2-color-muted-light: #9c978f;--v2-color-surface-primary: #FFFFFF;--v2-color-surface-secondary: #FAF7F1;--v2-color-surface-accent: rgba(122, 39, 39, .435);--v2-color-scrollbar: #645C50;--v2-color-scrollbar-track: #FAF7F1;--v2-radius-md: 4px;--v2-radius-sm: 3px;--v2-font-family-display: "Cormorant Garamond", Georgia, serif;--v2-font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--v2-touch-target: 44px;--v2-focus-ring: 0 0 0 2px var(--v2-color-bg), 0 0 0 4px var(--v2-color-accent)}[data-theme=dark]{--color-primary: #6f45b1;--color-text-primary: #1f1137;--color-background: #0c1444;--color-text-secondary: #7e6e97;--color-surface: #1a1a1a;--color-surface-secondary: #121e28;--color-border-light: #121e28;--color-border: #555;--color-text-muted: #4e4d51;--color-text-dark: #7e6e97;--color-hover: rgba(232, 174, 156, .1);--color-focus: rgba(31, 17, 55, .3);--color-disabled: rgba(255, 255, 255, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .6);--v2-color-bg: #1A1814;--v2-color-ink: #F5F1EA;--v2-color-accent: #bd6464;--v2-color-border: #4A463F;--v2-color-muted: #aaa399;--v2-color-muted-light: #8B8275;--v2-color-surface-primary: #2C2924;--v2-color-surface-secondary: #3A3630;--v2-color-scrollbar: #8B8275;--v2-color-scrollbar-track: #2C2924}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-family-primary);line-height:var(--line-height-normal);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-size:var(--font-size-body);color:var(--v2-color-ink, var(--color-text-dark));background-color:var(--v2-color-surface-secondary, var(--color-surface-secondary))}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-md) 0}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-body-large)}h5{font-size:var(--font-size-body)}h6{font-size:var(--font-size-small)}p{font-family:var(--font-family-primary);font-size:var(--font-size-body);line-height:var(--line-height-normal);margin:0 0 var(--spacing-md) 0}ul,ol{font-family:var(--font-family-primary);line-height:var(--line-height-normal);margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-xs)}code,pre{font-family:Consolas,Monaco,Courier New,monospace;font-size:calc(var(--font-size-body) * .9);line-height:var(--line-height-normal)}code{background-color:var(--v2-color-surface-secondary, var(--color-surface-secondary));padding:2px var(--spacing-xs);border-radius:var(--radius-sm);color:var(--v2-color-ink, var(--color-primary))}pre{background-color:var(--v2-color-surface-secondary, var(--color-surface-secondary));padding:var(--spacing-md);border-radius:var(--radius-sm);overflow-x:auto;border:1px solid var(--v2-color-border, var(--color-border-light));margin:var(--spacing-md) 0}pre code{background:none;padding:0;color:inherit}button{background-color:var(--v2-color-surface-accent);color:var(--v2-color-ink, var(--color-text-dark));min-height:var(--v2-touch-target, var(--touch-target-min));font-family:var(--v2-font-family-primary);border-color:var(--v2-color-border, var(--color-border-light))}blockquote{font-family:var(--v2-font-family-primary);font-size:var(--font-size-body-large);font-style:italic;line-height:var(--line-height-relaxed);margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);border-left:4px solid var(--v2-color-primary, var(--color-primary));background-color:var(--v2-color-surface-secondary, var(--color-surface-secondary));color:var(--v2-color-muted, var(--color-text-secondary))}.text-h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-lg) 0;font-family:var(--v2-font-family-primary)}.text-h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-md) 0;font-family:var(--v2-font-family-primary)}.text-h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-sm) 0;font-family:var(--v2-font-family-primary)}.text-body{font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);font-family:var(--v2-font-family-primary)}.text-body-large{font-size:var(--font-size-body-large);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);font-family:var(--v2-font-family-primary)}.text-small{font-size:var(--font-size-small);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);font-family:var(--v2-font-family-primary)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.text-no-underline{text-decoration:none}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-dark{color:var(--color-text-dark)}.bg-primary{background-color:var(--color-primary)}.bg-surface{background-color:var(--color-surface)}.bg-surface-secondary{background-color:var(--color-surface-secondary)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mx-auto{margin-left:auto;margin-right:auto}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md);box-sizing:border-box}.content-container{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-md);box-sizing:border-box}.section{padding:var(--spacing-xl) 0}.section-sm{padding:var(--spacing-lg) 0}.section-lg{padding:var(--spacing-4xl) 0}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.border{border:1px solid var(--color-border)}.border-light{border:1px solid var(--color-border-light)}.border-b{border-bottom:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}.select-text{-webkit-user-select:text;user-select:text}.space-y-sm>*+*{margin-top:var(--spacing-sm)}.space-y-md>*+*{margin-top:var(--spacing-md)}.space-y-lg>*+*{margin-top:var(--spacing-lg)}.space-x-sm>*+*{margin-left:var(--spacing-sm)}.space-x-md>*+*{margin-left:var(--spacing-md)}.space-x-lg>*+*{margin-left:var(--spacing-lg)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.min-h-screen{min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:initial;margin:initial;overflow:visible;clip:auto;white-space:normal}.focusable:focus{outline:2px solid var(--color-focus);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:var(--spacing-md);background:var(--color-primary);color:var(--color-surface);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;border-radius:var(--radius-sm);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-link:focus{top:var(--spacing-md)}@media(prefers-contrast:high){.btn{border:2px solid currentColor}.card,.input{border:2px solid var(--color-border)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.card-interactive:hover,.btn:hover{transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:1;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;min-height:var(--touch-target-min);min-width:var(--touch-target-min);box-sizing:border-box}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-surface)}.btn-primary:hover:not(:disabled){background-color:#1f1137e6;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-hover);transform:translateY(-1px)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-hover);border-color:var(--color-border)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small);min-height:32px}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-body-large);min-height:48px}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-body);line-height:var(--line-height-normal);background-color:var(--color-surface);color:var(--color-text-dark);transition:border-color var(--transition-normal)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus)}.input::placeholder{color:var(--color-text-muted)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-dark);margin-bottom:var(--spacing-xs);font-family:var(--font-family-primary)}.form-help{font-size:var(--font-size-small);color:var(--color-text-muted);margin-top:var(--spacing-xs);line-height:var(--line-height-normal)}.form-error{font-size:var(--font-size-small);color:#dc3545;margin-top:var(--spacing-xs);line-height:var(--line-height-normal)}.toggle{position:relative;display:inline-block;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:var(--transition-normal);border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-surface);transition:var(--transition-normal);border-radius:50%}.toggle input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.card{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);overflow:hidden;transition:all var(--transition-normal)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-light);background:var(--color-surface-secondary)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border-light);background:var(--color-surface-secondary)}.card-elevated{box-shadow:var(--shadow-lg)}.card-flat{box-shadow:none;border:1px solid var(--color-border)}@media(max-width:768px){.container,.content-container{padding:0 var(--spacing-sm)}.hidden-mobile{display:none}.visible-mobile{display:block}.text-h1{font-size:clamp(28px,6vw,32px)}.text-h2{font-size:clamp(22px,5vw,24px)}.flex-mobile-stack{flex-direction:column;gap:var(--spacing-md)}.btn-mobile-full{width:100%}}@media(min-width:769px){.hidden-desktop{display:none}.visible-desktop{display:block}}@media(hover:none)and (pointer:coarse){.btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.tts-button{min-height:var(--touch-target-min);padding:var(--spacing-sm)}}@media(max-width:768px)and (orientation:landscape){.app-container{height:100vh}.landing-page{padding:var(--spacing-md)}}@media(min-width:1200px){.container{max-width:var(--content-max-width)}.landing-header{padding:var(--spacing-3xl) 0}}[data-theme=dark]{color-scheme:dark}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:var(--v2-color-surface);color:var(--v2-color-ink, var(--color-text-dark));border-color:var(--v2-color-border)}[data-theme=dark] option{background:var(--v2-color-surface-primary, var(--color-surface));color:var(--v2-color-ink, var(--color-text-dark))}[data-theme=dark] ::selection{background:#e8ae9c4d;color:var(--v2-color-ink, var(--color-text-dark))}[data-theme=dark] ::-webkit-scrollbar{width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--v2-color-surface-secondary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--v2-color-border);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--v2-color-muted)}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.send-button,.tts-button{display:none}.chat-message{page-break-inside:avoid;border:1px solid #ddd;margin-bottom:.5cm}.landing-page{padding:1cm}.exhibition-card{page-break-inside:avoid;border:1px solid #ddd;margin-bottom:.5cm}a{text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:12px}}.chat-history{flex:1;padding:var(--spacing-md);overflow-y:auto;background:var(--v2-color-bg, var(--color-surface-secondary));display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:0}.chat-closed-notice{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--v2-color-surface-accent, var(--color-primary));border:1px solid var(--v2-color-border, var(--color-border-light));border-radius:var(--v2-radius-md, var(--radius-md));text-align:center;font-size:var(--font-size-small);font-family:var(--v2-font-family-primary, var(--font-family-primary));color:var(--v2-color-ink, var(--color-text-primary))}.navigate-to-chat-button{padding:var(--spacing-xs) var(--spacing-md);background:var(--v2-color-surface-secondary, var(--color-surface-secondary));color:var(--v2-color-muted, var(--color-text-secondary));border:none;border-radius:var(--v2-radius-sm, var(--radius-sm));font-size:var(--font-size-small);font-family:var(--v2-font-family-primary, var(--font-family-primary));cursor:pointer;transition:opacity .15s}.navigate-to-chat-button:hover{opacity:.85}.chat-message{color:var(--v2-color-ink, var(--color-text-dark));padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--v2-radius-md, var(--radius-lg));max-width:80%;box-shadow:var(--shadow-sm);line-height:var(--line-height-normal);font-size:var(--font-size-body);font-family:var(--v2-font-family-primary, var(--font-family-primary))}.chat-message p{margin-top:.3em;margin-bottom:.3em;line-height:var(--line-height-relaxed)}.chat-message.user{align-self:flex-end;background:var(--v2-color-accent, var(--color-primary));color:var(--v2-color-surface-primary, var(--color-surface))}.chat-message.assistant{align-self:flex-start;background:var(--v2-color-surface-primary, var(--color-surface));border:1px solid var(--v2-color-border, var(--color-border-light))}.chat-message img.chat-image{height:200px;width:100%;display:block;margin:.5em 0;border-radius:var(--v2-radius-sm, var(--radius-sm));object-fit:contain}.chat-message-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);align-items:center}.tts-button{background:var(--v2-color-surface-primary, var(--color-surface));border:1px solid var(--v2-color-border, var(--color-border));border-radius:var(--v2-radius-sm, var(--radius-sm));padding:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-small);font-family:var(--v2-font-family-primary, var(--font-family-primary));font-weight:var(--font-weight-medium);color:var(--v2-color-muted, var(--color-text-secondary));display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);transition:all var(--transition-normal);min-width:var(--v2-touch-target, var(--touch-target-min));min-height:var(--v2-touch-target, var(--touch-target-min));height:var(--v2-touch-target, var(--touch-target-min));width:var(--v2-touch-target, var(--touch-target-min));box-sizing:border-box}.tts-button:hover:not(:disabled){background:var(--v2-color-surface-secondary, var(--color-surface-secondary));border-color:var(--v2-color-muted, var(--color-text-secondary));color:var(--v2-color-accent, var(--color-primary))}.tts-button:disabled{opacity:.5;cursor:not-allowed}.tts-button.generating{background:var(--color-surface);border-color:#ffeaa7;animation:pulse 1.5s infinite}.tts-button.playing{background:var(--color-surface);border-color:#bee5eb}.tts-button.paused{background:var(--color-surface);border-color:#dee2e6}.tts-button.auto-triggered{background:var(--color-surface);border-color:#4caf50}.tts-button.auto-triggered.generating{background:var(--color-surface);border-color:#ff9800}.delete-chat-message{background:none;border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-sm);cursor:pointer;font-size:14px;color:#666;transition:all .2s ease;min-width:var(--touch-target-min);min-height:var(--touch-target-min);height:var(--touch-target-min);width:var(--touch-target-min)}.delete-chat-message:hover{background:#fee;border-color:#fbb;color:#c33}.tts-player{position:absolute;left:-9999px;width:0;height:0;overflow:hidden;pointer-events:none}.tts-button:focus{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.chat-message{max-width:90%;font-size:var(--font-size-small)}}@media(prefers-contrast:high){.chat-message.user{background:var(--color-primary);border:2px solid var(--color-surface)}.chat-message.assistant{border:2px solid var(--color-border)}}.input-area{padding:var(--spacing-md);border-top:1px solid var(--v2-color-border, var(--color-border-light));background:var(--v2-color-surface-primary, var(--color-surface));display:flex;flex-direction:row;align-items:flex-end;gap:var(--spacing-sm);box-sizing:border-box}.input-textarea{width:100%;resize:none;font-size:var(--font-size-body);font-family:var(--v2-font-family-primary, var(--font-family-primary));border:1px solid var(--v2-color-border, var(--color-border));border-radius:var(--v2-radius-sm, var(--radius-sm));padding:var(--spacing-sm);box-sizing:border-box;margin:0;line-height:var(--line-height-normal);background:var(--v2-color-surface-primary, var(--color-surface));color:var(--v2-color-ink, var(--color-text-dark));transition:all var(--transition-normal)}.input-textarea:focus{outline:none;border-color:var(--v2-color-accent, var(--color-primary));box-shadow:var(--v2-focus-ring)}.input-textarea::placeholder{color:var(--v2-color-muted, var(--color-text-muted))}.send-button{align-self:stretch;min-width:76px;font-size:var(--font-size-body-large);font-family:var(--v2-font-family-primary, var(--font-family-primary));font-weight:var(--font-weight-medium);border:none;border-radius:var(--v2-radius-sm, var(--radius-sm));padding:var(--spacing-sm);margin-left:var(--spacing-sm);height:100%;box-sizing:border-box;background:var(--v2-color-accent, var(--color-primary));color:var(--v2-color-surface-primary, var(--color-surface));cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.send-button:hover:not(:disabled){background:var(--v2-color-ink, rgba(31, 17, 55, .9));transform:translateY(-1px)}.send-button:disabled{background:var(--color-disabled);cursor:not-allowed;transform:none;opacity:.5}.file-upload-label{align-self:stretch;min-width:76px;font-size:var(--font-size-body-large);font-family:var(--v2-font-family-primary, var(--font-family-primary));font-weight:var(--font-weight-medium);border:1px solid var(--v2-color-border, var(--color-border));border-radius:var(--v2-radius-sm, var(--radius-sm));padding:var(--spacing-sm);height:100%;box-sizing:border-box;background:var(--v2-color-surface-primary, var(--color-surface));color:var(--v2-color-muted, var(--color-text-secondary));cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.file-upload-label:hover{background:var(--v2-color-surface-accent, var(--color-hover));border-color:var(--v2-color-accent, var(--color-primary));color:var(--v2-color-accent, var(--color-primary))}.file-upload-label svg{width:32px;height:32px;opacity:.8;transition:opacity var(--transition-normal);background:transparent}.file-upload-label:hover img{opacity:1}.send-button:focus{outline:none;box-shadow:var(--v2-focus-ring)}@media(max-width:768px){.input-area{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.input-textarea{font-size:16px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.crop-modal-overlay{position:fixed;inset:0;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.crop-modal-container{width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-md)}.crop-modal-header{text-align:center;color:#fff;padding:var(--spacing-sm) 0}.crop-modal-header h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.crop-modal-hint{margin:0;font-size:var(--font-size-small);color:#ffffffb3}.crop-modal-cropper{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md);background:#000}.crop-modal-cropper .ReactCrop{max-width:100%;max-height:100%}.crop-modal-actions{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.crop-modal-button{flex:1;padding:var(--spacing-md);font-size:var(--font-size-body);font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);min-height:var(--touch-target-min)}.crop-modal-button:disabled{opacity:.5;cursor:not-allowed}.crop-modal-button-cancel{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3)}.crop-modal-button-cancel:hover:not(:disabled){background:#fff3}.crop-modal-button-confirm{background:var(--color-primary);color:#fff}.crop-modal-button-confirm:hover:not(:disabled){background:var(--color-primary-hover)}@media(max-width:768px){.crop-modal-overlay{padding:0}.crop-modal-container{padding:var(--spacing-md)}.crop-modal-header h3{font-size:var(--font-size-h4)}}.camera-capture-overlay{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center}.camera-capture-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.camera-view{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#000}.camera-video{width:100%;height:100%;object-fit:contain;margin-bottom:120px;margin-right:0}.camera-error{color:#fff;text-align:center;padding:2rem}.camera-error p{margin-bottom:1rem;font-size:1.1rem}.camera-button-cancel{position:absolute;top:1rem;left:1rem;background:#0009;color:#fff;border:2px solid rgba(255,255,255,.8);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s ease;z-index:10}.camera-button-cancel:hover{background:#fff3;transform:scale(1.05)}.camera-button-cancel:active{transform:scale(.95)}.camera-zoom-control{position:absolute;bottom:2rem;right:2rem;background:#0009;padding:1rem .75rem;border-radius:20px;z-index:10;display:flex;align-items:center;justify-content:center}.zoom-slider{width:4px;height:80px;-webkit-appearance:none;appearance:none;background:#ffffff4d;border-radius:2px;outline:none;cursor:pointer;writing-mode:vertical-lr;direction:rtl}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer;transition:all .2s ease}.zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.zoom-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease}.zoom-slider::-moz-range-thumb:hover{transform:scale(1.2)}.camera-button-gallery{position:absolute;bottom:3rem;left:2rem;background:#ffffffe6;color:#333;border:none;border-radius:12px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.camera-button-gallery:hover{background:#fff;transform:scale(1.05)}.camera-button-gallery:active{transform:scale(.95)}.camera-button-shutter{position:absolute;bottom:5.5rem;left:50%;transform:translate(-50%);background:#fff;border:4px solid rgba(255,255,255,.9);border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d;z-index:10;padding:1px}.camera-button-shutter:hover{transform:translate(-50%) scale(1.05)}.camera-button-shutter:active{transform:translate(-50%) scale(.9)}.shutter-inner{width:60px;height:60px;background:#fff;border-radius:50%;border:2px solid #333}.preview-crop-view{width:100%;height:100%;display:flex;flex-direction:column;background:#000}.preview-crop-header{padding:1rem;background:#000c}.preview-crop-header h3{margin:0;color:#fff;font-size:1.1rem;font-weight:500;text-align:center}.preview-crop-area{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;min-height:0}.preview-crop-area .ReactCrop{max-width:90%;max-height:90%}.preview-crop-area img{display:block;max-width:100%;height:auto}.preview-bottom-controls{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#000c;border-top:1px solid rgba(255,255,255,.1)}.preview-icon-button{flex-shrink:0;width:44px;height:44px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.preview-icon-button:disabled{opacity:.5;cursor:not-allowed}.preview-button-retake{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3)}.preview-button-retake:hover:not(:disabled){background:#ffffff40;transform:scale(1.05)}.preview-button-retake:active:not(:disabled){transform:scale(.95)}.preview-button-send{background:var(--color-primary);color:#fff}.preview-button-send:hover:not(:disabled){background:#45a049;transform:scale(1.05)}.preview-button-send:active:not(:disabled){transform:scale(.95)}.preview-message-input{flex:1;min-width:0;padding:.65rem .75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:22px;color:#fff;font-size:.95rem;font-family:inherit;resize:none;transition:all .2s ease;line-height:1.4}.preview-message-input:focus{outline:none;background:#ffffff26;border-color:#fff6}.preview-message-input::placeholder{color:#ffffff80}@media(orientation:landscape){.camera-button-gallery{bottom:1.5rem;left:auto;right:1.5rem}.camera-button-shutter{bottom:auto;top:50%;left:auto;right:5rem;transform:translateY(-50%)}.camera-button-shutter:hover{transform:translateY(-50%) scale(1.05)}.camera-button-shutter:active{transform:translateY(-50%) scale(.9)}.camera-zoom-control{top:1.5rem;right:2.2rem;transform:translateY(-40%)}.camera-video{margin-bottom:0;margin-right:120px}}.sidepanel{position:absolute;top:0;bottom:0;left:0;z-index:100;width:320px;max-width:85%;background-color:var(--v2-color-surface-primary, var(--color-surface-secondary, #FAF7F1));border-right:1px solid var(--v2-color-border, var(--color-border-light, #D9D2C5));display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;font-family:var(--v2-font-family-primary, var(--font-family-primary, sans-serif));color:var(--v2-color-ink, var(--color-text-primary, #1A1814));box-shadow:2px 0 8px #0000001a}@media(min-width:768px){.sidepanel{width:320px}}.sidepanel--open{transform:translate(0)}.sidepanel__header{display:flex;align-items:center;gap:var(--v2-radius-md, 4px);padding:8px;border-bottom:1px solid var(--v2-color-border, var(--color-border-light, #D9D2C5));min-height:var(--v2-touch-target, 44px);height:64px}.sidepanel__header-title{flex:1;display:flex;align-items:baseline;gap:2px;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidepanel__app-name{font-family:var(--v2-font-family-display);font-size:22px;font-weight:700;font-style:italic;line-height:1.2;margin:0;color:var(--v2-color-ink, var(--color-text-primary, #1A1814))}.sidepanel__separator{color:var(--v2-color-muted-light, var(--color-text-secondary, #D9D2C5));padding:0 8px}.sidepanel__museum-name{font-family:var(--v2-font-family-primary);font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--v2-color-muted, var(--color-text-secondary, #645C50));overflow:hidden;text-overflow:ellipsis}.sidepanel__new-chat-btn,.sidepanel__close-btn{flex-shrink:0;background:transparent;border:none;color:var(--v2-color-ink, var(--color-text-primary, #1A1814));cursor:pointer;padding:8px;min-width:var(--v2-touch-target, 44px);min-height:var(--v2-touch-target, 44px);display:flex;align-items:center;justify-content:center;border-radius:var(--v2-radius-sm, 3px);transition:background .2s ease}.sidepanel__new-chat-btn:hover,.sidepanel__close-btn:hover{background:var(--v2-color-surface-secondary, var(--color-hover, #FAF7F1))}.sidepanel__new-chat-btn:disabled{opacity:.4;cursor:not-allowed}.sidepanel__new-chat-btn:focus,.sidepanel__close-btn:focus{outline:var(--v2-focus-ring, 2px solid var(--color-focus, #6B2C2C));outline-offset:2px}.sidepanel__nav{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--v2-color-border, var(--color-border-light, #D9D2C5))}.sidepanel__nav-link{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--v2-color-ink, var(--color-text-primary, #1A1814));font-family:inherit;font-size:15px;font-weight:500;padding:12px 20px;cursor:pointer;min-height:var(--v2-touch-target, 44px);transition:background .2s ease}.sidepanel__nav-link:hover{background:var(--v2-color-surface-secondary, var(--color-hover, #FAF7F1))}.sidepanel__nav-link--active{font-weight:600;color:var(--v2-color-accent, var(--color-primary, #6B2C2C));background:var(--v2-color-surface-secondary, var(--color-surface-secondary, #FAF7F1))}.sidepanel__nav-link:focus{outline:var(--v2-focus-ring, 2px solid var(--color-focus, #6B2C2C));outline-offset:-2px}.sidepanel__chats{flex:1;overflow-y:auto;display:flex;flex-direction:column}.sidepanel__chats-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:none;color:var(--v2-color-muted, var(--color-text-secondary, #645C50));font-family:inherit;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:12px 20px;cursor:pointer;min-height:var(--v2-touch-target, 44px)}.sidepanel__chats-header:hover{background:var(--v2-color-surface-secondary, var(--color-hover, #FAF7F1))}.sidepanel__chevron{transition:transform .2s ease;transform:rotate(90deg);flex-shrink:0}.sidepanel__chevron--expanded{transform:rotate(270deg)}.sidepanel__chat-list{display:flex;flex-direction:column}.sidepanel__chat-list-empty{padding:12px 20px;color:var(--v2-color-muted-light, var(--color-text-secondary, #8B8275));font-size:13px}.sidepanel__chat-item{display:flex;align-items:center;border-bottom:1px solid var(--v2-color-border, var(--color-border-light, #D9D2C5))}.sidepanel__chat-item--selected{background:var(--v2-color-surface-secondary, var(--color-surface-secondary, #FAF7F1))}.sidepanel__chat-item-content{flex:1;display:flex;flex-direction:column;gap:2px;background:transparent;border:none;text-align:left;color:inherit;font-family:inherit;padding:10px 20px;cursor:pointer;min-height:var(--v2-touch-target, 44px);min-width:0}.sidepanel__chat-item-content:hover{background:var(--v2-color-surface-secondary, var(--color-hover, #FAF7F1))}.sidepanel__chat-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidepanel__chat-meta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--v2-color-muted-light, var(--color-text-secondary, #8B8275))}.sidepanel__chat-org-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.sidepanel__chat-status{font-style:italic}.sidepanel__delete-chat-btn{flex-shrink:0;background:transparent;border:none;color:var(--v2-color-muted-light, var(--color-text-secondary, #8B8275));font-size:18px;cursor:pointer;padding:8px 12px;min-width:var(--v2-touch-target, 44px);min-height:var(--v2-touch-target, 44px);display:flex;align-items:center;justify-content:center;border-radius:var(--v2-radius-sm, 3px);transition:background .2s ease}.sidepanel__delete-chat-btn:hover{background:var(--v2-color-surface-secondary, var(--color-hover, #FAF7F1));color:var(--v2-color-accent, var(--color-primary, #6B2C2C))}.sidepanel__footer{border-top:1px solid var(--v2-color-border, var(--color-border-light, #D9D2C5));padding:8px 0}.sidepanel__settings-btn{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;color:var(--v2-color-ink, var(--color-text-primary, #1A1814));font-family:inherit;font-size:15px;font-weight:500;padding:12px 20px;cursor:pointer;min-height:var(--v2-touch-target, 44px);transition:background .2s ease}.sidepanel__settings-btn:hover{background:var(--v2-color-surface-secondary, var(--color-hover, #FAF7F1))}.sidepanel__settings-btn:focus{outline:var(--v2-focus-ring, 2px solid var(--color-focus, #6B2C2C));outline-offset:-2px}.v2-app-header{display:flex;align-items:center;justify-content:space-between;width:100%;height:64px;flex-shrink:0;padding:0 16px;background-color:var(--v2-color-bg);color:var(--v2-color-ink);border-bottom:1px solid var(--v2-color-border)}.v2-app-header__left,.v2-app-header__right{display:flex;gap:2px;align-items:center;flex:1 1 auto;min-width:0}.v2-app-header__right{justify-content:flex-end}.v2-app-header__center{display:flex;align-items:center;justify-content:center;flex-shrink:0;text-align:center}.v2-app-header__brand{flex-shrink:0;white-space:nowrap;display:flex;align-items:baseline;gap:2px;min-width:0;overflow:hidden}.v2-app-header__app-name{font-family:var(--v2-font-family-display);font-size:22px;font-weight:700;font-style:italic;line-height:1.2;margin:0;color:var(--v2-color-ink, var(--color-text-primary, #1A1814))}.v2-app-header__separator{color:var(--v2-color-muted-light, var(--color-text-secondary, #8B8275));padding:0 8px}.v2-app-header__museum-name{font-family:var(--v2-font-family-primary);font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--v2-color-muted, var(--color-text-secondary, #645C50));overflow:hidden;text-overflow:ellipsis}.v2-app-header__menu-btn{background:transparent;border:none;padding:8px;margin-left:-8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--v2-color-ink);cursor:pointer;border-radius:var(--v2-radius-sm)}.v2-app-header__menu-btn:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.v2-notification-bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background-color:var(--v2-color-surface-accent);border-radius:var(--v2-radius-md);color:var(--v2-color-ink);font-family:var(--v2-font-family-primary);font-size:14px;border:1px solid var(--v2-color-border)}.v2-notification-bar__message{flex-grow:1;padding-right:16px;color:var(--v2-color-accent)}.v2-notification-bar__controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.v2-notification-bar__actions{display:flex;gap:8px}.v2-notification-bar__action-btn{background:transparent;border:none;padding:4px 8px;font-family:inherit;font-weight:500;color:var(--v2-color-accent);cursor:pointer;border-radius:var(--v2-radius-sm);transition:background-color var(--transition-fast)}.v2-notification-bar__action-btn:hover{background-color:#6b2c2c1a}.v2-notification-bar__action-btn:focus-visible,.v2-notification-bar__dismiss-btn:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.v2-notification-bar__dismiss-btn{background:transparent;border:none;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--v2-color-muted);cursor:pointer;border-radius:var(--v2-radius-sm);transition:all var(--transition-fast)}.v2-notification-bar__dismiss-btn:hover{color:var(--v2-color-ink);background-color:#0000000d}[data-theme=dark] .v2-notification-bar__action-btn:hover{background-color:#da898933}[data-theme=dark] .v2-notification-bar__dismiss-btn:hover{background-color:#ffffff1a}.language-auto-select-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;width:100%;padding:12px 16px;background-color:var(--v2-color-surface-secondary);border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-md);color:var(--v2-color-ink);font-family:var(--v2-font-family-primary);font-size:14px}.language-auto-select-bar__prompt{flex-grow:1}.language-auto-select-bar__options{display:flex;gap:8px;flex-wrap:wrap}.language-auto-select-bar__option{background:transparent;border:1px solid var(--v2-color-border);padding:8px 16px;min-height:var(--v2-touch-target);font-family:inherit;font-size:14px;font-weight:500;color:var(--v2-color-ink);cursor:pointer;border-radius:var(--v2-radius-sm);transition:all var(--transition-fast)}.language-auto-select-bar__option:hover{background-color:var(--v2-color-surface-primary);border-color:var(--v2-color-accent)}.language-auto-select-bar__option--active{border-color:var(--v2-color-accent);color:var(--v2-color-accent);font-weight:600}.language-auto-select-bar__option:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.v2-sticky-cta{position:sticky;bottom:0;left:0;width:100%;padding:16px;background-color:var(--v2-color-bg);border-top:1px solid var(--v2-color-border);z-index:10;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.v2-sticky-cta__container{max-width:var(--content-max-width, 1200px);margin:0 auto}.v2-sticky-cta__btn{width:100%;min-height:48px;padding:12px 24px;background-color:var(--v2-color-accent);color:#fff;border:none;border-radius:var(--v2-radius-md);font-family:var(--v2-font-family-primary);font-size:16px;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;justify-content:center}[data-theme=dark] .v2-sticky-cta__btn{color:#1a1a1a}.v2-sticky-cta__btn:hover:not(:disabled){opacity:.9}.v2-sticky-cta__btn:active:not(:disabled){transform:scale(.98)}.v2-sticky-cta__btn:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.v2-sticky-cta__btn:disabled{background-color:var(--v2-color-muted);cursor:not-allowed;opacity:.5}.landing-page{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--v2-color-bg);font-family:var(--v2-font-family-primary);color:var(--v2-color-ink)}.landing-page__content{flex:1;overflow-y:auto;padding-block:16px;padding-inline:max(16px,calc((100% - 640px)/2));width:100%;display:flex;flex-direction:column;gap:32px}.landing-page__language-bar{margin:0 -4px;order:-2}.landing-page__main,.landing-page__text{display:contents}.landing-page__hero-container{width:100%;height:220px;order:-1}.landing-page__hero-img{width:100%;height:100%;object-fit:cover;border-radius:var(--v2-radius-md)}.landing-page__title{font-family:var(--v2-font-family-display);font-size:clamp(46px,8vw,48px);font-weight:700;font-style:italic;line-height:1.15;color:var(--v2-color-ink);margin:0 0 12px}.landing-page__subtitle{font-family:var(--v2-font-family-primary);font-size:16px;color:var(--v2-color-muted);line-height:1.5;margin:0}.landing-page__intro{display:flex;flex-direction:column;gap:16px}.landing-page__intro-text{font-family:var(--v2-font-family-primary);font-size:16px;line-height:1.6;color:var(--v2-color-ink);margin:0}.landing-page__how-it-works{font-family:var(--v2-font-family-primary);font-size:14px;line-height:1.6;color:var(--v2-color-muted);margin:0}.landing-page__inline-cta{display:none}.landing-page__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.landing-page__step{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--v2-color-surface-primary);border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-md);min-height:var(--v2-touch-target)}.landing-page__step-number{flex-shrink:0;width:32px;height:32px;display:flex;justify-content:center;border-radius:50%;border:1px solid var(--v2-color-accent);color:var(--v2-color-accent);font-family:var(--v2-font-family-display);font-size:18px;font-weight:700;font-style:italic}.landing-page__step-label{font-family:var(--v2-font-family-display);font-size:19px;font-weight:500;color:var(--v2-color-ink);line-height:1.4}.landing-page__step-description{font-family:var(--v2-font-family-primary);font-size:13px;line-height:1.5;color:var(--v2-color-muted);margin:0}@media(min-width:768px){.landing-page__title{font-size:clamp(72px,6vw,64px)}.landing-page__content{flex:1;min-height:0;padding-block:6rem;padding-inline:max(40px,calc((100% - var(--content-max-width)) / 2));gap:40px;overflow-y:auto}.landing-page__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;flex:none}.landing-page__text{display:flex;flex-direction:column;gap:24px;min-width:0}.landing-page__hero-container{height:480px;max-height:480px;order:initial}.landing-page__inline-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:48px;padding:12px 32px;background-color:var(--v2-color-accent);color:#fff;border:none;border-radius:var(--v2-radius-md);font-family:var(--v2-font-family-primary);font-size:16px;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}[data-theme=dark] .landing-page__inline-cta{color:#1a1a1a}.landing-page__inline-cta:hover{opacity:.9}.landing-page__inline-cta:active{transform:scale(.98)}.landing-page__inline-cta:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.landing-page__sticky-cta{display:none}.landing-page__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing-page__how-it-works{grid-column:1 / -1}.landing-page__step{align-items:flex-start;height:100%}}.v2-step-header{margin-bottom:24px}.v2-step-header__eyebrow{font-family:var(--v2-font-family-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--v2-color-muted);margin-bottom:8px}.v2-step-header__title{font-family:var(--v2-font-family-display);font-size:32px;font-weight:700;font-style:italic;color:var(--v2-color-ink);margin:0 0 12px;line-height:1.2}.v2-step-header__description{font-family:var(--v2-font-family-primary);font-size:16px;color:var(--v2-color-muted-light);line-height:1.5;margin:0}.v2-card{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--v2-touch-target);padding:16px;background-color:var(--v2-color-surface-primary);border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-md);cursor:pointer;text-align:left;transition:all var(--transition-fast);color:var(--v2-color-ink);font-family:var(--v2-font-family-primary);margin-bottom:8px}.v2-card:hover{background-color:var(--v2-color-surface-secondary)}.v2-card:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.v2-card--selected{border-color:var(--v2-color-accent);background-color:var(--v2-color-surface-secondary)}.v2-card__content{flex-grow:1;padding-right:16px}.v2-card__indicator{flex-shrink:0;width:24px;height:24px;color:var(--v2-color-accent);display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--v2-color-border)}.v2-card--selected .v2-card__indicator{border-color:transparent}.v2-card__indicator svg{width:100%;height:100%}.visit-type-page{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--v2-color-bg);font-family:var(--v2-font-family-primary);color:var(--v2-color-ink)}.visit-type-page__content{flex:1;min-height:0;overflow-y:auto;width:100%;padding-block:24px;padding-inline:max(16px,calc((100% - var(--content-max-width, 1200px)) / 2));display:flex;flex-direction:column}.visit-type-page__section{margin-bottom:24px}.visit-type-page__section-heading{font-family:var(--v2-font-family-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--v2-color-muted);margin:0 0 12px}.visit-type-page__row{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.visit-type-card{flex:0 0 auto;width:320px;height:300px;display:flex;flex-direction:column;background-color:var(--v2-color-surface-primary);border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-md);overflow:hidden;scroll-snap-align:start;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.visit-type-card--selected{border-color:var(--v2-color-accent);box-shadow:0 0 0 1px var(--v2-color-accent)}.visit-type-card__media{width:100%;height:50%;background-color:var(--v2-color-surface-secondary)}.visit-type-card__img{width:100%;height:100%;object-fit:cover;display:block}.visit-type-card__body{display:flex;flex-direction:column;gap:8px;padding:16px;flex:1}.visit-type-card__title{font-family:var(--v2-font-family-display);font-size:22px;font-weight:700;font-style:italic;color:var(--v2-color-ink);margin:0;line-height:1.2}.visit-type-card__description{font-family:var(--v2-font-family-primary);font-size:14px;color:var(--v2-color-muted);line-height:1.5;margin:0;flex:1}.visit-type-card__select-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:var(--v2-touch-target);padding:10px 20px;margin-top:8px;background-color:var(--v2-color-ink);color:var(--v2-color-bg);border:none;border-radius:var(--v2-radius-sm);font-family:var(--v2-font-family-primary);font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.visit-type-card__select-btn:hover{opacity:.9}.visit-type-card__select-btn:active{transform:scale(.98)}.visit-type-card__select-btn:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.visit-type-card--selected .visit-type-card__select-btn{background-color:var(--v2-color-accent);color:#fff}[data-theme=dark] .visit-type-card--selected .visit-type-card__select-btn{color:#1a1a1a}.visit-type-page__card-title{display:block;font-family:var(--v2-font-family-primary);font-size:16px;font-weight:600;color:var(--v2-color-ink)}.visit-type-page__card-description{display:block;font-family:var(--v2-font-family-primary);font-size:14px;color:var(--v2-color-muted);margin-top:4px;line-height:1.4}.visit-type-page__status{font-family:var(--v2-font-family-primary);font-size:14px;color:var(--v2-color-muted);margin:0 0 16px;text-align:center}.visit-type-page__status--error{color:var(--v2-color-accent)}.visit-type-page__inline-cta{display:none}@media(min-width:768px){.visit-type-page__content{padding-block:32px;padding-inline:max(24px,calc((100% - var(--content-max-width, 1200px)) / 2))}.visit-type-card{width:450px;height:400px}.visit-type-page__inline-cta{display:inline-flex;position:sticky;bottom:20px;align-items:center;justify-content:center;align-self:flex-end;min-height:48px;padding:12px 32px;margin-top:8px;background-color:var(--v2-color-accent);color:#fff;border:none;border-radius:var(--v2-radius-md);font-family:var(--v2-font-family-primary);font-size:16px;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}[data-theme=dark] .visit-type-page__inline-cta{color:#1a1a1a}.visit-type-page__inline-cta:hover{opacity:.9}.visit-type-page__inline-cta:active{transform:scale(.98)}.visit-type-page__inline-cta:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.visit-type-page__sticky-cta{display:none}}@media(min-width:1024px){.visit-type-page__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));overflow-x:visible;scroll-snap-type:none}.visit-type-card{width:auto;scroll-snap-align:none}}.guide-page{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--v2-color-bg);font-family:var(--v2-font-family-primary);color:var(--v2-color-ink)}.guide-page__content{flex:1;min-height:0;overflow-y:auto;width:100%;padding-block:24px;padding-inline:max(16px,calc((100% - var(--content-max-width, 1200px)) / 2));display:flex;flex-direction:column}.guide-page__list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.guide-page__card{margin-bottom:0}.guide-page__card-inner{display:flex;align-items:center;gap:16px;width:100%}.guide-page__avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%;overflow:hidden;background-color:var(--v2-color-surface-secondary);display:flex;align-items:center;justify-content:center}.guide-page__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.guide-page__avatar-initials{font-family:var(--v2-font-family-primary);font-size:18px;font-weight:600;color:var(--v2-color-muted);text-transform:uppercase;letter-spacing:.02em}.guide-page__card-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.guide-page__card-name{font-family:var(--v2-font-family-primary);font-size:16px;font-weight:600;color:var(--v2-color-ink)}.guide-page__card-description{font-family:var(--v2-font-family-primary);font-size:14px;color:var(--v2-color-muted-light);line-height:1.4}.guide-page__status{font-family:var(--v2-font-family-primary);font-size:14px;color:var(--v2-color-muted);margin:0 0 16px;text-align:center}.guide-page__status--error{color:var(--v2-color-accent)}.guide-page__inline-cta{display:none}@media(min-width:768px){.guide-page__content{padding-block:32px;padding-inline:max(24px,calc((100% - var(--content-max-width, 1200px)) / 2))}.guide-page__avatar{width:64px;height:64px}.guide-page__avatar-initials{font-size:20px}.guide-page__inline-cta{display:inline-flex;position:sticky;bottom:0;align-items:center;justify-content:center;align-self:flex-end;min-height:var(--v2-touch-target);padding:12px 32px;margin-top:16px;background-color:var(--v2-color-accent);color:#fff;border:none;border-radius:var(--v2-radius-md);font-family:var(--v2-font-family-primary);font-size:16px;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}[data-theme=dark] .guide-page__inline-cta{color:#1a1a1a}.guide-page__inline-cta:hover{opacity:.9}.guide-page__inline-cta:active{transform:scale(.98)}.guide-page__inline-cta:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.guide-page__inline-cta:disabled{opacity:.5;cursor:not-allowed}.guide-page__sticky-cta{display:none}}@media(min-width:1024px){.guide-page__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}}.muse-switcher{position:relative;display:flex;align-items:center}.muse-switcher-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 8px 4px 4px;border-radius:20px;font-size:var(--font-size-small);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--v2-color-ink, var(--color-text-dark));white-space:nowrap;max-width:160px}.muse-switcher-chip--button{background:var(--v2-color-surface-primary, var(--color-surface));border:1px solid var(--v2-color-border, var(--color-border));cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal)}.muse-switcher-chip--button:hover,.muse-switcher-chip--button:focus-visible,.muse-switcher-chip--open{background:var(--v2-color-surface-accent, var(--color-hover));border-color:var(--v2-color-accent, var(--color-primary));color:var(--v2-color-accent, var(--color-primary));outline:none}.muse-switcher--readonly .muse-switcher-chip{background:transparent;border:none;padding-left:0;cursor:default}.muse-switcher-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0}.muse-switcher-avatar--img{object-fit:cover;display:block}.muse-switcher-avatar--initials{background:var(--v2-color-surface-accent, var(--color-primary));color:var(--v2-color-muted, var(--color-surface));font-size:12px;font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;line-height:1}.muse-switcher-avatar--none{background:var(--v2-color-border, var(--color-border));color:var(--v2-color-muted, var(--color-text-muted))}.muse-switcher-label{overflow:hidden;text-overflow:ellipsis;max-width:100px}.muse-switcher-caret{font-size:10px;opacity:.6;flex-shrink:0}.muse-switcher-dropdown{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:180px;background:var(--v2-color-surface-primary, var(--color-surface));border:1px solid var(--v2-color-border, var(--color-border-light));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);list-style:none;margin:0;padding:var(--spacing-xs) 0;z-index:100}.muse-switcher-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-body);font-family:var(--font-family-primary);color:var(--v2-color-ink, var(--color-text-dark));transition:background var(--transition-normal);background:none;border:none;width:100%;text-align:left;border-radius:0}.muse-switcher-option:hover{background:var(--v2-color-surface-accent, var(--color-hover))}.muse-switcher-option--active{color:var(--v2-color-accent, var(--color-primary));font-weight:var(--font-weight-medium)}.muse-switcher-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-page{background:transparent;font-family:var(--v2-font-family-primary, var(--font-family-primary))}.settings-content{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg)}.settings-section{background:var(--v2-color-surface-primary, var(--color-surface));border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--v2-color-border, var(--color-border-light))}.settings-section-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--v2-color-ink, var(--color-primary));margin:0;line-height:var(--line-height-tight)}.settings-section-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--v2-color-border, var(--color-border-light))}.section-reset-button{background:transparent;border:1px solid var(--v2-color-border, var(--color-border));border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;font-size:var(--font-size-xs);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--v2-color-muted-light);transition:all var(--transition-normal);min-height:28px;white-space:nowrap}.section-reset-button:hover{background:var(--color-hover);border-color:var(--v2-color-border, var(--color-border));color:var(--v2-color-ink)}.section-reset-button:focus{outline:none;border-color:var(--v2-color-primary);box-shadow:0 0 0 2px var(--color-focus)}.settings-row{padding:var(--spacing-lg) 0 var(--spacing-md) 0;border-bottom:1px solid var(--v2-color-border, var(--color-border-light))}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg)}.settings-row-info{flex:1;min-width:0}.settings-row-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--v2-color-ink, var(--color-primary));margin:0 0 var(--spacing-sm) 0}.settings-row-description{font-size:var(--font-size-small);color:var(--v2-color-muted-light, var(--color-text-secondary));margin:0;line-height:var(--line-height-normal)}.settings-row-control{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.settings-row-textarea{width:100%;margin-top:var(--spacing-md)}.tts-toggle-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--v2-font-family-primary, var(--font-family-primary))}.tts-toggle-input{display:none}.tts-toggle-slider{position:relative;width:44px;height:24px;background:var(--v2-color-muted-light, var(--color-border));border-radius:12px;transition:background var(--transition-normal);cursor:pointer}.tts-toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--v2-color-surface-primary, var(--color-surface));border-radius:50%;transition:transform var(--transition-normal);box-shadow:var(--shadow-sm)}.tts-toggle-input:checked+.tts-toggle-slider{background:var(--v2-color-accent)}.tts-toggle-input:checked+.tts-toggle-slider:before{transform:translate(20px)}.tts-toggle-text{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--v2-color-ink, var(--color-text-dark));min-width:120px}.tts-speed-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer}.tts-speed-text{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--v2-color-ink, var(--color-text-dark));min-width:80px}.tts-speed-slider{width:120px;height:6px;border-radius:3px;background:var(--v2-color-border, var(--color-border))!important;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.tts-speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--v2-color-accent, var(--color-primary));cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal)}.tts-speed-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.tts-speed-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--v2-color-ink, var(--color-primary));cursor:pointer;border:none;box-shadow:var(--shadow-sm)}.tts-reset-button{background:transparent;border:1px solid var(--v2-color-border, var(--color-border));border-radius:var(--radius-sm);padding:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-small);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--color-text-muted);transition:all var(--transition-normal);min-width:var(--touch-target-min);min-height:var(--touch-target-min);height:var(--touch-target-min);width:var(--touch-target-min);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.tts-reset-button:hover{background:var(--v2-color-surface-secondary, var(--color-surface-secondary));border-color:var(--v2-color-ink, var(--color-text-secondary));color:var(--v2-color-ink, var(--color-primary))}.speed-control{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.speed-value{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--v2-color-ink, var(--color-primary));min-width:50px;text-align:center}.system-prompt-textarea{width:100%;max-width:100%;padding:var(--spacing-md);border:1px solid var(--v2-color-border);border-radius:var(--v2-radius-sm);font-size:var(--font-size-small);font-family:var(--font-family-primary);line-height:var(--line-height-normal);resize:vertical;background:var(--v2-color-surface-primary, var(--color-surface));color:var(--v2-color-ink, var(--color-text-dark));transition:all var(--transition-normal);min-height:120px;box-sizing:border-box}.system-prompt-textarea:focus{outline:none;border-color:var(--v2-color-primary, var(--color-primary));box-shadow:0 0 0 2px var(--v2-color-accent, var(--color-focus))}.system-prompt-textarea::placeholder{color:var(--v2-color-text-muted, var(--color-text-muted))}.theme-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--v2-color-border, var(--color-border));border-radius:var(--v2-radius-sm);font-size:var(--font-size-small);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);background:var(--v2-color-surface-primary, var(--color-surface));color:var(--v2-color-ink, var(--color-text-dark));cursor:pointer;transition:all var(--transition-normal);min-width:40px}.theme-select:focus{outline:none;border-color:var(--v2-color-primary, var(--color-primary));box-shadow:0 0 0 2px var(--v2-color-accent, var(--color-focus))}.theme-select:hover:not(:disabled){border-color:var(--v2-color-muted-light, var(--color-text-secondary))}.settings-section .tts-toggle-label{justify-content:flex-end}.tts-speed-markers{display:flex;justify-content:space-between;width:120px;font-size:var(--font-size-xs);font-family:var(--font-family-primary);color:var(--v2-color-muted-light, var(--color-text-muted));margin-top:var(--spacing-xs)}@media(max-width:768px){.settings-content{padding:var(--spacing-md)}.settings-section{padding:var(--spacing-lg) var(--spacing-md)}.settings-row-content{flex-direction:row;align-items:flex-start;gap:var(--spacing-md)}.settings-row-control{align-self:flex-start;justify-content:flex-end;flex-shrink:0}.speed-control{min-width:auto;width:100%}.system-prompt-textarea{min-width:100%;font-size:16px}}.settings-row-title:focus,.settings-row-control:focus-within{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-radius:var(--v2-radius-sm)}@media(prefers-contrast:high){.settings-section,.section-reset-button{border:2px solid var(--v2-color-border, var(--color-border))}}.settings-view-overlay{position:fixed;inset:0;background:#1a181480;z-index:var(--z-overlay);display:flex;align-items:flex-end;justify-content:center}.settings-view-panel{background:var(--v2-color-surface-secondary, var(--color-surface-secondary));color:var(--v2-color-ink, var(--color-text-dark));font-family:var(--v2-font-family-primary, var(--font-family-primary));width:100%;max-height:90vh;display:flex;flex-direction:column;border-radius:var(--v2-radius-md) var(--v2-radius-md) 0 0;border:1px solid var(--v2-color-border, var(--color-border-light));border-bottom:none;overflow:hidden}.settings-view-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--v2-color-border, var(--color-border-light));flex-shrink:0}.settings-view-title{font-family:var(--v2-font-family-display, var(--font-family-primary));font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--v2-color-ink, var(--color-primary));margin:0}.settings-view-close{background:transparent;border:none;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--v2-color-muted, var(--color-text-secondary));border-radius:var(--v2-radius-sm);min-width:var(--v2-touch-target, 44px);min-height:var(--v2-touch-target, 44px);display:flex;align-items:center;justify-content:center;transition:color var(--transition-normal),background var(--transition-normal)}.settings-view-close:hover{color:var(--v2-color-ink, var(--color-primary));background:var(--v2-color-surface-accent, var(--color-hover))}.settings-view-close:focus-visible{outline:none;box-shadow:var(--v2-focus-ring)}.settings-view-body{flex:1;overflow-y:auto;min-height:0}@media(min-width:768px){.settings-view-overlay{align-items:center;padding:var(--spacing-lg)}.settings-view-panel{max-width:600px;max-height:85vh;border-radius:var(--v2-radius-md);border-bottom:1px solid var(--v2-color-border, var(--color-border-light))}}.demo-page{min-height:100vh;background:var(--v2-color-surface-secondary);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);font-family:var(--v2-font-family-primary)}.demo-page-content{background:var(--v2-color-surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--v2-color-border, var(--color-border-light));padding:var(--spacing-2xl);width:100%;max-width:480px}.demo-title{font-family:var(--v2-font-family-display);font-size:var(--font-size-h1);color:var(--v2-color-ink, var(--color-primary));margin-bottom:var(--spacing-xl);font-weight:var(--font-weight-semibold);text-align:center}.demo-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.demo-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.demo-form-group label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--v2-color-ink, var(--color-text-primary))}.demo-form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--v2-color-border, var(--color-border-light));border-radius:var(--v2-radius-sm);background:var(--v2-color-surface-primary);color:var(--v2-color-ink, var(--color-text-primary));font-size:var(--font-size-body);font-family:var(--v2-font-family-primary);min-height:var(--v2-touch-target);cursor:pointer;transition:border-color var(--transition-normal);width:100%}.demo-form-group select:focus{outline:none;border-color:var(--v2-color-surface-accent, var(--color-primary))}.demo-form-error{color:#c0392b;font-size:var(--font-size-body);background:#fdf2f2;border:1px solid #f5c6c6;border-radius:var(--v2-radius-sm);padding:var(--spacing-sm) var(--spacing-md)}.demo-form-error p{margin:0}.demo-submit-btn{background:var(--v2-color-accent, var(--color-primary));color:var(--v2-color-surface-primary, var(--color-surface));border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--v2-radius-sm);font-size:var(--font-size-body-large);font-family:var(--v2-font-family-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);min-height:var(--v2-touch-target);width:100%;margin-top:var(--spacing-sm)}.demo-submit-btn:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-md)}.demo-submit-btn:disabled{opacity:.5;cursor:not-allowed}.demo-unavailable{text-align:center;padding:var(--spacing-lg) 0;color:var(--v2-color-muted, var(--color-text-secondary));font-size:var(--font-size-body-large)}.demo-unavailable p{margin:0}.demo-version-badge{position:fixed;right:var(--spacing-sm);bottom:var(--spacing-sm);font-size:.7rem;color:var(--v2-color-muted, var(--color-text-secondary));opacity:.6}.dark-mode .demo-form-error{background:#c0392b26;border-color:#c0392b66;color:#e88080}@media(max-width:540px){.demo-page{padding:var(--spacing-md);align-items:flex-start;padding-top:var(--spacing-2xl)}.demo-page-content{padding:var(--spacing-lg)}}.kiosk-page{min-height:100vh;width:100%;background:var(--v2-color-surface-secondary);display:flex;align-items:center;justify-content:center;font-family:var(--font-family-primary)}.kiosk-page-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xl);padding:var(--spacing-2xl)}.kiosk-qr-wrapper{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.kiosk-capacity{font-family:var(--v2-font-family-primary);font-size:var(--font-size-sm, .875rem);color:var(--v2-color-ink, var(--color-text-secondary));text-align:center;margin-top:calc(var(--spacing-xl) * -.5)}.kiosk-qr-refreshing{opacity:.4;transition:opacity .2s ease}.kiosk-loading,.kiosk-error{background:var(--v2-color-surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--v2-color-border, var(--color-border-light));padding:var(--spacing-2xl);text-align:center;max-width:480px;font-size:var(--font-size-body);color:var(--v2-color-ink, var(--color-text-primary))}.kiosk-error{color:#c0392b;background:#fdf2f2;border-color:#f5c6c6}.app-container{display:flex;flex-direction:column;height:100dvh;max-width:100%;margin:0 auto;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;box-sizing:border-box;background:var(--v2-color-bg, var(--color-surface));font-family:var(--font-family-primary);scrollbar-color:var(--v2-color-scrollbar, var(--color-scrollbar, #645C50)) var(--v2-color-scrollbar-track, var(--color-scrollbar-track, #FAF7F1))}.app-container--chat .chat-view-wrapper{max-width:var(--container-max-width);margin:0 auto;width:100%}.chat-header{width:100%;border-bottom:1px solid var(--v2-color-border, var(--color-border-light));background:var(--v2-color-surface-secondary, var(--color-surface-secondary));display:flex;justify-content:space-between;align-items:center}.app-content{display:flex;flex:1;overflow:hidden;position:relative;height:100%}.main-view{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.chat-view-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--v2-color-bg, var(--color-surface-secondary))}.app-splash{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--v2-color-bg, var(--color-surface))}.app-splash__brand{font-family:var(--v2-font-family-display);font-size:4rem;font-weight:700;font-style:italic;color:var(--v2-color-ink, var(--text-primary));letter-spacing:.02em}.unsupported-env-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;background:var(--background, #fff)}.unsupported-env-content{max-width:480px;text-align:center}.unsupported-env-content h1{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary, #111)}.unsupported-env-content p{font-size:1rem;color:var(--text-secondary, #555);line-height:1.6}
