:root{--ui-button-size-default: clamp(26px, 1vw + 22px, 38px);--ui-button-size-compact: clamp(22px, .9vw + 18px, 32px);--ui-button-size-mini: clamp(20px, .8vw + 16px, 28px);--button-height: var(--ui-button-size-default);--button-radius: 8px;--button-font-size: clamp(12px, calc(var(--button-height) * .32), 15px);--button-transition: .12s ease;--ui-button-secondary-bg: rgba(15, 23, 42, .04);--ui-button-secondary-bg-hover: rgba(15, 23, 42, .06);--ui-button-secondary-color: var(--color-text-primary, #0f172a);--ui-button-secondary-border: rgba(15, 23, 42, .06)}[data-button-scale=compact]{--button-height: var(--ui-button-size-compact);--button-font-size: 13px}[data-button-scale=mini]{--button-height: var(--ui-button-size-mini);--button-font-size: 12px}.ui-button[data-ui-button-density=compact]{--button-height: var(--ui-button-size-compact);--button-font-size: 13px}.ui-button[data-ui-button-density=mini]{--button-height: var(--ui-button-size-mini);--button-font-size: 12px}[data-theme=dark]{--ui-button-secondary-bg: rgba(248, 250, 252, .08);--ui-button-secondary-bg-hover: rgba(248, 250, 252, .14);--ui-button-secondary-color: var(--color-text-primary, #f8fafc);--ui-button-secondary-border: rgba(248, 250, 252, .2)}.ui-button{height:var(--button-height);min-height:var(--button-height);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:0 .6rem;font-size:var(--button-font-size);border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;border-radius:var(--button-radius);transition:transform var(--button-transition),background var(--button-transition),color var(--button-transition),box-shadow var(--button-transition)}.ui-button--size-sm{height:calc(var(--button-height) * .74);font-size:clamp(11px,calc(var(--button-height) * .28),13px);padding:0 .4rem}.ui-button--size-md{height:var(--button-height);font-size:var(--button-font-size)}.ui-button--size-lg{height:calc(var(--button-height) * 1.15);font-size:clamp(13px,calc(var(--button-height) * .36),16px);padding:0 .8rem}.ui-button--shape-rounded{border-radius:10px}.ui-button--shape-square{border-radius:6px}.ui-button--shape-circle{border-radius:8px;padding:0;width:var(--button-height);min-width:var(--button-height)}.ui-button,.ui-button--shape-rounded,.ui-button--shape-square,.ui-button--shape-circle,.icon-button,.color-swatch,.size-selector__button,.topbar__icon-button,.message-block__action-button,.tools-panel--expanded .ui-button,.tools-panel--expanded .icon-button,.tools-panel--expanded .color-swatch,.tools-panel--expanded button.ui-button,.tools-panel--expanded button.icon-button{border-radius:8px!important}.ui-button svg,.icon-button svg,.color-swatch svg{width:auto!important;height:1.25em!important;max-height:100%!important;display:block!important}.tools-panel--expanded div.tools-panel__swatches button.color-swatch.ui-button,.tools-panel--expanded div.tools-panel__swatches button.color-swatch.ui-button[style],.tools-panel--expanded .tools-panel__buttons button.ui-button.icon-button,.topbar .topbar__actions button.ui-button.topbar__icon-button,.message-block__actions button.ui-button.message-block__action-button{border-radius:8px!important}.ui-button--variant-primary{background:var(--color-accent, #0ea5e9);color:#fff;border-color:transparent}.ui-button--variant-primary:hover:not(:disabled){background:var(--color-accent-hover, #0284c7)}.ui-button--variant-secondary{background:var(--ui-button-secondary-bg);color:var(--ui-button-secondary-color);border-color:var(--ui-button-secondary-border)}.ui-button--variant-secondary:hover:not(:disabled){background:var(--ui-button-secondary-bg-hover)}.ui-button--variant-icon{background:var(--ui-button-secondary-bg);color:var(--ui-button-secondary-color);border-color:var(--ui-button-secondary-border)}.ui-button--variant-icon:hover:not(:disabled){background:var(--ui-button-secondary-bg-hover)}.ui-button--variant-ghost{background:transparent;color:inherit;border-color:transparent}.ui-button--variant-danger{background:#ef444414;color:#ef4444;border-color:#ef44441f}.ui-button--variant-transparent{background:transparent;color:inherit;border-color:transparent}.ui-button--icon-only{padding:0;width:var(--button-height);min-width:var(--button-height);justify-content:center}.ui-button--compact{padding:4px;gap:4px}.ui-button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ui-button--active{box-shadow:0 2px 8px #0000000f;transform:translateY(0)}.ui-button svg{width:calc(var(--button-height) * .55);height:calc(var(--button-height) * .55);display:block}.ui-button:focus{outline:3px solid rgba(59,130,246,.15);outline-offset:2px}.ui-button{box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #ffffff1a inset;transition:box-shadow .18s cubic-bezier(.2,.9,.2,1),transform .12s ease,background .12s ease}[data-theme=dark] .ui-button{box-shadow:0 2px 8px #0000004d,0 0 0 1px #ffffff1a inset,0 1px #ffffff26 inset}[data-theme=light] .ui-button{box-shadow:0 2px 8px #00000014,0 0 0 1px #fff9 inset,0 1px #fffc inset}.ui-button:hover:not(:disabled){box-shadow:0 6px 18px #0f172a1f,0 0 0 1px #ffffff26 inset,0 1px #fff3 inset;transform:translateY(-1px)}[data-theme=dark] .ui-button:hover:not(:disabled){box-shadow:0 8px 24px #0006,0 0 0 1px #ffffff26 inset,0 1px #ffffff40 inset,0 0 20px #a855f733}[data-theme=light] .ui-button:hover:not(:disabled){box-shadow:0 8px 24px #0000001f,0 0 0 1px #fffc inset,0 1px #fff inset,0 0 20px #3b82f626}.ui-button:active:not(:disabled),.ui-button.ui-button--active{box-shadow:0 3px 10px #0f172a1a inset,0 2px 6px #0f172a0f,0 0 0 1px #ffffff14 inset;transform:translateY(0)}.ui-button--variant-primary:hover:not(:disabled){box-shadow:0 10px 30px #0ea5e940,0 0 0 1px #ffffff4d inset,0 1px #fff6 inset}.size-selector__dot,.tools-panel--expanded .size-selector__dot,.size-selector .size-selector__dot{border-radius:4px!important;display:inline-block!important;width:var(--dot-size, 10px)!important;height:var(--dot-size, 10px)!important;background:var(--color-text-primary)!important;border:1px solid rgba(0,0,0,.06)!important;box-sizing:border-box!important}.size-selector__button--active{border-color:var(--color-accent)!important;box-shadow:0 0 0 3px #2563eb0f!important}[data-theme=dark] .size-selector__dot{border:1px solid rgba(255,255,255,.12)!important}:root .size-selector__dot{border:1px solid rgba(15,23,42,.06)!important}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:var(--button-height);height:var(--button-height);min-width:var(--button-height);padding:0;border-radius:8px;border:none;background:transparent;gap:0;box-sizing:border-box}.icon-button svg{width:1.25em;height:1.25em;display:block}.icon-button--compact{width:var(--button-height);height:var(--button-height);min-width:var(--button-height)}.ui-button--responsive-text{width:auto;padding:0 .75rem;gap:.5rem}.ui-button--responsive-text .ui-button__text{display:inline;white-space:nowrap}@media (max-width: 767px){.ui-button--responsive-text{width:var(--button-height);min-width:var(--button-height);padding:0}.ui-button--responsive-text .ui-button__text{display:none}}.color-picker-dropdown{position:relative;display:inline-flex}.color-picker-dropdown__button{display:inline-flex;align-items:center;gap:6px;min-width:60px;padding:0 8px!important}.color-picker-dropdown__preview{display:inline-block;width:20px;height:20px;border-radius:4px;border:1.5px solid rgba(0,0,0,.15);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.color-picker-dropdown__arrow{width:12px;height:12px;flex-shrink:0;opacity:.7}.color-picker-dropdown__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:1000;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:10px;box-shadow:0 4px 16px #0000001f;padding:12px;min-width:200px;animation:colorPickerFadeIn .15s ease}@keyframes colorPickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.color-picker-dropdown__palette{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px}.color-picker-dropdown__swatch{width:32px;height:32px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative;padding:0;background-clip:padding-box}.color-picker-dropdown__swatch:hover{transform:scale(1.1);border-color:var(--color-accent, #3b82f6)}.color-picker-dropdown__swatch--active{border-color:var(--color-accent, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.color-picker-dropdown__check{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));stroke:#fff}.color-picker-dropdown__custom-button{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border:1.5px dashed var(--color-border, rgba(0, 0, 0, .15));border-radius:6px;background:transparent;color:var(--color-text-secondary, rgba(0, 0, 0, .6));font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.color-picker-dropdown__custom-button:hover{border-color:var(--color-accent, #3b82f6);color:var(--color-accent, #3b82f6);background:#3b82f60d}.color-picker-dropdown__custom-button svg{width:14px;height:14px}.color-picker-dropdown__custom{display:flex;flex-direction:column;gap:12px}.color-picker-dropdown__custom-header{display:flex;align-items:center;gap:8px}.color-picker-dropdown__back-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-secondary, rgba(0, 0, 0, .6));cursor:pointer;border-radius:4px;transition:all .15s ease;padding:0}.color-picker-dropdown__back-button:hover{background:#0000000d;color:var(--color-text-primary, #000)}.color-picker-dropdown__back-button svg{width:12px;height:12px}.color-picker-dropdown__custom-title{font-size:13px;font-weight:600;color:var(--color-text-primary, #000)}.color-picker-dropdown__custom-preview{display:flex;align-items:center;gap:8px}.color-picker-dropdown__custom-preview-swatch{width:40px;height:40px;border-radius:6px;border:2px solid var(--color-border, rgba(0, 0, 0, .1));flex-shrink:0}.color-picker-dropdown__custom-input{flex:1;padding:8px 10px;border:1px solid var(--color-border, rgba(0, 0, 0, .15));border-radius:6px;font-size:13px;font-family:Courier New,monospace;color:var(--color-text-primary, #000);background:var(--color-surface, #fff)}.color-picker-dropdown__custom-input:focus{outline:none;border-color:var(--color-accent, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.color-picker-dropdown__custom-picker{width:100%;height:120px;border:2px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:6px;cursor:pointer}.color-picker-dropdown__custom-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker-dropdown__custom-picker::-webkit-color-swatch{border:none;border-radius:4px}.color-picker-dropdown__custom-picker::-moz-color-swatch{border:none;border-radius:4px}[data-theme=dark] .color-picker-dropdown__menu{background:#1e293bfa;border-color:#ffffff1a;box-shadow:0 4px 16px #0006}[data-theme=dark] .color-picker-dropdown__preview{border-color:#fff3}[data-theme=dark] .color-picker-dropdown__custom-button{border-color:#ffffff26;color:#ffffffb3}[data-theme=dark] .color-picker-dropdown__custom-button:hover{border-color:var(--color-accent, #3b82f6);background:#3b82f626}[data-theme=dark] .color-picker-dropdown__back-button{color:#ffffffb3}[data-theme=dark] .color-picker-dropdown__back-button:hover{background:#ffffff1a;color:#fff}[data-theme=dark] .color-picker-dropdown__custom-title{color:#fff}[data-theme=dark] .color-picker-dropdown__custom-input{background:#0f172a99;border-color:#ffffff26;color:#fff}[data-theme=dark] .color-picker-dropdown__custom-preview-swatch,[data-theme=dark] .color-picker-dropdown__custom-picker{border-color:#ffffff26}.stroke-width-slider{display:flex;align-items:center;gap:8px;min-width:120px}.stroke-width-slider__input{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;outline:none;cursor:pointer}.stroke-width-slider__input::-webkit-slider-runnable-track{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--color-accent, #3b82f6) 0%,var(--color-accent, #3b82f6) var(--slider-percentage, 50%),rgba(15,23,42,.1) var(--slider-percentage, 50%),rgba(15,23,42,.1) 100%);transition:background .15s ease}.stroke-width-slider__input::-moz-range-track{width:100%;height:6px;border-radius:3px;background:#0f172a1a}.stroke-width-slider__input::-moz-range-progress{height:6px;border-radius:3px;background:var(--color-accent, #3b82f6)}.stroke-width-slider__input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent, #3b82f6);border:2px solid #ffffff;box-shadow:0 2px 6px #00000026;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.stroke-width-slider__input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-accent, #3b82f6);border:2px solid #ffffff;box-shadow:0 2px 6px #00000026;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.stroke-width-slider__input:hover::-webkit-slider-thumb{transform:scale(1.1);box-shadow:0 3px 8px #0003}.stroke-width-slider__input:hover::-moz-range-thumb{transform:scale(1.1);box-shadow:0 3px 8px #0003}.stroke-width-slider__input:active::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 4px 12px #00000040}.stroke-width-slider__input:active::-moz-range-thumb{transform:scale(1.15);box-shadow:0 4px 12px #00000040}.stroke-width-slider__value{font-size:12px;font-weight:600;color:var(--color-text-secondary, rgba(15, 23, 42, .7));min-width:20px;text-align:center;line-height:1}[data-theme=dark] .stroke-width-slider__input::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--color-accent, #3b82f6) 0%,var(--color-accent, #3b82f6) var(--slider-percentage, 50%),rgba(255,255,255,.1) var(--slider-percentage, 50%),rgba(255,255,255,.1) 100%)}[data-theme=dark] .stroke-width-slider__input::-moz-range-track{background:#ffffff1a}[data-theme=dark] .stroke-width-slider__input::-webkit-slider-thumb{border-color:#1e293bfa}[data-theme=dark] .stroke-width-slider__input::-moz-range-thumb{border-color:#1e293bfa}[data-theme=dark] .stroke-width-slider__value{color:#ffffffb3}.ui-toolbar{--ui-toolbar-height: 56px;--ui-toolbar-radius: 16px;--ui-toolbar-gap: 1.25rem;--ui-toolbar-padding-x: 1.25rem;--ui-toolbar-bg: rgba(255, 255, 255, .9);--ui-toolbar-border: rgba(148, 163, 184, .28);--ui-toolbar-shadow: 0 14px 32px rgba(15, 23, 42, .14);--ui-toolbar-label: rgba(15, 23, 42, .55);display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:1rem;row-gap:.75rem;padding:.5rem var(--ui-toolbar-padding-x);min-height:var(--ui-toolbar-height);height:auto;width:100%;border-radius:var(--ui-toolbar-radius);border:1px solid var(--ui-toolbar-border);background:var(--ui-toolbar-bg);box-shadow:var(--ui-toolbar-shadow);color:#0f172a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;box-sizing:border-box}[data-theme=dark] .ui-toolbar{--ui-toolbar-bg: rgba(15, 23, 42, .92);--ui-toolbar-border: rgba(148, 163, 184, .45);--ui-toolbar-shadow: 0 18px 42px rgba(15, 23, 42, .4);--ui-toolbar-label: rgba(248, 250, 252, .65);color:#f8fafc}.ui-toolbar--inline{--ui-toolbar-bg: rgba(255, 255, 255, .75);--ui-toolbar-border: rgba(148, 163, 184, .2);--ui-toolbar-shadow: 0 6px 16px rgba(15, 23, 42, .14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=dark] .ui-toolbar--inline{--ui-toolbar-bg: rgba(15, 23, 42, .85);--ui-toolbar-border: rgba(148, 163, 184, .35)}.ui-toolbar__section{display:flex;align-items:center;gap:.65rem;flex-wrap:nowrap;flex-shrink:0;white-space:nowrap}.ui-toolbar__section--grow{flex:1 1 auto;min-width:min(280px,100%);max-width:100%}.ui-toolbar__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-toolbar-label)}.ui-toolbar__actions{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:nowrap;flex-shrink:0}.ui-toolbar__divider{width:1px;height:28px;background:#94a3b866;flex:0 0 1px;align-self:stretch}.ui-toolbar__slider-row{display:flex;align-items:center;gap:.65rem;flex:1;flex-wrap:wrap;min-width:0}.ui-toolbar__slider-row input[type=range],.ui-toolbar__slider{width:160px;height:4px;border-radius:999px;background:#94a3b859;accent-color:rgba(59,130,246,.9)}.ui-toolbar__stat{font-size:.85rem;font-weight:600}.ui-toolbar__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font-size:.78rem;font-weight:600;color:#3b82f6d9;cursor:pointer}.ui-toolbar__link:disabled{opacity:.45;cursor:not-allowed}.ui-toolbar__link:not(:disabled):hover{text-decoration:underline}[data-theme=dark] .ui-toolbar__link{color:#60a5fae6}@media (max-width: 1100px){.ui-toolbar__divider{flex-basis:100%;width:100%;height:1px;margin:.25rem 0}}.payment-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.payment-modal{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:16px;box-shadow:0 20px 60px #00000080;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.payment-modal__header{position:sticky;top:0;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px;z-index:10}.payment-modal__back{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.payment-modal__back:hover{background:#ffffff1a;border-color:#fff3}.payment-modal__title{flex:1;margin:0;font-size:20px;font-weight:600;color:#fff}.payment-modal__close{padding:8px;background:transparent;border:none;color:#fff9;font-size:24px;cursor:pointer;transition:all .2s ease;line-height:1}.payment-modal__close:hover{color:#fff;transform:scale(1.1)}.payment-modal__summary{padding:20px 24px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1)}.payment-modal__summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#fffc;font-size:14px}.payment-modal__summary-row strong{color:#fff;font-weight:600}.payment-modal__summary-row--bonus{color:#22c55ee6}.payment-modal__bonus{color:#22c55e!important}.payment-modal__summary-divider{height:1px;background:#ffffff1a;margin:12px 0}.payment-modal__summary-row--total{padding-top:12px;font-size:16px}.payment-modal__total{font-size:20px;color:#fbbf24!important}.payment-modal__content{padding:24px;min-height:200px}.payment-methods{display:flex;flex-direction:column;gap:12px}.payment-method-card{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;text-align:left;cursor:pointer;transition:all .2s ease;width:100%}.payment-method-card:hover:not(:disabled){background:#ffffff14;border-color:#3b82f680;transform:translate(4px)}.payment-method-card--disabled{opacity:.5;cursor:not-allowed}.payment-method-card__icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:10px;flex-shrink:0}.payment-method-card__content{flex:1}.payment-method-card__name{font-size:16px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:8px}.payment-method-card__badge{padding:2px 8px;background:#ffc10733;border:1px solid rgba(255,193,7,.4);border-radius:4px;color:#ffc107;font-size:11px;font-weight:600;text-transform:uppercase}.payment-method-card__description{font-size:13px;color:#fff9}.payment-method-card__arrow{font-size:24px;color:#fff6;transition:transform .2s ease}.payment-method-card:hover:not(:disabled) .payment-method-card__arrow{transform:translate(4px);color:#3b82f6}.payment-sdk{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.payment-sdk__wrapper{display:flex;flex-direction:column;gap:16px}.payment-sdk__instruction{margin:0;color:#fffc;font-size:14px;text-align:center}.payment-sdk__note{margin:0;padding:12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;color:#93c5fde6;font-size:13px;text-align:center}.payment-sdk__note--plain{background:transparent;border:none;color:#ffffffbf;padding:0;margin-top:-4px}.payment-sdk__placeholder{padding:40px;text-align:center;color:#ffffff80;font-size:14px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:8px}.payment-modal__footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#0003}.payment-modal__footer-note{margin:0;text-align:center;color:#ffffff80;font-size:13px}@media (max-width: 640px){.payment-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:95vh}.payment-modal__header{padding:16px 20px}.payment-modal__title{font-size:18px}.payment-modal__summary{padding:16px 20px}.payment-modal__content{padding:20px}.payment-method-card{padding:14px}.payment-method-card__icon{font-size:28px;width:44px;height:44px}}.pricing-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1100;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pricing-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a99}.pricing-modal__panel{position:relative;z-index:1;background:#0f172a;color:#e2e8f0;border-radius:18px;box-shadow:0 30px 60px #080f1e73;width:min(1400px,92vw);max-height:calc(100vh - 4rem);overflow:hidden;display:flex;flex-direction:column}.pricing-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.75rem 2rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.15);gap:1.5rem}.pricing-modal__headline h2{margin:0;font-size:1.5rem;font-weight:700;color:#f8fafc}.pricing-modal__headline p{margin:.35rem 0 0;font-size:.95rem;color:#e2e8f0bf}.pricing-modal__close{background:transparent;border:1px solid rgba(148,163,184,.35);color:#e2e8f0d9;border-radius:999px;width:42px;height:42px;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,border-color .15s ease,background .15s ease}.pricing-modal__close:hover:not(:disabled){transform:translateY(-2px);border-color:#f8fafcb3;background:#94a3b81a}.pricing-modal__close:disabled{opacity:.55;cursor:not-allowed}.pricing-modal__content{padding:1.5rem 2rem 2rem;overflow-y:auto}.pricing-modal__controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.pricing-modal__auto-renew{display:inline-flex;align-items:center;gap:.85rem}.pricing-modal__auto-renew-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f0a6;font-weight:600}.pricing-modal__auto-renew-label--active{color:#4ade80}.pricing-modal__auto-renew-toggle{position:relative;width:56px;height:30px;border-radius:999px;border:1px solid rgba(148,163,184,.45);background:#1e293bbf;cursor:pointer;padding:0;transition:background .18s ease,border-color .18s ease}.pricing-modal__auto-renew-toggle--on{background:#16a34a99;border-color:#4ade80bf}.pricing-modal__auto-renew-toggle:disabled{opacity:.45;cursor:not-allowed}.pricing-modal__auto-renew-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#f8fafc;transition:transform .2s ease,background .2s ease}.pricing-modal__auto-renew-toggle--on .pricing-modal__auto-renew-thumb{transform:translate(26px);background:#f0fdf4}.pricing-modal__control-error{flex-basis:100%;margin:0;font-size:.8rem;color:#fca5a5}.pricing-modal__status{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border-radius:16px;background:#0f766e1f;border:1px solid rgba(13,148,136,.3);text-align:center;color:#5eead4;font-weight:500}.pricing-modal__status--error{background:#ef44441a;border-color:#f8717159;color:#fca5a5}.pricing-modal__status--success{background:#22c55e26;border-color:#4ade8059;color:#86efac}.pricing-modal__retry-button{margin-top:.25rem;padding:.45rem 1.25rem;border-radius:999px;border:1px solid rgba(248,250,252,.45);background:#0f172a66;color:#f8fafc;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.pricing-modal__retry-button:hover{transform:translateY(-1px);background:#1e293bb3;border-color:#f8fafccc}.pricing-modal__spinner{width:42px;height:42px;border:4px solid rgba(148,163,184,.35);border-top-color:#38bdf8;border-radius:50%;animation:pricing-modal-spin .9s linear infinite}@keyframes pricing-modal-spin{to{transform:rotate(360deg)}}.pricing-modal__plan-grid{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:1.25rem;align-items:stretch;overflow-x:auto}.pricing-modal__card.pricing-modal__free-card{background:#16a34a1f;border:1px solid rgba(74,222,128,.45);color:#bbf7d0;overflow:hidden}.pricing-modal__card.pricing-modal__free-card.pricing-modal__card--current{border-color:#4ade80d9;box-shadow:0 18px 36px #22c55e40}.pricing-modal__free-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#86efac;font-weight:700}.pricing-modal__free-price{margin:0;font-size:1.5rem;font-weight:700;color:#bbf7d0}.pricing-modal__free-balance{margin:0;font-size:.85rem;color:#86efacd9}.pricing-modal__free-note{margin:0;font-size:.82rem;color:#86efacb3}.pricing-modal__free-card .pricing-modal__current-flag{margin-top:auto}.pricing-modal__card{background:#0f172aa6;border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:1.25rem 1.35rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pricing-modal__card:hover{transform:translateY(-4px);border-color:#94a3b873;box-shadow:0 18px 32px #080f1e66}.pricing-modal__card--highlight{border-color:#38bdf8bf;box-shadow:0 24px 36px #22d3ee4d;background:linear-gradient(150deg,#0f766ed9,#0f172ad9)}.pricing-modal__card--current{border-color:#4ade80b3;box-shadow:0 22px 40px #16a34a47}.pricing-modal__card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.pricing-modal__tier-name{margin:0;font-size:1.15rem;color:#f8fafc}.pricing-modal__badge{padding:.2rem .65rem;border-radius:999px;background:#38bdf833;color:#bae6fd;font-size:.75rem;font-weight:600;letter-spacing:.02em}.pricing-modal__badge--green{background:#22c55e33;color:#86efac}.pricing-modal__card--custom{border:2px solid rgba(34,197,94,.3);background:linear-gradient(135deg,#22c55e0d,#10b98114)}.pricing-modal__card--custom:hover{border-color:#22c55e80;box-shadow:0 12px 32px #22c55e26}.pricing-modal__description{margin:0;color:#e2e8f0cc;font-size:.9rem;line-height:1.4}.pricing-modal__price{margin:0;font-size:1.4rem;font-weight:700;color:#facc15}.pricing-modal__flame-block{display:flex;flex-direction:column;gap:.15rem}.pricing-modal__flame-number{font-size:1.4rem;font-weight:700;color:#f87171}.pricing-modal__flame-unit{font-size:.82rem;text-transform:uppercase;letter-spacing:.09em;color:#e2e8f0b3}.pricing-modal__flame-bonus{margin:0;font-size:.85rem;color:#f8fafcc7}.pricing-modal__flame-bonus--muted{color:#94a3b8b3}.pricing-modal__features{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;color:#e2e8f0cc;font-size:.88rem}.pricing-modal__features li{position:relative}.pricing-modal__features li::marker{color:#5eead4d9}.pricing-modal__current-flag{align-self:flex-start;padding:.35rem .8rem;border-radius:999px;background:#4ade8038;color:#bbf7d0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.pricing-modal__card--current .pricing-modal__current-flag{background:#f8fafc2e;color:#f8fafc}.pricing-modal__cta{margin-top:auto;padding:.65rem 1.25rem;border-radius:999px;border:none;font-weight:700;font-size:.95rem;cursor:pointer;color:#0f172a;background:linear-gradient(135deg,#38bdf8,#22d3ee);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.pricing-modal__cta:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.pricing-modal__cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 28px #22d3ee59}@media (max-width: 768px){.pricing-modal__panel{width:calc(100vw - 1.5rem);max-height:calc(100vh - 2rem)}.pricing-modal__header{padding:1.35rem 1.35rem 1rem}.pricing-modal__content{padding:1.15rem 1.35rem 1.5rem}.pricing-modal__controls{align-items:flex-start}.pricing-modal__plan-grid{grid-template-columns:1fr}}@media (min-width: 768px) and (max-width: 1400px){.pricing-modal__plan-grid{grid-template-columns:repeat(5,minmax(200px,1fr))}}@media (min-width: 1400px){.pricing-modal__plan-grid{grid-template-columns:repeat(5,1fr)}}.pricing-modal__custom-input-wrapper{margin:.5rem 0}.pricing-modal__custom-label{display:block;margin-bottom:.4rem;font-size:.85rem;font-weight:600;color:#86eface6;text-transform:uppercase;letter-spacing:.05em}.pricing-modal__custom-input{width:100%;padding:.65rem .85rem;border-radius:8px;border:1px solid rgba(34,197,94,.3);background:#0f172a99;color:#f8fafc;font-size:1rem;font-weight:600;transition:border-color .2s ease,box-shadow .2s ease}.pricing-modal__custom-input:focus{outline:none;border-color:#22c55e99;box-shadow:0 0 0 3px #22c55e1a}.pricing-modal__custom-input::placeholder{color:#94a3b880;font-weight:400}.pricing-modal__custom-input:disabled{opacity:.5;cursor:not-allowed}.pricing-modal__custom-input--error{border-color:#f87171d9;box-shadow:0 0 0 3px #f871711f}.pricing-modal__custom-error{margin:.35rem 0 0;font-size:.82rem;color:#fca5a5;font-weight:500}.subscription-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center}.subscription-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.subscription-modal__panel{position:relative;z-index:1;width:min(460px,92vw);background:#0f172a;color:#e2e8f0;border-radius:18px;box-shadow:0 28px 60px #080f1e8c;display:flex;flex-direction:column;overflow:hidden}.subscription-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.75rem 2rem 1.25rem;border-bottom:1px solid rgba(148,163,184,.12)}.subscription-modal__header-text{display:flex;flex-direction:column;gap:.35rem}.subscription-modal__title{margin:0;font-size:1.45rem;font-weight:700;color:#f8fafc}.subscription-modal__subtitle{margin:0;font-size:.92rem;color:#cbd5e1e6}.subscription-modal__close{background:none;border:none;font-size:1.6rem;color:#94a3b8e6;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease,color .2s ease}.subscription-modal__close:hover{background:#94a3b81f;color:#f8fafc}.subscription-modal__content{padding:1.75rem 2rem;flex:1;display:flex;flex-direction:column;gap:1rem}.subscription-modal__footer{padding:1.25rem 2rem 1.75rem;border-top:1px solid rgba(148,163,184,.12);display:flex;justify-content:flex-end}.profile-card{background:#0f172abf;border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.profile-card__list{display:flex;flex-direction:column;gap:.9rem;margin:0}.profile-card__item{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.profile-card__label{font-size:.85rem;letter-spacing:.02em;text-transform:uppercase;color:#94a3b8d9}.profile-card__value{margin:0;font-size:1.05rem;font-weight:600;color:#f8fafc}.profile-card__hint{margin:0;font-size:.86rem;color:#94a3b8e6}.profile-card__note{margin:0;font-size:.78rem;color:#94a3b8bf}.profile-card__note--error{color:#fecdd3}.profile-card__controls{display:flex;flex-wrap:wrap;gap:.75rem}.profile-card__controls .profile-button{flex:1 1 auto;min-width:0}.profile-card__controls .profile-button--ghost{background:none;border-color:#ef44448c;color:#fecaca}.profile-card__controls .profile-button--ghost:hover:not(:disabled){border-color:#ef4444cc;box-shadow:none;color:#fee2e2}.profile-status{padding:1.25rem 1.5rem;border-radius:12px;font-size:.95rem;text-align:center;border:1px solid rgba(148,163,184,.12)}.profile-status--muted{color:#cbd5e1e6;background:#94a3b814}.profile-status--error{color:#fecdd3;background:#f43f5e2e;display:flex;flex-direction:column;gap:.75rem;align-items:center}.profile-status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.01em}.profile-status-pill--active{background:#22c55e33;color:#bbf7d0}.profile-status-pill--suspended{background:#facc152e;color:#facc15}.profile-status-pill--past_due{background:#f8717133;color:#fecaca}.profile-status-pill--canceled,.profile-status-pill--none{background:#94a3b82e;color:#cbd5e1e6}.profile-button{min-width:150px;padding:.65rem 1.25rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:linear-gradient(135deg,#3b82f64d,#818cf84d);color:#f8fafc;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.profile-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 30px #3b82f640;border-color:#818cf899}.profile-button:disabled{opacity:.45;cursor:not-allowed}.profile-button--ghost{background:none;border-color:#f8fafc66;color:#f8fafc;padding:.55rem 1.1rem}.profile-button--ghost:hover:not(:disabled){border-color:#f8fafcb3;box-shadow:none}@media (max-width: 480px){.subscription-modal__panel{width:calc(100vw - 1.5rem)}.subscription-modal__header,.subscription-modal__content,.subscription-modal__footer{padding:1.35rem}.profile-card{padding:1.25rem}.profile-card__item{flex-direction:column;align-items:flex-start}.profile-card__value{font-size:1rem}.profile-card__controls{flex-direction:column;gap:.5rem}}.modal__close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal__close:hover{background-color:#f3f4f6;color:#1a1a1a}.modal__content{padding:1.5rem}.modal__content p{margin:0 0 1rem;color:#4b5563;line-height:1.6}.modal__content .warning-text{padding:1rem;background-color:#fef2f2;border-left:4px solid #dc2626;border-radius:4px;color:#991b1b}.modal__footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.form-group{margin-top:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 640px){.subscription-management{padding:1rem}.subscription-details__grid{grid-template-columns:1fr}.subscription-control__header{flex-direction:column;align-items:flex-start}.toggle-switch{align-self:flex-end}.subscription-actions{flex-direction:column}.btn{width:100%;justify-content:center}.modal__footer{flex-direction:column-reverse}.modal__footer .btn{width:100%}}.subscription-success{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.subscription-success__container{max-width:600px;width:100%}.subscription-success__content,.subscription-success__error,.subscription-success__loading{background:#fff;border-radius:12px;padding:3rem 2rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;text-align:center}.subscription-success__loading h2{margin:1.5rem 0 .5rem;color:#1a1a1a;font-size:1.5rem}.subscription-success__loading p{color:#6b7280;margin:0}.spinner-large{width:60px;height:60px;border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.icon-success{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;margin:0 auto 2rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.subscription-success__content h1{font-size:2rem;font-weight:700;color:#1a1a1a;margin:0 0 2rem}.flames-granted{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:2rem;margin:2rem 0;animation:slideUp .6s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.flames-icon{font-size:3rem;margin-bottom:.5rem;animation:flameFlicker 2s ease-in-out infinite}@keyframes flameFlicker{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.flames-amount{font-size:2.5rem;font-weight:700;color:#92400e;margin-bottom:.5rem}.flames-label{font-size:1rem;color:#78350f;margin:0;font-weight:500}.success-info{text-align:left;margin:2rem 0;padding:1.5rem;background:#f9fafb;border-radius:8px}.success-info p{color:#4b5563;line-height:1.6;margin:0 0 1rem}.success-info p:last-child{margin-bottom:0}.success-info .success-note{margin-top:1rem;color:#1d4ed8;font-style:italic}.next-steps{text-align:left;margin:2rem 0;padding:1.5rem;background:#eff6ff;border-radius:8px;border-left:4px solid #3b82f6}.next-steps h3{font-size:1.125rem;font-weight:600;color:#1e40af;margin:0 0 1rem}.next-steps ul{list-style:none;padding:0;margin:0}.next-steps li{color:#374151;line-height:1.6;margin-bottom:1rem;padding-left:1.5rem;position:relative}.next-steps li:last-child{margin-bottom:0}.next-steps li:before{content:"→";position:absolute;left:0;color:#3b82f6;font-weight:700}.next-steps strong{color:#1e40af}.subscription-success__error{animation:shake .5s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.icon-error{width:80px;height:80px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;margin:0 auto 2rem}.subscription-success__error h2{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem}.error-message{color:#dc2626;font-size:1rem;margin:0 0 2rem;padding:1rem;background:#fef2f2;border-radius:8px;border-left:4px solid #dc2626}.button-group{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.btn{padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn--primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 6px -1px #3b82f64d}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #3b82f666}.btn--primary:active{transform:translateY(0)}.btn--secondary{background:#fff;color:#374151;border:2px solid #e5e7eb}.btn--secondary:hover{border-color:#d1d5db;background:#f9fafb}@media (max-width: 640px){.subscription-success{padding:1rem}.subscription-success__content,.subscription-success__error,.subscription-success__loading{padding:2rem 1.5rem}.subscription-success__content h1{font-size:1.5rem}.flames-amount{font-size:2rem}.button-group{flex-direction:column}.btn{width:100%}.icon-success,.icon-error{width:60px;height:60px;font-size:2rem;margin-bottom:1.5rem}.next-steps,.success-info{padding:1rem}}.animated-gradient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;will-change:contents;contain:layout style paint;transform:translateZ(0)}.animated-gradient--dark{background:#0a0118}.animated-gradient--light{background:linear-gradient(135deg,#e0f2fe,#bfdbfe,#dbeafe 50%,#e0f2fe)}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.gradient-orb--static-1{width:500px;height:500px;top:10%;right:15%;opacity:.7}.animated-gradient--dark .gradient-orb--static-1{background:radial-gradient(circle,rgba(124,58,237,.4) 0%,rgba(124,58,237,.15) 40%,transparent 70%)}.animated-gradient--light .gradient-orb--static-1{background:radial-gradient(circle,rgba(96,165,250,.35) 0%,rgba(96,165,250,.12) 40%,transparent 70%)}.gradient-orb--static-2{width:550px;height:550px;bottom:15%;left:10%;opacity:.7}.animated-gradient--dark .gradient-orb--static-2{background:radial-gradient(circle,rgba(59,130,246,.4) 0%,rgba(59,130,246,.15) 40%,transparent 70%)}.animated-gradient--light .gradient-orb--static-2{background:radial-gradient(circle,rgba(125,211,252,.4) 0%,rgba(125,211,252,.15) 40%,transparent 70%)}.gradient-orb--static-3{width:450px;height:450px;top:45%;left:30%;opacity:.65}.animated-gradient--dark .gradient-orb--static-3{background:radial-gradient(circle,rgba(168,85,247,.35) 0%,rgba(168,85,247,.12) 40%,transparent 70%)}.animated-gradient--light .gradient-orb--static-3{background:radial-gradient(circle,rgba(34,211,238,.3) 0%,rgba(34,211,238,.1) 40%,transparent 70%)}.gradient-orb--static-4{width:480px;height:480px;bottom:30%;right:25%;opacity:.65}.animated-gradient--dark .gradient-orb--static-4{background:radial-gradient(circle,rgba(99,102,241,.35) 0%,rgba(99,102,241,.12) 40%,transparent 70%)}.animated-gradient--light .gradient-orb--static-4{background:radial-gradient(circle,rgba(96,165,250,.3) 0%,rgba(96,165,250,.1) 40%,transparent 70%)}.gradient-orb--animated-1{width:600px;height:600px;top:-10%;right:-10%;opacity:.9;animation:floatAnimated1 25s ease-in-out infinite}.animated-gradient--dark .gradient-orb--animated-1{background:radial-gradient(circle,rgba(236,72,153,.85) 0%,rgba(236,72,153,.4) 40%,transparent 70%)}.animated-gradient--light .gradient-orb--animated-1{background:radial-gradient(circle,rgba(59,130,246,.6) 0%,rgba(59,130,246,.25) 40%,transparent 70%);opacity:.8}.gradient-orb--animated-2{width:650px;height:650px;bottom:-15%;left:-15%;opacity:.9;animation:floatAnimated2 30s ease-in-out infinite}.animated-gradient--dark .gradient-orb--animated-2{background:radial-gradient(circle,rgba(59,130,246,.85) 0%,rgba(59,130,246,.4) 40%,transparent 70%)}.animated-gradient--light .gradient-orb--animated-2{background:radial-gradient(circle,rgba(125,211,252,.65) 0%,rgba(125,211,252,.3) 40%,transparent 70%);opacity:.85}.gradient-streak{position:absolute;filter:blur(50px);opacity:.8;will-change:transform;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.gradient-streak--1{width:1200px;height:120px;top:20%;left:-20%;transform:rotate(-20deg);border-radius:50%/15%;animation:streakRotate1 20s ease-in-out infinite}.animated-gradient--dark .gradient-streak--1{background:linear-gradient(90deg,transparent 0%,rgba(168,85,247,.7) 25%,rgba(236,72,153,.75) 50%,rgba(59,130,246,.6) 75%,transparent 100%)}.animated-gradient--light .gradient-streak--1{background:linear-gradient(90deg,transparent 0%,rgba(96,165,250,.5) 25%,rgba(59,130,246,.55) 50%,rgba(125,211,252,.45) 75%,transparent 100%);opacity:.7}.gradient-streak--2{width:1000px;height:100px;bottom:25%;right:-15%;transform:rotate(25deg);border-radius:50%/18%;animation:streakRotate2 25s ease-in-out infinite}.animated-gradient--dark .gradient-streak--2{background:linear-gradient(135deg,transparent 0%,rgba(124,58,237,.7) 20%,rgba(168,85,247,.75) 50%,rgba(236,72,153,.6) 80%,transparent 100%)}.animated-gradient--light .gradient-streak--2{background:linear-gradient(135deg,transparent 0%,rgba(59,130,246,.5) 20%,rgba(96,165,250,.55) 50%,rgba(34,211,238,.45) 80%,transparent 100%);opacity:.7}.stars-layer{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.9),transparent),radial-gradient(1.5px 1.5px at 60% 70%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.6),transparent),radial-gradient(2px 2px at 80% 10%,rgba(255,255,255,.8),transparent),radial-gradient(2.5px 2.5px at 90% 60%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 33% 80%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 15% 15%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 70% 40%,rgba(255,255,255,.6),transparent),radial-gradient(2px 2px at 25% 60%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 45% 90%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 85% 25%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 10% 45%,rgba(255,255,255,.5),transparent);background-size:400% 400%;pointer-events:none;opacity:.8;animation:twinkle 8s ease-in-out infinite}@keyframes floatAnimated1{0%,to{transform:translate(0) scale(1);opacity:.9}33%{transform:translate(-120px,-100px) scale(1.1);opacity:1}66%{transform:translate(-80px,-60px) scale(.95);opacity:.85}}@keyframes floatAnimated2{0%,to{transform:translate(0) scale(1);opacity:.9}33%{transform:translate(150px,120px) scale(1.15);opacity:1}66%{transform:translate(100px,80px) scale(.9);opacity:.85}}@keyframes streakRotate1{0%,to{transform:rotate(-20deg) translate(0) translateY(0);opacity:.8}25%{transform:rotate(-15deg) translate(100px) translateY(-50px);opacity:.9}50%{transform:rotate(-25deg) translate(150px) translateY(-80px);opacity:1}75%{transform:rotate(-18deg) translate(80px) translateY(-40px);opacity:.85}}@keyframes streakRotate2{0%,to{transform:rotate(25deg) translate(0) translateY(0);opacity:.8}25%{transform:rotate(30deg) translate(-120px) translateY(80px);opacity:.9}50%{transform:rotate(20deg) translate(-150px) translateY(120px);opacity:1}75%{transform:rotate(28deg) translate(-80px) translateY(60px);opacity:.85}}@keyframes twinkle{0%,to{opacity:.8}50%{opacity:1}}.lightbox--fullscreen{background:linear-gradient(180deg,#0c0e16b8,#0c0e16ad)!important;backdrop-filter:blur(18px) saturate(120%)!important;-webkit-backdrop-filter:blur(18px) saturate(120%)!important;z-index:2000!important;padding:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;align-items:stretch!important;justify-content:stretch!important}.lightbox__container--fullscreen{background:transparent!important;box-shadow:none!important;border:none!important;width:100vw!important;max-width:100vw!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;--app-header-height: 38px;--global-header-height: 52px;overflow:visible!important;gap:0!important;padding:0!important;margin:0!important}.lightbox__body--fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;z-index:1;overflow:hidden}.lightbox__body--fullscreen .lightbox__media{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:visible;border-radius:0;background:transparent}.lightbox__body--fullscreen .lightbox__media-image{width:auto;height:auto;max-width:95vw;max-height:95vh;object-fit:contain;border-radius:0;box-shadow:0 20px 80px #00000080;will-change:transform;transform-origin:center center}.lightbox__body--fullscreen .lightbox__media--zoomed .lightbox__media-image{max-width:none;max-height:none}.lightbox__controls--fullscreen{position:fixed;left:50%;bottom:2rem;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.75rem;z-index:100;pointer-events:none}.lightbox__actions--fullscreen{display:flex;align-items:center;gap:.5rem;background:#2a2a2ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:999px;box-shadow:0 8px 32px #0006;padding:.5rem .75rem;pointer-events:auto;border:1px solid rgba(255,255,255,.1)}.lightbox__summary--fullscreen{display:flex;align-items:center;gap:.6rem;color:#fffffff2;font-size:.9rem;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:none;background:#2a2a2ed9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.1)}.lightbox__summary--fullscreen .lightbox__counter{background:#3b82f640;color:#93c5fdf2;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600}.lightbox__summary--fullscreen .lightbox__title{font-size:.9rem;font-weight:600;color:#fffffff2}.lightbox__summary--fullscreen .lightbox__meta{font-size:.8rem;color:#ffffffb3}.lightbox__icon{width:1.35em;height:1.35em;display:block;stroke-width:2}.lightbox__actions--fullscreen .lightbox__action{width:42px;height:42px;padding:0;border-radius:50%;background:transparent;border:none;color:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.lightbox__actions--fullscreen .lightbox__action:hover:not(:disabled){background:#ffffff26;color:#fff;transform:scale(1.1)}.lightbox__actions--fullscreen .lightbox__action:disabled{opacity:.3;cursor:not-allowed}.lightbox__actions--fullscreen .lightbox__action--close{background:#ef444433;color:#fff}.lightbox__actions--fullscreen .lightbox__action--close:hover:not(:disabled){background:#ef4444e6}.lightbox__actions--fullscreen .lightbox__zoom-indicator{font-size:.85rem;font-weight:600;color:#ffffffbf;min-width:3rem;text-align:center;padding:0 .5rem}.lightbox__body--fullscreen .lightbox__nav{position:absolute;width:52px;height:52px;border-radius:50%;border:none;background:#2a2a2ed9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#ffffffe6;font-size:1.8rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;box-shadow:0 4px 16px #0000004d;border:1px solid rgba(255,255,255,.1)}.lightbox__body--fullscreen .lightbox__nav:first-child{left:2rem}.lightbox__body--fullscreen .lightbox__nav:last-child{right:2rem}.lightbox__body--fullscreen .lightbox__nav:hover:not(:disabled){background:#2a2a2ef2;transform:scale(1.1);color:#fff}.lightbox__body--fullscreen .lightbox__nav:disabled{opacity:.2;cursor:not-allowed}.lightbox__hint{position:fixed;top:2rem;left:50%;transform:translate(-50%);z-index:200;margin:0;padding:.75rem 1.5rem;border-radius:999px;font-size:.9rem;font-weight:600;text-align:center;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1)}.lightbox__hint--success{color:#fff;background:#10b981e6;border-color:#10b9814d}.lightbox__hint--error{background:#ef4444e6;border-color:#ef44444d;color:#fff}@media (max-width: 768px){.lightbox__controls--fullscreen{bottom:1rem}.lightbox__actions--fullscreen{padding:.4rem .6rem;gap:.35rem}.lightbox__actions--fullscreen .lightbox__action{width:38px;height:38px}.lightbox__body--fullscreen .lightbox__nav{width:44px;height:44px}.lightbox__body--fullscreen .lightbox__nav:first-child{left:1rem}.lightbox__body--fullscreen .lightbox__nav:last-child{right:1rem}.lightbox__summary--fullscreen{font-size:.8rem;padding:.4rem .8rem}}@media (max-width: 960px) and (orientation: landscape){.panel--chat{flex:0 0 40%;min-width:320px}.panel--canvas{flex:1}.topbar__bar{padding:0 1rem}.canvas-ui-stack__layer-toolbar{padding:.5rem 1rem 0}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,4vw,3rem);background:#0f172ac7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:auto}[data-theme=light] .lightbox{background:#0f172ab8}.lightbox__container{position:relative;display:flex;flex-direction:column;gap:0;width:min(1100px,96vw);max-height:min(92vh,960px);border-radius:1.5rem;background:#f8fafcf2;border:1px solid rgba(148,163,184,.35);box-shadow:0 40px 120px #0f172a80;overflow:hidden}[data-theme=dark] .lightbox__container{background:#0d121df5;border-color:#47556959;box-shadow:0 48px 140px #020617bf}.lightbox__topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem 1rem;border-bottom:1px solid rgba(148,163,184,.25);background:#f8fafcd9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}[data-theme=dark] .lightbox__topbar{background:#0f172ad9;border-bottom-color:#47556959}.lightbox__summary{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;min-height:2.5rem;color:var(--color-text-primary)}.lightbox__counter{font-weight:600;font-size:.85rem;padding:.2rem .55rem;border-radius:999px;background:#3b82f61f;color:#2563ebf2}[data-theme=dark] .lightbox__counter{background:#3b82f638;color:#bfdbfef2}.lightbox__title{font-size:1.05rem;font-weight:600}.lightbox__meta{font-size:.85rem;color:var(--color-text-secondary)}.lightbox__actions{display:flex;align-items:center;gap:1rem}.lightbox__actions-group{display:flex;align-items:center;gap:.5rem}.lightbox__actions-group--left{padding-right:1rem;margin-right:1rem;border-right:1px solid rgba(148,163,184,.25)}[data-theme=dark] .lightbox__actions-group--left{border-right-color:#47556966}.lightbox__zoom-indicator{min-width:3.5rem;text-align:center;font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.lightbox__action{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 .95rem;border-radius:.75rem;font-size:.85rem;font-weight:600;border:1px solid rgba(148,163,184,.35);background:#f8fafcd9;color:var(--color-text-primary);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.lightbox__action:hover:not(:disabled){transform:translateY(-1px);border-color:#3b82f673;background:#3b82f626;color:#2563ebf2}.lightbox__action:disabled{opacity:.45;cursor:not-allowed}.lightbox__action--close{width:38px;padding:0;border-radius:50%;background:#0f172ad9;color:#f8fafc;border-color:transparent;font-size:1.5rem;line-height:1}.lightbox__action--close:hover{background:#ef4444d9;border-color:transparent;color:#fff}.lightbox__body{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:1.75rem 1.5rem 2rem;flex:1;min-height:0}.lightbox__media{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:1.25rem;overflow:hidden;max-height:calc(80vh - 160px)}.lightbox__media-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:1rem;box-shadow:0 30px 90px #0f172a59;-webkit-user-select:none;user-select:none}.lightbox__media--zoomed{cursor:grab}.lightbox__media--panning{cursor:grabbing}.lightbox__hint{margin:0 1.5rem;padding:.65rem .95rem;border-radius:.85rem;font-size:.85rem;font-weight:600;text-align:center;color:#0f172a;background:#22c55e26;border:1px solid rgba(34,197,94,.22);box-shadow:inset 0 0 0 1px #22c55e2e}.lightbox__hint--success{color:#0f172a;background:#3b82f61f;border-color:#3b82f640;box-shadow:inset 0 0 0 1px #3b82f633}.lightbox__hint--error{background:#f871712e;border-color:#f8717140;color:#7f1d1d}[data-theme=dark] .lightbox__hint{color:#f8fafc;background:#22c55e2e;border-color:#22c55e47}[data-theme=dark] .lightbox__hint--error{background:#7f1d1d59;border-color:#f8717152;color:#fecaca}.lightbox__nav{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;box-shadow:0 12px 28px #0f172a59;border-radius:999px;border:none;background:#0f172ad9;color:#f8fafc;font-size:1.85rem;line-height:1;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease}[data-theme=light] .lightbox__nav{background:#1e293be0;color:#f8fafc}[data-theme=dark] .lightbox__nav{background:#0f172aa6;color:#e2e8f0}.lightbox__nav:hover:not(:disabled){transform:translateY(-2px);background:#3b82f6d9;box-shadow:0 16px 36px #0f172a73}.lightbox__nav:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.lightbox__placeholder{display:flex;align-items:center;justify-content:center;min-height:240px;font-size:.95rem;color:#e2e8f0d9}[data-theme=light] .lightbox__placeholder{color:var(--color-text-secondary)}.lightbox-library{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:#f8fafcf2;border-left:1px solid rgba(148,163,184,.35);box-shadow:-32px 0 120px #0f172a73;display:flex;flex-direction:column;padding:1.5rem;gap:1.25rem;z-index:150;overflow:hidden}[data-theme=dark] .lightbox-library{background:#0d121df5;border-color:#47556966;box-shadow:-36px 0 120px #020617bf}.lightbox-library__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lightbox-library__summary{display:flex;flex-direction:column;gap:.25rem}.lightbox-library__title{margin:0;font-size:1.1rem;font-weight:600}.lightbox-library__meta{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.lightbox-library__actions{display:flex;align-items:center}.lightbox__library{flex:1;overflow-y:auto;padding-right:.5rem}.lightbox__library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem}.lightbox__empty{padding:3rem 1.5rem;text-align:center;color:var(--color-text-secondary);font-size:.95rem}[data-theme=dark] .lightbox__empty{color:#e2e8f0d1}.lightbox__library-item{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:.75rem;border-radius:1rem;background:#e2e8f040;border:1px solid rgba(148,163,184,.25);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .lightbox__library-item{background:#1e293b66;border-color:#47556966}.lightbox__library-item:hover{transform:translateY(-4px);border-color:#3b82f673;box-shadow:0 24px 60px #0f172a59}.lightbox__library-open{display:block;width:100%;aspect-ratio:1 / 1;border-radius:.8rem;overflow:hidden;border:none;padding:0;background:#0f172a1a;cursor:pointer}.lightbox__library-open img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.lightbox__library-open:hover img{transform:scale(1.05)}.lightbox__library-meta{display:flex;flex-direction:column;gap:.25rem}.lightbox__library-title{font-size:.92rem;font-weight:600;color:var(--color-text-primary)}.lightbox__library-subtitle{font-size:.78rem;color:var(--color-text-secondary)}.lightbox__library-delete{position:absolute;top:.7rem;right:.7rem;width:30px;height:30px;border-radius:999px;border:none;background:#0f172a99;color:#f8fafc;font-size:1.15rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease}.lightbox__library-delete:hover{background:#ef4444d9}[data-theme=dark] .lightbox__library-delete{background:#0f172abf}@media (max-width: 1024px){.lightbox__container{width:min(940px,96vw);max-height:90vh}.lightbox__body{padding:1.5rem 1.25rem 1.75rem;gap:1rem}}@media (max-width: 768px){.lightbox{padding:clamp(1rem,4vw,2rem) clamp(.75rem,3vw,1.5rem)}.lightbox__container{width:100%;max-height:100vh;border-radius:0}.lightbox__topbar{flex-direction:column;align-items:flex-start;gap:.75rem}.lightbox__actions{width:100%;justify-content:space-between;gap:.5rem}.lightbox__actions-group--left{padding-right:.75rem;margin-right:.75rem}.lightbox__body{flex-direction:column}.lightbox__nav{order:-1}.lightbox__media{width:100%;max-height:calc(70vh - 120px)}.lightbox__library-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.lightbox-library{width:100%;height:60vh;inset:auto 0 0 0;border-left:none;border-top:1px solid rgba(148,163,184,.35);border-radius:1.25rem 1.25rem 0 0;box-shadow:0 -24px 60px #0f172a59}}@media (max-width: 480px){.lightbox__library-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.lightbox__library-item{padding:.65rem}.lightbox__actions{flex-direction:column;align-items:stretch}.lightbox__actions-group,.lightbox__actions-group--left{width:100%;justify-content:space-between}.lightbox__action{flex:1;justify-content:center}}:root{--color-background: #f3f4f6;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text-primary: #1f2937;--color-text-secondary: #4b5563;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-muted: #9ca3af;--color-shadow: rgba(15, 23, 42, .08);--accent-500: #2563eb;--canvas-bg: #f8fafc;--canvas-grid-major: rgba(148, 163, 184, .28);--canvas-grid-minor: rgba(148, 163, 184, .18);--app-header-height: 38px;--global-header-height: 52px;--topbar-row-gap: .3rem}[data-theme=dark]{--color-background: #0f172a;--color-surface: rgba(17, 24, 39, .7);--color-border: rgba(31, 41, 55, .5);--color-text-primary: #f9fafb;--color-text-secondary: #e5e7eb;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-danger: #f87171;--color-danger-hover: #ef4444;--color-muted: #94a3b8;--color-shadow: rgba(15, 23, 42, .35);--canvas-bg: #020617;--canvas-grid-major: rgba(148, 163, 184, .24);--canvas-grid-minor: rgba(148, 163, 184, .18);--app-header-height: 38px;--global-header-height: 52px;--topbar-row-gap: .3rem}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-background);color:var(--color-text-primary)}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--color-background);position:relative;z-index:1}[data-theme=dark] .app,[data-theme=light] .app{background:transparent}.app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:0 1.25rem;height:var(--global-header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow)}[data-theme=dark] .app-header{background:#0a011880;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-bottom:1px solid rgba(168,85,247,.3);will-change:transform;transform:translateZ(0)}[data-theme=light] .app-header{background:#fff9;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-bottom:1px solid rgba(59,130,246,.2);will-change:transform;transform:translateZ(0)}.app-header__brand{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text-primary)}@media (max-width: 767px){.app-header__brand{position:absolute;left:1.25rem}}.app-header__actions{position:absolute;right:1.25rem;display:flex;align-items:center;gap:.5rem}.app-header__controls{display:inline-flex;align-items:center;gap:.35rem}.app-header__divider{width:1px;height:28px;background:var(--color-border);opacity:.6}.layout{display:flex;width:100%;height:calc(100vh - var(--global-header-height));max-height:calc(100vh - var(--global-header-height));overflow:hidden}.panel{display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);height:100%;max-height:100%;overflow:hidden}[data-theme=dark] .panel:not(.panel--canvas){background:#0a011873;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-right:1px solid rgba(168,85,247,.25);will-change:transform;transform:translateZ(0)}[data-theme=light] .panel:not(.panel--canvas){background:#ffffff8c;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-right:1px solid rgba(59,130,246,.2);will-change:transform;transform:translateZ(0)}.panel--canvas{flex:2;position:relative}.panel--canvas .canvas-stage-panel{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;border-right:none}.canvas-stage-panel .panel__body{flex:1;position:relative;overflow:visible}.canvas-stage-panel__content{position:relative;flex:1;display:flex;flex-direction:column;height:100%}.canvas-ui-stack{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;pointer-events:none;z-index:32}.canvas-ui-stack>*{pointer-events:auto}.canvas-ui-stack__layer-toolbar{display:flex;justify-content:stretch;align-items:stretch;padding:0 0 .75rem;margin-top:auto}.canvas-ui-stack__layer-toolbar .ui-toolbar{width:100%}.panel--chat{flex:1;border-right:none;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px) and (orientation: portrait){.layout{flex-direction:column}.panel{height:auto;max-height:none;border-right:none;border-bottom:1px solid var(--color-border)}.panel--chat{order:1;flex:0 0 45vh;min-height:280px;max-height:50vh}.panel--canvas{order:2;flex:1;min-height:50vh}.panel--canvas .canvas-stage-panel{position:relative;height:100%}.topbar__bar{padding:.35rem .75rem .2rem;gap:.25rem}.topbar__actions{justify-content:flex-start}.panel__footer{padding:.75rem}.canvas-ui-stack__layer-toolbar{padding:0 0 .5rem}}.konva-preview-info{padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start;height:100%;color:var(--color-text-primary)}.konva-preview-info__action{padding:.6rem 1.1rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.25);background:#0f172ad9;color:#f8fafc;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.konva-preview-info__action:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a59}.konva-preview-info__action:focus-visible{outline:2px solid rgba(125,211,252,.9);outline-offset:2px}.konva-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;margin:0 1rem 1rem;border-radius:1rem;background:linear-gradient(135deg,#0ea5e91f,#2563eb14);border:1px solid rgba(59,130,246,.25);box-shadow:0 18px 36px #0f172a29}.konva-preview-banner__text{display:flex;flex-direction:column;gap:.1rem;color:var(--color-text-primary);font-size:.95rem}.konva-preview-banner__text strong{font-size:1rem}.konva-preview-banner__action{padding:.55rem 1.2rem;border-radius:999px;border:none;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#f8fafc;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.konva-preview-banner__action:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 15px 30px #2563eb47}[data-theme=dark] .konva-preview-banner{background:linear-gradient(135deg,#0ea5e938,#0e74b424);border-color:#7dd3fc59;box-shadow:0 16px 38px #0f172a73}[data-theme=dark] .konva-preview-banner__action{background:linear-gradient(135deg,#22d3ee,#60a5fa);color:#0b1120}.konva-preview-info h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700}.konva-preview-info p{margin:0;font-size:.95rem;line-height:1.6;color:var(--color-text-secondary)}.panel__body{flex:1;position:relative;display:flex;flex-direction:column;width:100%}.panel__header,.panel__footer{padding:1rem;border-bottom:1px solid var(--color-border);box-shadow:0 1px 2px var(--color-shadow);background:var(--color-surface);z-index:1;width:100%}.panel__footer{border-bottom:none;border-top:1px solid var(--color-border);box-shadow:0 -1px 2px var(--color-shadow);gap:.75rem}@media (max-width: 767px){.panel__footer{padding:.5rem;gap:.5rem}}.panel__title{margin:0;font-size:1.25rem;font-weight:700}.panel__header--chat{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;height:var(--app-header-height);padding:0 1.5rem}.panel__header-actions{display:flex;align-items:center;gap:.5rem}.chat-history{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:var(--color-surface);scroll-behavior:smooth;position:relative}.chat-history__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;gap:.75rem;background:#0f172a8c;color:#fff;border-radius:.75rem;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-theme=dark] .chat-history__overlay{background:#111827b3}.chat-history__spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(255,255,255,.35);border-top-color:#fff;animation:chat-history-spin 1s linear infinite}@keyframes chat-history-spin{to{transform:rotate(360deg)}}.chat-history__overlay-title{margin:0;font-size:1.05rem;font-weight:600}.chat-history__overlay-subtitle{margin:0;font-size:.95rem;font-weight:400;color:#ffffffd9}.canvas-wrapper{position:relative;flex:1;background-color:var(--canvas-bg);background-image:none;border-top:1px solid var(--color-border);cursor:default;overflow:hidden}.canvas-layer-menu{align-self:flex-end;position:relative;margin:.5rem 1rem .25rem;pointer-events:auto}.canvas-layer-menu__toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .9rem;border-radius:9999px;border:1px solid rgba(148,163,184,.35);background:#0f172ad9;color:#f8fafc;font-size:.92rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.canvas-layer-menu__toggle:hover:not(:disabled),.canvas-layer-menu__toggle:focus-visible:not(:disabled){background:#0f172aeb;transform:translateY(-1px)}.canvas-layer-menu__toggle:disabled{opacity:.55;cursor:not-allowed}.canvas-layer-menu__toggle-icon{display:inline-flex;align-items:center;justify-content:center}.canvas-layer-menu__chevron{font-size:.75rem;transition:transform .2s ease}.canvas-layer-menu__chevron--open{transform:rotate(-180deg)}.canvas-layer-menu__dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:240px;padding:.5rem;border-radius:14px;background:#0f172af2;border:1px solid rgba(148,163,184,.35);box-shadow:0 22px 44px #0f172a73;display:flex;flex-direction:column;gap:.25rem;z-index:30}.canvas-layer-menu__item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .75rem;border:none;border-radius:10px;background:transparent;color:inherit;font-size:.92rem;cursor:pointer;transition:background .2s ease,color .2s ease}.canvas-layer-menu__item--danger{color:#f87171}.canvas-layer-menu__item--danger:hover:not(:disabled),.canvas-layer-menu__item--danger:focus-visible:not(:disabled){background:#f8717124;color:#fecaca}.canvas-layer-menu__item:hover:not(:disabled),.canvas-layer-menu__item:focus-visible:not(:disabled){background:#94a3b82e}.canvas-layer-menu__item:disabled{opacity:.45;cursor:not-allowed}.canvas-layer-menu__item-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.canvas-layer-menu__section{display:flex;flex-direction:column;gap:.3rem;padding:.2rem 0}.canvas-layer-menu__divider{width:100%;height:1px;background:#94a3b859;margin:.15rem 0 .25rem}.canvas-layer-menu__opacity-group{display:flex;flex-direction:column;gap:.35rem;padding:.4rem .55rem .55rem;border-radius:12px;background:#47556959}.canvas-layer-menu__opacity-header{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:#e2e8f0eb}.canvas-layer-menu__opacity-label{display:inline-flex;align-items:center;gap:.35rem}.canvas-layer-menu__opacity-value{font-variant-numeric:tabular-nums;font-weight:600}.canvas-layer-menu__opacity-slider{width:100%;accent-color:#38bdf8}.canvas-layer-menu__opacity-slider:disabled{opacity:.45;cursor:not-allowed}.canvas-layer-menu__opacity-reset{align-self:flex-end;background:none;border:none;color:#38bdf8;font-size:.78rem;font-weight:500;cursor:pointer;padding:0}.canvas-layer-menu__opacity-reset:hover:not(:disabled),.canvas-layer-menu__opacity-reset:focus-visible:not(:disabled){text-decoration:underline}.canvas-layer-menu__opacity-reset:disabled{opacity:.45;cursor:not-allowed}[data-theme=light] .canvas-layer-menu__toggle{background:#fffffff2;color:#0f172a;border-color:#0f172a29}[data-theme=light] .canvas-layer-menu__toggle:hover:not(:disabled),[data-theme=light] .canvas-layer-menu__toggle:focus-visible:not(:disabled){background:#e2e8f0f2}[data-theme=light] .canvas-layer-menu__dropdown{background:#f8fafcf7;border-color:#0f172a1f;box-shadow:0 20px 38px #0f172a33}[data-theme=light] .canvas-layer-menu__item:hover:not(:disabled),[data-theme=light] .canvas-layer-menu__item:focus-visible:not(:disabled){background:#2563eb1f}.canvas-wrapper[data-mode=draw]{cursor:crosshair}.canvas-wrapper[data-mode=text]{cursor:text}.canvas{display:block;width:100%;height:100%;cursor:inherit}.canvas-wrapper[data-drag-active=true]:after,.canvas__drop-prompt{content:"Kéo và thả hình ảnh vào đây";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;border:2px dashed var(--color-border);background:#0f172a8c;color:#fff;text-align:center;pointer-events:none;transition:opacity .2s ease}[data-theme=light] .canvas-wrapper[data-drag-active=true]:after,[data-theme=light] .canvas__drop-prompt{background:#f8fafceb;color:#0f172a;border-color:#0f172a2e}[data-theme=dark] .canvas-wrapper[data-drag-active=true]:after{background:#020617b8}.canvas__drop-prompt{opacity:0}.canvas-wrapper[data-drag-active=true]:after{opacity:1}.canvas__selection-frame{position:absolute;pointer-events:none;z-index:8;transition:left .12s ease,top .12s ease,width .12s ease,height .12s ease}.canvas__selection-frame-outline{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1rem;border:2px solid rgba(16,185,129,.7);background:#10b9811f;box-shadow:0 0 0 3px #10b98133,0 14px 36px #10b98152}[data-theme=dark] .canvas__selection-frame-outline{background:#10b9812e;box-shadow:0 0 0 3px #10b98142,0 18px 44px #10b9816b}.canvas__selection-generate{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:999px;border:none;background:var(--color-accent);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:0 16px 36px #2563eb47;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;pointer-events:auto}.canvas__selection-generate--icon{padding:.6rem;width:2.75rem;height:2.75rem;border-radius:50%;justify-content:center;gap:0}.canvas__selection-generate:hover:not(:disabled){transform:translateY(-1px);background:var(--color-accent-hover);box-shadow:0 20px 44px #1d4ed84d}.canvas__selection-generate:disabled{background:var(--color-muted);box-shadow:none;cursor:not-allowed;transform:none}.canvas__selection-generate-icon{display:inline-flex;width:1.25rem;height:1.25rem}.selection-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center}.selection-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.selection-modal__panel{position:relative;width:min(720px,90vw);max-height:90vh;background:var(--color-surface);border-radius:1rem;box-shadow:0 32px 80px #0f172a59;display:flex;flex-direction:column;overflow:hidden;z-index:1}.selection-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.selection-modal__title{margin:0;font-size:1.1rem;font-weight:600}.selection-modal__close{border:none;background:transparent;font-size:1.5rem;cursor:pointer;line-height:1;color:var(--color-text-secondary)}.selection-modal__close:disabled{opacity:.5;cursor:not-allowed}.selection-modal__content{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.selection-modal__loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;color:var(--color-text-secondary)}.selection-modal__spinner{width:54px;height:54px;border-radius:50%;border:4px solid rgba(37,99,235,.2);border-top-color:var(--color-accent);animation:chat-history-spin 1s linear infinite}.selection-modal__preview img{width:100%;border-radius:.75rem;border:1px solid var(--color-border);background:#0f172a05}.selection-modal__preview h4,.selection-modal__sources h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.selection-modal__sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.selection-modal__source-item{position:relative;display:flex;flex-direction:column;gap:.4rem;font-size:.75rem;color:var(--color-text-secondary)}.selection-modal__source-item img{width:100%;border-radius:.6rem;border:1px solid var(--color-border);object-fit:cover;background:#0f172a05}.selection-modal__source-remove{position:absolute;top:.35rem;right:.35rem;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:#0f172acc;color:#fff;font-size:1rem;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.selection-modal__source-remove:hover:not(:disabled){background:#ef4444e6;transform:scale(1.05)}.selection-modal__source-remove:disabled{opacity:.6;cursor:not-allowed}.selection-modal__source-item--excluded img{opacity:.35;filter:grayscale(.8)}.selection-modal__source-item--excluded span{color:#94a3b8e6}.selection-modal__source-removed{position:absolute;top:.4rem;right:.4rem;bottom:.4rem;left:.4rem;border-radius:.55rem;background:#0f172ab8;border:1px dashed rgba(148,163,184,.6);display:flex;align-items:center;justify-content:center;text-align:center;padding:.4rem;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#e2e8f0e6;pointer-events:none}.selection-modal__source-restore{position:absolute;top:.35rem;right:.35rem;border:none;border-radius:999px;padding:.35rem .6rem;background:#14532de6;color:#fff;font-size:.65rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.selection-modal__source-restore:hover:not(:disabled){background:#16a34af2;transform:scale(1.05)}.selection-modal__source-restore:disabled{opacity:.6;cursor:not-allowed}.selection-modal__hint{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.selection-modal__3d-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:9999px;background:#38bdf81f;color:var(--color-text-primary);font-size:.85rem;margin:.75rem 0 0}.selection-modal__3d-chip-icon{width:1.25rem;height:1.25rem;border-radius:9999px;background:#38bdf8;display:inline-flex;align-items:center;justify-content:center;color:#0f172a;font-weight:600;font-size:.75rem}.selection-modal__3d-chip-text{line-height:1.4}.selection-modal__footer{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem 1.5rem;border-top:1px solid var(--color-border)}.selection-modal__prompt-label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.selection-modal__textarea{width:100%;resize:vertical;min-height:120px;max-height:240px;border:1px solid var(--color-border);border-radius:.75rem;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;background:var(--color-surface);color:var(--color-text-primary)}.selection-modal__textarea:disabled{background:#94a3b81a}.selection-modal__validation{margin:0;color:var(--color-danger);font-size:.85rem}.selection-modal__actions{display:flex;justify-content:flex-end;gap:.75rem}.selection-modal__button{border:none;border-radius:999px;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.selection-modal__button--primary{background:var(--color-accent);color:#fff;box-shadow:0 16px 36px #2563eb40}.selection-modal__button--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 44px #1d4ed852}.selection-modal__button--ghost{background:#94a3b81f;color:var(--color-text-secondary)}.selection-modal__button:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;transform:none}.mapping-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center}.mapping-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mapping-modal__panel{position:relative;width:min(640px,92vw);max-height:90vh;background:var(--color-surface, #fff);border-radius:1.25rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 40px 120px #0f172a73;color:var(--color-text-primary, #0f172a)}[data-theme=dark] .mapping-modal__panel{background:#0f172aeb;color:#e2e8f0eb}.mapping-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mapping-modal__title{margin:0;font-size:1.25rem;font-weight:700}.mapping-modal__close{width:2.25rem;height:2.25rem;border-radius:50%;border:none;background:#94a3b82e;color:inherit;font-size:1.3rem;cursor:pointer;transition:background .2s ease}.mapping-modal__close:hover{background:#3b82f647}.mapping-modal__content{overflow-y:auto;max-height:60vh;display:flex;flex-direction:column;gap:1.5rem;padding-right:.25rem}.mapping-modal__meta{margin:0;font-size:.9rem;color:#64748bd9}[data-theme=dark] .mapping-modal__meta{color:#94a3b8cc}.mapping-modal__section{display:flex;flex-direction:column;gap:.8rem}.mapping-modal__section h3{margin:0;font-size:1rem;font-weight:700}.mapping-modal__card{border:1px solid rgba(37,99,235,.16);border-radius:1rem;padding:.9rem 1rem;background:#3b82f614;display:flex;flex-direction:column;gap:.5rem}[data-theme=dark] .mapping-modal__card{background:#1e40af38;border-color:#60a5fa4d}.mapping-modal__card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.mapping-modal__card-title{font-size:.95rem;font-weight:600}.mapping-modal__card-subtitle{margin:0;font-size:.82rem;color:#475569e6}[data-theme=dark] .mapping-modal__card-subtitle{color:#cbd5e1c7}.mapping-modal__role-badge{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;background:#0ea5e929;color:#0ea5e9e6}[data-theme=dark] .mapping-modal__role-badge{background:#7dd3fc33;color:#bfefffeb}.mapping-modal__list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.mapping-modal__item{border:1px solid rgba(37,99,235,.12);border-radius:1rem;padding:1rem;background:#ffffffbf;display:flex;flex-direction:column;gap:.6rem}[data-theme=dark] .mapping-modal__item{background:#0f172aa6;border-color:#3b82f647}.mapping-modal__summary{margin:0;font-size:.88rem;line-height:1.45;color:#334155f2}[data-theme=dark] .mapping-modal__summary{color:#e2e8f0d9}.mapping-modal__chips{display:flex;flex-wrap:wrap;gap:.4rem}.mapping-modal__chips--muted .mapping-modal__chip{background:#16a34a1f;color:#16a34ad9}.mapping-modal__chip{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;background:#60a5fa2e;color:#2563ebe6;font-size:.75rem;font-weight:600}[data-theme=dark] .mapping-modal__chip{background:#93c5fd3d;color:#dbeafef2}.mapping-modal__meta-row{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.78rem;color:#475569e6}[data-theme=dark] .mapping-modal__meta-row{color:#cbd5e1c7}.mapping-modal__warnings{margin:0;padding-left:1.2rem;font-size:.8rem;color:#b91c1ce0;display:grid;gap:.3rem}.mapping-modal__warnings--global{padding-left:1.1rem}[data-theme=dark] .mapping-modal__warnings{color:#f87171f2}.mapping-modal__footer{display:flex;justify-content:flex-end}.mapping-modal__button{padding:.5rem 1.1rem;border-radius:.9rem;border:none;background:linear-gradient(135deg,#2563ebeb,#0ea5e9d9);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.mapping-modal__button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #2563eb40}.canvas-wrapper .lower-canvas,.canvas-wrapper .upper-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.canvas-wrapper .lower-canvas{z-index:1}.canvas-wrapper .upper-canvas{z-index:5}.context-menu{position:absolute;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:0 12px 32px #0f172a26;padding:.25rem;z-index:50;pointer-events:auto}.context-menu__item{display:flex;align-items:center;width:100%;border:none;background:transparent;color:var(--color-text-primary);font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer;gap:.5rem}.context-menu__item:hover:not(:disabled){background:#2563eb14}.context-menu__item:disabled{opacity:.5;cursor:not-allowed}.context-menu__item--danger{color:var(--color-danger)}.context-menu__item--danger:hover:not(:disabled){background:#ef444414}.context-menu__divider{height:1px;margin:.25rem 0;background:var(--color-border)}.context-menu__icon{display:inline-flex;width:1.25rem;height:1.25rem;color:inherit}.topbar{display:flex;flex-direction:column;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 10px 32px #0f172a14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:30}.topbar--compact .topbar__bar{min-height:44px}.topbar__bar{display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;column-gap:.35rem;row-gap:var(--topbar-row-gap);padding:.4rem 1rem .3rem;min-height:calc(var(--app-header-height) + var(--topbar-row-gap));width:100%}.topbar__brand{font-size:1.05rem;font-weight:600;letter-spacing:.01em;color:var(--color-text-primary);white-space:nowrap}.topbar__spacer{flex:1}.topbar__actions{display:flex;align-items:center;gap:.2rem;row-gap:var(--topbar-row-gap);flex-wrap:wrap;justify-content:flex-start;flex:1 1 100%;min-width:0}.topbar__icon-button{border-radius:.5rem;border:1px solid transparent;background:transparent;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;flex:0 0 auto}.topbar__icon-button:hover{color:var(--color-accent);border-color:#3b82f659;background:#3b82f61f}.topbar__icon-button--active{color:var(--color-accent);border-color:#3b82f673;background:#3b82f62e;box-shadow:0 0 0 1px #3b82f629}.topbar__icon-button:disabled{opacity:.45;cursor:not-allowed;border-color:transparent;background:transparent}.topbar__divider{width:1px;height:calc(var(--button-height, var(--ui-button-size-default)) - 6px);background:var(--color-border);opacity:.65;margin:0 .35rem}.topbar__menu{position:relative;display:inline-flex}.topbar__menu-panel{position:absolute;top:calc(100% + .5rem);right:0;min-width:180px;border-radius:.75rem;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 20px 40px #0f172a2e;padding:.6rem .4rem;display:flex;flex-direction:column;gap:.25rem;z-index:120}.topbar__menu-panel:before{content:"";position:absolute;top:-8px;right:12px;width:16px;height:16px;background:var(--color-surface);border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);transform:rotate(45deg)}.topbar__menu-heading{margin:0 0 .25rem;padding:0 .4rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.topbar__menu-item{border:none;background:transparent;padding:.45rem .6rem;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-primary);font-size:.85rem;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.topbar__menu-item:hover{background:#3b82f61f;color:var(--color-accent)}.topbar__menu-item--active{background:#3b82f62e;color:var(--color-accent);font-weight:600}@media (max-width: 720px){.topbar__actions{justify-content:flex-end;gap:.3rem}.topbar__bar{flex-wrap:wrap;row-gap:.4rem}.topbar__spacer{flex:100%;height:0}}.topbar__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.topbar__swatches{display:flex;gap:.4rem;flex-wrap:wrap}.color-swatch{border-radius:inherit;border:2px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 1px 4px #0f172a26}.color-swatch:hover{transform:translateY(-1px)}.color-swatch--active{border-color:var(--color-accent);box-shadow:0 0 0 2px #2563eb59}.size-selector{display:flex;align-items:center;gap:.45rem}.size-selector__button{display:inline-flex;align-items:center;justify-content:center;border-radius:inherit;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.size-selector__button:hover{transform:translateY(-1px)}.size-selector__button--active{border-color:var(--color-accent);background:#2563eb14}.size-selector__dot{display:block;border-radius:4px;background:var(--color-text-primary)}.tools-panel{display:flex;align-items:flex-start;justify-content:flex-start;gap:12px;row-gap:8px;padding:.35rem .9rem;border-top:1px solid var(--color-border);background:#2563eb05;flex-wrap:wrap;box-sizing:border-box}.tools-panel--expanded{font-family:inherit}.tools-panel__section{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0 6px}.tools-panel__field{display:flex;align-items:center;gap:10px;white-space:nowrap;flex-shrink:0}.tools-panel__controls{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.tools-panel__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, rgba(15,23,42,.7));line-height:1;min-width:fit-content;white-space:nowrap}.tools-panel__label--block{display:block;margin-bottom:6px}.tools-panel__buttons{display:inline-flex;gap:8px;align-items:center}.tools-panel__box{padding:4px 10px;border-radius:8px;border:1px solid rgba(15,23,42,.06);display:flex;align-items:center;gap:6px;background:transparent;min-height:var(--button-height, var(--ui-button-size-default));box-sizing:border-box}.tools-panel__box input[type=checkbox]{margin:0;width:14px;height:14px;flex-shrink:0;cursor:pointer}.tools-panel__box label{display:flex;align-items:center;gap:6px;margin:0;line-height:1;cursor:pointer}.tools-panel__swatches{display:flex;gap:8px;flex-wrap:nowrap;max-width:400px}.tools-panel__slot{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;white-space:nowrap;flex-shrink:0}.tools-panel__divider{width:1px;height:calc(var(--button-height, var(--ui-button-size-default)) - 6px);background:var(--color-border);opacity:.65;flex-shrink:0}.size-selector__dot{width:var(--dot-size, calc(var(--button-height, var(--ui-button-size-default)) * .35));height:var(--dot-size, calc(var(--button-height, var(--ui-button-size-default)) * .35));border-radius:4px;background:currentColor;display:inline-block}@media (max-width: 880px){.tools-panel--expanded{flex-direction:row;align-items:flex-start;row-gap:10px;height:auto}.tools-panel__label{min-width:40px}}.tools-panel--expanded [role=menu],.tools-panel--expanded [role=menuitem],.tools-panel--expanded [role=menuitemradio]{outline-offset:3px}.select{padding:.5rem 2rem .5rem .75rem;border-radius:.5rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:.95rem;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-muted) 50%),linear-gradient(135deg,var(--color-muted) 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 20px) 1.1rem,calc(100% - 15px) 1.1rem,calc(100% - 2.5rem) .5rem;background-size:5px 5px,5px 5px,1px 1.5rem;background-repeat:no-repeat}.select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb26}.message-block{display:flex;gap:.75rem;align-items:flex-start}.message-block--user{flex-direction:row-reverse}.message-block--assistant{flex-direction:row}.message-block__avatar{width:36px;height:36px;border-radius:50%;background:var(--color-text-primary);color:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;box-shadow:0 4px 12px #0f172a24}.message-block--user .message-block__avatar{background:var(--color-accent);color:#fff}[data-theme=dark] .message-block__avatar{color:#0f172a}.message-block__content{max-width:85%;display:flex;flex-direction:column;gap:.35rem}.message-block--user .message-block__content{align-items:flex-end}.message-block--assistant .message-block__content{align-items:flex-start}.message-block__bubble{background:var(--color-text-primary);color:var(--color-surface);padding:.8rem 1rem;border-radius:1rem;box-shadow:0 10px 28px #0f172a33;display:flex;flex-direction:column;gap:.5rem;max-width:min(520px,100%)}[data-theme=light] .message-block__bubble{background:#ffffffe6;color:var(--color-text-primary);box-shadow:0 10px 28px #0f172a14,0 0 0 1px #3b82f61a inset;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);will-change:transform;transform:translateZ(0)}.attachment-plan{margin-top:.25rem;padding:.7rem .85rem;border-radius:.75rem;border:1px solid var(--color-border);background:#0f172a0f;display:flex;flex-direction:column;gap:.5rem;font-size:.78rem;color:#0f172ad9}[data-theme=dark] .attachment-plan{background:#94a3b81a;border-color:#94a3b859;color:#e2e8f0e6}.attachment-plan__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.attachment-plan__badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .45rem;border-radius:999px;background:#0f172a14;color:#0f172ae6;border:1px solid rgba(15,23,42,.08)}[data-theme=dark] .attachment-plan__badge{background:#94a3b833;color:#e2e8f0eb;border-color:#94a3b84d}.attachment-plan__counts{font-weight:500}.attachment-plan__row{display:flex;align-items:flex-start;gap:.5rem}.attachment-plan__label{min-width:5.5rem;font-weight:600}.attachment-plan__value{flex:1;line-height:1.4}.attachment-plan__section{border-top:1px solid rgba(15,23,42,.12);padding-top:.45rem}[data-theme=dark] .attachment-plan__section{border-top-color:#94a3b840}.attachment-plan__section-title{display:block;font-weight:600;margin-bottom:.25rem}.attachment-plan__list{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.25rem}.attachment-plan__list li{list-style:disc}.attachment-plan__warnings{margin-top:.35rem;display:flex;gap:.5rem;align-items:flex-start;padding:.6rem .75rem;border-radius:.65rem;background:#fdba742e;color:#7c2d12eb;font-size:.78rem}[data-theme=dark] .attachment-plan__warnings{background:#f973162e;color:#fed7aaeb}.attachment-plan__warning-icon{font-size:1rem;line-height:1;margin-top:.15rem}.attachment-plan__warnings ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.25rem}.reference-summaries{margin-top:1.25rem;padding:1rem 1.15rem;border-radius:1rem;background:#2563eb14;border:1px solid rgba(37,99,235,.2);display:flex;flex-direction:column;gap:.85rem}[data-theme=dark] .reference-summaries{background:#2563eb1f;border-color:#60a5fa59}.reference-summaries__header{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.reference-summaries__badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#2563ebf2}[data-theme=dark] .reference-summaries__badge{color:#bfdbfef2}.reference-summaries__count{font-size:.8rem;color:#0f172aa6;font-weight:600}[data-theme=dark] .reference-summaries__count{color:#e2e8f0cc}.reference-summaries__details{margin-left:auto;padding:.25rem .65rem;border-radius:999px;border:1px solid rgba(37,99,235,.28);background:#2563eb1f;color:#2563ebf2;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease}.reference-summaries__details:hover{background:#2563eb33;border-color:#2563eb73}[data-theme=dark] .reference-summaries__details{background:#3b82f633;border-color:#60a5fa59;color:#bfdbfef2}[data-theme=dark] .reference-summaries__details:hover{background:#3b82f647;border-color:#93c5fd80}.reference-summaries__list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.reference-summaries__item{padding:.85rem .9rem;border-radius:.85rem;background:#ffffffbf;border:1px solid rgba(37,99,235,.12);display:flex;flex-direction:column;gap:.6rem;position:relative}[data-theme=dark] .reference-summaries__item{background:#0f172a99;border-color:#2563eb59}.reference-summaries__item-header{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.reference-summaries__item-title{font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.reference-summaries__intent-role{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:#0ea5e91f;color:#0ea5e9d9}[data-theme=dark] .reference-summaries__intent-role{background:#7dd3fc2e;color:#bfeffff2}.reference-summaries__summary{margin:0;font-size:.88rem;line-height:1.4;color:var(--color-text-secondary)}[data-theme=dark] .reference-summaries__summary{color:#e2e8f0d1}.reference-summaries__chips{display:flex;flex-wrap:wrap;gap:.35rem}.reference-summaries__chips--muted .reference-summaries__chip{background:#0f766e1a;color:#0f766ed9}.reference-summaries__chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#3b82f61f;color:#2563ebd9;font-size:.75rem;font-weight:600}[data-theme=dark] .reference-summaries__chip{background:#60a5fa29;color:#bfdbfef2}.reference-summaries__meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.78rem;color:#0f172aa6}[data-theme=dark] .reference-summaries__meta{color:#e2e8f0b8}.reference-summaries__warnings{margin:0;padding-left:1.1rem;font-size:.8rem;color:#b91c1ce6;display:grid;gap:.3rem}[data-theme=dark] .reference-summaries__warnings{color:#fca5a5f2}.intent-plan{margin-top:.35rem;padding:.8rem .95rem;border-radius:.75rem;border:1px solid rgba(37,99,235,.18);background:#2563eb14;display:flex;flex-direction:column;gap:.75rem;font-size:.78rem;color:#0f172ae6}[data-theme=dark] .intent-plan{background:#3b82f62e;border-color:#93c5fd59;color:#e2e8f0eb}.intent-plan__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.intent-plan__badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .45rem;border-radius:999px;background:#2563eb29;color:#1e40aff2;border:1px solid rgba(37,99,235,.22)}[data-theme=dark] .intent-plan__badge{background:#93c5fd40;color:#dbeafef2;border-color:#bfdbfe59}.intent-plan__summary{font-weight:500}.intent-plan__stages{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem}.intent-plan__stage{display:flex;flex-direction:column;gap:.5rem;padding-left:.85rem;border-left:2px solid rgba(37,99,235,.28)}[data-theme=dark] .intent-plan__stage{border-left-color:#93c5fd73}.intent-plan__stage-header{display:flex;align-items:flex-start;gap:.6rem}.intent-plan__stage-index{flex-shrink:0;width:1.6rem;height:1.6rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;background:#2563eb26;color:#1e40aff2}[data-theme=dark] .intent-plan__stage-index{background:#93c5fd40;color:#dbeafef2}.intent-plan__stage-meta{display:flex;flex-direction:column;gap:.25rem}.intent-plan__stage-title{font-weight:600;font-size:.85rem}.intent-plan__stage-description{margin:0;font-size:.78rem;color:#0f172ab8}[data-theme=dark] .intent-plan__stage-description{color:#e2e8f0bf}.intent-plan__group{display:flex;flex-direction:column;gap:.25rem}.intent-plan__group-title{font-weight:600}.intent-plan__group-value{line-height:1.35}.intent-plan__group-list{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.2rem}.intent-plan__group-list li{list-style:disc}.intent-plan__notes{margin:0;padding-left:1rem;display:flex;flex-direction:column;gap:.25rem;color:#1e40afd9}[data-theme=dark] .intent-plan__notes{color:#bfdbfee6}.intent-plan__warnings{display:flex;gap:.5rem;align-items:flex-start;padding:.6rem .75rem;border-radius:.65rem;background:#fdba742e;color:#7c2d12e6;font-size:.78rem}[data-theme=dark] .intent-plan__warnings{background:#f9731633;color:#fed7aaeb}.intent-plan__warning-icon{font-size:1rem;line-height:1;margin-top:.15rem}.intent-plan__warnings ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.25rem}.message-block__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:#94a3b8e6}.message-block__actions .button{padding:.25rem .7rem;font-size:.85rem;line-height:1.2}.message-block__actions .icon-button{width:2.2rem;height:2.2rem;padding:.35rem;border-radius:999px;gap:0;font-size:1rem;line-height:1}.message-block__action-button span[aria-hidden=true]{font-size:1.1rem;line-height:1}.message-block__action-button[disabled]{opacity:.6;cursor:not-allowed}.message-block__feedback-status{font-size:.8rem;color:#94a3b8e6}.message-block__feedback-status--warning{color:#f97316f2}.message-block__feedback-status--success{color:#22c55ef2}.message-block--user .message-block__bubble{background:var(--color-accent);color:#fff;box-shadow:0 12px 30px #2563eb47}[data-theme=light] .message-block--user .message-block__bubble{box-shadow:0 12px 30px #2563eb33,0 0 0 1px #ffffff4d inset}[data-theme=dark] .message-block__bubble{background:#1f2937;color:var(--color-text-secondary)}.message-block__gallery{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}@media (max-width: 640px){.message-block__gallery{gap:.4rem}}.message-block--error .message-block__bubble{background:#ef44441f;color:var(--color-text-primary);border:1px solid rgba(239,68,68,.35)}[data-theme=dark] .message-block--error .message-block__bubble{background:#f871712e;color:#fee2e2;border-color:#f8717166}.message-block--pending .message-block__bubble{opacity:.9}.message-block__status{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;opacity:.85}.message-block__spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:chat-history-spin 1s linear infinite}[data-theme=dark] .message-block__spinner{border:2px solid rgba(15,23,42,.2);border-top-color:#0f172aa6}.message-content{font-size:.95rem;line-height:1.55;margin:0;color:inherit;word-break:break-word}.message-content--text{white-space:pre-wrap}.message-content--html{width:100%}.message-content--image{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;width:100%;max-width:fit-content}.message-content--image img{width:90px;height:90px;object-fit:cover;border-radius:.5rem;box-shadow:0 4px 12px #0f172a26;background:var(--color-surface)}@media (max-width: 767px){.message-content--image img{width:60px;height:60px;border-radius:.35rem}.message-content--image{gap:.35rem}}@media (max-width: 360px){.message-content--image{flex-direction:column;max-width:100%}.message-content--image img{width:100%;height:auto;max-height:120px;object-fit:contain}}.message-content__media-trigger{position:relative;display:block;width:100%;padding:0;border:none;background:none;cursor:zoom-in;border-radius:.75rem;overflow:hidden}.message-content__media-trigger img{display:block;width:100%;height:100%;object-fit:contain;background:var(--color-surface)}.message-content__media-trigger:after{content:"";position:absolute;right:.5rem;top:.5rem;width:24px;height:24px;border-radius:.375rem;background:#0f172abf;opacity:0;transform:scale(.9);transition:opacity .2s ease,transform .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E");background-size:16px 16px;background-position:center;background-repeat:no-repeat}.message-content__media-trigger:hover:after,.message-content__media-trigger:focus-visible:after{opacity:1;transform:scale(1)}.message-content__media-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb59}.message-content__media-trigger--grid img{object-fit:cover}.message-content--image-grid{width:90px;height:90px;max-width:none;flex-shrink:0}.message-content--image-grid img{width:90px;height:90px;object-fit:cover}@media (max-width: 767px){.message-content--image-grid,.message-content--image-grid img{width:60px;height:60px}}.message-content--image-grid .message-content__action{width:100%}.message-content--snapshot img{border:2px dashed rgba(37,99,235,.35);object-fit:contain}.message-content__caption{font-size:.82rem;color:var(--color-text-secondary);margin:0}.message-content__action{align-self:flex-start}.chat-input{position:relative;display:flex;align-items:flex-end}.chat-input__textarea{width:100%;padding:.75rem 3rem .75rem 1rem;border-radius:.75rem;border:1px solid var(--color-border);resize:none;font-size:.95rem;color:var(--color-text-primary);background:var(--color-surface);min-height:120px}@media (max-width: 767px){.chat-input__textarea{min-height:60px;padding:.6rem 3rem .6rem .75rem;font-size:.9rem}}.chat-input__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2563eb26}.chat-input__textarea--error{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444426}.chat-input__validation{margin:.25rem 0 0;color:var(--color-danger);font-size:.8rem;font-weight:500}.chat-input__send{position:absolute;right:.75rem;bottom:.75rem;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:var(--color-accent);color:#fff;cursor:pointer;transition:background .2s ease}.chat-input__send:hover{background:var(--color-accent-hover)}.prompt-composer__enhance{margin-top:.75rem;display:flex;flex-direction:column;gap:.35rem}@media (max-width: 767px){.prompt-composer__enhance{margin-top:.25rem;gap:.15rem}}.prompt-composer__toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.prompt-composer__toggle input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--color-accent);cursor:pointer}@media (max-width: 767px){.prompt-composer__toggle{font-size:.75rem}.prompt-composer__toggle input[type=checkbox]{width:.9rem;height:.9rem}}.prompt-composer__toggle input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.prompt-composer__toggle-label--short{display:none}@media (max-width: 767px){.prompt-composer__toggle-label--full{display:none}.prompt-composer__toggle-label--short{display:inline}}.prompt-composer__hint{margin:0;font-size:.75rem;color:var(--color-text-secondary);line-height:1.3}@media (max-width: 767px){.prompt-composer__hint{display:none}}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:.75rem;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.button:active{transform:translateY(1px)}.button--primary{background:var(--color-accent);color:#fff}.button--primary:hover{background:var(--color-accent-hover)}.button--secondary{background:#2563eb26;color:var(--color-accent)}.button--secondary:hover{background:#2563eb40}.button--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.button--ghost:hover{color:var(--color-accent);border-color:#2563eb59;background:#2563eb14}[data-theme=dark] .button--ghost{color:#e5e7eb;border-color:#94a3b866;background:#94a3b814}[data-theme=dark] .button--ghost:hover{color:var(--color-accent);border-color:var(--color-accent);background:#2563eb33}.attachment{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--color-border);border-radius:.75rem;background:#0f172a0a}.attachment__preview{width:64px;height:64px;border-radius:.75rem;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-surface)}.attachment__preview img{width:100%;height:100%;object-fit:cover}.attachment__icon{display:inline-flex;color:var(--color-accent)}.attachment__content{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.attachment__name{font-size:.9rem;font-weight:500}.attachment__remove{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;border:none;background:var(--color-danger);color:#fff;cursor:pointer}.attachment-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.attachment__details{flex:1;display:flex;flex-direction:column;gap:.3rem}.attachment__meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--color-text-muted)}.attachment__actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.attachment__actions button{padding:.25rem .5rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;font-size:.75rem;cursor:pointer}.attachment__actions button:disabled{opacity:.5;cursor:not-allowed}.attachment__rename{display:flex;align-items:center;gap:.5rem}.attachment__rename input{flex:1;padding:.35rem .55rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface)}.attachment__rename-actions{display:flex;align-items:center;gap:.35rem}.attachment__rename-actions button{padding:.25rem .6rem;border-radius:.5rem;border:1px solid var(--color-border);background:var(--color-surface-highlight);cursor:pointer;font-size:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1200px){.app{flex-direction:column}.panel{border-right:none}.panel--canvas,.panel--chat{width:100%}}.guider{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,3vw,2.5rem);background:#0f172ac7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.guider__container{width:min(960px,94vw);max-height:92vh;background:#0f172af0;color:#e2e8f0f0;border-radius:1.5rem;box-shadow:0 42px 96px #020617a6;display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1.25rem,3vw,2rem);outline:none}[data-theme=light] .guider__container{background:#fffffff5;color:var(--color-text-primary);box-shadow:0 36px 80px #0f172a2e}.guider__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.guider__header-info{display:flex;flex-direction:column;gap:.35rem;min-width:0}.guider__title{margin:0;font-size:clamp(1.25rem,3vw,1.65rem);font-weight:700}.guider__subtitle{margin:0;font-size:.95rem;color:#e2e8f0b8}[data-theme=light] .guider__subtitle{color:#475569d9}.guider__close{border:none;background:#94a3b81f;color:inherit;border-radius:999px;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;line-height:1;transition:background .2s ease,transform .2s ease}.guider__close:hover{background:#3b82f640;transform:translateY(-1px)}[data-theme=light] .guider__close{background:#94a3b833}.guider__tabs{display:inline-flex;align-items:center;gap:.75rem;border-radius:999px;padding:.35rem;background:#0f172a66;align-self:flex-start}[data-theme=light] .guider__tabs{background:#e2e8f099}.guider__tab{border:none;border-radius:999px;padding:.5rem 1.1rem;font-size:.95rem;font-weight:600;background:transparent;color:inherit;cursor:pointer;transition:background .2s ease,color .2s ease}.guider__tab--active{background:#3b82f633;color:#fff;box-shadow:0 8px 18px #2563eb59}[data-theme=light] .guider__tab--active{color:var(--color-text-primary);background:#3b82f640}.guider__content{flex:1;display:flex;flex-direction:column;gap:1.5rem;overflow:hidden}.guider__guide{display:flex;flex-direction:column;gap:1.25rem}.guider__slider{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.guider__slide{display:flex;flex-direction:column;gap:1rem;background:#1e293ba6;border-radius:1.25rem;padding:1.25rem;border:1px solid rgba(148,163,184,.25);box-shadow:inset 0 0 0 1px #0f172a40}[data-theme=light] .guider__slide{background:#f8fafcd9;border-color:#94a3b859;box-shadow:inset 0 0 0 1px #fff6}.guider__slide-media{aspect-ratio:16 / 9;border-radius:1rem;overflow:hidden;background:linear-gradient(135deg,#3b82f666,#6366f159);display:flex;align-items:center;justify-content:center}.guider__slide-placeholder{width:70%;height:60%;border-radius:.85rem;background:#ffffff29;border:1px dashed rgba(255,255,255,.32)}[data-theme=light] .guider__slide-placeholder{background:#60a5fa2e;border-color:#2563eb73}.guider__slide-body{display:flex;flex-direction:column;gap:.5rem}.guider__slide-title{margin:0;font-size:1.05rem;font-weight:600}.guider__slide-description{margin:0;font-size:.95rem;color:#e2e8f0d1}[data-theme=light] .guider__slide-description{color:#475569eb}.guider__license{display:flex;flex-direction:column;gap:.85rem;padding:1.25rem;border-radius:1.25rem;background:#1e293b99;border:1px solid rgba(148,163,184,.25)}[data-theme=light] .guider__license{background:#f8fafce6;border-color:#94a3b84d}.guider__license-text{margin:0;font-size:1rem;font-weight:500}.guider__license-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.65rem;color:#e2e8f0d1;font-size:.95rem}[data-theme=light] .guider__license-list{color:#475569d9}.guider__shortcuts{display:flex;flex-direction:column;gap:1rem}.guider__shortcut-description{margin:0;font-size:.95rem;color:#e2e8f0c7}[data-theme=light] .guider__shortcut-description{color:#475569d9}.guider__shortcut-table{display:grid;gap:.5rem}.guider__shortcut-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.4fr) minmax(96px,.5fr);gap:.75rem;align-items:center;padding:.85rem 1rem;border-radius:1rem;background:#0f172a8c;border:1px solid rgba(148,163,184,.22)}.guider__shortcut-row--header{background:#3b82f629;border-color:#3b82f659;font-weight:600}[data-theme=light] .guider__shortcut-row{background:#f8fafce0;border-color:#94a3b84d}.guider__shortcut-cell{display:flex;align-items:center;gap:.65rem;font-size:.95rem}.guider__shortcut-keys{display:inline-flex;flex-wrap:wrap;gap:.35rem;align-items:center}.guider__shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.35rem .65rem;border-radius:.65rem;background:#0f172abf;border:1px solid rgba(148,163,184,.35);font-size:.85rem;font-weight:600;color:#e2e8f0f2}.guider__shortcut-plus{margin:0 .15rem;font-weight:600;color:#e2e8f0a6}[data-theme=light] .guider__shortcut-key{background:#ffffffe6;color:var(--color-text-primary)}.guider__shortcut-description-text{color:#e2e8f0d9}[data-theme=light] .guider__shortcut-description-text{color:#475569eb}.guider__shortcut-status{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#10b98133;color:#10b981f2}.guider__shortcut-status--planned{background:#fbbf243d;color:#fbbf24f2}@media (max-width: 960px){.guider__slider{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.guider__shortcut-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"keys status" "description description";row-gap:.65rem}.guider__shortcut-row>:nth-child(1){grid-area:keys}.guider__shortcut-row>:nth-child(2){grid-area:description}.guider__shortcut-row>:nth-child(3){grid-area:status;justify-content:flex-end}}@media (max-width: 640px){.guider__container{padding:1rem;border-radius:1.25rem}.guider__tabs{width:100%;justify-content:center;flex-wrap:wrap}.guider__shortcut-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"keys" "description" "status"}.guider__shortcut-row>:nth-child(3){justify-content:flex-start}}.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0f172aa6;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-modal-content{background-color:#fff;padding:2.25rem;border-radius:16px;box-shadow:0 24px 48px #0f172a2e;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem}.auth-modal-content h2{margin:0;text-align:center}.auth-modal-content form{display:flex;flex-direction:column;gap:1rem}.auth-modal-content input{padding:.75rem;border:1px solid #d4d4d8;border-radius:8px;font-size:.95rem}.auth-modal-content .button-group{display:flex;gap:1rem;justify-content:flex-end}.auth-modal-content button{padding:.75rem 1.5rem;border:none;border-radius:999px;cursor:pointer;font-weight:600;transition:transform .15s ease,opacity .15s ease}.auth-modal-content .oauth-button{width:100%;margin-top:.5rem;background:#fff;color:#111827;border:1px solid #d4d4d8;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-modal-content .oauth-button:hover{border-color:#9ca3af;transform:translateY(-1px)}.auth-modal-content .oauth-divider{display:flex;align-items:center;gap:.75rem;color:#6b7280;font-size:.85rem}.auth-modal-content .oauth-divider:before,.auth-modal-content .oauth-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.auth-modal-content button:disabled{opacity:.6;cursor:not-allowed}.auth-modal-content .button-group button:first-of-type{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff}.auth-modal-content .button-group button:last-of-type{background:#f4f4f5;color:#111827}.auth-modal-content .close-button{background-color:transparent;color:#4b5563;border:1px solid #e2e8f0;align-self:center;padding:.5rem 1.5rem}.error-message{color:#dc2626;text-align:center}.topbar__login-button{padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#0f172a8c;color:#f8fafc;font-weight:600;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.topbar__login-button:hover{transform:translateY(-1px);border-color:#f8fafccc;background:#0f172abf}.topbar__login-button:disabled{opacity:.6;cursor:not-allowed}.topbar__user-menu{display:flex;align-items:center;gap:.65rem;padding:.35rem .6rem;border-radius:999px;background:#0f172a8c;border:1px solid rgba(248,250,252,.35);color:#f8fafc}.topbar__auth{display:flex;align-items:center;margin-left:.75rem}.topbar__user-chip{display:flex;align-items:center;gap:.5rem;min-width:0}.topbar__user-name{display:inline-flex;align-items:center;gap:.35rem;min-width:0;font-weight:600}.topbar__user-name-label{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__user-tier{display:inline-block;margin-left:.35rem;padding:.1rem .35rem;border-radius:999px;background:#94a3b83d;color:#e2e8f0;font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:super;box-shadow:0 0 0 1px #94a3b859}.topbar__user-tier--slate{background:#64748b42;color:#e2e8f0;box-shadow:0 0 0 1px #64748b52}.topbar__user-tier--blue{background:#2563eb3d;color:#bfdbfe;box-shadow:0 0 0 1px #2563eb61}.topbar__user-tier--emerald{background:#10b98138;color:#bbf7d0;box-shadow:0 0 0 1px #10b98152}.topbar__user-tier--purple{background:#a855f73d;color:#f3e8ff;box-shadow:0 0 0 1px #a855f75c}.topbar__user-tier--amber{background:#f59e0b38;color:#fef3c7;box-shadow:0 0 0 1px #f59e0b57}.topbar__user-tier--rose{background:#f43f5e3d;color:#fecdd3;box-shadow:0 0 0 1px #f43f5e5c}.topbar__user-menu{position:relative;display:flex;align-items:center;color:#f8fafc}.topbar__user-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.32rem .85rem;border-radius:999px;border:1px solid rgba(248,250,252,.35);background:#0f172a8c;color:inherit;font-size:.82rem;font-weight:600;line-height:1;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.topbar__user-chip:hover,.topbar__user-chip:focus-visible{transform:translateY(-1px);border-color:#f8fafca6;background:#0f172abf;box-shadow:0 10px 20px #0f172a59}.topbar__user-chip:focus-visible{outline:2px solid rgba(56,189,248,.8);outline-offset:2px}.topbar__user-chip--open{border-color:#f8fafcbf;background:#0f172ad9}.topbar__user-name{font-weight:600;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__user-total{display:inline-flex;align-items:center;gap:.25rem;font-weight:600;font-size:.85rem}.topbar__user-total-icon{display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}.topbar__user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;display:flex;flex-direction:column;min-width:180px;padding:.4rem .25rem;border-radius:14px;border:1px solid rgba(148,163,184,.35);background:#0f172af2;box-shadow:0 18px 36px #080f1e73;z-index:1200}.topbar__user-dropdown-item{width:100%;padding:.55rem .75rem;border:none;border-radius:10px;background:transparent;color:#f8fafc;font-size:.82rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.topbar__user-dropdown-item:hover,.topbar__user-dropdown-item:focus-visible{background:#38bdf82e;color:#e0f2fe;outline:none}.topbar__user-dropdown-item+.topbar__user-dropdown-item{margin-top:.1rem}.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);color:#f8fafc}.auth-callback__card{background:#0f172ad9;padding:2rem 2.5rem;border-radius:16px;box-shadow:0 24px 48px #0f172a59;text-align:center;max-width:420px;display:flex;flex-direction:column;gap:1rem}.auth-callback__card button{align-self:center;padding:.6rem 1.8rem;border-radius:999px;border:none;font-weight:600;cursor:pointer;background:#f97316;color:#fff}
