: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: 1200px;--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}[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)}*,*: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(--color-text-dark);background-color: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(--color-surface-secondary);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);color:var(--color-primary)}pre{background-color:var(--color-surface-secondary);padding:var(--spacing-md);border-radius:var(--radius-sm);overflow-x:auto;border:1px solid var(--color-border-light);margin:var(--spacing-md) 0}pre code{background:none;padding:0;color:inherit}blockquote{font-family:var(--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(--color-primary);background-color:var(--color-surface-secondary);color: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(--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(--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(--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(--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(--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(--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(--color-surface);color:var(--color-text-dark);border-color:var(--color-border)}[data-theme=dark] option{background:var(--color-surface);color:var(--color-text-dark)}[data-theme=dark] ::selection{background:#e8ae9c4d;color:var(--color-text-dark)}[data-theme=dark] ::-webkit-scrollbar{width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-surface-secondary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.settings-cog-button,.back-button,.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(--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(--color-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-small);color:var(--color-text-primary)}.navigate-to-chat-button{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface-secondary);color:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-small);cursor:pointer;transition:opacity .15s}.navigate-to-chat-button:hover{opacity:.85}.chat-message{color:var(--color-text-dark);padding:var(--spacing-sm) var(--spacing-md);border-radius: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(--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(--color-primary);color:var(--color-surface)}.chat-message.assistant{align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border-light)}.chat-message img.chat-image{height:200px;width:100%;display:block;margin:.5em 0;border-radius: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(--color-surface);border:1px solid 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-secondary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);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);box-sizing:border-box}.tts-button:hover:not(:disabled){background:var(--color-surface-secondary);border-color:var(--color-text-secondary);color: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(--color-border-light);background:var(--color-surface);display:flex;flex-direction:row;align-items:flex-end;gap:var(--spacing-sm);box-sizing:border-box}.input-textarea{width:100%;max-width:480px;resize:none;font-size:var(--font-size-body);font-family:var(--font-family-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);box-sizing:border-box;margin:0;line-height:var(--line-height-normal);background:var(--color-surface);color:var(--color-text-dark);transition:all var(--transition-normal)}.input-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus)}.input-textarea::placeholder{color:var(--color-text-muted)}.send-button{align-self:stretch;min-width:76px;font-size:var(--font-size-body-large);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);border:none;border-radius:var(--radius-sm);padding:var(--spacing-sm);margin-left:var(--spacing-sm);height:100%;box-sizing:border-box;background:var(--color-primary);color:var(--color-surface);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.send-button:hover:not(:disabled){background:#1f1137e6;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(--font-family-primary);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);height:100%;box-sizing:border-box;background:var(--color-surface);color: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(--color-hover);border-color:var(--color-primary);color: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:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}@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}}.chat-sidebar{width:260px;background-color:var(--color-surface-secondary);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;transition:transform .3s ease,width .3s ease;position:absolute;top:0;bottom:0;left:0;z-index:10;transform:translate(-100%);height:100%}.chat-sidebar.open{transform:translate(0);position:relative}@media(max-width:768px){.chat-sidebar.open{position:absolute;width:85%;max-width:300px;box-shadow:2px 0 8px #0000001a}}.sidebar-toggle{position:absolute;top:50%;left:0;z-index:20;transform:translateY(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-left:none;border-radius:0 4px 4px 0;padding:16px 6px;cursor:pointer;color:var(--color-text-secondary);box-shadow:2px 0 4px #0000000d;transition:left .3s ease}.sidebar-toggle.open{left:260px}@media(max-width:768px){.sidebar-toggle.open{left:73%}}.sidebar-header{padding:1rem;border-bottom:1px solid var(--color-border-light)}.new-chat-button{width:100%;padding:.75rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background-color .2s;font-family:var(--font-family-primary)}.new-chat-button:hover{filter:brightness(1.1)}.new-chat-disabled{width:100%;padding:.75rem;background-color:var(--color-text-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:500;transition:background-color .2s;font-family:var(--font-family-primary)}.chat-list{flex:1;overflow-y:auto;padding:.5rem}.chat-item{display:flex;align-items:center;padding:.75rem;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:.25rem;transition:background-color .2s;border:1px solid transparent}.chat-item:hover{background-color:var(--color-hover)}.chat-item.selected{background-color:var(--color-surface);border-color:var(--color-border);box-shadow:0 1px 2px #0000000d}.chat-item-content{flex:1;min-width:0;margin-right:.5rem;background:none;border:none;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.chat-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem;color:var(--color-text-dark)}.chat-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.chat-status.closed{background-color:var(--color-disabled);color:var(--color-text-muted);padding:0 .25rem;border-radius:2px;font-size:.65rem;text-transform:uppercase}.chat-org-label{max-width:10ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-secondary);font-size:.7rem;background-color:var(--color-text-primary);border-radius:2px;padding:0 .25rem}.delete-chat-button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;font-size:1.25rem;line-height:1;opacity:0;transition:opacity .2s,color .2s}.chat-item:hover .delete-chat-button{opacity:1}@media(hover:none),(max-width:768px){.delete-chat-button{opacity:1}}.delete-chat-button:hover{color:#ef4444}.landing-page{padding:var(--spacing-lg);background:var(--color-surface-secondary);min-height:100vh;overflow-y:auto;font-family:var(--font-family-primary)}.app-container .landing-page{min-height:auto;height:100%}.landing-header{text-align:center;margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg) 0}.landing-header h1{font-size:var(--font-size-h1);color:var(--color-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.landing-header p{font-size:var(--font-size-body-large);color:var(--color-text-secondary);margin:0}.exhibitions-section{margin-bottom:var(--spacing-2xl)}.exhibitions-section h2{font-size:var(--font-size-h2);color:var(--color-primary);margin-bottom:var(--spacing-lg);text-align:center;font-weight:var(--font-weight-semibold)}.exhibitions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.exhibition-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden;transition:all var(--transition-normal);cursor:pointer;display:flex;flex-direction:column;height:100%}.exhibition-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.exhibition-image{width:100%;height:200px;overflow:hidden}.exhibition-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.exhibition-card:hover .exhibition-image img{transform:scale(1.05)}.exhibition-content{padding:var(--spacing-lg);display:flex;flex-direction:column;flex:1}.exhibition-content h3{font-size:var(--font-size-h3);color:var(--color-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.exhibition-content p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);flex:1}.explore-button{background:var(--color-primary);color:var(--color-surface);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);font-size:var(--font-size-body);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);width:100%;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;margin-top:auto}.explore-button:hover{background:#1f1137e6;transform:translateY(-1px);box-shadow:var(--shadow-md)}.quick-start{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-text-secondary) 100%);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;color:var(--color-surface)}.quick-start-content h3{font-size:var(--font-size-h3);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.quick-start-content p{font-size:var(--font-size-body-large);margin-bottom:var(--spacing-lg);opacity:.9;line-height:var(--line-height-relaxed)}.start-chat-button{background:#fff3;color:var(--color-surface);border:2px solid var(--color-surface);padding:var(--spacing-md) var(--spacing-xl);border-radius:25px;font-size:var(--font-size-body-large);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.start-chat-button:hover{background:var(--color-surface);color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}@media(max-width:768px){.landing-page{padding:var(--spacing-md)}.landing-header h1{font-size:clamp(28px,6vw,32px)}.landing-header p{font-size:var(--font-size-body)}.exhibitions-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.exhibition-content{padding:var(--spacing-md)}.quick-start{padding:var(--spacing-lg)}.quick-start-content h3{font-size:var(--font-size-h3)}}.exhibition-card:focus{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.explore-button:focus,.start-chat-button:focus{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}@media(prefers-contrast:high){.exhibition-card{border:2px solid var(--color-border)}.exhibition-card:hover{border:2px solid var(--color-primary)}.quick-start{border:2px solid var(--color-surface)}}@media(hover:none){.exhibition-card:hover,.exhibition-card:hover .exhibition-image img{transform:none}.explore-button,.start-chat-button{min-height:var(--touch-target-min)}}.muse-cards-section{margin-bottom:var(--spacing-2xl)}.muse-cards-section h2{font-size:var(--font-size-h2);color:var(--color-primary);margin-bottom:var(--spacing-lg);text-align:center;font-weight:var(--font-weight-semibold)}.muse-cards-section p{font-size:var(--font-size-small);color:var(--color-text-secondary);text-align:center}.muse-cards-loading{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-body)}.muse-cards-list{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}.muse-card{display:flex;align-items:center;gap:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:all var(--transition-normal);text-align:left;min-width:220px;max-width:320px;flex:1 1 220px;font-family:var(--font-family-primary)}.muse-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.muse-card:focus{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.muse-card.disabled{opacity:.5;cursor:not-allowed}.muse-card.disabled:hover{transform:none;box-shadow:var(--shadow-lg);border-color:var(--color-border-light)}.muse-card-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.muse-card-avatar img{width:100%;height:100%;object-fit:cover}.muse-card-initials{color:var(--color-surface);font-size:var(--font-size-body-large);font-weight:var(--font-weight-semibold);line-height:1}.muse-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.muse-card-name{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muse-card-description{font-size:var(--font-size-body-small, 13px);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:768px){.muse-cards-list{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:var(--spacing-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none}.muse-cards-list::-webkit-scrollbar{display:none}.muse-card{flex:0 0 auto;min-width:200px}}@media(hover:none){.muse-card:hover{transform:none}}.settings-page{height:100%;background:var(--color-surface-secondary);font-family:var(--font-family-primary);overflow-y:auto;display:flex;flex-direction:column}.settings-header{background:var(--color-surface-secondary);border-bottom:1px solid var(--color-border-light);padding:var(--spacing-sm) var(--spacing-md);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-md);flex-shrink:0}.settings-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0;text-align:center;grid-column:2}.settings-content{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg);flex:1;overflow-y:auto;min-height:0}.settings-section{background: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(--color-border-light)}.settings-section-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color: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(--color-border-light)}.section-reset-button{background:transparent;border:1px solid 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(--color-text-secondary);transition:all var(--transition-normal);min-height:28px;white-space:nowrap}.section-reset-button:hover{background:var(--color-hover);border-color:var(--color-text-secondary);color:var(--color-primary)}.section-reset-button:focus{outline:none;border-color:var(--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(--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(--color-primary);margin:0 0 var(--spacing-sm) 0}.settings-row-description{font-size:var(--font-size-small);color: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(--font-family-primary)}.tts-toggle-input{display:none}.tts-toggle-slider{position:relative;width:44px;height:24px;background: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(--color-surface);border-radius:50%;transition:transform var(--transition-normal);box-shadow:var(--shadow-sm)}.tts-toggle-input:checked+.tts-toggle-slider{background:var(--color-primary)}.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(--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(--color-text-dark);min-width:80px}.tts-speed-slider{width:120px;height:6px;border-radius:3px;background: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(--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(--color-primary);cursor:pointer;border:none;box-shadow:var(--shadow-sm)}.tts-reset-button{background:transparent;border:1px solid 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(--color-surface-secondary);border-color:var(--color-text-secondary);color:var(--color-primary)}.speed-control{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.speed-value{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color: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(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-family:var(--font-family-primary);line-height:var(--line-height-normal);resize:vertical;background:var(--color-surface);color: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(--color-primary);box-shadow:0 0 0 2px var(--color-focus)}.system-prompt-textarea::placeholder{color:var(--color-text-muted)}.theme-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-small);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);background:var(--color-surface);color:var(--color-text-dark);cursor:pointer;transition:all var(--transition-normal);min-width:40px}.theme-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus)}.theme-select:hover:not(:disabled){border-color: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(--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(--radius-sm)}@media(prefers-contrast:high){.settings-section,.section-reset-button{border:2px solid var(--color-border)}}.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(--color-text-secondary);white-space:nowrap;max-width:160px}.muse-switcher-chip--button{background:var(--color-surface);border:1px solid var(--color-border-light);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(--color-hover);border-color:var(--color-primary);color: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(--color-primary);color:var(--color-surface);font-size:10px;font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;line-height:1}.muse-switcher-avatar--none{background:var(--color-border);color: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(--color-surface);border:1px solid 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(--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(--color-hover)}.muse-switcher-option--active{color:var(--color-primary);font-weight:var(--font-weight-medium)}.muse-switcher-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-page{min-height:100vh;background:var(--color-surface-secondary);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);font-family:var(--font-family-primary)}.demo-page-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--spacing-2xl);width:100%;max-width:480px}.demo-title{font-size:var(--font-size-h2);color: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(--color-text-dark)}.demo-form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-dark);font-size:var(--font-size-body);font-family:var(--font-family-primary);min-height:var(--touch-target-min);cursor:pointer;transition:border-color var(--transition-normal);width:100%}.demo-form-group select:focus{outline:none;border-color:var(--color-primary)}.demo-form-error{color:#c0392b;font-size:var(--font-size-body);background:#fdf2f2;border:1px solid #f5c6c6;border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md)}.demo-form-error p{margin:0}.demo-submit-btn{background:var(--color-primary);color:var(--color-surface);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-sm);font-size:var(--font-size-body-large);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);min-height:var(--touch-target-min);width:100%;margin-top:var(--spacing-sm)}.demo-submit-btn:hover:not(:disabled){background:#8b6f3ed9;transform:translateY(-1px);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(--color-text-secondary);font-size:var(--font-size-body-large)}.demo-unavailable p{margin:0}.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(--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-size:var(--font-size-sm, .875rem);color: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(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--spacing-2xl);text-align:center;max-width:480px;font-size:var(--font-size-body);color:var(--color-text-dark)}.kiosk-error{color:#c0392b;background:#fdf2f2;border-color:#f5c6c6}.app-container{display:flex;flex-direction:column;height:100dvh;max-width:var(--container-max-width);margin:0 auto;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;box-sizing:border-box;background:var(--color-surface);font-family:var(--font-family-primary)}.chat-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);background:var(--color-surface-secondary);display:flex;justify-content:space-between;align-items:center}.back-button{background:transparent;border:none;color:var(--color-primary);font-size:var(--font-size-body);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-sm) 0;transition:all var(--transition-normal);min-height:var(--touch-target-min);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.back-button:hover{color:var(--color-text-secondary);text-decoration:underline}.settings-cog-button{background:transparent;border:none;padding:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-body-large);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);min-height:var(--touch-target-min)}.settings-cog-button:hover{background:var(--color-hover);color:var(--color-primary)}.settings-cog-button img{width:32px;height:32px;opacity:.8;transition:opacity var(--transition-normal);background:transparent}.settings-cog-button:hover img{opacity:1}@media(max-width:768px){.chat-header{padding:var(--spacing-sm) var(--spacing-md)}.back-button,.settings-cog-button{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}}.back-button:focus,.settings-cog-button:focus{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.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%}.main-view .chat-view-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.main-view .unsupported-env-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:2rem;background:var(--background, #fff)}.main-view .unsupported-env-content{max-width:480px;text-align:center}.main-view .unsupported-env-content h1{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary, #111)}.main-view .unsupported-env-content p{font-size:1rem;color:var(--text-secondary, #555);line-height:1.6}
