.auth-container{display:flex;min-height:100vh;background:var(--surface-1);position:relative}.auth-hero{flex:1;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:3rem;overflow:hidden;min-height:100vh}.auth-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;--bg-brightness: .5;--bg-transition: 2s;--bg-ken-burns-scale: 1.1;--bg-ken-burns-duration: 30s}.auth-bg-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(var(--bg-brightness))}.auth-bg-image.ken-burns{animation:auth-ken-burns var(--bg-ken-burns-duration) ease-in-out infinite alternate}.auth-bg-image.current{z-index:1;opacity:1;transition:opacity var(--bg-transition) ease-in-out}.auth-bg-image.next{z-index:0;opacity:1}.auth-bg-image.current.fading-out{opacity:0}@keyframes auth-ken-burns{0%{transform:scale(1) translate(0)}to{transform:scale(var(--bg-ken-burns-scale)) translate(-2%,-2%)}}.auth-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to top,rgba(13,13,26,.95) 0%,rgba(13,13,26,.3) 50%,transparent 100%);pointer-events:none}.auth-hero-content{position:relative;z-index:2;color:var(--text-primary)}.auth-hero-content h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;line-height:1.2}.auth-hero-content p{font-size:1.1rem;color:var(--text-primary);margin:0;max-width:400px}.auth-form-panel{width:480px;min-width:400px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding:2rem;overflow-y:auto;max-height:100vh;background:var(--panel-bg);border-left:1px solid var(--overlay-weak)}.auth-card{position:relative;width:100%;max-width:380px;margin:auto 0;padding:0;background:transparent;border:none;box-shadow:none}.auth-panel-image{text-align:center;margin-bottom:1.5rem}.auth-panel-image img{max-height:60px;max-width:200px;object-fit:contain}.auth-panel-image.top{margin-bottom:1.5rem}.auth-panel-image.bottom{margin-top:1.5rem;margin-bottom:0;order:99}.auth-language-selector{position:absolute;top:0;right:0;z-index:2}.auth-card h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:4px;font-size:.85rem;color:var(--text-muted);font-weight:500}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{width:100%;padding:10px 12px;background:var(--overlay-weak);border:1px solid var(--overlay-medium);border-radius:6px;color:var(--text-primary);font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#6366f199;background:var(--overlay-weak)}.password-input{position:relative}.password-input input{padding-right:40px}.password-toggle,.password-toggle-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.password-toggle:hover{color:var(--text-secondary)}.password-requirements{margin-top:6px;font-size:.78rem}.password-requirements ul{list-style:none;padding:0;margin:0}.requirement-failed{color:#f87171;padding:1px 0}.requirement-passed{color:#4ade80}.form-group-checkbox{margin-bottom:1.2rem}.checkbox-label{display:flex!important;align-items:flex-start;gap:8px;cursor:pointer;font-size:.82rem!important;color:var(--text-secondary)!important}.checkbox-label input[type=checkbox]{margin-top:2px;accent-color:#6366f1;width:16px;height:16px;flex-shrink:0}.checkbox-label a{color:#818cf8;text-decoration:underline}.oauth-buttons{display:flex;flex-direction:column;gap:8px}.oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 20px;border:1px solid var(--overlay-medium);border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--overlay-weak);color:var(--text-secondary)}.oauth-button:hover{background:var(--overlay-medium);border-color:var(--overlay-strong);color:var(--text-primary)}.oauth-icon{flex-shrink:0}.passkey-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 20px;border:1px solid var(--overlay-medium);border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;background:var(--overlay-weak);color:var(--text-secondary)}.passkey-button:hover{background:var(--overlay-medium);border-color:var(--overlay-strong);color:var(--text-primary)}.auth-divider{display:flex;align-items:center;gap:12px;margin:1.2rem 0;color:var(--text-muted);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--overlay-medium)}.auth-error{background:#f871711f;border:1px solid rgba(248,113,113,.3);color:#f87171;padding:8px 12px;border-radius:6px;margin-bottom:1rem;font-size:.85rem;text-align:center}.auth-success{background:#4ade801f;border:1px solid rgba(74,222,128,.3);color:#4ade80;padding:8px 12px;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.auth-warning{background:#fbbf241f;border:1px solid rgba(251,191,36,.3);color:#fbbf24;padding:8px 12px;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.85rem;color:var(--text-muted)}.auth-footer a,.auth-link a{color:#818cf8;text-decoration:none}.auth-footer a:hover,.auth-link a:hover{text-decoration:underline}.auth-footer--back{margin-top:.75rem;font-size:.78rem;opacity:.7}.auth-footer--back a{color:var(--text-muted)}.auth-footer--back a:hover{color:var(--text-secondary)}.auth-section{margin-bottom:.5rem}.register-success{text-align:center;padding:2rem}.register-success h1{font-size:1.3rem;margin-bottom:1rem}.register-success p{color:var(--text-muted);margin-bottom:1.5rem}.two-factor-form{text-align:center}.two-factor-form input{width:100%;padding:12px;text-align:center;font-size:1.5rem;letter-spacing:8px;background:var(--overlay-weak);border:1px solid var(--overlay-medium);border-radius:6px;color:var(--text-primary);margin:1rem 0}.two-factor-form input:focus{outline:none;border-color:#6366f199}.magic-link-section{margin-top:1rem}.magic-link-btn{width:100%;padding:10px;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:6px;color:#818cf8;cursor:pointer;font-size:.9rem;transition:all .2s}.magic-link-btn:hover{background:#6366f140}@media (max-width: 900px){.auth-container{flex-direction:column}.auth-hero{min-height:30vh;flex:none;padding:2rem}.auth-hero-content h1{font-size:1.8rem}.auth-form-panel{width:100%;min-width:unset;max-height:unset;border-left:none;border-top:1px solid var(--overlay-weak)}}@media (max-width: 480px){.auth-form-panel{padding:1.5rem 1rem}.auth-hero{min-height:20vh;padding:1.5rem}.auth-hero-content h1{font-size:1.4rem}}.auth-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;--bg-brightness: .5;--bg-transition: 2s;--bg-ken-burns-scale: 1.1;--bg-ken-burns-duration: 30s}.language-selector{display:flex;gap:4px;align-items:center}.language-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--panel-border);border-radius:4px;background:transparent;color:var(--text-secondary, #999);cursor:pointer;font-size:.857rem;transition:all .2s}.language-btn:hover{background:var(--overlay-medium);color:var(--text-primary)}.language-btn.active{background:var(--brand);color:var(--text-primary);border-color:var(--brand)}.language-flag{font-size:1rem;line-height:1}.language-code{font-weight:600;font-size:.786rem;text-transform:uppercase}.language-selector-compact{padding:6px 10px;border:1px solid var(--panel-border);border-radius:6px;background:var(--surface-2);color:var(--text-primary, #fff);font-size:.929rem;cursor:pointer;outline:none}.language-selector-compact:focus{border-color:var(--brand)}.language-selector-compact option{background:var(--surface-2);color:var(--text-primary, #fff)}.ds-panel{display:flex;flex-direction:column;background:var(--panel-bg);color:var(--text-primary);border:var(--panel-border-width) solid var(--panel-border);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);font-family:var(--font-family-base);font-size:var(--font-base);overflow:hidden;min-width:var(--panel-min-width)}.ds-panel--slide{position:fixed;top:var(--space-2);bottom:var(--space-2);z-index:var(--z-panel);width:320px;max-width:90vw}.ds-panel--slide.ds-panel--side-left{left:var(--space-2)}.ds-panel--slide.ds-panel--side-right{right:var(--space-2)}.ds-panel--floating{position:fixed;z-index:var(--z-panel);max-height:calc(100vh - var(--space-4));min-height:180px;resize:none;overflow:visible}.ds-panel--floating>.ds-panel__body{overflow:auto}.ds-panel__header--draggable{cursor:move;-webkit-user-select:none;user-select:none}.ds-panel__header--draggable:active{cursor:grabbing}.ds-panel__resize-handle{position:absolute;z-index:1;background:transparent}.ds-panel__resize-handle--n{top:-3px;left:8px;right:8px;height:6px;cursor:ns-resize}.ds-panel__resize-handle--s{bottom:-3px;left:8px;right:8px;height:6px;cursor:ns-resize}.ds-panel__resize-handle--e{top:8px;bottom:8px;right:-3px;width:6px;cursor:ew-resize}.ds-panel__resize-handle--w{top:8px;bottom:8px;left:-3px;width:6px;cursor:ew-resize}.ds-panel__resize-handle--ne{top:-3px;right:-3px;width:12px;height:12px;cursor:nesw-resize}.ds-panel__resize-handle--nw{top:-3px;left:-3px;width:12px;height:12px;cursor:nwse-resize}.ds-panel__resize-handle--se{bottom:-3px;right:-3px;width:12px;height:12px;cursor:nwse-resize}.ds-panel__resize-handle--sw{bottom:-3px;left:-3px;width:12px;height:12px;cursor:nesw-resize}.ds-panel__resize-handle--se:after{content:"";position:absolute;bottom:3px;right:3px;width:6px;height:6px;background:linear-gradient(135deg,transparent 0,transparent 3px,var(--text-muted) 3px,var(--text-muted) 4px,transparent 4px),linear-gradient(135deg,transparent 0,transparent 6px,var(--text-muted) 6px,var(--text-muted) 7px,transparent 7px);opacity:.5}.ds-panel__resize-handle:hover{background:#5aa9ff14}.ds-panel--modal{position:relative;width:min(480px,92vw);max-height:86vh;z-index:calc(var(--z-modal) + 1)}.ds-panel--sheet{position:fixed;left:var(--space-2);right:var(--space-2);bottom:var(--space-2);max-height:80vh;z-index:calc(var(--z-modal) + 1);border-radius:var(--radius-lg) var(--radius-lg) var(--panel-radius) var(--panel-radius)}.ds-panel__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--surface-overlay);display:flex;align-items:center;justify-content:center;animation:dsFadeIn var(--transition-std) var(--ease-out)}.ds-panel__backdrop--sheet{align-items:flex-end}@keyframes dsFadeIn{0%{opacity:0}to{opacity:1}}.ds-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--panel-header-height);padding:var(--panel-header-padding);background:var(--panel-header-bg);border-bottom:1px solid var(--panel-header-border);flex-shrink:0}.ds-panel__title{margin:0;font-size:var(--font-md);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.ds-panel__header-actions{display:flex;align-items:center;gap:var(--space-1)}.ds-panel__close{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:1.286rem;line-height:1;padding:0;transition:background var(--transition-fast),color var(--transition-fast)}.ds-panel__close:hover{background:var(--btn-ghost-hover);color:var(--text-primary)}.ds-panel__close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ds-panel__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:calc(var(--panel-padding) * var(--density))}.ds-panel--compact .ds-panel__body{padding:calc(var(--space-2) * var(--density))}.ds-panel--compact .ds-panel__header{min-height:28px;padding:var(--space-1) var(--space-2)}.ds-panel--compact .ds-panel__title{font-size:var(--font-sm)}@media (max-width: 700px){.ds-panel--slide,.ds-panel--floating{left:8px!important;right:8px!important;top:auto!important;bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;width:auto!important;height:auto!important;max-width:none;max-height:calc(100vh - 120px - env(safe-area-inset-bottom,0px));min-height:240px;resize:none;border-radius:var(--radius-lg) var(--radius-lg) var(--panel-radius) var(--panel-radius)}.ds-panel--floating>.ds-panel__resize-handle{display:none!important}.ds-panel__header--draggable,.ds-panel__header--draggable:active{cursor:default!important}.ds-panel__header{min-height:44px;padding:var(--space-2) var(--space-3)}.ds-panel__close{width:36px;height:36px;font-size:1.571rem}.ds-panel__title{font-size:var(--font-md)}}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family-base);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:var(--line-tight)}.ds-btn--sm{height:var(--control-height-sm);padding:0 var(--space-2);font-size:var(--font-sm)}.ds-btn--md{height:var(--control-height-md);padding:0 var(--space-3);font-size:var(--font-base)}.ds-btn--lg{height:var(--control-height-lg);padding:0 var(--space-4);font-size:var(--font-md)}.ds-btn--icon-only{padding:0;aspect-ratio:1;width:auto}.ds-btn--icon-only.ds-btn--sm{width:var(--control-height-sm)}.ds-btn--icon-only.ds-btn--md{width:var(--control-height-md)}.ds-btn--icon-only.ds-btn--lg{width:var(--control-height-lg)}.ds-btn--block{display:flex;width:100%}.ds-btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.ds-btn--primary:hover:not(:disabled){background:var(--btn-primary-hover)}.ds-btn--primary:active:not(:disabled){background:var(--btn-primary-active);transform:translateY(1px)}.ds-btn--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}.ds-btn--secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}.ds-btn--ghost{background:transparent;color:var(--btn-ghost-fg)}.ds-btn--ghost:hover:not(:disabled){background:var(--btn-ghost-hover);color:var(--text-primary)}.ds-btn--danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg)}.ds-btn--danger:hover:not(:disabled){background:var(--btn-danger-hover)}.ds-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ds-btn:disabled,.ds-btn--loading{opacity:.55;cursor:not-allowed}.ds-btn__content{display:inline-flex;align-items:center;gap:var(--space-1)}.ds-btn__spinner{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:dsSpin .7s linear infinite}@keyframes dsSpin{to{transform:rotate(360deg)}}.ds-input{display:inline-flex;align-items:center;box-sizing:border-box;width:100%;padding:0 var(--space-2);background:var(--input-bg);color:var(--input-fg);border:1px solid var(--input-border);border-radius:var(--radius-md);font-family:var(--font-family-base);font-size:var(--font-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ds-input--sm{height:var(--control-height-sm);font-size:var(--font-sm)}.ds-input--md{height:var(--control-height-md)}.ds-input--lg{height:var(--control-height-lg);font-size:var(--font-md)}.ds-input::placeholder{color:var(--input-placeholder)}.ds-input:hover:not(:disabled){border-color:var(--input-border-hover)}.ds-input:focus,.ds-input:focus-visible{outline:none;border-color:var(--input-focus);box-shadow:var(--focus-ring)}.ds-input--error{border-color:var(--danger)}.ds-input:disabled{opacity:.55;cursor:not-allowed}.ds-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--space-5);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-2) center;cursor:pointer}.ds-switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.ds-switch--disabled{opacity:.55;cursor:not-allowed}.ds-switch__input{position:absolute;opacity:0;pointer-events:none}.ds-switch__track{position:relative;width:32px;height:18px;border-radius:var(--radius-full);background:var(--input-border);transition:background var(--transition-std)}.ds-switch__knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left var(--transition-std) var(--ease-out);box-shadow:0 1px 2px var(--scrim-soft)}.ds-switch__input:checked~.ds-switch__track{background:var(--brand)}.ds-switch__input:checked~.ds-switch__track .ds-switch__knob{left:16px}.ds-switch__input:focus-visible~.ds-switch__track{box-shadow:var(--focus-ring)}.ds-switch__label{font-size:var(--font-base);color:var(--text-primary)}.ds-slider{display:flex;align-items:center;gap:var(--space-2);width:100%}.ds-slider__input{flex:1;height:3px;border-radius:var(--radius-full);background:var(--input-border);-webkit-appearance:none;outline:none}.ds-slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--brand);cursor:pointer;border:none}.ds-slider__input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--brand);cursor:pointer;border:none}.ds-slider__value{min-width:42px;text-align:right;font-variant-numeric:tabular-nums;font-size:var(--font-sm);color:var(--text-secondary)}.ds-color{width:28px;height:var(--control-height-md);padding:2px;background:transparent;border:1px solid var(--input-border);border-radius:var(--radius-md);cursor:pointer}.ds-color:hover{border-color:var(--input-border-hover)}.ds-form-row{display:flex;flex-direction:column;gap:var(--form-row-gap);width:100%}.ds-form-row__label{font-size:var(--font-sm);font-weight:var(--fw-medium);color:var(--text-secondary);letter-spacing:.01em}.ds-form-row__required{color:var(--danger);margin-left:2px}.ds-form-row__control{display:flex;width:100%}.ds-form-row__hint{margin:0;font-size:var(--font-xs);color:var(--text-muted);line-height:var(--line-normal)}.ds-form-row__error{margin:0;font-size:var(--font-xs);color:var(--danger);line-height:var(--line-normal)}.ds-section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:calc(var(--section-gap) * var(--density)) 0 var(--space-2) 0;padding-bottom:var(--space-1);border-bottom:1px solid var(--panel-header-border)}.ds-section-title:first-child{margin-top:0}.ds-section-title__label{font-size:var(--font-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.ds-section-title__actions{display:inline-flex;gap:var(--space-1)}.ds-stack{display:flex}.ds-stack--row{flex-direction:row}.ds-stack--col{flex-direction:column}.ds-stack--wrap{flex-wrap:wrap}.ds-grid{display:grid}.ds-tabs{display:flex;min-height:0}.ds-tabs--top,.ds-tabs--bottom{flex-direction:column}.ds-tabs--right{flex-direction:row-reverse}.ds-tabs--left{flex-direction:row}.ds-tabs__list{display:flex;gap:2px;flex-shrink:0;overflow:auto}.ds-tabs--top .ds-tabs__list,.ds-tabs--bottom .ds-tabs__list{flex-direction:row;border-bottom:1px solid var(--panel-border)}.ds-tabs--bottom .ds-tabs__list{border-bottom:none;border-top:1px solid var(--panel-border);order:2}.ds-tabs--right .ds-tabs__list,.ds-tabs--left .ds-tabs__list{flex-direction:column;min-width:140px;border-right:none;border-left:1px solid var(--panel-border)}.ds-tabs--left .ds-tabs__list{border-left:none;border-right:1px solid var(--panel-border)}.ds-tabs__tab{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-family-base);font-size:var(--font-base);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;position:relative;transition:color var(--transition-fast),background var(--transition-fast)}.ds-tabs--sm .ds-tabs__tab{font-size:var(--font-sm);padding:var(--space-1) var(--space-2)}.ds-tabs__tab:hover:not(.ds-tabs__tab--active){color:var(--text-primary);background:var(--btn-ghost-hover)}.ds-tabs__tab--active{color:var(--brand)}.ds-tabs__tab:focus-visible{outline:none;box-shadow:var(--focus-ring);z-index:1}.ds-tabs__icon{font-size:1.1em;line-height:1}.ds-tabs__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 5px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--fw-semibold);background:var(--brand-subtle);color:var(--brand)}.ds-tabs--line.ds-tabs--top .ds-tabs__tab--active:after,.ds-tabs--line.ds-tabs--bottom .ds-tabs__tab--active:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:-1px;height:2px;background:var(--brand);border-radius:2px}.ds-tabs--line.ds-tabs--bottom .ds-tabs__tab--active:after{bottom:auto;top:-1px}.ds-tabs--line.ds-tabs--right .ds-tabs__tab--active:after,.ds-tabs--line.ds-tabs--left .ds-tabs__tab--active:after{content:"";position:absolute;top:var(--space-1);bottom:var(--space-1);width:2px;background:var(--brand);border-radius:2px}.ds-tabs--line.ds-tabs--right .ds-tabs__tab--active:after{left:-1px}.ds-tabs--line.ds-tabs--left .ds-tabs__tab--active:after{right:-1px}.ds-tabs--pill .ds-tabs__tab{border-radius:var(--radius-md)}.ds-tabs--pill .ds-tabs__tab--active{background:var(--brand-subtle);color:var(--brand)}.ds-tabs__panel{flex:1;min-height:0;min-width:0;padding:var(--space-3);overflow:auto}.feedback-fab{display:none}.version-footer{position:fixed;bottom:2px;right:4px;z-index:9990;padding:1px 6px;font-size:.643rem;font-family:Source Code Pro,monospace;color:var(--text-muted);background:var(--scrim-soft);border:none;border-radius:3px;cursor:pointer;pointer-events:auto;letter-spacing:.02em;transition:color .15s,background .15s}.version-footer:hover{color:var(--text-primary);background:var(--scrim-hard)}@media (max-width: 700px){.version-footer{display:none}}.new-version-banner{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:99999;display:flex;align-items:center;gap:10px;padding:10px 18px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:8px;box-shadow:0 4px 20px #d9770680;font-family:system-ui,-apple-system,sans-serif;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;animation:nvb-pulse 2.5s ease-in-out infinite;max-width:calc(100% - 32px)}@keyframes nvb-pulse{0%,to{box-shadow:0 4px 20px #d9770680}50%{box-shadow:0 4px 32px #d97706e6}}.new-version-banner .nvb-icon{font-size:18px;flex-shrink:0}.new-version-banner .nvb-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-version-banner .nvb-reload{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:5px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.new-version-banner .nvb-reload:hover{background:#ffffff59}.new-version-banner .nvb-dismiss{background:transparent;color:#fffc;border:none;padding:4px 8px;font-size:16px;cursor:pointer;line-height:1;border-radius:4px;transition:background .15s ease,color .15s ease}.new-version-banner .nvb-dismiss:hover{background:#00000026;color:#fff}@media (max-width: 600px){.new-version-banner{left:8px;right:8px;transform:none;max-width:none;font-size:13px;padding:10px 12px}.new-version-banner .nvb-text{white-space:normal}}.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;max-width:520px;margin-left:auto;margin-right:auto;background:var(--surface-1, #1f1f1f);color:var(--text-1, #e8e8e8);border:1px solid var(--panel-border, rgba(255,255,255,.1));border-radius:10px;box-shadow:0 8px 28px #00000080;z-index:9999;font-size:.9rem;animation:consentSlideUp .35s ease-out}@keyframes consentSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.consent-banner-content{padding:16px 18px 14px}.consent-banner-content h3{margin:0 0 8px;font-size:1rem;color:var(--text-1, #fff)}.consent-banner-content p{margin:0 0 8px;line-height:1.5;color:var(--text-2, #c0c0c0)}.consent-banner-rgpd{font-size:.82rem;color:var(--text-3, #999)}.consent-banner-content a{color:var(--brand, #6366f1);text-decoration:underline}.consent-banner-content code{background:var(--surface-2, #2a2a2a);padding:1px 5px;border-radius:3px;font-size:.85em}.consent-banner-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px}.consent-banner-link{font-size:.85rem}.consent-banner-btn{background:var(--brand, #6366f1);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s}.consent-banner-btn:hover{background:var(--brand-hover, #4f46e5)}@media (max-width: 540px){.consent-banner-actions{flex-direction:column-reverse;align-items:stretch}.consent-banner-btn{width:100%}}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:#666}:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--density: 1;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 9999px;--elevation-1: 0 1px 2px rgba(0, 0, 0, .3);--elevation-2: 0 4px 12px rgba(0, 0, 0, .35);--elevation-3: 0 8px 24px rgba(0, 0, 0, .45);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "Source Code Pro", "Fira Code", Menlo, Consolas, monospace;--font-xs: 10px;--font-sm: 11px;--font-base: 12px;--font-md: 13px;--font-lg: 15px;--font-xl: 18px;--line-tight: 1.2;--line-normal: 1.4;--line-loose: 1.6;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--transition-fast: .12s;--transition-std: .2s;--transition-slow: .32s;--ease-out: cubic-bezier(.2, .6, .2, 1);--z-base: 1;--z-overlay: 900;--z-panel: 1000;--z-dropdown: 1100;--z-modal: 1200;--z-toast: 1300;--panel-padding: var(--space-3);--panel-header-height: 36px;--panel-header-padding: var(--space-2) var(--space-3);--panel-border-width: 1px;--panel-radius: var(--radius-md);--panel-min-width: 240px;--section-gap: var(--space-4);--form-row-gap: var(--space-2);--control-height-sm: 26px;--control-height-md: 32px;--control-height-lg: 40px}:root,[data-theme=dark]{--surface-1: #181a1e;--surface-2: #1f2227;--surface-3: #262a30;--surface-raised: #22262c;--surface-overlay: rgba(10, 12, 16, .72);--panel-bg: #1f2227;--panel-border: rgba(255, 255, 255, .08);--panel-header-bg: rgba(255, 255, 255, .03);--panel-header-border: rgba(255, 255, 255, .06);--panel-shadow: var(--elevation-2);--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .65);--text-muted: rgba(255, 255, 255, .42);--text-disabled: rgba(255, 255, 255, .25);--brand: #5aa9ff;--brand-hover: #7bbaff;--brand-active: #3f92e8;--brand-subtle: rgba(90, 169, 255, .15);--success: #3ccf91;--success-subtle: rgba(60, 207, 145, .18);--warning: #ffb74d;--warning-subtle: rgba(255, 183, 77, .18);--danger: #ff5864;--danger-subtle: rgba(255, 88, 100, .18);--info: #4fc3f7;--info-subtle: rgba(79, 195, 247, .18);--btn-primary-bg: var(--brand);--btn-primary-fg: #ffffff;--btn-primary-hover: var(--brand-hover);--btn-primary-active: var(--brand-active);--btn-secondary-bg: rgba(255, 255, 255, .06);--btn-secondary-fg: var(--text-primary);--btn-secondary-hover: rgba(255, 255, 255, .12);--btn-secondary-border: rgba(255, 255, 255, .12);--btn-ghost-fg: var(--text-secondary);--btn-ghost-hover: rgba(255, 255, 255, .06);--btn-danger-bg: var(--danger);--btn-danger-fg: #ffffff;--btn-danger-hover: #ff7680;--input-bg: rgba(0, 0, 0, .28);--input-border: rgba(255, 255, 255, .12);--input-border-hover: rgba(255, 255, 255, .22);--input-focus: var(--brand);--input-fg: var(--text-primary);--input-placeholder: var(--text-muted);--focus-ring: 0 0 0 2px rgba(90, 169, 255, .45);--overlay-subtle: rgba(255, 255, 255, .03);--overlay-weak: rgba(255, 255, 255, .06);--overlay-medium: rgba(255, 255, 255, .1);--overlay-strong: rgba(255, 255, 255, .18);--scrim-soft: rgba(0, 0, 0, .25);--scrim-hard: rgba(0, 0, 0, .55)}[data-theme=light]{--surface-1: #f7f8fa;--surface-2: #ffffff;--surface-3: #eef1f5;--surface-raised: #ffffff;--surface-overlay: rgba(0, 0, 0, .42);--panel-bg: #ffffff;--panel-border: rgba(0, 0, 0, .08);--panel-header-bg: rgba(0, 0, 0, .02);--panel-header-border: rgba(0, 0, 0, .06);--panel-shadow: 0 2px 8px rgba(15, 20, 30, .08), 0 4px 16px rgba(15, 20, 30, .06);--text-primary: #1a1d21;--text-secondary: rgba(26, 29, 33, .68);--text-muted: rgba(26, 29, 33, .46);--text-disabled: rgba(26, 29, 33, .3);--brand: #1e7fd6;--brand-hover: #1a6fbb;--brand-active: #165f9f;--brand-subtle: rgba(30, 127, 214, .12);--success: #17a676;--success-subtle: rgba(23, 166, 118, .14);--warning: #d98e14;--warning-subtle: rgba(217, 142, 20, .14);--danger: #dc3545;--danger-subtle: rgba(220, 53, 69, .12);--info: #1498c8;--info-subtle: rgba(20, 152, 200, .14);--btn-primary-bg: var(--brand);--btn-primary-fg: #ffffff;--btn-primary-hover: var(--brand-hover);--btn-primary-active: var(--brand-active);--btn-secondary-bg: #f1f3f6;--btn-secondary-fg: var(--text-primary);--btn-secondary-hover: #e5e9ee;--btn-secondary-border: rgba(0, 0, 0, .08);--btn-ghost-fg: var(--text-secondary);--btn-ghost-hover: rgba(0, 0, 0, .05);--btn-danger-bg: var(--danger);--btn-danger-fg: #ffffff;--btn-danger-hover: #c82333;--input-bg: #ffffff;--input-border: rgba(0, 0, 0, .14);--input-border-hover: rgba(0, 0, 0, .24);--input-focus: var(--brand);--input-fg: var(--text-primary);--input-placeholder: var(--text-muted);--focus-ring: 0 0 0 2px rgba(30, 127, 214, .35);--overlay-subtle: rgba(0, 0, 0, .02);--overlay-weak: rgba(0, 0, 0, .04);--overlay-medium: rgba(0, 0, 0, .08);--overlay-strong: rgba(0, 0, 0, .14);--scrim-soft: rgba(0, 0, 0, .18);--scrim-hard: rgba(0, 0, 0, .38)}[data-density=compact]{--density: .75}[data-density=normal]{--density: 1}[data-density=cozy]{--density: 1.25}.ds-padded{padding:calc(var(--panel-padding) * var(--density))}.ds-section-gap>*+*{margin-top:calc(var(--section-gap) * var(--density))}:root,[data-theme=dark],[data-theme=light]{--ab-bg: var(--surface-2);--ab-border: var(--panel-border);--ab-accent: var(--brand-subtle);--ab-accent-solid: var(--brand);--ab-accent-light: var(--brand-hover);--ab-slot-bg: var(--surface-3);--ab-slot-hover: var(--surface-raised);--ab-slot-active: var(--brand-subtle);--ab-text: var(--text-primary);--ab-text-muted: var(--text-muted)}.ds-btn--primary{background:var(--btn-primary-bg)!important;color:var(--btn-primary-fg)!important}.ds-btn--danger{background:var(--btn-danger-bg)!important;color:var(--btn-danger-fg)!important}button.btn-primary,button.primary,.btn.primary,.badge-primary,.tab-badge,.admin-badge,.you-badge,.notification-badge,.default-badge,.status-badge.online{color:var(--btn-primary-fg)!important}.ds-panel,.ds-panel__body,[data-theme=light] .ds-panel,[data-theme=light] .ds-panel__body,[data-theme=light] .floating-panel,[data-theme=light] .modal-content,[data-theme=light] .dialog-content{color:var(--text-primary)}.uip{background:var(--surface-1);color:var(--text-primary)}html:has(.uip),body:has(.uip){background:var(--surface-1)!important}:root{--z-playfield-object: 1;--z-playfield-controls: 10;--z-playfield-overlay: 100;--z-panel: 1000;--z-toolbar: 2000;--z-dropdown: 5000;--z-modal-backdrop: 9000;--z-modal: 10000;--z-context-backdrop: 29000;--z-context-menu: 30000;--z-fullscreen: 50000;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-selection: 0 0 0 3px var(--color-selection), 0 0 10px var(--color-selection-glow);--color-selection: #00c8ff;--color-selection-glow: rgba(0, 200, 255, .5);--color-selection-border: #00d1ff;--color-locked: #ffc107;--color-hidden: #9c27b0;--color-danger: #ff6b6b;--color-success: #4CAF50;--color-warning: #ffa726;--color-info: #4a9eff;--color-menu-bg: rgba(40, 40, 40, .98);--color-menu-hover: rgba(90, 140, 110, .3);--color-menu-divider: rgba(255, 255, 255, .1);--color-menu-text: #e0e0e0;--color-menu-text-muted: #aaa;--color-handle-bg: rgba(40, 40, 40, .9);--color-handle-hover: rgba(80, 130, 200, .95);--color-handle-active: rgba(60, 110, 180, .95);--spacing-xs: 2px;--spacing-sm: 4px;--spacing-md: 8px;--spacing-lg: 12px;--spacing-xl: 16px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 12px;--font-size-lg: 14px;--font-size-xl: 16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface-1);color:var(--text-primary)}#root{width:100%;height:100vh;overflow:hidden}:root{--breakpoint-desktop: 1200px;--breakpoint-tablet: 768px;--breakpoint-mobile: 480px;--breakpoint-small: 360px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-large: 56px;--sat: 0px;--sar: 0px;--sab: 0px;--sal: 0px;--mobile-padding: 16px;--mobile-padding-sm: 8px;--mobile-gap: 12px;--mobile-nav-height: 56px;--mobile-drawer-width: 280px}@supports (padding: env(safe-area-inset-top)){:root{--sat: env(safe-area-inset-top);--sar: env(safe-area-inset-right);--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left)}}@media (max-width: 768px){.desktop-only{display:none!important}}@media (min-width: 769px){.mobile-only{display:none!important}}@media (max-width: 768px){.tablet-hide{display:none!important}}@media (max-width: 480px){.phone-hide{display:none!important}}@media (pointer: coarse){button,[role=button],input[type=checkbox],input[type=radio],select,.clickable,.interactive{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}a{padding:4px}}button,input,select,textarea,a{touch-action:manipulation}.scroll-container,.floating-panel-content,.sidebar-submenu{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (pointer: coarse){.scroll-container::-webkit-scrollbar,.floating-panel-content::-webkit-scrollbar{display:none}.scroll-container,.floating-panel-content{scrollbar-width:none;-ms-overflow-style:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (pointer: coarse){.no-select,.floating-panel-header,.mobile-nav-bar,.action-bar{-webkit-user-select:none;user-select:none}}@media (pointer: coarse){.draggable{cursor:default}.resize-handle{width:20px!important;height:20px!important}}@media (pointer: coarse){*:focus{outline:none}*:focus-visible{outline:2px solid var(--brand);outline-offset:2px}}.full-height{height:100vh;height:100dvh}.min-full-height{min-height:100vh;min-height:100dvh}@media (orientation: portrait) and (max-width: 768px){.landscape-only{display:none!important}}@media (orientation: landscape) and (max-height: 500px){.portrait-only{display:none!important}.mobile-nav-bar{--mobile-nav-height: 48px}}.safe-area-top{padding-top:var(--sat)}.safe-area-bottom{padding-bottom:var(--sab)}.safe-area-left{padding-left:var(--sal)}.safe-area-right{padding-right:var(--sar)}.safe-area-all{padding-top:var(--sat);padding-right:var(--sar);padding-bottom:var(--sab);padding-left:var(--sal)}.mobile-grid{display:grid;gap:var(--mobile-gap)}@media (max-width: 480px){.mobile-grid{grid-template-columns:1fr}}@media (min-width: 481px) and (max-width: 768px){.mobile-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 769px){.mobile-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],textarea,select{font-size:1.143rem;padding:12px;border-radius:8px}}@media (max-width: 768px){.modal-fullscreen-mobile{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;margin:0!important;transform:none!important}}@media (hover: none){.hover-effect:hover{background:inherit;transform:none}}@media (hover: hover){.hover-effect:hover{background:#ffffff1a}}@media (pointer: coarse){[title]:after,.tooltip{display:none!important}}@media (max-width: 768px){.context-menu,.shape-context-menu{min-width:200px;padding:8px}.context-menu-item{padding:12px 16px;font-size:1.071rem}}.debug-touch-targets button,.debug-touch-targets [role=button],.debug-touch-targets .interactive{outline:2px dashed red}.debug-safe-areas:before{content:"";position:fixed;top:0;left:0;right:0;height:var(--sat);background:#ff00004d;pointer-events:none;z-index:99999}.debug-safe-areas:after{content:"";position:fixed;bottom:0;left:0;right:0;height:var(--sab);background:#0000ff4d;pointer-events:none;z-index:99999}.tap-to-place-selected{outline:3px solid #f39c12!important;outline-offset:2px;animation:tapToPlaceSelected .8s ease-in-out infinite alternate;position:relative}.tap-to-place-selected:after{content:"u2713";position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:#f39c12;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.857rem;font-weight:700}@keyframes tapToPlaceSelected{0%{box-shadow:0 0 8px #f39c1280}to{box-shadow:0 0 16px #f39c12cc}}.tap-to-place-target-active{cursor:crosshair}.tap-to-place-target-active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed rgba(243,156,18,.5);border-radius:inherit;pointer-events:none;animation:targetPulse 1.5s ease-in-out infinite}@keyframes targetPulse{0%,to{border-color:#f39c124d}50%{border-color:#f39c12b3}}.placement-indicator{position:fixed;bottom:calc(var(--mobile-nav-height, 56px) + var(--sab, 0px));left:0;right:0;display:none;z-index:9400;padding:8px 16px;pointer-events:none}@media (max-width: 768px){.placement-indicator{display:block}}.placement-indicator-content{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f39c12f2;border-radius:10px;color:#fff;font-size:1rem;font-weight:500;box-shadow:0 4px 20px #0000004d;pointer-events:auto}.placement-indicator-icon{font-size:1.429rem}.placement-indicator-text{flex:1}.placement-indicator-cancel{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:1rem;cursor:pointer}.placement-indicator-cancel:active{background:#ffffff4d}
