@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;margin:0;overflow:hidden;padding:0;width:100vw}html:-moz-full-screen,html:-ms-fullscreen,html:-webkit-full-screen,html:fullscreen{height:100%!important;margin:0!important;max-height:100%!important;max-width:100%!important;overflow:hidden!important;padding:0!important;width:100%!important}body:-moz-full-screen ::-webkit-scrollbar,body:-ms-fullscreen ::-webkit-scrollbar,body:-webkit-full-screen ::-webkit-scrollbar,body:fullscreen ::-webkit-scrollbar{display:none}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}canvas{display:block}.app-root{background:#000;height:100vh;overflow:hidden;position:relative;width:100vw}.canvas-container{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}:root{--lg-frost-intensity:12px;--lg-bg-dark-color:#1414144d}:root[data-tainted-glass=true]{--lg-bg-dark-color:#141414bf}:root[data-frost-off=true]{--lg-bg-dark-color:#141414d9}:root[data-frost-off=true] .liquid-glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}:root:not([data-liquid-glass=true]){--lg-bg-dark-color:#141414d9;--lg-frost-intensity:0px}:root:not([data-liquid-glass=true]) .liquid-glass{backdrop-filter:none;-webkit-backdrop-filter:none}:root:not([data-liquid-glass=true]) .achievement-notification,:root:not([data-liquid-glass=true]) .btn-toolbar,:root:not([data-liquid-glass=true]) .chat-panel *,:root:not([data-liquid-glass=true]) .contextual-keybinding-hints *,:root:not([data-liquid-glass=true]) .dialogue-modal *,:root:not([data-liquid-glass=true]) .floating-coach *,:root:not([data-liquid-glass=true]) .fsm-editor *,:root:not([data-liquid-glass=true]) .glass-button,:root:not([data-liquid-glass=true]) .glass-card,:root:not([data-liquid-glass=true]) .glass-modal-backdrop,:root:not([data-liquid-glass=true]) .glass-panel,:root:not([data-liquid-glass=true]) .hand-tool-toolbar *,:root:not([data-liquid-glass=true]) .header *,:root:not([data-liquid-glass=true]) .icon-btn-primary,:root:not([data-liquid-glass=true]) .icon-btn-secondary,:root:not([data-liquid-glass=true]) .inventory-modal *,:root:not([data-liquid-glass=true]) .inventory-slot,:root:not([data-liquid-glass=true]) .light-editor-panel *,:root:not([data-liquid-glass=true]) .minimap,:root:not([data-liquid-glass=true]) .modal *,:root:not([data-liquid-glass=true]) .modal-backdrop,:root:not([data-liquid-glass=true]) .npc-radial-menu *,:root:not([data-liquid-glass=true]) .panel-glass,:root:not([data-liquid-glass=true]) .panel-glass-dark,:root:not([data-liquid-glass=true]) .panel-glass-darker,:root:not([data-liquid-glass=true]) .performance-profiler,:root:not([data-liquid-glass=true]) .plugin-manager-panel *,:root:not([data-liquid-glass=true]) .quick-ai-input *,:root:not([data-liquid-glass=true]) .save-notification,:root:not([data-liquid-glass=true]) .settings-toolbar *,:root:not([data-liquid-glass=true]) .spatial-command-panel *,:root:not([data-liquid-glass=true]) .toolgun-toolbar *,:root:not([data-liquid-glass=true]) .tooltip,:root:not([data-liquid-glass=true]) .tutorial-coach,:root:not([data-liquid-glass=true]) .tutorial-coach *,:root:not([data-liquid-glass=true]) .tutorial-dialog,:root:not([data-liquid-glass=true]) .tutorial-dialog *,:root:not([data-liquid-glass=true]) .tw-center-label,:root:not([data-liquid-glass=true]) .tw-glass-ring{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.liquid-glass{--lg-saturation:140%;--lg-corner-radius:100px;--lg-bg-highlight-start:#ffffff05;--lg-bg-highlight-end:#99999903;--lg-bg:linear-gradient(0deg,var(--lg-bg-dark-color) 0%,var(--lg-bg-dark-color) 100%),linear-gradient(102deg,var(--lg-bg-highlight-start) 5.44%,var(--lg-bg-highlight-end) 97.16%);backdrop-filter:blur(12px) saturate(var(--lg-saturation));backdrop-filter:blur(var(--lg-frost-intensity,12px)) saturate(var(--lg-saturation));-webkit-backdrop-filter:blur(12px) saturate(var(--lg-saturation));-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px)) saturate(var(--lg-saturation));background:var(--lg-bg);border:none;border-radius:var(--lg-corner-radius);box-shadow:0 0 10px 0 #0000004d;color:#fff;color:var(--color-text-primary,#fff);isolation:isolate;position:relative}.liquid-glass:before{background:conic-gradient(from 225deg at 50% 50%,#ffffff26 0deg,#ffffff0f 90deg,#7f7f7f26 180deg,#7f7f7f0f 270deg,#ffffff26 1turn);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px;z-index:0}.liquid-glass:after,.liquid-glass:before{border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.liquid-glass:after{background:linear-gradient(135deg,#ffffff1f,#ffffff0a 25%,#0000 50%);z-index:1}.liquid-glass--active{box-shadow:inset 0 0 4px 0 #ffffff26,0 0 10px 0 #0000004d}.liquid-glass--active:before{background:conic-gradient(from 225deg at 50% 50%,#ffffff2e 0deg,#ffffff14 90deg,#7f7f7f2e 180deg,#7f7f7f14 270deg,#ffffff2e 1turn)}.liquid-glass--fallback{backdrop-filter:none;-webkit-backdrop-filter:none}.liquid-glass--toolbar{--lg-saturation:140%;--lg-corner-radius:9999px;box-shadow:0 0 10px 0 #0000004d}.liquid-glass--toolbar:after{background:linear-gradient(135deg,#ffffff14,#0000 40%)}.liquid-glass--modal{--lg-saturation:140%;--lg-corner-radius:20px;box-shadow:0 24px 48px #0006,0 8px 16px #0000004d,inset 0 1px 0 #ffffff14}.liquid-glass--tooltip{--lg-saturation:140%;--lg-corner-radius:6px;box-shadow:0 0 10px 0 #0000004d}.liquid-glass--tooltip:after{background:linear-gradient(135deg,#ffffff0a,#0000 30%)}.liquid-glass--panel{--lg-saturation:140%;--lg-corner-radius:16px;box-shadow:0 0 10px 0 #0000004d}.liquid-glass--chat{--lg-saturation:140%;--lg-corner-radius:24px;box-shadow:0 0 10px 0 #0000004d}.liquid-glass--button{--lg-saturation:140%;--lg-corner-radius:9999px;background:linear-gradient(135deg,#ffffff14,#ffffff05),#1e1e1e99;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.liquid-glass--button:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff0a),#282828b3;box-shadow:0 12px 32px #00000059,0 4px 8px #00000040,inset 0 1px 0 #ffffff1a}.liquid-glass--button:hover:before{background:conic-gradient(from 225deg at 50% 50%,#ffffff40 0deg,#ffffff1f 90deg,#7f7f7f33 180deg,#7f7f7f1a 270deg,#ffffff40 1turn)}.liquid-glass--button:active{transform:scale(.98)}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.liquid-glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:#141414f2}}@media (prefers-reduced-motion:reduce){.liquid-glass{animation:none!important}.liquid-glass,.liquid-glass--button{transition:none!important}.liquid-glass--button:active,.liquid-glass--button:hover{transform:none}}.lg-backdrop{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass)}.lg-backdrop-sm{backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm)}.lg-backdrop-lg{backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg)}.liquid-glass-filters{height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;visibility:hidden;width:0!important}.base-modal-backdrop{align-items:center;animation:backdropFadeIn var(--transition-base);backdrop-filter:blur(12px);backdrop-filter:blur(var(--lg-frost-intensity,12px));-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px));background:var(--color-bg-overlay);bottom:0;display:flex;justify-content:center;left:0;pointer-events:all;position:fixed;right:0;top:0;z-index:var(--z-modal-backdrop)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.base-modal-content{--lg-corner-radius:var(--radius-xl);animation:contentSlideUp var(--transition-base) var(--ease-out);color:var(--color-text-primary);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;position:relative}@keyframes contentSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.base-modal-content--sm{max-width:400px;width:90%}.base-modal-content--md{max-width:600px;width:90%}.base-modal-content--lg{max-width:900px;width:90%}.base-modal-content--full{max-width:none;width:95%}.base-modal-content--dark{--lg-bg-dark-color:#000000d9}.base-modal-backdrop--bottom{align-items:flex-end;padding-bottom:112px}.base-modal-header{align-items:center;border-bottom:var(--border-thin) solid var(--color-border-subtle);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-2xl)}.base-modal-close-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-size:24px;height:32px;line-height:1;padding:0;position:relative;transition:all var(--transition-base);width:32px}.base-modal-close-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.base-modal-close-btn:active{background:#ffffff26;transform:scale(.95)}.base-modal-close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.base-modal-body{color:var(--color-white);flex:1 1;min-height:0;overflow-y:auto;padding:var(--spacing-2xl)}.base-modal-body::-webkit-scrollbar{width:8px}.base-modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:var(--radius-sm)}.base-modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-sm)}.base-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}.base-modal-actions{border-top:var(--border-thin) solid var(--color-border-subtle);display:flex;flex-shrink:0;gap:var(--gap-md);justify-content:flex-end;padding:var(--spacing-2xl)}@media (max-width:768px){.base-modal-content{max-height:95vh;width:95%}.base-modal-actions,.base-modal-body,.base-modal-header{padding:var(--spacing-lg)}.base-modal-actions{flex-wrap:wrap}.base-modal-header-title{font-size:var(--text-lg)}}.city-generator-content{color:var(--color-text-primary);display:flex;flex-direction:column;gap:var(--spacing-2xl)}.city-setting-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.city-setting-section h4{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.city-setting-section h5{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium);margin:0}.city-setting-section p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.city-medieval-options{background:var(--color-surface-card-background);border:var(--border-thin) solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-lg)}.city-checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.city-slider-section{border-top:var(--border-thin) solid var(--color-border-subtle);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.city-slider-section h5{margin-bottom:var(--spacing-xs)}.city-slider-section p{margin-bottom:var(--spacing-sm)}.city-option-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md)}.city-option-grid--4{grid-template-columns:repeat(4,1fr)}.city-option-grid--3{grid-template-columns:repeat(3,1fr)}.city-option-grid--2{grid-template-columns:repeat(2,1fr)}.city-option-button{align-items:center;background:var(--color-surface-card-background);border:var(--border-thin) solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);transition:all var(--transition-base)}.city-option-button:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-medium)}.city-option-button.selected{background:var(--color-primary-alpha-low);border-color:var(--color-primary);outline:var(--border-medium) solid var(--color-primary);outline-offset:-2px}.city-option-button:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.city-option-name{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium)}.city-option-desc{color:var(--color-text-secondary);font-size:var(--text-xs)}.city-slider{-webkit-appearance:none;appearance:none;background:var(--color-border-subtle);border-radius:var(--radius-full);height:6px;outline:none;transition:background var(--transition-base);width:100%}.city-slider:hover:not(:disabled){background:var(--color-border-medium)}.city-slider:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.city-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;height:18px;-webkit-transition:all var(--transition-base);transition:all var(--transition-base);width:18px}.city-slider::-webkit-slider-thumb:hover{box-shadow:0 3px 8px var(--color-primary-alpha-medium);transform:scale(1.15)}.city-slider::-moz-range-thumb{background:var(--color-primary);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;height:18px;-moz-transition:all var(--transition-base);transition:all var(--transition-base);width:18px}.city-slider::-moz-range-thumb:hover{box-shadow:0 3px 8px var(--color-primary-alpha-medium);transform:scale(1.15)}.city-slider::-moz-range-track{background:var(--color-border-subtle);border-radius:var(--radius-full);height:6px;width:100%}.city-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md);-webkit-user-select:none;user-select:none}.city-checkbox-label:has(input:disabled){cursor:not-allowed;opacity:var(--opacity-disabled)}.city-checkbox{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.city-checkbox:disabled{cursor:not-allowed}.city-checkbox-label span{color:var(--color-text-primary);font-size:var(--text-sm)}@media (max-width:600px){.city-option-grid--4{grid-template-columns:repeat(2,1fr)}.city-option-grid--3{grid-template-columns:repeat(3,1fr)}}.tutorial-coach{animation:tutorialFloatIn .5s cubic-bezier(.34,1.56,.64,1);color:#fff;color:var(--color-white,#fff);font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);max-width:calc(100vw - 40px);pointer-events:auto;position:fixed;transition:all .3s cubic-bezier(.4,0,.2,1);width:380px;z-index:10000}@keyframes tutorialFloatIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-coach--dragging{cursor:grabbing;transition:none}.tutorial-coach__header{align-items:center;border-bottom:1px solid #ffffff0d;cursor:grab;display:flex;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.tutorial-coach__header:active{cursor:grabbing}.tutorial-coach__title{align-items:center;color:#fff;color:var(--color-white,#fff);display:flex;font-size:14px;font-weight:600;gap:8px}.tutorial-coach__icon{font-size:18px}.tutorial-coach__header-actions{display:flex;gap:4px}.tutorial-coach__header-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#fff;color:var(--color-white,#fff);cursor:pointer;display:flex;font-family:inherit;font-size:16px;height:32px;justify-content:center;transition:all .2s;width:32px}.tutorial-coach__header-btn:hover{background:linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%);transform:scale(1.1)}.tutorial-coach__header-btn:active{transform:scale(.95)}.tutorial-coach__progress{align-items:center;background:#00000026;display:flex;height:32px;overflow:hidden;padding:0 16px;position:relative}.tutorial-coach__progress-fill{background:linear-gradient(90deg,#ffffff26,#ffffff14);height:100%;left:0;position:absolute;top:0;transition:width .5s cubic-bezier(.4,0,.2,1)}.tutorial-coach__progress-text{color:#fff;color:var(--color-white,#fff);font-size:11px;font-weight:500;letter-spacing:.8px;opacity:.7;position:relative;text-transform:uppercase;z-index:1}.tutorial-coach__content{max-height:400px;overflow-y:auto;padding:20px}.tutorial-coach__content::-webkit-scrollbar{width:6px}.tutorial-coach__content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.tutorial-coach__content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.tutorial-coach__content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.tutorial-coach__step-title{color:#fffffff2;font-size:18px;font-weight:600;line-height:1.3;margin:0 0 12px}.tutorial-coach__description{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0;white-space:pre-line}.tutorial-coach__objectives{background:#00000026;border:1px solid #ffffff0d;border-radius:12px;margin-top:16px;padding:12px}.tutorial-coach__objectives-title{color:#ffffff80;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.tutorial-coach__objectives-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.tutorial-coach__objective{align-items:center;color:#ffffffb3;display:flex;font-size:13px;gap:10px;transition:all .2s}.tutorial-coach__objective--completed{color:#4ade80}.tutorial-coach__objective--completed .tutorial-coach__objective-check{background:#22c55e33;color:#4ade80}.tutorial-coach__objective--skipped{color:#fff6;text-decoration:line-through}.tutorial-coach__objective-check{align-items:center;background:#ffffff1a;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;height:20px;justify-content:center;transition:all .2s;width:20px}.tutorial-coach__objective-text{flex:1 1}.tutorial-coach__objective-optional{color:#fff6;font-size:11px;margin-left:4px}.tutorial-coach__objective-done-btn{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:100px;color:#ffffffb3;cursor:pointer;font-family:inherit;font-size:11px;padding:4px 10px;transition:all .2s}.tutorial-coach__objective-done-btn:hover{background:#ffffff26;color:#fff}.tutorial-coach__validation{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:12px;display:flex;gap:8px;margin-top:16px;padding:12px}.tutorial-coach__validation-success{animation:tutorialSuccessPulse .6s ease-out;background:#22c55e1a;border:1px solid #22c55e33;color:#4ade80}@keyframes tutorialSuccessPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.tutorial-coach__validation-icon{font-size:16px;font-weight:700}.tutorial-coach__validation-waiting{background:#ffffff0d;border:1px solid #ffffff1a;color:#fff;color:var(--color-white,#fff);opacity:.8}.tutorial-coach__validation-spinner{animation:tutorialSpin .8s linear infinite;border:2px solid #fff3;border-radius:50%;border-top:2px solid var(--color-white,#fff);height:14px;width:14px}@keyframes tutorialSpin{to{transform:rotate(1turn)}}.tutorial-coach__footer{border-top:1px solid #ffffff0d;display:flex;gap:8px;padding:16px}.tutorial-coach__footer .btn{flex:1 1}.tutorial-coach--minimized{animation:tutorialMinimizedBounce .5s ease-out;cursor:pointer;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:auto}@keyframes tutorialMinimizedBounce{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.tutorial-coach--minimized:hover{transform:scale(1.05)}.tutorial-coach__minimized-content{align-items:center;display:flex;gap:12px;position:relative}.tutorial-coach__badge{background:#ffffff14;border:1px solid #ffffff1a;border-radius:100px;color:#fff;color:var(--color-white,#fff);font-size:12px;font-weight:600;padding:4px 12px}.tutorial-coach__minimized-pulse{animation:tutorialPulse 2s ease-out infinite;background:#fff;background:var(--color-white,#fff);border-radius:50%;height:12px;position:absolute;right:-4px;top:-4px;width:12px}@keyframes tutorialPulse{0%{box-shadow:0 0 0 0 #ffffffb3}70%{box-shadow:0 0 0 10px #fff0}to{box-shadow:0 0 0 0 #fff0}}@media (max-width:768px){.tutorial-coach{max-width:380px;width:calc(100vw - 20px)}}@media (prefers-reduced-motion:reduce){.tutorial-coach,.tutorial-coach__progress-fill,.tutorial-coach__validation-spinner{animation:none;transition:none}}.tutorial-black-overlay{align-items:center;background:#000;display:flex;inset:0;justify-content:center;position:fixed;z-index:99999}.tutorial-welcome-text{animation:tutorialTextFadeIn 1.5s ease-out;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);font-size:28px;font-weight:300;text-align:center}@keyframes tutorialTextFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-welcome-text p{margin:0}.tutorial-welcome-subtitle{animation:tutorialSubtitleFadeIn 2s ease-out;animation-delay:.5s;animation-fill-mode:both;font-size:20px;margin-top:12px!important;opacity:.7}@keyframes tutorialSubtitleFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:.7;transform:translateY(0)}}.tutorial-welcome-continue{animation:tutorialContinueFadeIn 1.5s ease-out,tutorialContinuePulse 2s ease-in-out infinite;animation-delay:2s,3.5s;animation-fill-mode:both,none;font-size:14px;margin-top:48px!important;opacity:.5}@keyframes tutorialContinueFadeIn{0%{opacity:0}to{opacity:.5}}@keyframes tutorialContinuePulse{0%,to{opacity:.5}50%{opacity:.8}}.tutorial-loading-text{animation:tutorialLoadingPulse 1.5s ease-in-out infinite;color:#fff;font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);font-size:20px;font-weight:300;opacity:.7;text-align:center}.tutorial-loading-text p{margin:0}@keyframes tutorialLoadingPulse{0%,to{opacity:.5}50%{opacity:1}}.tutorial-narrative{left:50%;opacity:0;pointer-events:none;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);transition:opacity .8s ease-in-out;z-index:10001}.tutorial-narrative--visible{opacity:1}.tutorial-narrative-text{animation:tutorialNarrativeFadeIn 1s ease-out;color:#fffffff2;font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);font-size:1.75rem;font-weight:400;line-height:1.5;margin:0;max-width:600px;text-shadow:0 2px 8px #0009,0 4px 16px #0006;white-space:pre-line}@keyframes tutorialNarrativeFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-narrative--visible .tutorial-narrative-text{animation:tutorialNarrativeFadeIn 1s ease-out,tutorialNarrativeGlow 3s ease-in-out 1s infinite}@keyframes tutorialNarrativeGlow{0%,to{text-shadow:0 2px 8px #0009,0 4px 16px #0006}50%{text-shadow:0 2px 8px #0009,0 4px 16px #0006,0 0 20px #ffffff1a}}.tutorial-mission-indicator{animation:missionIndicatorSlideIn .5s cubic-bezier(.34,1.56,.64,1),missionIndicatorPulse .6s ease-out .5s;border-radius:28px;color:#fff;color:var(--color-white,#fff);font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);left:50%;min-width:240px;opacity:0;padding:14px 36px;pointer-events:none;position:fixed;text-align:center;top:20px;transform:translateX(-50%) translateY(-80px);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1);z-index:10002}.tutorial-mission-indicator--visible{opacity:1;transform:translateX(-50%) translateY(0)}.tutorial-mission-indicator__title{font-size:16px;font-weight:600;letter-spacing:.4px;white-space:nowrap}@keyframes missionIndicatorSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes missionIndicatorPulse{0%{box-shadow:0 0 0 0 #fff6}to{box-shadow:0 0 0 12px #fff0}}.tutorial-mission-indicator__progress-bar{background:#001e3c40;border:1px solid #78d2f026;border-radius:12px;height:22px;margin-top:10px;overflow:hidden;position:relative;width:100%}.tutorial-mission-indicator__progress-fill{background:linear-gradient(0deg,#0e91bae6,#32c3dccc,#78dcf0b3);border-radius:11px;height:100%;min-width:6px;position:relative;transition:width .5s ease-out}.tutorial-mission-indicator__progress-fill:after{animation:waterWaveSway 2s ease-in-out infinite alternate;background:#a0e6fa80;border-radius:40% 50% 45% 35%/60% 50% 40% 55%;content:"";filter:blur(1px);height:14px;position:absolute;right:-8px;top:-5px;width:24px}.tutorial-mission-indicator__progress-fill:before{animation:waterShimmerSweep 3.5s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff26,#0000);border-radius:11px;content:"";height:100%;left:-100%;position:absolute;top:0;width:50%}@keyframes waterWaveSway{0%{transform:translateX(-2px) scaleY(.85)}to{transform:translateX(4px) scaleY(1.15)}}@keyframes waterShimmerSweep{0%{left:-50%}to{left:110%}}.tutorial-mission-indicator__progress-info{align-items:center;color:#fff6;display:flex;font-size:10px;justify-content:space-between;letter-spacing:.03em;margin-top:4px}.tutorial-mission-indicator__progress-label{align-items:center;display:flex;gap:3px}.tutorial-mission-indicator__progress-bar--full .tutorial-mission-indicator__progress-fill{background:linear-gradient(0deg,#16a05ae6,#32c878cc,#64e6a0b3)}.tutorial-mission-indicator__progress-bar--full .tutorial-mission-indicator__progress-fill:after{background:#82f0b480}.tutorial-mission-indicator--completed{animation:missionCompletePulse .6s ease-out;border:2px solid #4ade80}.tutorial-mission-indicator__check{color:#4ade80;font-weight:700;margin-right:8px}@keyframes missionCompletePulse{0%{box-shadow:0 0 0 0 #4ade8080}to{box-shadow:0 0 0 14px #4ade8000}}.tutorial-completion-screen{align-items:center;animation:tutorialCompletionFadeIn .8s ease-out;display:flex;inset:0;justify-content:center;pointer-events:auto;position:fixed;z-index:99999}@keyframes tutorialCompletionFadeIn{0%{opacity:0}to{opacity:1}}.tutorial-completion-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000b3;inset:0;position:absolute}.tutorial-completion-content{animation:tutorialCompletionSlideUp .6s cubic-bezier(.34,1.56,.64,1) .2s both;color:#fff;color:var(--color-white,#fff);font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);max-width:480px;position:relative;text-align:center;width:90%}@keyframes tutorialCompletionSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.tutorial-completion-title{font-size:2.25rem;font-size:var(--text-4xl,2.25rem);font-weight:600;font-weight:var(--font-semibold,600);letter-spacing:-.02em;line-height:1.25;line-height:var(--leading-tight,1.25);margin:0 0 1.5rem;margin:0 0 var(--spacing-lg,1.5rem) 0}.tutorial-completion-body{padding-bottom:2rem;padding-bottom:var(--spacing-3xl,2rem)}.tutorial-completion-description{color:#ffffffb3;color:var(--color-text-secondary,#ffffffb3);font-size:1.125rem;font-size:var(--text-lg,1.125rem);line-height:1.625;line-height:var(--leading-relaxed,1.625);margin:0}.tutorial-completion-hint{color:#fff6;color:var(--color-text-tertiary,#fff6);font-size:.875rem;font-size:var(--text-sm,.875rem);line-height:1.5;line-height:var(--leading-normal,1.5);margin:1.5rem 0 0;margin:var(--spacing-lg,1.5rem) 0 0 0}.tutorial-completion-actions{align-items:stretch;display:flex;flex-direction:column;gap:1rem;gap:var(--gap-xl,1rem)}.tutorial-completion-btn{align-items:center;border:1px solid #ffffff1a;border:var(--border-thin,1px) solid var(--color-border-subtle,#ffffff1a);border-radius:1rem;border-radius:var(--radius-xl,1rem);box-shadow:0 4px 16px #0003;box-shadow:var(--glass-shadow,0 4px 16px #0003);color:#fff;color:var(--color-text-primary,#fff);cursor:pointer;display:flex;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);justify-content:center;padding:1.25rem 2rem;padding:var(--spacing-xl,1.25rem) var(--spacing-3xl,2rem);position:relative;text-align:center;transition:all .2s ease;transition:all var(--transition-base,.2s ease)}.tutorial-completion-btn,.tutorial-completion-btn--primary{background:linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%);background:var(--glass-bg-gradient,linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%))}.tutorial-completion-btn--primary{border-color:#ffffff26;border-color:var(--color-border-medium,#ffffff26);font-size:1.25rem;font-size:var(--text-xl,1.25rem);font-weight:600;font-weight:var(--font-semibold,600)}.tutorial-completion-btn--primary:hover{background:linear-gradient(102deg,#ffffff1f 5.44%,#99999914 97.16%);background:var(--glass-bg-gradient-hover,linear-gradient(102deg,#ffffff1f 5.44%,#99999914 97.16%));border-color:#fff3;border-color:var(--color-border-light,#fff3);box-shadow:0 8px 32px #0000004d;box-shadow:var(--shadow-lg,0 8px 32px #0000004d);transform:translateY(-2px)}.tutorial-completion-btn--primary:active{opacity:.9;opacity:var(--opacity-active,.9);transform:translateY(0)}.tutorial-completion-btn--secondary{background:#ffffff0a;background:var(--color-surface-card-background,#ffffff0a);border-color:#ffffff1a;border-color:var(--color-border-subtle,#ffffff1a);color:#ffffffb3;color:var(--color-text-secondary,#ffffffb3);font-size:1.125rem;font-size:var(--text-lg,1.125rem);font-weight:500;font-weight:var(--font-medium,500)}.tutorial-completion-btn--secondary:hover{background:#ffffff0f;background:var(--color-surface-card-background,#ffffff0f);border-color:#ffffff26;border-color:var(--color-border-medium,#ffffff26);color:#fff;color:var(--color-text-primary,#fff)}.tutorial-completion-btn-icon{font-size:1.5rem;font-size:var(--text-2xl,1.5rem);margin-bottom:.25rem;margin-bottom:var(--spacing-xs,.25rem);opacity:.8;opacity:var(--opacity-hover,.8)}.tutorial-completion-btn-subtitle{display:block;font-size:.875rem;font-size:var(--text-sm,.875rem);font-weight:400;font-weight:var(--font-normal,400);margin-top:.25rem;margin-top:var(--spacing-xs,.25rem);opacity:.9;opacity:var(--opacity-active,.9)}@media (max-width:480px){.tutorial-completion-title{font-size:1.875rem;font-size:var(--text-3xl,1.875rem)}.tutorial-completion-description{font-size:1rem;font-size:var(--text-base,1rem)}.tutorial-completion-btn--primary{font-size:1.125rem;font-size:var(--text-lg,1.125rem);padding:1.5rem 1.25rem;padding:var(--spacing-lg,1.5rem) var(--spacing-xl,1.25rem)}.tutorial-completion-btn--secondary{font-size:1rem;font-size:var(--text-base,1rem);padding:1rem 1.5rem;padding:var(--spacing-md,1rem) var(--spacing-lg,1.5rem)}}@media (prefers-reduced-motion:reduce){.tutorial-completion-btn,.tutorial-completion-content,.tutorial-completion-screen{animation:none;transition:none}}.tutorial-dialog-overlay{align-items:center;animation:tutorialOverlayFadeIn .3s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10001}@keyframes tutorialOverlayFadeIn{0%{opacity:0}to{opacity:1}}.tutorial-dialog{animation:tutorialDialogSlideIn .4s cubic-bezier(.34,1.56,.64,1);color:#fff;color:var(--color-white,#fff);font-family:system-ui,-apple-system,sans-serif;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);max-width:calc(100vw - 40px);width:420px}@keyframes tutorialDialogSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-dialog__header{align-items:center;display:flex;gap:12px;padding:24px 24px 0}.tutorial-dialog__icon{font-size:32px}.tutorial-dialog__title{color:#fffffff2;font-size:20px;font-weight:600;line-height:1.3;margin:0}.tutorial-dialog__content{padding:20px 24px 24px}.tutorial-dialog__content p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0}.tutorial-dialog__actions{display:flex;gap:12px;padding:0 24px 24px}.tutorial-dialog__actions .btn{flex:1 1}@media (max-width:480px){.tutorial-dialog{width:calc(100vw - 20px)}.tutorial-dialog__actions{flex-direction:column}}.device-choice-buttons{display:flex;gap:12px;width:100%}.device-choice-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;color:#ffffffe6;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:20px 16px 16px;position:relative;transition:background .2s,border-color .2s,transform .15s}.device-choice-btn:hover{background:#ffffff24;border-color:#ffffff4d;transform:translateY(-2px)}.device-choice-btn:active{transform:translateY(0)}.device-choice-btn__icon{filter:brightness(1.1);height:48px;opacity:.9;width:48px}.device-choice-btn__label{font-size:15px;font-weight:600;letter-spacing:.01em}.device-choice-btn__badge{background:#78dc781f;border-radius:4px;color:#78dc78f2;font-size:10px;font-weight:600;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}@media (prefers-reduced-motion:reduce){.tutorial-dialog,.tutorial-dialog-overlay{animation:none;transition:none}}@keyframes fadeInBounce{0%{opacity:0;transform:translate(-50%,-90%)}50%{transform:translate(-50%,-105%)}to{opacity:1;transform:translate(-50%,-100%)}}.loading-screen{align-items:center;background:var(--color-neutral-900);display:flex;font-family:var(--font-sans);inset:0;justify-content:center;overflow:hidden;position:absolute;z-index:2000}.loading-screen:before{background:radial-gradient(circle 50vh at 20% 100%,#ffa66680 0,#0000 70%),radial-gradient(circle 100vh at 50% 100%,#ab6fff99 0,#0000 60%),radial-gradient(circle 50vh at 80% 100%,#85e0a080 0,#0000 70%);content:"";filter:blur(180px);inset:-180px;position:absolute;z-index:-1}.loading-screen__content{align-items:center;display:flex;flex-direction:column;max-width:500px;padding:var(--spacing-3xl);text-align:center}.loading-screen__title{color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--spacing-3xl) 0}.loading-screen__subtitle{color:var(--color-text-secondary);font-size:var(--text-base);margin:0 0 var(--spacing-lg) 0}.loading-screen__progress{background:#ffffff1a;border-radius:var(--radius-full);height:2px;margin-bottom:var(--spacing-4xl);max-width:400px;overflow:hidden;width:100%}.loading-screen__progress-fill{background:var(--color-base-white);border-radius:var(--radius-full);height:100%;transition:width .3s ease-out}.loading-screen__tip{animation:tipFadeIn .3s ease-out;backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--color-surface-card-background);border:1px solid var(--color-surface-card-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--text-sm);max-width:400px;padding:var(--spacing-lg) var(--spacing-xl)}.loading-screen__tip-label{color:var(--color-text-primary);font-weight:var(--font-medium)}@keyframes tipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.no-tab-focus-container [role=button]:focus,.no-tab-focus-container a:focus,.no-tab-focus-container button:focus,.no-tab-focus-container input:focus,.no-tab-focus-container select:focus,.no-tab-focus-container textarea:focus{box-shadow:none;outline:none}.no-tab-focus-container input[type=number]:focus,.no-tab-focus-container input[type=search]:focus,.no-tab-focus-container input[type=text]:focus,.no-tab-focus-container textarea:focus{cursor:text}.no-tab-focus-container [role=button],.no-tab-focus-container a[href],.no-tab-focus-container button{cursor:pointer}.no-tab-focus-container [role=button]:active,.no-tab-focus-container button:active{opacity:.9;transform:scale(.98)}.no-tab-focus-container button:disabled,.no-tab-focus-container input:disabled,.no-tab-focus-container select:disabled,.no-tab-focus-container textarea:disabled{cursor:not-allowed;opacity:.5}.plugin-manager-panel{animation:slideDown var(--transition-base) var(--ease-out);position:fixed;right:24px;top:112px;z-index:var(--z-modal)}.plugin-panel-content{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border:var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);color:var(--color-text-primary);font-family:var(--font-sans);max-height:70vh;max-width:400px;min-width:340px;overflow-y:auto;padding:var(--spacing-lg)}.plugin-panel-content h3{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--spacing-md) 0;text-align:center}.plugin-stats{background:#ffffff0d;border:var(--border-thin) solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;gap:var(--gap-lg);justify-content:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm)}.plugin-stats .stat{font-size:var(--text-sm);font-weight:var(--font-semibold)}.plugin-stats .stat.active{color:var(--color-success)}.plugin-stats .stat.suspended{color:var(--color-warning)}.plugin-stats .stat.error{color:var(--color-danger)}.plugin-stats .stat.total{color:var(--color-text-secondary);margin-left:auto}.plugin-mode-indicator{background:#ffffff08;border:var(--border-thin) solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-sm);text-align:center}.plugin-mode-indicator strong{color:var(--color-white)}.plugin-mode-indicator .world-type{color:var(--color-text-tertiary)}.plugin-list{display:flex;flex-direction:column;gap:var(--gap-sm)}.plugin-item{background:#ffffff08;border:var(--border-thin) solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:all var(--transition-base)}.plugin-item:hover{background:#ffffff0f;border-color:var(--color-border-medium)}.plugin-item.state-active{border-left:var(--border-thick) solid var(--color-success)}.plugin-item.state-suspended{border-left:var(--border-thick) solid var(--color-warning);opacity:.8}.plugin-item.state-error{background:var(--color-danger-alpha-low);border-left:var(--border-thick) solid var(--color-danger)}.plugin-item.state-unloaded{border-left:var(--border-thick) solid var(--color-neutral-500);opacity:.6}.plugin-item.state-initializing,.plugin-item.state-loading{border-left:var(--border-thick) solid var(--color-primary)}.plugin-header{align-items:center;display:flex;gap:var(--gap-sm);padding:var(--spacing-sm) var(--spacing-md)}.plugin-icon{flex-shrink:0;font-size:var(--text-base)}.plugin-name{color:var(--color-text-primary);flex:1 1;font-size:var(--text-sm);font-weight:var(--font-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-state{flex-shrink:0;font-size:var(--text-sm)}.plugin-actions{display:flex;gap:var(--gap-xs)}.plugin-action{align-items:center;background:#0000;border:none;border-radius:var(--radius-xs);cursor:pointer;display:flex;font-size:var(--text-xs);height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.plugin-action.play{background:#27ae6026;color:var(--color-success)}.plugin-action.play:hover:not(:disabled){background:var(--color-success);color:var(--color-white)}.plugin-action.pause{background:#ffa66626;color:var(--color-warning)}.plugin-action.pause:hover:not(:disabled){background:var(--color-warning);color:var(--color-white)}.plugin-action.stop{background:var(--color-danger-alpha-low);color:var(--color-danger)}.plugin-action.stop:hover:not(:disabled){background:var(--color-danger);color:var(--color-white)}.plugin-action.retry{background:var(--color-primary-alpha-low);color:var(--color-primary)}.plugin-action.retry:hover:not(:disabled){background:var(--color-primary);color:var(--color-white)}.plugin-action:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.plugin-loading{animation:pulse 1s infinite;font-size:var(--text-xs)}.expand-icon,.plugin-loading{color:var(--color-text-tertiary)}.expand-icon{flex-shrink:0;font-size:var(--text-2xs);transition:transform var(--transition-base)}.expand-icon.expanded{transform:rotate(90deg)}.plugin-details{background:#0003;border-top:var(--border-thin) solid var(--color-border-subtle);font-size:var(--text-xs);padding:var(--spacing-md)}.plugin-description{color:var(--color-text-secondary);line-height:var(--leading-normal);margin-bottom:var(--spacing-sm)}.plugin-meta{display:flex;flex-wrap:wrap;gap:var(--gap-lg);margin-bottom:var(--spacing-sm)}.meta-item{color:var(--color-text-secondary)}.meta-item strong{color:var(--color-text-primary)}.plugin-deps,.plugin-services{background:#ffffff08;border-radius:var(--radius-xs);color:var(--color-text-secondary);margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.plugin-deps strong,.plugin-services strong{color:var(--color-primary-light)}.plugin-submodules{margin-top:var(--spacing-sm)}.plugin-submodules strong{color:var(--color-primary-light)}.plugin-submodules ul{list-style:none;margin:var(--spacing-sm) 0 0 0;padding:0}.plugin-submodules li{align-items:center;background:#ffffff08;border-radius:var(--radius-xs);color:var(--color-text-tertiary);display:flex;gap:var(--gap-sm);margin-bottom:var(--spacing-xs);padding:var(--spacing-sm)}.plugin-submodules li.loaded{background:#27ae601a;color:var(--color-success)}.submodule-status{flex-shrink:0;font-size:var(--text-xs)}.submodule-name{flex:1 1;font-size:var(--text-xs)}.submodule-toggle{border:none;border-radius:var(--radius-2xs);cursor:pointer;font-size:var(--text-2xs);font-weight:var(--font-medium);padding:var(--spacing-2xs) var(--spacing-sm);transition:all var(--transition-fast)}.submodule-toggle.enable{background:#27ae6026;color:var(--color-success)}.submodule-toggle.enable:hover:not(:disabled){background:var(--color-success);color:var(--color-white)}.submodule-toggle.disable{background:#ffa66626;color:var(--color-warning)}.submodule-toggle.disable:hover:not(:disabled){background:var(--color-warning);color:var(--color-white)}.submodule-toggle:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.default-badge{background:#ffffff1a;border-radius:var(--radius-2xs);color:var(--color-text-tertiary);font-size:var(--text-2xs);margin-left:var(--spacing-sm);padding:var(--spacing-2xs) var(--spacing-sm)}.plugin-error{background:var(--color-danger-alpha-low);border-radius:var(--radius-xs);margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.plugin-error,.plugin-error strong{color:var(--color-danger)}.plugin-panel-content>.btn{margin-top:var(--spacing-md)}.plugin-panel-content::-webkit-scrollbar{width:6px}.plugin-panel-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:var(--radius-full)}.plugin-panel-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}.plugin-panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.header-toolbar{gap:32px;padding:8px}.header-toolbar,.header-toolbar__group{align-items:center;display:flex;flex-direction:row}.header-toolbar__group{gap:8px}.header{align-items:center;display:flex;justify-content:space-between;left:var(--grid-margin);pointer-events:none;position:fixed;right:var(--grid-margin);top:var(--grid-margin);z-index:var(--z-dropdown)}.header>*{pointer-events:auto}.header--play-mode{justify-content:flex-end}.chat-toggle-button{align-items:center;color:var(--color-text-primary);cursor:pointer;display:flex;height:64px;justify-content:center;transition:all var(--transition-base);width:64px}.chat-toggle-button:hover{transform:scale(1.05)}.chat-toggle-button.active,.chat-toggle-button:hover{background:linear-gradient(0deg,#1e1e1e66,#1e1e1e66),linear-gradient(102deg,#ffffff0a 5.44%,#99999905 97.16%)}.chat-toggle-button.active{border-color:#ffffff1a}.chat-toggle-button svg{pointer-events:none;transition:transform var(--transition-base)}.chat-toggle-button:hover svg{transform:scale(1.1)}.play-pause-controls{align-items:center;color:var(--color-white);display:flex;flex-direction:row;font-family:var(--font-sans);padding:8px}.play-pause-controls .control-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);box-shadow:none;color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-size:var(--text-xs);font-weight:500;height:48px;justify-content:center;padding:0;text-align:center;transition:all var(--transition-base);width:48px}.play-pause-controls .control-button:disabled{cursor:not-allowed;opacity:.5}.play-pause-controls .control-button:hover:not(:disabled):not(.active){border:1px solid #ffffff0d;transform:scale(1.05)}.play-pause-controls .control-button:hover:not(:disabled):not(.active),.play-pause-controls .play-button.active{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(0deg,#1e1e1e66,#1e1e1e66),linear-gradient(102deg,#ffffff0a 5.44%,#99999905 97.16%);box-shadow:0 0 10px 0 #0000004d}.play-pause-controls .play-button.active{border:1px solid #ffffff0d;border-radius:100px}.play-pause-controls .control-button svg{pointer-events:none;transition:transform .3s ease}.play-pause-controls .control-button:hover svg{transform:scale(1.1)}.header-tooltip{animation:headerTooltipFadeIn .1s ease-out;backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);background:linear-gradient(135deg,#1e1e1efa,#141414fa);border:var(--border-thin) solid #ffffff26;border-radius:var(--radius-sm);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff0d;color:var(--color-white);font-size:var(--text-sm);font-weight:500;letter-spacing:.3px;padding:var(--spacing-sm) var(--spacing-lg);pointer-events:none;position:fixed;white-space:nowrap;z-index:10000}@keyframes headerTooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.header-tooltip-arrow{border-bottom:6px solid #1e1e1efa;border-left:6px solid #0000;border-right:6px solid #0000;height:0;left:50%;position:absolute;top:-6px;transform:translateX(-50%);width:0}.bottom-toolbar-group{align-items:center;bottom:24px;bottom:var(--grid-margin,24px);display:flex;flex-direction:column;gap:16px;left:50%;overflow:visible;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:1000;z-index:var(--z-dropdown,1000)}.bottom-toolbar-group>*{pointer-events:auto}.bottom-toolbar-group__toolbar-row{align-items:flex-end;display:flex;flex-direction:row;gap:8px;gap:var(--spacing-sm,8px)}.toolgun-toolbar{align-items:center;color:var(--color-white);display:flex;flex-direction:row;font-family:var(--font-sans);gap:8px;overflow:hidden;padding:8px;transition:width .3s ease}.toolgun-toolbar--expanded{width:auto}.toolgun-toolbar--collapsed{cursor:pointer;width:72px}.toolgun-toolbar--collapsed:hover{background:linear-gradient(0deg,#1e1e1e66,#1e1e1e66),linear-gradient(102deg,#ffffff0a 5.44%,#99999905 97.16%)}@keyframes toolgunSlideDownOffscreen{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(100% + 24px))}}@keyframes toolgunSlideUpOnscreen{0%{opacity:0;transform:translateY(calc(100% + 24px))}to{opacity:1;transform:translateY(0)}}.toolgun-toolbar--hidden{animation:toolgunSlideDownOffscreen .3s ease-out forwards;pointer-events:none}.toolgun-toolbar--was-hidden{animation:toolgunSlideUpOnscreen .3s ease-out forwards}.toolgun-toolbar .tool-button-base{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);box-shadow:none;color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-size:var(--text-xs);font-weight:500;height:56px;justify-content:center;padding:0;text-align:center;transition:all var(--transition-base);width:56px}.toolgun-toolbar .tool-button-base:disabled{cursor:not-allowed;opacity:.5}.toolgun-toolbar .tool-button-base:hover:not(:disabled):not(.active){backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay-hover),var(--glass-bg-gradient-hover);border:var(--glass-border);box-shadow:var(--glass-shadow);transform:scale(1.05)}.toolgun-toolbar .toolgun-button.active{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%);border:1px solid #ffffff0d;border-radius:100px;box-shadow:0 0 10px 0 #0000004d}.toolgun-toolbar .button-icon{height:48px;object-fit:contain;pointer-events:none;transition:transform .3s ease;width:48px}.toolgun-toolbar .tool-button-base:hover .button-icon{transform:rotate(-8deg) scale(1.1)}.toolgun-tooltip{animation:tooltipFadeIn var(--transition-fast);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);background:linear-gradient(135deg,#1e1e1efa,#141414fa);border:var(--border-thin) solid var(--color-border-medium);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl),0 0 0 1px #ffffff0d;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:.3px;padding:var(--spacing-sm) var(--spacing-lg);pointer-events:none;position:fixed;transform:translateX(-50%) translateY(-100%);white-space:nowrap;z-index:var(--z-tooltip)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(calc(-100% + 5px))}to{opacity:1;transform:translateX(-50%) translateY(-100%)}}.toolgun-tooltip .tooltip-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #1e1e1efa;bottom:-6px;height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.settings-tabs{border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-sm)}.settings-tab{background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base)}.settings-tab:hover{background:#ffffff0d;color:var(--color-text-primary)}.settings-tab.active{background:#ffffff1a;color:var(--color-text-primary)}.settings-content{min-height:300px}.settings-section{animation:fadeIn .2s ease}.settings-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-action-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--text-md);font-weight:500;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);transition:all var(--transition-base)}.settings-action-btn--primary{background:linear-gradient(135deg,#4caf5033,#4caf501a);border-color:#4caf504d;color:#81c784}.settings-action-btn--primary:hover{background:linear-gradient(135deg,#4caf504d,#4caf5033);border-color:#4caf5080;transform:translateY(-1px)}.settings-action-btn--secondary{background:linear-gradient(135deg,#ffffff14,#ffffff0a);border-color:#ffffff1a;color:var(--color-text-primary)}.settings-action-btn--secondary:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff14);border-color:#fff3;transform:translateY(-1px)}.action-icon{font-size:var(--text-xl)}.settings-option{background:#ffffff08;border:1px solid #ffffff0d;border-radius:var(--radius-md);padding:var(--spacing-lg)}.settings-option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.settings-checkbox-label{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md)}.settings-checkbox{accent-color:#4caf50;accent-color:var(--color-primary,#4caf50);cursor:pointer;height:18px;width:18px}.settings-option-title{color:var(--color-text-primary);font-size:var(--text-md);font-weight:500}.settings-option-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5;margin:var(--spacing-sm) 0}.settings-option-note{color:var(--color-text-tertiary);font-size:var(--text-xs);font-style:italic;margin-top:var(--spacing-md)}.settings-status-badge{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;font-family:Courier New,monospace;font-size:var(--text-xs);font-weight:700;padding:4px 12px}.settings-status-badge.enabled{border-color:#4caf504d;color:#4caf50;color:var(--color-success,#4caf50)}.settings-status-badge.disabled{color:var(--color-text-tertiary)}.settings-select{-webkit-appearance:none;appearance:none;background:#ffffff0d;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23999' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);margin:var(--spacing-sm) 0;padding:var(--spacing-sm) var(--spacing-md);padding-right:32px;width:100%}.settings-select:hover{background-color:#ffffff14;border-color:#fff3}.settings-select:focus{border-color:#4caf5080;outline:none}.settings-select option{background:#1a1a1a;color:var(--color-text-primary)}.settings-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#ffffff1a,#ffffff4d);border-radius:3px;cursor:pointer;height:6px;margin:var(--spacing-md) 0;width:100%}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:16px;width:16px}.settings-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;height:16px;width:16px}.settings-slider-labels{color:var(--color-text-tertiary);display:flex;font-size:var(--text-xs);justify-content:space-between}.control-reference{background:#ffffff08;border:1px solid #ffffff0d;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.control-reference-title{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-md) 0;text-transform:uppercase}.control-reference-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr}.control-reference-item{align-items:center;background:#ffffff08;border-radius:var(--radius-sm);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.control-reference-icon{flex-shrink:0;opacity:.85}.control-reference-key-badge{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;color:var(--color-text-primary);display:inline-flex;flex-shrink:0;font-family:Courier New,monospace;font-size:var(--text-xs);font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 6px}.control-reference-info{display:flex;flex-direction:column;gap:2px}.control-reference-input{color:var(--color-text-primary);font-size:var(--text-xs);font-weight:500}.control-reference-action{color:var(--color-text-tertiary);font-size:var(--text-xs)}.keybindings-intro{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--spacing-lg)}.keybindings-list{display:flex;flex-direction:column;gap:var(--spacing-lg);max-height:350px;overflow-y:auto;padding-right:var(--spacing-sm)}.keybindings-list::-webkit-scrollbar{width:6px}.keybindings-list::-webkit-scrollbar-track{background:#ffffff08;border-radius:3px}.keybindings-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.keybindings-list::-webkit-scrollbar-thumb:hover{background:#fff3}.keybindings-category{background:#ffffff05;border:1px solid #ffffff0d;border-radius:var(--radius-md);padding:var(--spacing-md)}.keybindings-category-title{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-md) 0;text-transform:uppercase}.keybindings-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.keybinding-item{align-items:center;background:#ffffff08;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.keybinding-key{background:#ffffff14;border:1px solid #ffffff1a;border-radius:4px;color:var(--color-text-primary);font-family:Courier New,monospace;font-size:var(--text-sm);font-weight:600;padding:4px 10px}.keybinding-action{color:var(--color-text-secondary);font-size:var(--text-sm)}.settings-close-btn{background:#ffffff14;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:var(--spacing-sm) var(--spacing-xl);transition:all var(--transition-base)}.settings-close-btn:hover{background:#ffffff1f;border-color:#fff3}.profile-selector{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(4,1fr);margin:var(--spacing-lg) 0}.profile-button{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;padding:var(--spacing-md) var(--spacing-sm);text-align:center;transition:all var(--transition-base)}.profile-button:hover{background:#ffffff1a;border-color:#fff3;color:var(--color-text-primary);transform:translateY(-1px)}.profile-button.active{background:linear-gradient(135deg,#4caf5033,#4caf501a);border-color:#4caf5080;color:#81c784;font-weight:600}.profile-button.active:hover{background:linear-gradient(135deg,#4caf504d,#4caf5033)}.profile-details{background:#ffffff05;border:1px solid #ffffff0d;border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-md)}.profile-details-title{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-md);text-transform:uppercase}.profile-details-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}.profile-setting{align-items:center;background:#ffffff08;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm)}.profile-setting-label{color:var(--color-text-tertiary);font-size:var(--text-xs)}.profile-setting-value{color:var(--color-text-primary);font-family:Courier New,monospace;font-size:var(--text-xs);font-weight:600}.restart-warning{background:linear-gradient(135deg,#ff98001a,#ff98000d);border:1px solid #ff98004d;border-radius:var(--radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.restart-warning-title{color:#ffb74d;font-size:var(--text-sm);font-weight:600;margin-bottom:var(--spacing-sm)}.restart-warning-list{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0 0 var(--spacing-md) var(--spacing-lg);padding:0}.restart-warning-list li{margin-bottom:var(--spacing-xs)}.restart-badge{background:linear-gradient(135deg,#ff980033,#ff98001a);border:1px solid #ff980066;border-radius:12px;color:#ffb74d;font-size:var(--text-xs);font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.restart-button{background:linear-gradient(135deg,#ff98004d,#ff980033);border:1px solid #ff980080;border-radius:var(--radius-md);color:#ffb74d;cursor:pointer;font-size:var(--text-sm);font-weight:600;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base);width:100%}.restart-button:hover{background:linear-gradient(135deg,#ff980066,#ff98004d);border-color:#ff9800b3;transform:translateY(-1px)}.settings-section .settings-option+.settings-option{margin-top:var(--spacing-lg)}.audio-channel{background:#ffffff08;border:1px solid #ffffff0d;border-radius:var(--radius-md);padding:var(--spacing-lg)}.audio-channel+.audio-channel{margin-top:var(--spacing-md)}.audio-master{background:#ffffff0d;border-color:#ffffff1a}.audio-channel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.audio-channel-label{color:var(--color-text-primary);font-size:var(--text-md);font-weight:500}.audio-master .audio-channel-label{font-weight:600}.audio-channel-controls{align-items:center;display:flex;gap:var(--spacing-md)}.audio-volume-pct{color:var(--color-text-secondary);font-family:Courier New,monospace;font-size:var(--text-sm);font-weight:600;min-width:40px;text-align:right}.audio-mute-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;padding:0;transition:all var(--transition-base);width:32px}.audio-mute-btn:hover{background:#ffffff1a;border-color:#fff3}.audio-mute-btn.muted{background:#ef53501a;border-color:#ef53504d;color:#ef5350}.audio-mute-btn.muted:hover{background:#ef535033;border-color:#ef535080}.audio-channel-slider{width:100%}.chat-panel{--lg-corner-radius:var(--grid-radius,24px);display:flex;flex-direction:column;flex-shrink:0;height:calc(100vh - 48px);height:calc(100vh - var(--grid-margin, 24px)*2);left:24px;left:var(--grid-margin,24px);max-width:500px;min-width:320px;position:fixed;top:24px;top:var(--grid-margin,24px);transition:transform .3s ease-out,opacity .3s ease-out;width:calc(25vw - 12px);width:calc(25vw - var(--grid-margin, 24px)/2);z-index:1000;z-index:var(--z-dropdown,1000)}.chat-panel--open{opacity:1;pointer-events:auto;transform:translateX(0)}.chat-panel--closed{opacity:0;pointer-events:none;transform:translateX(calc(-100% - 24px));transform:translateX(calc(-100% - var(--grid-margin, 24px)))}.chat-panel-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-panel-header{align-items:center;border-bottom:1px solid #ffffff0d;border-radius:24px 24px 0 0;border-radius:var(--lg-corner-radius,24px) var(--lg-corner-radius,24px) 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-2xl)}.chat-panel-title{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:-.01em}.chat-panel-header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.chat-panel-messages{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-2xl)}.chat-panel-messages,.chat-placeholder{display:flex;flex-direction:column;gap:var(--spacing-md)}.chat-placeholder{align-items:center;color:var(--color-text-tertiary);height:100%;justify-content:center}.chat-placeholder-icon{font-size:var(--text-5xl);opacity:.4}.chat-placeholder-text{font-size:var(--text-sm);font-weight:var(--font-medium)}.chat-panel-input-container{flex-shrink:0;padding:var(--spacing-xl) var(--spacing-2xl) var(--spacing-2xl)}.chat-panel-input-wrapper{align-items:center;background:linear-gradient(0deg,#00000026,#00000026),#ffffff0a;background:linear-gradient(0deg,#00000026 0,#00000026 100%),var(--theme-colors-surface-card-background,#ffffff0a);border:1px solid #ffffff1a;border:1px solid var(--theme-colors-surface-card-border,#ffffff1a);border-radius:100px;box-shadow:inset -1px -1px 1px 0 #ffffff1a,inset 4px 4px 4px 0 #0000001a;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);transition:border-color var(--transition-base),border-radius var(--transition-base)}.chat-panel-input-wrapper--emphasize{animation:chatInputPulse 1.5s ease-in-out infinite;border:1px solid #ffffff4d!important}@keyframes chatInputPulse{0%,to{box-shadow:0 0 0 0 #ffffffb3;transform:scale(1)}50%{box-shadow:0 0 20px 4px #fff6;transform:scale(1.02)}}.chat-panel-input-wrapper--multiline{align-items:flex-end;border-radius:24px}.chat-panel-input-wrapper .icon-btn-primary{background:var(--color-base-white);color:var(--color-base-black)}.chat-panel-input-wrapper .icon-btn-primary:hover{background:var(--color-neutral-200);color:var(--color-base-black)}.chat-panel-input-wrapper .icon-btn-primary:disabled{background:var(--color-neutral-400);color:var(--color-neutral-600)}.chat-panel-input{background:#0000;border:none;border-radius:0;color:var(--color-text-primary);flex:1 1;font-family:inherit;font-size:var(--text-base);line-height:1.5;max-height:120px;min-height:24px;outline:none;padding:var(--spacing-sm) 0;resize:none}.chat-panel-input::placeholder{color:var(--color-text-tertiary)}.chat-panel-input:disabled{cursor:not-allowed;opacity:.5}.chat-panel-input-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.chat-panel-resize-handle{background:#0000;border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:col-resize;height:calc(100% - 48px);height:calc(100% - var(--grid-radius, 24px)*2);position:absolute;right:0;top:24px;top:var(--grid-radius,24px);transition:background var(--transition-fast);width:8px;z-index:10}.chat-panel-resize-handle:after{background:var(--color-border-strong);border-radius:1px;content:"";height:40px;opacity:0;position:absolute;right:3px;top:50%;transform:translateY(-50%);transition:opacity var(--transition-fast);width:2px}.chat-panel-resize-handle.active:after,.chat-panel-resize-handle:hover:after{opacity:1}.chat-panel-resize-handle.active,.chat-panel-resize-handle:hover{background:#ffffff14}.chat-panel-messages::-webkit-scrollbar{width:6px}.chat-panel-messages::-webkit-scrollbar-track{background:#0000}.chat-panel-messages::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:3px}.chat-panel-messages::-webkit-scrollbar-thumb:hover{background:var(--color-border-medium)}.chat-panel--collapsed{animation:chatCollapsedSlideIn .2s ease-out;backdrop-filter:blur(12px);backdrop-filter:blur(var(--lg-frost-intensity,12px));-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px));background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff05 5.44%,#99999903 97.16%);border:1px solid #ffffff0d;border-radius:var(--radius-full);box-shadow:0 0 10px 0 #0000004d;height:auto;left:24px;left:var(--grid-margin,24px);padding:var(--spacing-xs);position:fixed;top:calc(80px + var(--spacing-md));top:calc(var(--grid-margin, 24px) + 56px + var(--spacing-md));width:auto;z-index:1000;z-index:var(--z-dropdown,1000)}@keyframes chatCollapsedSlideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.chat-panel-expand-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:flex;height:48px;justify-content:center;transition:all var(--transition-fast);width:48px}.chat-panel-expand-btn:hover{background:linear-gradient(102deg,#ffffff0a 5.44%,#99999905 97.16%);color:var(--color-text-primary);transform:scale(1.05)}.chat-message{animation:chat-message-appear .2s ease-out;display:flex;flex-direction:column}@keyframes chat-message-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message--user{align-self:flex-end;max-width:85%}.chat-message--assistant{align-self:flex-start;max-width:100%}.chat-message--system{align-self:center;max-width:100%}.chat-message-content{word-wrap:break-word;border-radius:var(--radius-lg);font-size:var(--text-base);line-height:1.2;padding:var(--spacing-md) var(--spacing-lg);white-space:pre-line}.chat-message--user .chat-message-content{backdrop-filter:blur(12px);backdrop-filter:blur(var(--lg-frost-intensity,12px));-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px));background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff05 5.44%,#99999903 97.16%);border:1px solid #ffffff0d;border-radius:16px;border-bottom-right-radius:4px;box-shadow:0 0 10px 0 #0000004d;color:var(--color-text-primary)}.chat-message--assistant .chat-message-content{background:#0000;border:none;color:var(--color-text-primary);padding-left:0}.chat-message--assistant .chat-message-content p{margin:0}.chat-message--assistant .chat-message-content>p+p{margin-top:var(--spacing-sm)}.chat-message--assistant .chat-message-content strong{color:var(--color-text-primary);font-weight:var(--font-semibold)}.chat-message--assistant .chat-message-content ol,.chat-message--assistant .chat-message-content ul{margin:0;padding-left:var(--spacing-xl)}.chat-message--assistant .chat-message-content li{margin:0}.chat-message--assistant .chat-message-content code{background:#ffffff1a;border-radius:var(--radius-sm);font-family:monospace;font-size:.9em;padding:2px 6px}.chat-message--assistant .chat-message-content pre{background:#0000004d;border-radius:var(--radius-md);margin:var(--spacing-sm) 0;overflow-x:auto;padding:var(--spacing-md)}.chat-message--assistant .chat-message-content pre code{background:#0000;padding:0}.chat-message--system .chat-message-content{background:#0000;border:none;color:var(--color-text-tertiary);font-size:var(--text-xs);padding:var(--spacing-sm) var(--spacing-md);text-align:center}.chat-message--streaming .chat-message-content{position:relative}.chat-streaming-cursor{animation:cursor-blink .8s ease-in-out infinite;background:var(--color-text-secondary);display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-status{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-normal);margin-left:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm)}.chat-status--disconnected{background:#ef444426;color:#ef4444}.chat-error{align-items:center;background:#ef44441a;border-bottom:1px solid #ef444433;color:#ef4444;display:flex;font-size:var(--text-sm);gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl)}.chat-error-dismiss{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;transition:background var(--transition-fast);width:24px}.chat-error-dismiss:hover{background:#ef444433}.chat-credits-exhausted{align-items:center;background:#f59e0b1a;border-bottom:1px solid #f59e0b33;color:#f59e0b;display:flex;font-size:var(--text-sm);gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl)}.chat-credits-badge{align-items:center;background:#ffffff14;border-radius:var(--radius-full);color:var(--color-text-tertiary);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);height:20px;justify-content:center;margin-left:var(--spacing-sm);min-width:20px;padding:0 6px;vertical-align:middle}.chat-credits-badge--low{background:#f59e0b26;color:#f59e0b}.chat-credits-badge--critical{background:#ef444426;color:#ef4444}.chat-tool-card{align-items:center;animation:chat-message-appear .2s ease-out;backdrop-filter:blur(6px);backdrop-filter:blur(calc(var(--lg-frost-intensity, 12px)*.5));-webkit-backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(calc(var(--lg-frost-intensity, 12px)*.5));background:#ffffff08;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-sm);margin:var(--spacing-sm) 0;padding:12px}.chat-tool-card--inline{margin:var(--spacing-md) 0}.chat-tool-card-icon{align-items:center;background:#ffffff0f;border-radius:var(--radius-sm);color:var(--color-text-secondary);display:flex;height:48px;justify-content:center;min-width:48px;overflow:hidden;width:48px}.chat-tool-card-thumbnail{border-radius:var(--radius-sm);height:100%;object-fit:cover;width:100%}.chat-tool-card-body{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-2xs);min-width:0}.chat-tool-card-title{color:var(--color-text-primary);font-size:16px;font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tool-card-subtitle{color:var(--color-text-tertiary);font-size:14px;line-height:1}.chat-tool-card-subtitle--pending{animation:pulse 1.5s ease-in-out infinite}.chat-tool-card-subtitle--error{color:var(--color-danger)}.chat-tool-card-progress{background:#ffffff14;border-radius:2px;height:3px;margin-top:var(--spacing-2xs);overflow:hidden}.chat-tool-card-progress-fill{background:linear-gradient(90deg,#3b82f699,#60a5facc);border-radius:2px;height:100%;transition:width .3s ease-out}.chat-tool-card-progress-fill--pending{animation:progress-shimmer 1.5s ease-in-out infinite}@keyframes progress-shimmer{0%{background:linear-gradient(90deg,#3b82f699,#60a5facc)}50%{background:linear-gradient(90deg,#60a5facc,#93c5fde6)}to{background:linear-gradient(90deg,#3b82f699,#60a5facc)}}.chat-tool-card-action{background:#ffffff0f;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--spacing-xs) var(--spacing-md);transition:background var(--transition-fast),color var(--transition-fast)}.chat-tool-card-action:hover{background:#ffffff1f;color:var(--color-text-primary)}.chat-message-content--segmented{display:flex;flex-direction:column;gap:0}.chat-message-tool-segment{margin:var(--spacing-xs) 0}.chat-level-menu-container{position:relative}.chat-level-menu{animation:menu-appear .15s ease-out;backdrop-filter:blur(12px);backdrop-filter:blur(var(--lg-frost-intensity,12px));-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px));background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff05 5.44%,#99999903 97.16%);border:1px solid #ffffff0d;border-radius:20px;box-shadow:0 0 10px 0 #0000004d;margin-top:var(--spacing-sm);max-height:400px;overflow:hidden;position:absolute;right:0;top:100%;width:280px;z-index:100}@keyframes menu-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.chat-level-menu-header{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase}.chat-level-menu-empty,.chat-level-menu-loading{color:var(--color-text-tertiary);font-size:var(--text-sm);padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.chat-level-menu-list{max-height:320px;overflow-y:auto}.chat-level-menu-item{align-items:center;border-bottom:1px solid #ffffff0d;cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);transition:background var(--transition-fast)}.chat-level-menu-item:hover{background:#ffffff0d}.chat-level-menu-item:last-child{border-bottom:none}.chat-level-menu-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.chat-level-menu-item-name{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-level-menu-item-date{color:var(--color-text-tertiary);font-size:var(--text-xs)}.chat-level-menu-item-delete{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-left:var(--spacing-sm);transition:all var(--transition-fast);width:28px}.chat-level-menu-item-delete:hover{background:#ef444433;color:#ef4444}.chat-save-toast{animation:toast-appear .2s ease-out;background:#22c55e26;border-bottom:1px solid #22c55e4d;color:#22c55e;font-size:var(--text-sm);padding:var(--spacing-sm) var(--spacing-lg);text-align:center}.chat-save-toast--error{background:#ef444426;border-color:#ef44444d;color:#ef4444}@keyframes toast-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-spin{animation:spin 1s linear infinite}.icon-btn.saving-pulse{animation:savingPulse 1.5s ease-in-out infinite}@keyframes savingPulse{0%,to{background:#4ade801a;box-shadow:0 0 0 0 #4ade8066}50%{background:#4ade8033;box-shadow:0 0 8px 2px #4ade804d}}.chat-scroll-to-bottom{align-self:center;background:#1e1e1ea6;bottom:8px;box-shadow:0 2px 8px #0006;flex-shrink:0;position:-webkit-sticky;position:sticky;z-index:10}.chat-underlay{background:linear-gradient(90deg,#141414b3,#14141480 60%,#14141400);height:100vh;left:0;pointer-events:none;position:fixed;top:0;transition:opacity .3s ease-out;width:41.66667vw;z-index:10}.chat-underlay--visible{opacity:1}.chat-underlay--hidden{opacity:0}.minimap-container{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141414f2;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0009;overflow:hidden;position:fixed;right:16px;top:16px;z-index:1000}.minimap-canvas{border-radius:12px;display:block;height:100%;image-rendering:pixelated;width:100%}.minimap-player-indicator{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:3}.player-dot{animation:pulse 1.5s ease-in-out infinite;background:#0f0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 8px #0f0c;height:8px;width:8px}.minimap-overlay{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.minimap-info{background:#000000b3;border-radius:6px;bottom:8px;color:#fff;font-family:Courier New,monospace;font-size:10px;left:8px;line-height:1.4;padding:6px;position:absolute;right:8px}.info-row{display:flex;gap:8px;justify-content:space-between;margin-bottom:2px}.info-row:last-child{margin-bottom:0}.info-label{color:#aaa;font-weight:700}.info-value{color:#fff;text-align:right}.biome-name{color:#90ee90;text-transform:capitalize}.minimap-compass{align-items:center;background:#000000b3;border:2px solid #ffffff4d;border-radius:50%;display:flex;height:32px;justify-content:center;position:absolute;right:8px;top:8px;width:32px}.compass-direction{color:#fff;font-family:Courier New,monospace;font-size:12px;font-weight:700;text-shadow:0 0 4px #000c}.minimap-help{background:#000000b3;border-radius:4px;color:#aaa;font-family:Segoe UI,sans-serif;font-size:9px;left:8px;opacity:.6;padding:4px 6px;position:absolute;top:8px;transition:opacity .2s}.minimap-container:hover .minimap-help{opacity:1}@media (max-width:768px){.minimap-container{height:150px!important;right:10px;top:10px;width:150px!important}.minimap-info{font-size:9px;padding:4px}.compass-direction{font-size:10px}}.ai-terrain-generator{box-sizing:border-box;color:#fff}.generator-header{border-bottom:1px solid #ffffff1a;padding:32px}.generator-header h2{color:#fff;font-size:20px;font-weight:600}.provider-info-fixed{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px solid #c4b5fd;border-radius:8px;color:#5b21b6;font-size:14px;margin-top:16px;padding:12px 16px;text-align:center}.prompt-section{display:flex;flex-direction:column;gap:24px;padding:32px}.prompt-input textarea{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-family:inherit;font-size:16px;outline:2px solid #0000;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.prompt-input textarea:focus{outline:2px solid #3b82f6}.example-prompts h4{color:#34495e;font-size:14px;margin-bottom:10px}.example-grid{display:flex;flex-direction:row;gap:8px;width:100%}.example-button{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:150px;color:#fff;cursor:pointer;flex-grow:1;font-size:14px;max-width:100ch;overflow:hidden;padding:8px 16px;text-overflow:ellipsis;white-space:nowrap}.example-button:hover:not(:disabled){background:#ffffff1a}.action-buttons{display:flex;justify-content:space-between;padding:32px;width:100%}.export-button{background:#27ae60;border:none;border-radius:8px;box-shadow:0 2px 8px #27ae604d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 16px;transition:all .2s}.export-button:hover:not(:disabled){background:#229954}.progress-section{color:#fff;gap:16px;padding:16px}.progress-info,.progress-section{display:flex;flex-direction:column}.progress-info{gap:8px}.progress-info h4{font-size:18px;font-weight:500}.progress-stage{color:#ffffff80;font-size:14px}.progress-bar{background:#ffffff0a;border-radius:4px;height:8px;margin-bottom:8px}.progress-fill{background:linear-gradient(90deg,#3b82f6,#205bba)}.progress-percentage{color:#ffffff80;font-size:12px;text-align:center}.generation-summary{background:#d4edda;border-left:4px solid #28a745;border-radius:8px;margin-top:20px;padding:15px}.generation-summary h4{color:#155724;margin-bottom:10px}.summary-details{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:10px}.summary-details>div{color:#155724;font-size:14px}.warnings{margin-top:10px}.warnings h5{color:#721c24;font-size:14px;margin-bottom:5px}.warnings ul{margin:0;padding-left:20px}.warnings li{color:#721c24;font-size:13px;margin-bottom:2px}.context-result{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin:10px 0;overflow-x:auto;padding:12px}.context-result pre{word-wrap:break-word;color:#212529;font-family:Monaco,Consolas,monospace;font-size:12px;margin:0;white-space:pre-wrap}.view-image-btn{background:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-top:8px;padding:6px 12px;transition:background .2s}.view-image-btn:hover{background:#2980b9}.captured-terrain-image{border:2px solid #e1e8ed;border-radius:4px;display:block;height:auto;margin-top:12px;max-width:100%}.terrain-configuration{border-bottom:1px solid #ffffff1a;padding:32px}.terrain-configuration h4{color:#fff;font-size:18px;font-weight:600;margin-bottom:8px}.terrain-configuration p{color:#ffffff80;font-size:14px;margin-bottom:20px}.config-row{display:flex;gap:32px}.config-group{display:flex;flex:1 1;flex-direction:column;gap:12px}.config-label{color:#fffc;font-size:14px;font-weight:500}.size-options{display:flex;gap:12px}.size-option{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:#fffc;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:16px;position:relative;transition:all .2s ease}.size-option:hover:not(:disabled){background:#ffffff14;border-color:#fff3}.size-option.selected{background:#3b82f626;border-color:#3b82f6;color:#3b82f6}.size-option:disabled{cursor:not-allowed;opacity:.5}.size-checkmark{align-items:center;background:#3b82f6;border-radius:50%;display:flex;height:20px;justify-content:center;position:absolute;right:6px;top:6px;width:20px}.size-checkmark img{height:12px;width:12px}.agent-selection{border-bottom:1px solid #ffffff1a;padding:32px}.agent-selection h4{color:#fff;font-size:18px;font-weight:600;margin-bottom:8px}.agent-selection p{color:#ffffff80;font-size:14px;margin-bottom:20px}.agent-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.agent-option{cursor:pointer;display:flex;flex-direction:column;gap:8px;position:relative;transition:all .2s ease}.agent-option.selected .agent-icon{outline:2px solid #3b82f6}.agent-option.disabled{cursor:not-allowed;opacity:.6}.agent-icon{aspect-ratio:3/2;border:1px solid #ffffff1a;border-radius:12px;object-fit:contain;padding:24px 16px;width:100%}.agent-checkmark{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}.agent-name{color:#fff;font-size:16px}.agent-desc{color:#ffffff80;font-size:14px;margin-top:-4px}.agent-info-footer,.agent-status{display:none}.step-mode-toggle{background:#f0f4f8;border:1px solid #d1dae3;border-radius:8px;margin:15px 0;padding:12px}.toggle-label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-weight:600}.toggle-label input[type=checkbox]{cursor:pointer;margin-right:8px}.toggle-info{color:#6c757d;font-size:12px;margin:5px 0 0 24px}.step-info{grid-gap:10px;background:#f8f9fa;border-radius:6px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;padding:12px}.step-info p{color:#495057;font-size:13px;margin:0}.step-data-section{margin-bottom:20px}.step-data-section h4{color:#2c3e50;font-size:15px;margin-bottom:8px}.step-data-pre{border:1px solid #dee2e6;border-radius:6px;max-height:150px;overflow-x:auto;overflow-y:auto}.step-data-edit,.step-data-pre{background:#f8f9fa;font-size:12px;padding:12px}.step-data-edit{border:2px solid #dee2e6;border-radius:6px;font-family:Monaco,Consolas,monospace;resize:vertical;transition:border-color .2s;width:100%}.step-data-edit:focus{background:#fff;border-color:#3498db;outline:none}.agent-logs-section{background:#f8f9fa;border:1px solid #e1e8ed;border-radius:8px;margin-top:20px;padding:20px}.agent-logs-section h3{color:#2c3e50;font-size:18px;margin-bottom:16px}.agent-log-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin-bottom:12px;padding:12px}.agent-log-header{color:#495057;cursor:pointer;font-size:16px;padding:4px 0;-webkit-user-select:none;user-select:none}.agent-log-header:hover{color:#007bff}.agent-log-content{border-top:1px solid #e9ecef;margin-top:12px;padding-top:12px}.log-section{margin-bottom:16px}.log-section h4{color:#6c757d;font-size:14px;margin-bottom:8px}.log-text{word-wrap:break-word;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,monospace;font-size:12px;line-height:1.5;max-height:400px;overflow-y:auto;padding:12px;white-space:pre-wrap}.log-text::-webkit-scrollbar{width:8px}.log-text::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.log-text::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.log-text::-webkit-scrollbar-thumb:hover{background:#555}.ai-generator-error{background:#ff44441a;border:var(--border-thin) solid #ff44444d;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--text-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.ai-model-generator{background:#fffffff2;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;max-width:500px;padding:20px}.panel-header{border-bottom:2px solid #e0e0e0;margin-bottom:20px;padding-bottom:15px}.panel-header h3{color:#333;font-size:20px;margin:0 0 5px}.panel-subtitle{color:#666;font-size:14px;margin:0}.mode-selector{display:flex;gap:10px;margin-bottom:20px}.mode-button{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 15px;transition:all .2s}.mode-button:hover:not(:disabled){background:#f0f9f0;border-color:#4caf50}.mode-button.active{background:#4caf50;border-color:#4caf50;color:#fff}.mode-button:disabled{cursor:not-allowed;opacity:.5}.input-section{margin-bottom:20px}.input-section label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-section textarea{border:2px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.input-section textarea:focus{border-color:#4caf50;outline:none}.input-section textarea:disabled{background:#f5f5f5;cursor:not-allowed}.input-section input[type=file]{border:2px dashed #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:10px;width:100%}.file-preview{background:#f0f9f0;border-radius:6px;font-size:14px;margin-top:10px;padding:10px}.generate-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 20px;transition:transform .2s,box-shadow .2s;width:100%}.generate-button:hover:not(:disabled){box-shadow:0 6px 16px #667eea80;transform:translateY(-2px)}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.progress-section{margin-bottom:20px;margin-top:20px}.progress-bar{background:#e0e0e0;border-radius:12px;height:24px;overflow:hidden;position:relative;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:12px;height:100%;transition:width .3s ease}.progress-text{color:#4caf50;font-size:14px;font-weight:600;margin-top:8px;text-align:center}.status-message{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;color:#1565c0;font-size:14px;margin-top:15px;padding:12px 16px}.status-message.error{background:#ffebee;border-left-color:#f44336;color:#c62828}.model-actions{display:flex;gap:10px;margin-top:20px}.action-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.action-button.remove{background:#ff5252;color:#fff}.action-button.remove:hover{background:#ff1744}.action-button.clear-all{background:#ff9800;color:#fff}.action-button.clear-all:hover{background:#f57c00}.model-info{background:#f5f5f5;border-radius:6px;margin-top:20px;padding:15px}.model-info p{color:#333;font-size:14px;margin:0 0 10px}.models-toolbar{background:#f5f5f5;border-radius:6px;margin-top:20px;padding:15px}.models-toolbar h4{color:#333;font-size:14px;margin:0 0 15px}.models-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:15px}.model-card{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;padding:8px;position:relative;transition:all .2s}.model-card:hover{border-color:#667eea;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.model-card.selected{background:#f0f4ff;border-color:#667eea;box-shadow:0 0 0 2px #667eea}.model-preview{object-fit:cover}.model-preview,.model-preview-placeholder{background:#e0e0e0;border-radius:4px;height:100px;width:100%}.model-preview-placeholder{align-items:center;display:flex;font-size:32px;justify-content:center}.model-info-card{align-items:center;display:flex;justify-content:space-between;margin-top:8px}.model-prompt{color:#333;flex:1 1;font-size:12px;margin:0 5px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-remove-btn{background:none;border:none;cursor:pointer;font-size:14px;opacity:.6;padding:2px;transition:opacity .2s}.model-remove-btn:hover{opacity:1}.placed-models-info{border-top:1px solid #ddd;padding-top:10px}.placed-models-info p{color:#666;font-size:13px;margin:0 0 10px}.action-buttons-row{align-items:center;display:flex;gap:8px}.hitbox-toggle-btn{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:12px;padding:6px 12px;transition:all .2s}.hitbox-toggle-btn:hover{background:#1976d2}.hitbox-toggle-btn.active{background:#4caf50;box-shadow:0 0 8px #4caf5080}.clear-all-btn{background:#ff9800;border:none;flex:1 1;font-size:12px;padding:6px 12px;transition:background .2s}.clear-all-btn:hover{background:#f57c00}.tips-section{background:#fff3e0;border-left:4px solid #ff9800;border-radius:6px;margin-top:20px;padding:15px}.tips-section h4{color:#e65100;font-size:14px;margin:0 0 10px}.tips-section ul{margin:0;padding-left:20px}.tips-section li{color:#666;font-size:13px;margin-bottom:5px}.npc-options{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:6px;margin:15px 0;padding:12px}.npc-checkbox{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500}.npc-checkbox input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.npc-checkbox span{-webkit-user-select:none;user-select:none}.npc-info{background:#ffffffb3;border-radius:4px;margin-top:8px;padding:8px}.npc-info small{color:#1e40af;font-size:12px;font-style:italic}.quick-ai-input{align-items:center;bottom:20px;display:flex;flex-direction:column;gap:10px;left:calc(50% + 160px);left:calc(50% + var(--chat-panel-width, 320px)/2);max-width:600px;position:fixed;transform:translateX(-50%);width:calc(100% - 40px);z-index:1000}.quick-models-gallery{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border:var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:8px;max-width:100%;padding:8px}.gallery-header{align-items:center;background:#0000004d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 8px}.gallery-title{color:#ffffffe6;font-size:12px;font-weight:600;letter-spacing:.5px}.clear-all-btn{align-items:center;background:#dc3545b3;border:1px solid #dc354566;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px;transition:all .2s}.clear-all-btn:hover{background:#dc3545;border-color:#dc3545;box-shadow:0 2px 8px #dc354566;transform:translateY(-1px)}.clear-all-btn:active{transform:translateY(0)}.gallery-models-container{display:flex;gap:6px;overflow-x:auto;scrollbar-color:#ffffff4d #0000;scrollbar-width:thin}.gallery-models-container::-webkit-scrollbar{height:6px}.gallery-models-container::-webkit-scrollbar-track{background:#0000}.gallery-models-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.gallery-models-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.quick-model-card{border:1px solid #0000;border-radius:6px;cursor:grab;flex-shrink:0;height:50px;overflow:hidden;position:relative;transition:all .2s ease;width:50px}.quick-model-card:active{cursor:grabbing}.quick-model-card:hover{border-color:#fffc;transform:scale(1.05)}.quick-model-card.dragging{cursor:grabbing;opacity:.5;transform:scale(.95)}.quick-model-card.loading{animation:pulse 2s ease-in-out infinite;border-color:#ffffff80;cursor:default}.quick-model-card.loading:hover{transform:none}.quick-model-preview{background:#1a1a1a;height:100%;object-fit:cover;width:100%}.quick-model-preview-placeholder{background:#1a1a1a;font-size:20px;height:100%;width:100%}.quick-model-preview-placeholder,.quick-model-remove{align-items:center;display:flex;justify-content:center}.quick-model-remove{background:#f00c;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:12px;height:16px;line-height:1;opacity:0;position:absolute;right:2px;top:2px;transition:opacity .2s;width:16px}.quick-model-card:hover .quick-model-remove{opacity:1}.quick-model-remove:hover{background:red;transform:scale(1.1)}.npc-badge{border-radius:3px;box-shadow:0 1px 2px #0000004d;color:var(--color-black);font-size:10px;left:2px;padding:1px 3px;pointer-events:none;position:absolute;top:2px;z-index:2}.npc-badge,.npc-badge.tripo3d,.npc-badge.uthana{background:#ffffffe6}.quick-input-bar{align-items:center;backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border:var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--glass-shadow);display:flex;gap:8px;padding:8px;width:100%}.quick-mode-toggle{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:all .2s;width:36px}.quick-mode-toggle:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.quick-mode-toggle.active{background:#fff3;border:1px solid #ffffff80}.quick-mode-toggle:disabled{cursor:not-allowed;opacity:.5}.quick-image-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.quick-image-btn:hover:not(:disabled){backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay-hover),var(--glass-bg-gradient-hover);border:var(--glass-border);box-shadow:var(--glass-shadow);transform:scale(1.05)}.quick-image-btn:disabled{cursor:not-allowed;opacity:.5}.quick-npc-toggle{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;transition:all .2s;width:36px}.quick-npc-toggle:hover{background:#fff3;transform:scale(1.05)}.quick-npc-toggle.active{background:#fff3;border-color:#fffc;box-shadow:0 0 12px #fff3}.quick-npc-toggle.active:hover{background:#ffffff4d}.quick-input-field{background:#0000;border:none;color:#fff;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;outline:none;padding:8px 12px}.quick-input-field::placeholder{color:#ffffff80}.quick-input-field:disabled{cursor:not-allowed;opacity:.5}.quick-model-type-select{background:#0000;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;flex-shrink:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px;font-weight:500;height:36px;outline:none;padding:0 10px;transition:all var(--transition-base)}.quick-model-type-select:hover{background:var(--glass-bg-overlay-hover),var(--glass-bg-gradient-hover)}.quick-model-type-select:focus,.quick-model-type-select:hover{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border:var(--glass-border);box-shadow:var(--glass-shadow)}.quick-model-type-select:focus{background:var(--glass-bg-overlay),var(--glass-bg-gradient)}.quick-model-type-select option{background:#1a1a1a;color:#fff;padding:8px}.quick-animation-provider-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px;font-weight:500;height:36px;outline:none;padding:0 10px;transition:all .2s}.quick-animation-provider-select:hover{background:#ffffff26;border-color:#fff6}.quick-animation-provider-select:focus{border-color:#fffc;box-shadow:0 0 0 2px #ffffff1a}.quick-animation-provider-select option{background:#1a1a1a;color:#fff;padding:8px}.quick-animation-prompt{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;color:#fff;flex:0.8 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;outline:none;padding:8px 12px;transition:all .2s}.quick-animation-prompt::placeholder{color:#fff6}.quick-animation-prompt:focus{background:#ffffff1a;border-color:#fff9;box-shadow:0 0 0 2px #ffffff1a}.quick-animation-prompt:disabled{cursor:not-allowed;opacity:.5}.quick-send-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:all var(--transition-base);width:36px}.quick-send-btn:hover:not(:disabled){backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay-hover),var(--glass-bg-gradient-hover);border:var(--glass-border);box-shadow:var(--glass-shadow);transform:scale(1.05)}.quick-send-btn:active:not(:disabled){transform:scale(.98)}.quick-send-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.quick-status{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;color:#fff;font-size:13px;font-weight:500;padding:8px 16px}.quick-status.error{background:#f44336e6}.quick-status-message{animation:slideUp .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:1px solid #ffffff1a;border-radius:8px;box-shadow:0 2px 10px #0000004d;color:#fff;font-size:13px;font-weight:500;max-width:100%;padding:8px 16px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff1a;border-radius:50%;border-top-color:#fff;height:24px;width:24px}.loading-progress{background:#0000004d;bottom:0;height:3px;left:0;position:absolute;width:100%}.loading-progress-bar{background:#fffc;height:100%;transition:width .3s ease}@media (max-width:768px){.quick-ai-input{bottom:10px;width:calc(100% - 20px)}.quick-models-gallery{padding:6px 8px}.quick-model-card{height:45px;width:45px}.quick-input-bar{padding:8px 12px}.quick-input-field{font-size:14px}}.spatial-command-panel{align-items:center;display:flex;flex-direction:column;gap:8px;left:50%;max-width:600px;position:fixed;top:70px;transform:translateX(-50%);width:calc(100% - 40px);z-index:1000}.spatial-input-bar{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#000000bf;border:1px solid #64c8ff4d;border-radius:10px;box-shadow:0 4px 20px #0006;display:flex;gap:8px;padding:10px 15px;width:100%}.spatial-icon{flex-shrink:0;font-size:22px}.spatial-input-field{background:#0000;border:none;color:#fff;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;outline:none;padding:8px 12px}.spatial-input-field::placeholder{color:#ffffff80}.spatial-input-field:disabled{cursor:not-allowed;opacity:.6}.spatial-execute-btn{align-items:center;background:#64c8ff33;border:1px solid #64c8ff66;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.spatial-execute-btn:hover:not(:disabled){background:#64c8ff4d;box-shadow:0 0 12px #64c8ff80;transform:scale(1.05)}.spatial-execute-btn:active:not(:disabled){transform:scale(1)}.spatial-execute-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.spatial-status{animation:slideDown .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2196f3e6;border-radius:8px;color:#fff;font-size:13px;font-weight:500;line-height:1.5;max-width:100%;padding:10px 16px;text-align:center;white-space:pre-wrap}.spatial-status.error{background:#f44336e6}.spatial-help{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #ffffff1a;border-radius:6px;color:#ffffffb3;font-size:11px;padding:6px 12px;text-align:center}.spatial-help strong{color:#64c8ff;font-weight:600}@media (max-width:768px){.spatial-command-panel{top:60px;width:calc(100% - 20px)}.spatial-input-bar{padding:8px 12px}.spatial-input-field{font-size:13px}.spatial-help{font-size:10px}}.terrain-generation-modal .base-modal-body{overflow-y:visible;padding:40px}.terrain-generation__stages{display:flex;flex-direction:column;gap:32px;position:relative;width:100%}.terrain-generation__stage{align-items:center;background:#0000;border-radius:var(--radius-lg);display:flex;gap:24px;padding:0;position:relative;transition:all var(--transition-slow);z-index:1}.terrain-generation__stage--pending{opacity:.5}.terrain-generation__stage--active{background:var(--color-surface-card-background);border-radius:var(--radius-lg);margin:-13px;padding:13px}.terrain-generation__stage--completed{opacity:1}.terrain-generation__stage-icon-wrapper{align-items:center;background:var(--color-surface-card-background);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-shrink:0;height:64px;justify-content:center;overflow:hidden;padding:8px;width:64px}.terrain-generation__stage-icon-img{height:48px;object-fit:cover;width:48px}.terrain-generation__stage-icon-emoji{font-size:var(--text-2xl);line-height:1}.terrain-generation__stage-text{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.terrain-generation__stage-label{color:var(--color-neutral-200);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1}.terrain-generation__stage-subtitle{color:#fff;font-size:var(--text-sm);font-weight:var(--font-normal);line-height:1.7;opacity:.5}.terrain-generation__stage-check{align-items:center;background:#fff;border-radius:var(--radius-full);color:#1a1a2e;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.terrain-generation__stage-spinner{animation:terrain-generation-spin .8s linear infinite;border:2px solid #fff3;border-radius:var(--radius-full);border-top-color:#fff;flex-shrink:0;height:24px;width:24px}@keyframes terrain-generation-spin{to{transform:rotate(1turn)}}.terrain-generation__progress{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:48px;width:100%}.terrain-generation__progress-text{color:var(--color-neutral-200);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1}.terrain-generation__progress-track{background:#525252;border-radius:0;height:4px;overflow:hidden;width:100%}.terrain-generation__progress-fill{background:linear-gradient(90deg,#ffffffb3,#fff);border-radius:0;-webkit-clip-path:polygon(0 0,100% 0,calc(100% - 4px) 100%,0 100%);clip-path:polygon(0 0,100% 0,calc(100% - 4px) 100%,0 100%);height:100%;transition:width var(--transition-slow)}.tooltip{animation:tooltipFadeIn var(--transition-fast);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff05 5.44%,#99999903 97.16%);border:1px solid #ffffff0d;border-radius:var(--radius-sm);box-shadow:0 0 10px 0 #0000004d;color:var(--color-white);font-size:var(--text-base);font-weight:var(--font-medium);letter-spacing:.3px;padding:var(--spacing-sm) var(--spacing-lg);pointer-events:none;position:fixed;white-space:nowrap;z-index:var(--z-tooltip)}.tooltip--top{animation:tooltipFadeInTop .1s ease-out;transform:translateX(-50%) translateY(-100%)}.tooltip--bottom{animation:tooltipFadeInBottom .1s ease-out;transform:translateX(-50%)}.tooltip--left{animation:tooltipFadeInLeft .1s ease-out;transform:translateY(-50%)}.tooltip--right{animation:tooltipFadeInRight .1s ease-out;transform:translateY(-50%)}@keyframes tooltipFadeInTop{0%{opacity:0;transform:translateX(-50%) translateY(calc(-100% + 5px))}to{opacity:1;transform:translateX(-50%) translateY(-100%)}}@keyframes tooltipFadeInBottom{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes tooltipFadeInLeft{0%{opacity:0;transform:translateY(-50%) translateX(5px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@keyframes tooltipFadeInRight{0%{opacity:0;transform:translateY(-50%) translateX(-5px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}.tooltip-arrow{height:0;position:absolute;width:0}.tooltip--bottom .tooltip-arrow{border-bottom:6px solid #14141480;top:-6px}.tooltip--bottom .tooltip-arrow,.tooltip--top .tooltip-arrow{border-left:6px solid #0000;border-right:6px solid #0000;left:50%;transform:translateX(-50%)}.tooltip--top .tooltip-arrow{border-top:6px solid #14141480;top:100%}.tooltip--right .tooltip-arrow{border-right:6px solid #14141480;left:-6px}.tooltip--left .tooltip-arrow,.tooltip--right .tooltip-arrow{border-bottom:6px solid #0000;border-top:6px solid #0000;top:50%;transform:translateY(-50%)}.tooltip--left .tooltip-arrow{border-left:6px solid #14141480;right:-6px}@media (max-width:768px){.tooltip{font-size:var(--text-xs);padding:var(--spacing-xs) var(--spacing-md)}}@media (max-width:480px){.tooltip{max-width:200px;text-align:center;white-space:normal}}.light-editor-panel{grid-gap:var(--gap-xl);animation:panelSlideIn var(--transition-slow);display:grid;gap:var(--gap-xl);grid-template-columns:1fr auto auto;margin-left:-200px;max-width:600px;pointer-events:all;position:fixed;-webkit-user-select:none;user-select:none;z-index:99999}@keyframes panelSlideIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.lantern-type-badge{border:var(--glass-border);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;padding:8px var(--spacing-lg);text-align:center}.lantern-type-badge,.light-editor-panel .icon-btn{align-items:center;backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border-radius:var(--radius-full);box-shadow:var(--glass-shadow);color:var(--color-text-primary);display:flex;justify-content:center}.light-editor-panel .icon-btn{border:var(--glass-border);cursor:pointer;height:44px;padding:0;transition:all var(--transition-base);width:44px}.light-editor-panel .icon-btn:hover{transform:scale(1.05)}.toggle-icon-btn.on{background:var(--color-base-white);color:var(--color-base-black)}.light-editor-panel .delete-icon-btn{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-base-white)}.light-editor-panel .delete-icon-btn:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover);color:var(--color-base-white)}.light-editor-controls{align-items:center;display:flex;gap:var(--gap-lg);grid-column:1/-1}.color-wheel-container{align-items:center;display:flex;justify-content:center;width:160px}.color-wheel-container .react-colorful{height:auto;width:100%}.color-wheel-container .react-colorful__saturation{border-radius:var(--radius-md);height:100px;margin-bottom:12px}.color-wheel-container .react-colorful__hue{border-radius:var(--radius-sm);height:16px}.color-wheel-container .react-colorful__pointer{border:2px solid var(--color-base-white);box-shadow:0 2px 8px #0000004d;height:20px;width:20px}.slider-container{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border:var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;height:128px;justify-content:flex-end;overflow:hidden;position:relative;width:44px}.slider{-webkit-appearance:none;-webkit-appearance:slider-vertical;appearance:slider-vertical;cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;writing-mode:bt-lr;z-index:20}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:0;width:0}.slider::-moz-range-thumb{border:none;height:0;width:0}.slider-fill{background:#ffffffe6;border-radius:0 0 var(--radius-full) var(--radius-full);bottom:0;left:0;pointer-events:none;position:absolute;right:0}.slider-icon-wrapper{padding:8px 0;position:relative;text-align:center;z-index:10}.rotation-dial{align-items:center;display:flex;justify-content:center;position:relative}.light-editor-panel .npc-action-btn{border-radius:100px;flex:1 1;height:44px;width:auto}.toggle-icon-btn.on img{filter:invert(1)}@media (max-width:768px){.light-editor-panel{grid-template-columns:1fr;margin-left:-160px;max-width:400px;min-width:320px}.light-editor-panel .icon-btn,.light-editor-panel .lantern-type-badge{grid-column:1}.color-wheel-container{order:-1}.slider-container{height:44px;width:100%}.slider{-webkit-appearance:none;writing-mode:initial}.slider-fill{border-radius:var(--radius-full) 0 0 var(--radius-full);bottom:0;left:0;right:auto;top:0}.slider-value{order:0}}.performance-profiler{backdrop-filter:blur(12px);backdrop-filter:blur(var(--lg-frost-intensity,12px));-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px));background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff05 5.44%,#99999903 97.16%);border:1px solid #ffffff0d;border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 0 10px 0 #0000004d;color:#e5e7eb;color:var(--color-text-primary,#e5e7eb);font-family:monospace;font-family:var(--font-mono,monospace);font-size:11px;max-width:280px;min-width:220px;padding:8px;padding:var(--spacing-sm,8px);position:fixed;right:24px;top:112px;z-index:10000;z-index:var(--z-modal,10000)}.performance-profiler__header{align-items:center;border-bottom:1px solid #ffffff1a;cursor:pointer;display:flex;gap:8px;gap:var(--spacing-sm,8px);padding-bottom:4px;padding-bottom:var(--spacing-xs,4px)}.performance-profiler__fps{font-size:14px;font-weight:700;font-weight:var(--font-bold,700)}.performance-profiler__frame-time{opacity:.7}.performance-profiler__bottleneck{border-radius:4px;border-radius:var(--radius-xs,4px);font-size:9px;font-weight:700;font-weight:var(--font-bold,700);margin-left:auto;padding:2px 6px}.performance-profiler__toggle{font-size:10px;opacity:.5}.performance-profiler__details{margin-top:8px;margin-top:var(--spacing-sm,8px);max-height:400px;overflow-y:auto}.performance-profiler__details::-webkit-scrollbar{width:4px}.performance-profiler__details::-webkit-scrollbar-track{background:#ffffff0d;border-radius:2px}.performance-profiler__details::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.performance-profiler__details::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.performance-profiler__section{margin-bottom:8px;margin-bottom:var(--spacing-sm,8px)}.performance-profiler__section-title{color:#9ca3af;color:var(--color-text-secondary,#9ca3af);font-size:10px;font-weight:700;font-weight:var(--font-bold,700);letter-spacing:.5px;margin-bottom:4px;margin-bottom:var(--spacing-xs,4px);text-transform:uppercase}.performance-profiler__grid{display:flex;flex-direction:column;gap:2px}.performance-profiler__stat-row{align-items:center;display:flex;justify-content:space-between}.performance-profiler__stat-label{color:#9ca3af;color:var(--color-text-secondary,#9ca3af)}.performance-profiler__stat-value{font-weight:700;font-weight:var(--font-bold,700)}.performance-profiler__analysis{border-top:1px solid #ffffff1a;margin-top:8px;margin-top:var(--spacing-sm,8px);padding-top:8px;padding-top:var(--spacing-sm,8px)}.performance-profiler__warning{background-color:#fbbf2433;color:#fbbf24;margin-bottom:4px;margin-bottom:var(--spacing-xs,4px)}.performance-profiler__good,.performance-profiler__warning{border-radius:4px;border-radius:var(--radius-xs,4px);font-size:10px;padding:4px 6px}.performance-profiler__good{background-color:#4ade8033;color:#4ade80}.performance-profiler__loading{padding:8px;padding:var(--spacing-sm,8px)}@media (prefers-reduced-motion:reduce){.performance-profiler{transition:none!important}}:root[data-frost-off=true] .performance-profiler{backdrop-filter:none;-webkit-backdrop-filter:none;background:#141414d9}.save-notification-container{display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:var(--z-tooltip)}.save-notification{align-items:center;animation:slideIn .25s var(--ease-out);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);color:var(--color-text-primary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--spacing-sm);max-width:320px;padding:var(--spacing-md) var(--spacing-lg);pointer-events:auto;transition:transform var(--transition-fast),opacity var(--transition-fast)}.save-notification:hover{background:var(--glass-bg-overlay-hover);transform:translateX(-4px)}.save-notification:before{border-radius:var(--radius-lg) 0 0 var(--radius-lg);bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.save-notification{padding-left:calc(var(--spacing-lg) + 6px);position:relative}.save-notification--saving:before{background:var(--color-primary)}.save-notification--success:before{background:var(--color-success)}.save-notification--error:before{background:var(--color-danger)}.save-notification--retrying:before,.save-notification--warning:before{background:var(--color-warning)}.save-notification__icon{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:var(--text-xs);height:20px;justify-content:center;width:20px}.save-notification--saving .save-notification__icon{animation:pulse 1.5s ease-in-out infinite;background:#3b82f633;color:var(--color-primary-light)}.save-notification--success .save-notification__icon{background:#27ae6033;color:var(--color-success)}.save-notification--error .save-notification__icon{background:#ef444433;color:var(--color-danger)}.save-notification--retrying .save-notification__icon,.save-notification--warning .save-notification__icon{background:#ffa66633;color:var(--color-warning)}.save-notification--retrying .save-notification__icon{animation:spin 1s linear infinite}.save-notification__content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-2xs);min-width:0}.save-notification__message{line-height:var(--leading-snug);word-break:break-word}.save-notification__hint{color:var(--color-text-secondary);font-size:var(--text-xs)}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.glass-panel{color:var(--color-text-primary);font-family:var(--font-sans);position:relative}.glass-panel--panel.glass-panel--disabled{backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);background:var(--color-bg-tertiary);border:var(--border-thin) solid var(--color-border-medium);border-radius:16px;box-shadow:var(--shadow-xl)}.glass-panel--modal.glass-panel--disabled{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--color-bg-modal);border:var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow)}.glass-panel--toolbar.glass-panel--disabled{backdrop-filter:var(--blur-sm);-webkit-backdrop-filter:var(--blur-sm);background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%);border:var(--border-thin) solid #ffffff0d;border-radius:9999px;box-shadow:inset -4px -4px 4px 0 #0000000a,inset 2px 2px 4px 0 #ffffff1a,0 0 10px 0 #0000004d}.glass-panel--tooltip.glass-panel--disabled{backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);background:linear-gradient(135deg,#1e1e1efa,#141414fa);border:var(--border-thin) solid var(--color-border-medium);border-radius:6px;box-shadow:var(--shadow-xl),0 0 0 1px #ffffff0d}.glass-panel--button.glass-panel--disabled{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border:var(--glass-border);border-radius:9999px;box-shadow:var(--glass-shadow);transition:all var(--transition-base)}.glass-panel--button.glass-panel--disabled:hover{background:var(--glass-bg-overlay-hover),var(--glass-bg-gradient-hover);transform:scale(1.02)}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.glass-panel--disabled{background:#141414f2}}@media (prefers-reduced-motion:reduce){.glass-panel{animation:none!important;transition:none!important}}.achievement-notification-container{align-items:center;display:flex;flex-direction:column;gap:6px;left:50%;pointer-events:none;position:fixed;top:72px;transform:translateX(-50%);z-index:var(--z-tooltip)}.achievement-notification{align-items:center;animation:achievementSlideIn .35s var(--ease-out);border-left:3px solid #f59e0b;border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);gap:10px;max-width:320px;padding:10px 18px;pointer-events:auto;position:relative;transition:transform var(--transition-fast),opacity var(--transition-fast)}.achievement-notification--fallback{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay)}.achievement-notification:hover{transform:translateY(-2px)}.achievement-notification__icon{align-items:center;background:#f59e0b33;border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;width:28px}.achievement-notification__title{line-height:var(--leading-snug);word-break:break-word}@keyframes achievementSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.contextual-keybinding-hints{display:flex;flex-direction:column;gap:12px;opacity:.85;pointer-events:none;position:fixed;right:24px;top:50%;transform:translateY(-50%);transition:opacity .2s ease;z-index:100}.contextual-keybinding-hints:hover{opacity:1}.contextual-keybinding-hints.key-active{opacity:.3}.hint-row{align-items:center;animation:hintFadeIn .3s ease-out;animation-fill-mode:backwards;display:flex;gap:12px;justify-content:flex-end}.hint-row:first-child{animation-delay:0ms}.hint-row:nth-child(2){animation-delay:25ms}.hint-row:nth-child(3){animation-delay:50ms}.hint-row:nth-child(4){animation-delay:75ms}.hint-row:nth-child(5){animation-delay:.1s}.hint-row:nth-child(6){animation-delay:125ms}.hint-row:nth-child(7){animation-delay:.15s}.hint-row:nth-child(8){animation-delay:175ms}.hint-row:nth-child(9){animation-delay:.2s}.hint-row:nth-child(10){animation-delay:225ms}.hint-row:nth-child(11){animation-delay:.25s}.hint-row:nth-child(12){animation-delay:275ms}@keyframes hintFadeIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.hint-label{color:#ffffffe6;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-sans,"Plus Jakarta Sans",system-ui,-apple-system,sans-serif);font-size:18px;font-size:var(--text-lg,18px);font-weight:500;font-weight:var(--font-medium,500);line-height:1.5;line-height:var(--leading-normal,1.5);text-shadow:0 1px 3px #00000080;white-space:nowrap}.key-badge{--lg-corner-radius:8px;align-items:center;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:0 12px}.key-badge.keyboard{color:#fffffff2;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-sans,"Plus Jakarta Sans",system-ui,-apple-system,sans-serif);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:lowercase}.key-badge.mouse-icon{color:#ffffffe6;padding:8px}.key-badge.keyboard.modifier{font-size:12px;min-height:32px;min-width:32px;padding:0 8px}.key-badge.keyboard.range{font-size:12px;letter-spacing:1px}.key-badge-group{align-items:center;display:flex;gap:6px}.key-separator{color:#ffffff80;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-sans,"Plus Jakarta Sans",system-ui,-apple-system,sans-serif);font-size:11px;font-weight:500;text-transform:lowercase}.key-badge.keyboard:has(+.hint-label){min-width:auto}.key-badge.keyboard[data-key=esc],.key-badge.keyboard[data-key=space],.key-badge.keyboard[data-key=tab]{font-size:10px}@media (max-width:1200px){.contextual-keybinding-hints{display:none}}.contextual-keybinding-hints.play-mode{opacity:.5}.contextual-keybinding-hints.play-mode:hover{opacity:.8}.tutorial-hint-center{left:50%;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.tutorial-hint-center-content{align-items:center;display:flex;flex-direction:column;gap:16px;padding:24px 32px}.tutorial-hint-center-content .key-badge{font-size:18px;min-height:56px;min-width:56px}.tutorial-hint-center-content .key-badge.mouse-icon{height:48px;width:48px}.tutorial-hint-center-label{color:#fffffff2;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-sans,"Plus Jakarta Sans",system-ui,-apple-system,sans-serif);font-size:20px;font-weight:600;text-shadow:0 2px 4px #00000080;white-space:nowrap}.tutorial-hint--pulse{animation:tutorialHintPulse 2s ease-in-out infinite}@keyframes tutorialHintPulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.05)}}.tutorial-hint--docking{animation:tutorialHintDock .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes tutorialHintDock{0%{left:50%;opacity:1;top:50%;transform:translate(-50%,-50%) scale(1.1)}to{left:calc(100% - 200px);opacity:0;top:50%;transform:translateY(-50%) scale(.8)}}.hint-row.tutorial-hint-docked{animation:tutorialHintDockedIn .4s ease-out}@keyframes tutorialHintDockedIn{0%{opacity:0;transform:translateX(-20px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}.hint-row.tutorial-hint-docked .hint-label{color:#fff}.hint-row.tutorial-hint-docked .key-badge{border-color:#ffffff4d}.inventory-slot{align-items:center;backdrop-filter:blur(12px);backdrop-filter:blur(var(--lg-frost-intensity,12px));-webkit-backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(var(--lg-frost-intensity,12px));background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff05 5.44%,#99999903 97.16%);border:1px solid #ffffff0d;border-radius:20px;box-shadow:none;cursor:pointer;display:flex;height:64px;justify-content:center;overflow:hidden;position:relative;transition:all .15s ease;-webkit-user-select:none;user-select:none;width:64px}.inventory-slot--small{height:48px;width:48px}.inventory-slot--medium{height:64px;width:64px}.inventory-slot--large{backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;box-shadow:none;height:100%;width:100%}.inventory-slot--large:hover{background:#ffffff0f;border-color:#ffffff26}.inventory-slot--large.inventory-slot--selected{background:#4dabf726;border-color:#4dabf780;box-shadow:0 0 0 2px #4dabf733}.inventory-slot:hover{background:linear-gradient(0deg,#1414144d,#1414144d),linear-gradient(102deg,#ffffff0a 5.44%,#99999905 97.16%);border-color:#ffffff1a}.inventory-slot--empty{opacity:.7}.inventory-slot--empty:hover{opacity:.85}.inventory-slot--selected{border-color:#ffffff26;box-shadow:none;outline:3px solid #ffffffe6;outline-offset:3px;transform:scale(1.08);z-index:2}.inventory-slot--drag-over{background:#51cf6626;border-color:#51cf66}.inventory-slot__number{color:#ffffff80;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;left:4px;position:absolute;top:2px;z-index:2}.inventory-slot--selected .inventory-slot__number{color:#fff}.inventory-slot__content{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.inventory-slot__icon{border-radius:inherit;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));height:100%;object-fit:cover;width:100%}.inventory-slot__loading{background:#00000080;border-radius:0 0 20px 20px;bottom:0;height:4px;left:0;overflow:hidden;position:absolute;right:0}.inventory-slot__loading-bar{background:linear-gradient(90deg,#fff9,#ffffffe6);height:100%;transition:width .1s ease}.inventory-slot__new-dot{background:#ef4444;border-radius:50%;box-shadow:0 0 6px #ef444499;height:10px;pointer-events:none;position:absolute;right:4px;top:4px;width:10px;z-index:10}.inventory-slot__plus{color:#ffffff4d;transition:color .15s ease}.inventory-slot:hover .inventory-slot__plus{color:#fff9}.inventory-slot__selection-ring{border:none;border-radius:26px;box-shadow:0 0 12px 2px #ffffff26;inset:-6px;pointer-events:none;position:absolute}.quick-inventory-bar{align-items:center;animation:quickBarFadeIn .2s ease-out;bottom:112px;display:flex;gap:8px;left:50%;position:fixed;transform:translateX(-50%);z-index:var(--z-modal)}@keyframes quickBarFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.quick-inventory-bar__slots{display:flex;gap:6px}.quick-inventory-bar--hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(20px);transition:opacity .2s ease-out,transform .2s ease-out}.quick-inventory-bar--was-hidden:not(.quick-inventory-bar--hidden){animation:quickBarFadeIn .25s ease-out}@media (max-width:768px){.quick-inventory-bar{bottom:100px}.quick-inventory-bar--hidden{bottom:16px}.quick-inventory-bar__slots{gap:2px}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes progressShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.generating-card{align-items:center;aspect-ratio:1;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;display:flex;justify-content:center;overflow:hidden;position:relative}.generating-card__shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff0d 50%,#0000);inset:0;position:absolute}.generating-card__icon{color:#ffffff4d;z-index:1}.generating-card__progress-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;left:0;padding:8px;position:absolute;right:0;z-index:2}.generating-card__prompt{color:#ffffffb3;font-size:11px}.generating-card__prompt,.generating-card__step{margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generating-card__step{color:#ffffff80;font-size:10px}.generating-card__progress-bar{background:#fff3;border-radius:999px;height:4px;overflow:hidden}.generating-card__progress-fill{animation:progressShimmer 1.5s linear infinite;background:linear-gradient(90deg,#3b82f699,#60a5fae6 50%,#3b82f699);background-size:200% 100%;border-radius:999px;height:100%;transition:width .2s ease}.inventory-filter-controls{align-items:center;display:flex;gap:8px}.inventory-filter-toggle{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#fff9;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:all .15s ease;width:40px}.inventory-filter-toggle:hover{background:#ffffff1a;color:#ffffffe6}.inventory-filter-toggle--active{background:#8b5cf633;border-color:#8b5cf666;color:#8b5cf6e6}.inventory-filter-toggle--active:hover{background:#8b5cf64d}.inventory-filter-badge{align-items:center;background:#ef4444;border-radius:9px;color:#fff;display:flex;font-size:11px;font-weight:600;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px;position:absolute;right:-4px;top:-4px}.inventory-sort-dropdown{flex-shrink:0;position:relative}.inventory-sort-button{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#ffffffb3;cursor:pointer;display:flex;font-size:13px;gap:6px;padding:8px 12px;transition:all .15s ease;white-space:nowrap}.inventory-sort-button:hover{background:#ffffff1a;color:#ffffffe6}.inventory-sort-button svg{transition:transform .2s ease}.inventory-sort-button--open svg{transform:rotate(180deg)}.inventory-sort-menu{animation:sortMenuFadeIn .15s ease-out;background:#1e1e23fa;border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 8px 24px #0006;min-width:160px;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:10}@keyframes sortMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.inventory-sort-option{align-items:center;background:#0000;border:none;border-radius:6px;color:#ffffffb3;cursor:pointer;display:flex;font-size:13px;padding:8px 12px;text-align:left;transition:all .1s ease;width:100%}.inventory-sort-option:hover{background:#ffffff14;color:#fffffff2}.inventory-sort-option--active{background:#8b5cf61a;color:#8b5cf6e6}.inventory-active-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.inventory-filter-chip{align-items:center;animation:chipFadeIn .2s ease-out;border:none;border-radius:100px;cursor:default;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;white-space:nowrap}@keyframes chipFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.inventory-filter-chip--art-style{background:#8b5cf633;color:#b496fff2}.inventory-filter-chip--tag{background:#3b82f633;color:#82b4fff2}.inventory-filter-chip--sort{background:#22c55e33;color:#82e6aaf2}.inventory-filter-chip__remove{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;height:16px;justify-content:center;margin-left:2px;padding:0;transition:background .1s ease;width:16px}.inventory-filter-chip__remove:hover{background:#ffffff40}.inventory-clear-all-btn{background:#0000;border:1px solid #ffffff1a;border-radius:100px;color:#ffffff80;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.inventory-clear-all-btn:hover{background:#ffffff0d;color:#fffc}.inventory-filter-panel{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.inventory-filter-panel--open{max-height:220px;overflow-y:auto;padding:12px 0}.inventory-filter-panel::-webkit-scrollbar{width:4px}.inventory-filter-panel::-webkit-scrollbar-track{background:#0000}.inventory-filter-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.inventory-filter-section{margin-bottom:12px}.inventory-filter-section:last-child{margin-bottom:0}.inventory-filter-section__title{color:#fff6;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.inventory-filter-section__items{display:flex;flex-wrap:wrap;gap:6px}.inventory-art-style-btn{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:#fff9;cursor:pointer;font-size:12px;font-weight:500;padding:6px 14px;transition:all .15s ease}.inventory-art-style-btn:hover{background:#ffffff14;color:#ffffffe6}.inventory-art-style-btn--active{background:#8b5cf633;border-color:#8b5cf666;color:#b496fff2}.inventory-tag-chip{background:#ffffff08;border:1px solid #ffffff14;border-radius:100px;color:#ffffff8c;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s ease}.inventory-tag-chip:hover{background:#3b82f61a;color:#fffc}.inventory-tag-chip--active{background:#3b82f633;border-color:#3b82f666;color:#82b4fff2}.inventory-filter-section--tag-mode{margin-bottom:8px}.inventory-tag-mode-toggle{border:1px solid #ffffff1a;border-radius:8px;display:inline-flex;overflow:hidden}.inventory-tag-mode-btn{background:#0000;border:none;color:#ffffff73;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 12px;transition:all .15s ease}.inventory-tag-mode-btn:first-child{border-right:1px solid #ffffff1a}.inventory-tag-mode-btn:hover{background:#ffffff0d;color:#ffffffb3}.inventory-tag-mode-btn--active{background:#3b82f633;color:#82b4fff2}.inventory-tag-mode-btn--active:hover{background:#3b82f640}.inventory-filter-skeleton{display:flex;gap:8px;padding:8px 0}.inventory-filter-skeleton__chip{animation:skeletonPulse 1.5s ease-in-out infinite;background:#ffffff0d;border-radius:100px;height:24px;width:60px}.inventory-filter-skeleton__chip:nth-child(2){width:80px}.inventory-filter-skeleton__chip:nth-child(3){width:50px}.inventory-filter-skeleton__chip:nth-child(4){width:70px}@keyframes skeletonPulse{0%,to{opacity:.3}50%{opacity:.6}}.inventory-modal-overlay{align-items:center;animation:overlayFadeIn .25s ease-out;background:#14141480;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:var(--z-modal-backdrop)}.inventory-modal-overlay--closing{animation:overlayFadeOut .25s ease-out forwards}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.inventory-modal{animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:12px;height:calc(100vh - 80px);max-width:1200px;overflow:hidden;padding:24px;width:-webkit-fit-content;width:fit-content}.inventory-modal.liquid-glass{--lg-corner-radius:24px}.inventory-modal--closing{animation:modalSlideDown .25s ease-in forwards}@keyframes modalSlideUp{0%{opacity:0;transform:scale(.96) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideDown{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(20px)}}.inventory-modal__header{align-items:center;display:flex;justify-content:space-between}.inventory-modal__title{color:#fffffff2;font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.inventory-modal__header-actions{align-items:center;display:flex;gap:8px}.inventory-modal__refresh-btn{align-items:center;background:#ffffff0d;border:none;border-radius:10px;color:#fff9;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:40px}.inventory-modal__refresh-btn:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6}.inventory-modal__refresh-btn:active:not(:disabled){transform:scale(.95)}.inventory-modal__refresh-btn:disabled{cursor:not-allowed;opacity:.5}.inventory-modal__refresh-btn--loading svg{animation:inventory-refresh-spin 1s linear infinite}@keyframes inventory-refresh-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.inventory-modal__close-btn{align-items:center;background:#ffffff0d;border:none;border-radius:10px;color:#fff9;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:40px}.inventory-modal__close-btn:hover{background:#ffffff1a;color:#ffffffe6}.inventory-modal__close-btn:active{transform:scale(.95)}.inventory-modal__search{align-items:center;display:flex;gap:12px}.inventory-modal__search-wrapper{align-items:center;background:linear-gradient(0deg,#00000026,#00000026),#ffffff0a;background:linear-gradient(0deg,#00000026 0,#00000026 100%),var(--theme-colors-surface-card-background,#ffffff0a);border:1px solid #ffffff1a;border:1px solid var(--theme-colors-surface-card-border,#ffffff1a);border-radius:100px;box-shadow:inset -1px -1px 1px 0 #ffffff1a,inset 4px 4px 4px 0 #0000001a;display:flex;gap:var(--spacing-md);max-width:400px;padding:var(--spacing-sm) var(--spacing-lg);transition:border-color var(--transition-base);width:50%}.inventory-modal__search-wrapper:focus-within{border-color:#ffffff26}.inventory-modal__search-icon{color:var(--color-text-tertiary);flex-shrink:0}.inventory-modal__search-input{background:#0000;border:none;color:var(--color-text-primary);flex:1 1;font-family:inherit;font-size:var(--text-base);line-height:1.5;min-height:24px;outline:none;padding:var(--spacing-sm) 0}.inventory-modal__search-input::placeholder{color:var(--color-text-tertiary)}.inventory-modal__tip{color:#ffffffb3;font-size:var(--text-base);margin:0}.inventory-modal__tip strong{color:#ffffffe6;font-weight:600}.inventory-modal__generating-section{background:#3b82f614;border:1px solid #3b82f633;border-radius:16px;display:flex;gap:16px;overflow-x:auto;padding:16px;scrollbar-width:none}.inventory-modal__generating-section::-webkit-scrollbar{display:none}.inventory-modal__generating-section>*{flex-shrink:0;width:120px}.inventory-modal__section{display:flex;flex-direction:column;gap:12px}.inventory-modal__section--items{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.inventory-modal__quick-slots{background:#00000040;border-radius:16px;display:flex;flex-shrink:0;justify-content:center;margin-top:20px;padding:16px}.inventory-modal__quick-slots .inventory-slot{height:88px;width:88px}.inventory-modal__grid-container{flex:1 1;min-height:200px;overflow:hidden;position:relative}.inventory-modal__grid{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));overflow-y:auto;padding:8px 4px}.inventory-modal__item{aspect-ratio:1;cursor:pointer;display:flex}.virtualized-inventory-grid{height:100%;position:relative;width:100%}.inventory-modal__virtualized-grid{overflow-x:hidden!important;scrollbar-color:var(--color-border-subtle) #0000;scrollbar-width:thin}.inventory-modal__virtualized-grid::-webkit-scrollbar{width:6px}.inventory-modal__virtualized-grid::-webkit-scrollbar-track{background:#0000}.inventory-modal__virtualized-grid::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:3px}.inventory-modal__virtualized-grid::-webkit-scrollbar-thumb:hover{background:var(--color-border-medium)}.inventory-modal__loading-more{align-items:center;background:linear-gradient(0deg,#00000080,#0000);bottom:0;color:#fff9;display:flex;font-size:.875rem;gap:8px;justify-content:center;left:0;padding:16px;pointer-events:none;position:absolute;right:0}.inventory-modal__loading-spinner{animation:inventory-loading-spin .8s linear infinite;border:2px solid #fff3;border-radius:50%;border-top-color:#fff9;height:16px;width:16px}@keyframes inventory-loading-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.inventory-modal__empty{align-items:center;color:#fff6;display:flex;flex-direction:column;font-size:.9375rem;gap:16px;grid-column:1/-1;padding:48px 24px;text-align:center}.inventory-modal__empty-text{margin:0}.inventory-modal__grid::-webkit-scrollbar{width:6px}.inventory-modal__grid::-webkit-scrollbar-track{background:#0000}.inventory-modal__grid::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:3px}.inventory-modal__grid::-webkit-scrollbar-thumb:hover{background:var(--color-border-medium)}.inventory-modal-overlay--holding{cursor:grabbing}.inventory-modal-overlay--holding .inventory-modal__item:hover .inventory-slot{background:#51cf6626;border-color:#51cf66}.inventory-cursor-ghost{filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));height:88px;opacity:.9;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:opacity .1s ease;width:88px;z-index:calc(var(--z-modal-backdrop) + 10)}.inventory-cursor-ghost .inventory-slot{cursor:grabbing;height:100%;width:100%}@media (max-width:768px){.inventory-modal{border-radius:24px 24px 0 0;max-height:80vh;max-width:none;width:100%}.inventory-modal__search-wrapper{width:100%}.inventory-modal__grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@keyframes flyToToolbar{0%{opacity:1;transform:translate(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(var(--fly-dx),var(--fly-dy)) scale(.3)}}.flying-card{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3b82f64d;border:2px solid #60a5fa99;border-radius:16px;display:flex;height:80px;justify-content:center;left:var(--fly-start-x);opacity:0;pointer-events:none;position:fixed;top:var(--fly-start-y);transform:translate(-50%,-50%);width:80px;z-index:9999}.flying-card--animating{animation:flyToToolbar .6s cubic-bezier(.4,0,.2,1) forwards;opacity:1}.flying-card__icon{align-items:center;color:#ffffffe6;display:flex;justify-content:center}.dialogue-modal-overlay{animation:vignetteIn .3s ease-out;background:radial-gradient(circle at center,#0000 30%,#000000b3 100%);bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:10000}@keyframes vignetteIn{0%{opacity:0}to{opacity:1}}.dialogue-modal-container{animation:slideUp .4s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#000000d9;border-top:1px solid #ffffff1a;bottom:0;flex-direction:column;height:auto;left:0;max-height:400px;min-height:200px;overflow:hidden;padding:32px;pointer-events:auto;right:0}.dialogue-close-btn-floating,.dialogue-modal-container{align-items:center;display:flex;justify-content:center;position:absolute}.dialogue-close-btn-floating{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:#ffffff80;cursor:pointer;font-size:18px;height:32px;right:16px;top:16px;transition:all .15s ease;width:32px;z-index:100}.dialogue-close-btn-floating:hover{background:#ffffff14;color:#fff;transform:scale(1.05)}.dialogue-reading-mode{align-items:center;display:flex;flex-direction:column;gap:30px;justify-content:center;max-width:900px;padding:20px;width:100%}.dialogue-npc-sentence{animation:sentenceFadeIn .4s ease-out;color:#fff;font-size:24px;font-weight:300;letter-spacing:.5px;line-height:1.6;text-align:center;text-shadow:0 2px 8px #00000080}@keyframes sentenceFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialogue-next-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;padding:12px 32px;text-transform:uppercase;transition:all .15s ease}.dialogue-next-btn:hover{background:#3073df}.dialogue-next-btn:active{transform:translateY(0)}.dialogue-input-mode{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;max-width:900px;padding:20px;width:100%}.dialogue-last-phrase{animation:fadeIn .3s ease-out;color:#ffffff80;font-size:14px;max-width:600px;text-align:center}.dialogue-player-input-center{display:flex;justify-content:center;max-width:800px;width:100%}.dialogue-input-large{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-family:inherit;font-size:16px;outline:2px solid #0000;padding:12px;resize:vertical;transition:border-color .2s;width:100%}@keyframes inputFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dialogue-input-large::placeholder{color:#ffffff4d}.dialogue-input-large:focus{background:#ffffff0a;outline:2px solid #3b82f6}.dialogue-send-btn-large{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:1px;padding:14px 40px;text-transform:uppercase;transition:all .15s ease}.dialogue-send-btn-large:hover:not(:disabled){background:#3073df}.dialogue-send-btn-large:active:not(:disabled){transform:translateY(0)}.dialogue-send-btn-large:disabled{cursor:not-allowed;opacity:.3}.dialogue-waiting-mode{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:40px}.dialogue-typing-indicator-large{display:flex;gap:10px;padding:20px}.dialogue-typing-indicator-large span{animation:typingBounceLarge 1.4s ease-in-out infinite;background:#3b82f6;border-radius:50%;height:12px;width:12px}.dialogue-typing-indicator-large span:first-child{animation-delay:-.32s}.dialogue-typing-indicator-large span:nth-child(2){animation-delay:-.16s}@keyframes typingBounceLarge{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.dialogue-waiting-text{animation:pulse 2s ease-in-out infinite;color:#fff9;font-size:18px;font-style:italic}.dialogue-empty-state-large{animation:fadeIn .4s ease-out;color:#ffffff80;font-size:20px;font-style:italic;margin-bottom:10px;text-align:center}.dialogue-footer{background:#0006;border-top:1px solid #ffffff0d;bottom:0;left:0;padding:12px 24px;position:absolute;right:0;text-align:center}.dialogue-hint{color:#fff6;font-size:12px;font-style:italic;letter-spacing:.5px}@media (max-width:768px){.dialogue-modal-container{max-height:450px;padding:30px 20px}.dialogue-npc-sentence{font-size:18px}.dialogue-input-large{font-size:20px;padding:16px 20px}}@media (max-width:480px){.dialogue-npc-sentence{font-size:20px}.dialogue-input-large{font-size:18px;padding:14px 16px}}:root{--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#141414;--color-neutral-950:#0a0a0a;--color-base-white:#fff;--color-base-black:#000;--color-gradient-orange:#ffa666;--color-gradient-yellow:#f0d375;--color-gradient-green:#85e0a0;--color-gradient-blue:#a1aff9;--color-gradient-purple:#ab6fff;--color-surface-background:var(--color-neutral-900);--color-surface-card-border:#ffffff1a;--color-surface-card-background:#ffffff0a;--color-text-primary:var(--color-base-white);--color-text-secondary:var(--color-neutral-400);--color-text-tertiary:#ffffff80;--color-text-muted:#ffffff80;--color-text-disabled:#ffffff61;--color-bg-primary:var(--color-neutral-900);--color-bg-secondary:var(--color-neutral-800);--color-bg-tertiary:#000000b3;--color-bg-overlay:#0000004d;--color-bg-modal:#141414d9;--color-bg-subtle:#0009;--color-bg-light:#0006;--color-border-strong:#fff3;--color-border-medium:#ffffff26;--color-border-subtle:#ffffff1a;--color-border-light:#ffffff4d;--color-primary:#3b82f6;--color-primary-hover:#205bba;--color-primary-light:#60a5fa;--color-primary-dark:#2563eb;--color-primary-alpha:#2563ebd9;--color-primary-alpha-high:#3b82f6f2;--color-primary-alpha-medium:#2563eb80;--color-primary-alpha-low:#2563eb4d;--color-success:#27ae60;--color-success-hover:#229954;--color-biome:#90ee90;--color-danger:#ef4444;--color-danger-hover:#c62828;--color-danger-alpha-high:#ff3232cc;--color-danger-alpha-medium:#ff323280;--color-danger-alpha-low:#ff323233;--color-warning:var(--color-gradient-orange);--color-warning-dark:#ff6f00;--color-magic:var(--color-gradient-purple);--color-magic-light:#a78bfa;--color-white:#fff;--color-black:#000;--color-gold:gold;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Inter",system-ui,sans-serif;--font-mono:"Courier New","Monaco","Consolas",monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--text-5xl:48px;--text-6xl:60px;--text-7xl:72px;--text-8xl:96px;--text-9xl:128px;--text-2xs:10px;--text-3xs:8px;--font-thin:100;--font-extralight:200;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--leading-tight:1.2;--leading-snug:1.3;--leading-normal:1.4;--leading-relaxed:1.6;--leading-loose:1.8;--spacing-2xs:2px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--spacing-4xl:40px;--spacing-5xl:48px;--spacing-6xl:64px;--gap-xs:4px;--gap-sm:6px;--gap-md:8px;--gap-lg:12px;--gap-xl:16px;--gap-2xl:24px;--radius-none:0;--radius-2xs:2px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--border-thin:1px;--border-medium:2px;--border-thick:3px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #0003;--shadow-lg:0 8px 16px #0000004d;--shadow-xl:0 12px 24px #0006;--shadow-2xl:0 20px 40px #00000080;--shadow-inner:inset 0 2px 4px #0000001a;--shadow-glow:0 0 20px #ffffff4d;--z-base:0;--z-above:1;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:9999;--z-modal:10000;--z-popover:10001;--z-tooltip:10002;--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--transition-slower:0.5s ease;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--blur-sm:blur(4px);--blur-md:blur(8px);--blur-lg:blur(10px);--blur-xl:blur(16px);--blur-2xl:blur(24px);--blur-glass:blur(12px);--backdrop-blur-enabled:1;--opacity-disabled:0.5;--opacity-hover:0.9;--opacity-active:0.8;--glass-border:1px solid #ffffff14;--glass-shadow:0 4px 20px #0006;--glass-bg-gradient:linear-gradient(135deg,#ffffff08,#ffffff03);--glass-bg-overlay:#141414bf;--glass-bg-overlay-hover:#282828d9;--glass-bg-gradient-hover:linear-gradient(135deg,#ffffff14,#ffffff0a);--grid-columns:12;--grid-gutter:24px;--grid-margin:24px;--grid-radius:24px}:root:not([data-liquid-glass=true]){--blur-sm:none;--blur-md:none;--blur-lg:none;--blur-xl:none;--blur-2xl:none;--blur-glass:none;--backdrop-blur-enabled:0}.h1{font-size:var(--text-5xl);font-weight:var(--font-bold)}.h1,.h2{color:var(--color-text-primary);font-family:var(--font-sans);line-height:var(--leading-tight);margin:0}.h2{font-size:var(--text-3xl);font-weight:var(--font-semibold)}.h3{font-size:var(--text-2xl)}.h3,.h4{color:var(--color-text-primary);font-family:var(--font-sans);font-weight:var(--font-semibold);line-height:var(--leading-snug);margin:0}.h4{font-size:var(--text-xl)}.h5{font-weight:var(--font-medium);line-height:var(--leading-normal)}.body-lg,.h5{color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-lg);margin:0}.body-lg{font-weight:var(--font-normal);line-height:var(--leading-relaxed)}.body{font-size:var(--text-base)}.body,.body-sm{color:var(--color-text-primary);font-family:var(--font-sans);font-weight:var(--font-normal);line-height:var(--leading-normal);margin:0}.body-sm{font-size:var(--text-sm)}.caption{font-weight:var(--font-normal)}.caption,.overline{color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-normal);margin:0}.overline{font-weight:var(--font-semibold);letter-spacing:.1em;text-transform:uppercase}.label{font-size:var(--text-sm)}.label,.label-sm{color:var(--color-text-primary);font-family:var(--font-sans);font-weight:var(--font-medium);line-height:var(--leading-normal);margin:0}.label-sm{font-size:var(--text-xs)}.code{background:#ffffff0d;border-radius:var(--radius-xs);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);margin:0;padding:2px 6px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.font-light{font-weight:var(--font-light)}.panel-glass{background:var(--color-bg-tertiary);border:var(--border-thin) solid var(--color-border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.panel-glass,.panel-glass-dark{backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg)}.panel-glass-dark{background:var(--color-bg-secondary);border:var(--border-thin) solid var(--color-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl)}.panel-glass-darker{backdrop-filter:var(--blur-xl);-webkit-backdrop-filter:var(--blur-xl);background:var(--color-bg-primary);border:var(--border-thin) solid var(--color-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl)}.modal-overlay{align-items:center;animation:fadeIn var(--transition-base);backdrop-filter:var(--blur-lg);-webkit-backdrop-filter:var(--blur-lg);background:var(--color-bg-overlay);display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal-backdrop)}.modal-content{animation:slideUp var(--transition-base) var(--ease-out);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:90vw;overflow:hidden}.modal-content-dark{background:var(--color-bg-primary);border:var(--border-thin) solid var(--color-border-strong)}.modal-header{border-bottom:var(--border-thin) solid var(--color-border-subtle);font-size:var(--text-xl);font-weight:var(--font-semibold)}.modal-body,.modal-header{padding:var(--spacing-2xl)}.modal-body{overflow-y:auto}.modal-footer{border-top:var(--border-thin) solid var(--color-border-subtle);display:flex;gap:var(--gap-md);justify-content:flex-end;padding:var(--spacing-2xl)}.btn{align-items:center;border:var(--border-thin) solid #0000;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--gap-sm);justify-content:center;padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.btn:not(:disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:not(:disabled):active{opacity:var(--opacity-active);transform:translateY(0)}.btn-primary{align-items:center;background:#fff;background:var(--color-base-white,#fff);border-radius:100px;color:#141414;color:var(--color-neutral-900,#141414);display:inline-flex;gap:10px;padding:12px 20px}.btn-primary:not(:disabled):hover{background:#f5f5f5;background:var(--color-neutral-100,#f5f5f5)}.btn-success{background:var(--color-success);color:var(--color-white)}.btn-success:not(:disabled):hover{background:var(--color-success-hover)}.btn-danger{background:var(--color-danger);color:var(--color-white)}.btn-danger:not(:disabled):hover{background:var(--color-danger-hover)}.btn-secondary{background:#ffffff1a;border-color:var(--color-border-medium);color:var(--color-text-primary)}.btn-secondary:not(:disabled):hover{background:#ffffff26;border-color:var(--color-border-strong)}.btn-ghost{background:#0000;border-color:#0000;color:var(--color-text-secondary)}.btn-ghost:not(:disabled):hover{background:#ffffff14;color:var(--color-text-primary)}.btn-outline{background:#0000;border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn-outline:not(:disabled):hover{background:#ffffff1a}.btn-glass{backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);background:var(--glass-bg-overlay),var(--glass-bg-gradient);border:var(--glass-border);border-radius:var(--radius-full);box-shadow:var(--glass-shadow);color:var(--color-text-primary)}.btn-glass:not(:disabled):hover{background:var(--glass-bg-overlay-hover),var(--glass-bg-gradient-hover);transform:scale(1.05)}.btn-glass:not(:disabled):active{transform:scale(.98)}.btn-sm{font-size:var(--text-sm);padding:var(--spacing-sm) var(--spacing-md)}.btn-lg{font-size:var(--text-lg);padding:var(--spacing-lg) var(--spacing-2xl)}.btn-icon{aspect-ratio:1;padding:var(--spacing-md)}.btn-toolbar{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);box-shadow:none;color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-medium);height:56px;justify-content:center;padding:0;text-align:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background var(--transition-base),border var(--transition-base),box-shadow var(--transition-base);width:56px;will-change:transform}.btn-toolbar:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.btn-toolbar.active,.btn-toolbar.selected{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%);border:var(--border-thin) solid #ffffff0d;border-radius:var(--radius-full);box-shadow:0 0 10px 0 #0000004d}.btn-toolbar-sm{height:44px;width:44px}.btn-toolbar-lg{height:64px;width:64px}.icon-btn{align-items:center;background:#0000;border:var(--border-thin) solid #0000;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.icon-btn:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.icon-btn svg{height:18px;width:18px}.icon-btn-ghost{background:#0000;box-shadow:none;color:var(--color-text-tertiary)}.icon-btn-ghost:not(:disabled):hover{background:linear-gradient(102deg,#ffffff14 5.44%,#9999990a 97.16%);color:var(--color-text-primary);transform:scale(1.05)}.icon-btn-secondary{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#ffffff0d;border-color:#ffffff14;color:var(--color-text-primary)}.icon-btn-secondary:not(:disabled):hover{background:#ffffff1a;border-color:#ffffff26;transform:scale(1.05)}.icon-btn-primary{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#3b82f626;border:1px solid #3b82f64d;color:#60a5fa}.icon-btn-primary:not(:disabled):hover{background:#3b82f640;border-color:#60a5fa80;box-shadow:0 0 20px #3b82f680;transform:scale(1.1)}.icon-btn-sm{height:28px;width:28px}.icon-btn-sm svg{height:14px;width:14px}.icon-btn-lg{height:44px;width:44px}.icon-btn-lg svg{height:22px;width:22px}.input{background:#ffffff1a;border:var(--border-thin) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);padding:var(--spacing-md);transition:all var(--transition-base)}.input:focus{background:#ffffff26;border-color:var(--color-primary);outline:none}.input::placeholder{color:var(--color-text-disabled)}.input:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.textarea{background:#ffffff1a;border:var(--border-thin) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);min-height:80px;padding:var(--spacing-md);resize:vertical;transition:all var(--transition-base)}.textarea:focus{background:#ffffff26;border-color:var(--color-primary);outline:none}.select{background:#ffffff1a;border:var(--border-thin) solid var(--color-border-medium);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);padding:var(--spacing-md);transition:all var(--transition-base)}.select:focus{background:#ffffff26;border-color:var(--color-primary);outline:none}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-disabled{color:var(--color-text-disabled)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-primary)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.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)}.p-2xl{padding:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.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)}.m-2xl{margin:var(--spacing-2xl)}.gap-xs{gap:var(--gap-xs)}.gap-sm{gap:var(--gap-sm)}.gap-md{gap:var(--gap-md)}.gap-lg{gap:var(--gap-lg)}.gap-xl{gap:var(--gap-xl)}.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-end{justify-content:flex-end}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.w-full{width:100%}.h-full{height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-base)}.animate-slide-down{animation:slideDown var(--transition-base)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.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)}.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-base)}.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}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.hover\:opacity-hover:hover{opacity:var(--opacity-hover)}.active\:opacity-active:active{opacity:var(--opacity-active)}.grid-container{padding-inline:24px;padding-inline:var(--grid-margin,24px)}.grid-container,.grid-container-full{grid-gap:24px;grid-gap:var(--grid-gutter,24px);display:grid;gap:24px;gap:var(--grid-gutter,24px);grid-template-columns:repeat(12,1fr);grid-template-columns:repeat(var(--grid-columns,12),1fr);width:100%}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-6{grid-column:span 6}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}.col-span-9{grid-column:span 9}.col-span-10{grid-column:span 10}.col-span-11{grid-column:span 11}.col-span-12{grid-column:span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}@media (min-width:768px){.md\:col-span-1{grid-column:span 1}.md\:col-span-2{grid-column:span 2}.md\:col-span-3{grid-column:span 3}.md\:col-span-4{grid-column:span 4}.md\:col-span-5{grid-column:span 5}.md\:col-span-6{grid-column:span 6}.md\:col-span-7{grid-column:span 7}.md\:col-span-8{grid-column:span 8}.md\:col-span-9{grid-column:span 9}.md\:col-span-10{grid-column:span 10}.md\:col-span-11{grid-column:span 11}.md\:col-span-12{grid-column:span 12}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1}.lg\:col-span-2{grid-column:span 2}.lg\:col-span-3{grid-column:span 3}.lg\:col-span-4{grid-column:span 4}.lg\:col-span-5{grid-column:span 5}.lg\:col-span-6{grid-column:span 6}.lg\:col-span-7{grid-column:span 7}.lg\:col-span-8{grid-column:span 8}.lg\:col-span-9{grid-column:span 9}.lg\:col-span-10{grid-column:span 10}.lg\:col-span-11{grid-column:span 11}.lg\:col-span-12{grid-column:span 12}}.grid-panel,.grid-panel-positioned{border-radius:24px;border-radius:var(--grid-radius,24px)}.grid-panel-positioned{position:fixed}body,html{overscroll-behavior:none}
/*# sourceMappingURL=main.22b97101.css.map*/