:root{--btn-bg-disabled: #d6c4c0;--btn-text-disabled: #8c7a76;--btn-bg-enabled: #8c4a36;--btn-text-enabled: #fff8f0;--btn-bg-hover: #bf735d;--btn-text-hover: #ffffff;--btn-bg-active: #793e30;--btn-text-active: #fff8f0}.btn,.button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:14px;transition:all .2s ease;cursor:pointer;border:none;gap:8px;-webkit-font-smoothing:antialiased;white-space:nowrap}.btn svg,.btn i,.button svg,.button i{width:18px;height:18px;fill:currentColor}.button-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.button-md{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md)}.button-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.btn-primary,.button-primary{background-color:var(--btn-bg-enabled);color:var(--btn-text-enabled);box-shadow:0 4px 12px #8c4a3626}.btn-primary:hover:not(:disabled),.button-primary:hover:not(:disabled){background-color:var(--btn-bg-hover);color:var(--btn-text-hover);transform:translateY(-2px);box-shadow:0 6px 18px #8c4a3640}.btn-primary:active:not(:disabled),.btn-primary.active:not(:disabled),.button-primary:active:not(:disabled),.button-primary.active:not(:disabled){background-color:var(--btn-bg-active);color:var(--btn-text-active);transform:translateY(0);box-shadow:inset 0 2px 4px #0003}.button-secondary{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);color:var(--color-text-primary)}.button-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-accent-primary);transform:translateY(-1px)}.button-ghost{background:transparent;border:1px solid transparent;color:var(--color-text-secondary)}.button-ghost:hover:not(:disabled){background:var(--color-glass-hover);color:var(--color-accent-primary)}.button-danger{background:var(--color-error);border:none;color:#fff}.button-danger:hover:not(:disabled){opacity:.9;box-shadow:0 0 20px #ef44444d}.btn:disabled,.btn-disabled,.button:disabled,.button-disabled{background-color:var(--btn-bg-disabled)!important;color:var(--btn-text-disabled)!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important;border:none!important}.coin-balance{display:flex;align-items:center;gap:6px;padding:4px 10px;background:linear-gradient(135deg,#ffd70026,#ffa5001a);border:1px solid rgba(255,215,0,.3);border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease}.coin-balance:hover{background:linear-gradient(135deg,#ffd70040,#ffa50033);border-color:#ffd70080;transform:translateY(-1px)}.coin-balance__icon{display:flex;align-items:center;justify-content:center}.coin-balance__icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.coin-balance__amount{font-weight:700;color:gold;text-shadow:0 1px 2px rgba(0,0,0,.3)}.coin-balance__label{font-size:.75em;color:var(--color-text-secondary);text-transform:lowercase}.coin-balance--sm{padding:2px 8px;gap:4px}.coin-balance--sm .coin-balance__icon svg{width:14px;height:14px}.coin-balance--sm .coin-balance__amount{font-size:var(--font-size-xs)}.coin-balance--sm .coin-balance__label{display:none}.coin-balance--md .coin-balance__icon svg{width:18px;height:18px}.coin-balance--md .coin-balance__amount{font-size:var(--font-size-sm)}.coin-balance--lg{padding:8px 16px;gap:8px}.coin-balance--lg .coin-balance__icon svg{width:24px;height:24px}.coin-balance--lg .coin-balance__amount{font-size:var(--font-size-lg)}.coin-purchase-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn var(--transition-fast) ease-out;padding:20px;overflow-y:auto}.coin-purchase-modal{position:relative;width:100%;max-width:500px;padding:var(--spacing-2xl);animation:slideUp var(--transition-normal) ease-out;margin:auto;transform:none!important;box-shadow:0 8px 32px #00000080}.coin-purchase-modal:hover{transform:none!important}.modal-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:32px;height:32px;border:none;background:#ffffff1a;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close-btn:hover{background:#fff3}.modal-close-btn svg{width:18px;height:18px;color:var(--color-text-secondary)}.coin-purchase-modal h2{margin-bottom:var(--spacing-lg);text-align:center;background:linear-gradient(135deg,gold,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.current-balance{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ffd7001a;border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}.balance-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.balance-amount{color:gold;font-weight:700;font-size:var(--font-size-lg)}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.package-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-lg);background:var(--color-bg-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal)}.package-card:hover{background:#fff;border-color:var(--color-accent-secondary);transform:translateY(-4px)}.package-card.selected{background:var(--color-bg-tertiary);border-color:var(--color-accent-primary);box-shadow:0 0 20px #8c4a3633}.package-coins{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-sm)}.coin-amount{font-size:var(--font-size-2xl);font-weight:700;color:gold;line-height:1}.coin-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.package-price{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.package-bonus{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:#4ade80;font-weight:600}.package-best-value{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-accent-primary);color:#fff;padding:2px 10px;border-radius:var(--radius-full);font-size:10px;font-weight:800;text-transform:uppercase}.purchase-summary{text-align:center;padding:var(--spacing-md);background:#ffffff0d;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);min-height:60px;display:flex;flex-direction:column;justify-content:center}.purchase-summary p{margin:0;color:var(--color-text-secondary)}.purchase-summary strong{color:var(--color-text-primary)}.bonus-note{color:#4ade80!important;font-size:var(--font-size-sm);margin-top:var(--spacing-xs)!important}.select-prompt{color:var(--color-text-muted)!important;font-style:italic}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.new-balance{margin-top:var(--spacing-sm)!important;color:gold!important;font-weight:600}@media (max-width: 480px){.packages-grid{grid-template-columns:1fr}.package-card{flex-direction:row;justify-content:space-between;padding:var(--spacing-md)}.package-coins{flex-direction:row;gap:var(--spacing-xs);margin-bottom:0}.package-best-value{top:50%;transform:translateY(-50%)}}.app-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.app-nav-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-accent-gradient);border-radius:var(--radius-sm);flex-shrink:0}.app-nav-icon svg{width:16px;height:16px;color:#fff}.app-nav-links{display:flex;align-items:center;gap:var(--spacing-xs)}.app-nav-link{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.app-nav-link:hover{color:var(--color-text-primary);background:var(--color-glass-hover)}.app-nav-link.active{color:var(--color-accent-primary);font-weight:700;background:#8c4a3614}@media (max-width: 768px){.app-nav-links{gap:2px}.app-nav-link{padding:var(--spacing-xs);font-size:var(--font-size-xs)}.app-nav-icon{width:24px;height:24px}.app-nav-icon svg{width:14px;height:14px}}.login-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn var(--transition-fast) ease-out;padding:20px;overflow-y:auto}.login-form{width:100%;max-width:400px;padding:var(--spacing-2xl);animation:slideUp var(--transition-normal) ease-out;margin:auto;transform:none!important;box-shadow:0 8px 32px #00000080}.login-form:hover{transform:none!important}.login-form h2{margin-bottom:var(--spacing-xl);text-align:center;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-group input{width:100%}.error-message{color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);text-align:center}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl)}.oauth-divider{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-glass-border);text-align:center}.oauth-divider span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.oauth-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.oauth-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-glass-border);border-radius:var(--radius-md, 8px);background:#ffffff0d;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.oauth-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--color-accent-primary)}.oauth-btn:disabled{opacity:.5;cursor:not-allowed}.invite-note{margin-top:var(--spacing-lg);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-xs, .75rem)}.auth-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:4px;background:#ffffff0a;border:1px solid var(--color-glass-border);border-radius:var(--radius-md, 8px)}.auth-tab{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm, 6px);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.auth-tab:hover:not(:disabled):not(.active){background:#ffffff0d;color:var(--color-text-primary)}.auth-tab.active{background:var(--color-accent-gradient, rgba(255, 255, 255, .12));color:var(--color-text-primary)}.auth-tab:disabled{opacity:.5;cursor:not-allowed}.auth-intent{margin-bottom:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4}.auth-info{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center;color:var(--color-accent-primary, #6aa9ff);background:#6aa9ff14;border:1px solid rgba(106,169,255,.25);border-radius:var(--radius-sm, 6px);font-size:var(--font-size-sm)}.header{position:sticky;top:0;z-index:var(--z-sticky);border-radius:0;border-left:none;border-right:none;border-top:none}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl);padding-top:var(--spacing-md);padding-bottom:0;max-width:100%;padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.logo-area{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;transform:translateY(-8px)}.logo{display:flex;align-items:center;color:var(--color-text-primary);text-decoration:none}.logo-text{font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:800;letter-spacing:-.03em;color:var(--color-accent-primary);background:none;-webkit-text-fill-color:initial}.header-search{flex:1;max-width:500px;display:flex;justify-content:center}.header-nav{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;transform:translateY(-8px);margin-right:10px}.user-greeting{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding-right:var(--spacing-sm)}.admin-badge{font-size:var(--font-size-xs);color:#fff;background:var(--color-accent-gradient);padding:2px 6px;border-radius:var(--radius-full);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.paying-badge{font-size:var(--font-size-xs);color:#1a1a1a;background:linear-gradient(135deg,gold,#fa0);padding:2px 6px;border-radius:var(--radius-full);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.wallet-display{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px 8px;background:#fff;border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);color:var(--color-text-primary)}.level-badge{font-size:var(--font-size-xs);color:#fff;background:var(--color-accent-gradient);border:1px solid rgba(255,255,255,.2);padding:2px 8px;border-radius:var(--radius-full);font-weight:700}.points-progress{display:flex;flex-direction:column;gap:2px;min-width:60px}.points-text{font-size:10px;color:var(--color-text-secondary);font-weight:600;text-align:center}.progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#bf735d,#8c4a36);border-radius:2px;transition:width .3s ease}.coins-display{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);font-weight:600;color:gold}.coin-icon{width:18px;height:18px}@media (max-width: 768px){.header-content{flex-wrap:wrap}.header-search{order:3;flex-basis:100%;max-width:none;margin-top:var(--spacing-sm)}.logo-text{display:none}}.main-layout{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-primary)}.main-content{flex:1;display:flex;flex-direction:column;padding-top:var(--spacing-md)}.container{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--spacing-xl)}.page-transition-enter{opacity:0;transform:translateY(10px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .4s,transform .4s}.glass-card-component{background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);transition:all var(--transition-normal)}.glass-card-default{padding:var(--spacing-lg)}.glass-card-compact{padding:var(--spacing-md)}.glass-card-flush{padding:0;overflow:hidden}.glass-card-hoverable:hover,.glass-card-clickable:hover{background:var(--color-glass-hover);border-color:#ffffff26;transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.glass-card-clickable{cursor:pointer}.loader{display:flex;align-items:center;justify-content:center}.loader-spinner{border-radius:50%;border:2px solid var(--color-glass-border);border-top-color:var(--color-accent-primary);animation:spin .8s linear infinite}.loader-sm .loader-spinner{width:16px;height:16px}.loader-md .loader-spinner{width:24px;height:24px}.loader-lg .loader-spinner{width:40px;height:40px;border-width:3px}.loader-xl .loader-spinner{width:60px;height:60px;border-width:4px}.model-viewer{width:100%;border-radius:var(--radius-lg);overflow:visible;background:transparent;position:relative;transform-style:preserve-3d}.model-viewer canvas{display:block;touch-action:none;background:transparent!important;pointer-events:none}.model-viewer-empty,.model-viewer-error{display:flex;align-items:center;justify-content:center;background:var(--color-glass-bg);border:1px dashed var(--color-glass-border);border-radius:var(--radius-lg)}.model-viewer-empty p,.model-viewer-error p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.model-viewer-error{border-color:var(--color-error)}.model-viewer-error p{color:var(--color-error)}.model-viewer-placeholder{width:100%;height:100%;background:var(--color-glass-bg);border-radius:var(--radius-lg)}.model-viewer-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:transparent;pointer-events:none}.model-viewer-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.08);border-top-color:var(--color-accent-primary, #8c4a36);animation:mvSpin .9s linear infinite;flex-shrink:0}@keyframes mvSpin{to{transform:rotate(360deg)}}.coordinate-display{position:absolute;top:12px;left:12px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:6px;font-family:monospace;font-size:12px;line-height:1.4;pointer-events:none;z-index:10}.coordinate-display div:first-child{color:#fff9;margin-bottom:4px}.hero-section{padding:var(--spacing-lg) 0 0;position:relative}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:center}.hero-text{display:flex;flex-direction:column;gap:var(--spacing-md)}.hero-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;line-height:1.1}.hero-gradient{display:block;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--font-size-md);color:var(--color-text-secondary);max-width:400px;line-height:1.5}.hero-stats{display:flex;gap:var(--spacing-xl)}.stat{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.hero-featured-container{position:relative}.hero-featured{text-decoration:none;display:block}.featured-card{overflow:hidden}.featured-preview{border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden;transition:opacity .3s ease}.featured-preview.transitioning{opacity:.5}.featured-thumbnail{width:100%;height:180px;display:flex;align-items:center;justify-content:center;background:var(--color-glass-bg)}.featured-thumbnail img{width:100%;height:100%;object-fit:cover}.featured-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#bf735d33,#8c4a3633);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.featured-info{padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:opacity .3s ease,transform .3s ease}.featured-info.transitioning{opacity:0;transform:translateY(-10px)}.featured-badge{display:inline-block;width:fit-content;font-size:var(--font-size-xs);font-weight:600;color:#fff;background:var(--color-accent-gradient);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;transition:background .3s ease}.featured-dots{display:flex;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-lg);position:relative;z-index:10}.featured-dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--color-glass-border);cursor:pointer;transition:all .2s ease;padding:0}.featured-dot:hover{background:var(--color-text-secondary);transform:scale(1.2)}.featured-dot.active{background:var(--color-accent-primary);transform:scale(1.2)}.featured-title{font-size:var(--font-size-xl);color:var(--color-text-primary)}.featured-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 900px){.hero-content{grid-template-columns:1fr;gap:var(--spacing-2xl)}.hero-text{text-align:center;align-items:center}.hero-stats{justify-content:center}}.filter-dropdown{position:relative;width:100%}.filter-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:#fff;box-shadow:0 4px 14px #8c4a360a;border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:500;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.filter-dropdown-trigger:hover{background:var(--color-bg-primary);border-color:var(--color-accent-primary)}.filter-dropdown-trigger.open{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #8c4a3633}.filter-dropdown-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown-arrow{font-size:.7rem;margin-left:var(--spacing-sm);transition:transform var(--transition-fast)}.filter-dropdown-trigger.open .filter-dropdown-arrow{transform:rotate(180deg)}.filter-dropdown-menu{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:#fff;border:1px solid var(--color-glass-border);border-radius:var(--radius-md);overflow:hidden;z-index:var(--z-dropdown);box-shadow:0 10px 25px #8c4a3614}.filter-dropdown-option{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:.85rem;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.filter-dropdown-option:hover{background:var(--color-bg-secondary);color:var(--color-accent-primary)}.filter-dropdown-option.selected{background:var(--color-bg-tertiary);font-weight:700;color:var(--color-accent-primary)}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.report-modal{background:var(--color-surface);border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);width:100%;max-width:450px;overflow:hidden}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-glass-border)}.report-modal-header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.report-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.report-close-btn:hover{background:var(--color-glass-bg);color:var(--color-text-primary)}.report-close-btn svg{width:20px;height:20px}.report-form{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.report-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.report-form-group label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.report-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass-bg);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .2s ease}.report-select:focus{outline:none;border-color:var(--color-accent-primary)}.report-textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass-bg);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease}.report-textarea:focus{outline:none;border-color:var(--color-accent-primary)}.report-textarea::placeholder{color:var(--color-text-muted)}.report-error{padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:var(--font-size-sm)}.report-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.interaction-buttons{display:flex;align-items:center;gap:var(--spacing-sm)}.interaction-buttons.compact{gap:var(--spacing-xs)}.interaction-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;pointer-events:auto}.interaction-buttons.compact .interaction-btn{padding:4px 8px}.interaction-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--color-text-muted)}.interaction-btn:disabled{cursor:not-allowed;opacity:.5}.interaction-btn.hidden{display:none}.interaction-icon{width:16px;height:16px}.interaction-buttons.compact .interaction-icon{width:14px;height:14px}.interaction-count{font-size:var(--font-size-xs);font-weight:500}.like-btn:hover:not(:disabled){color:#ef4444;border-color:#ef444466}.like-btn.active{color:#ef4444;background:#ef444426;border-color:#ef444466}.like-btn.active:hover{background:#ef444440}.collect-btn:hover:not(:disabled){color:var(--color-accent-primary);border-color:#8c4a3666}.collect-btn.active{color:var(--color-accent-primary);background:#8c4a3626;border-color:#8c4a3666}.collect-btn.active:hover{background:#8c4a3640}.report-btn:hover:not(:disabled){color:#f59e0b;border-color:#f59e0b66}.report-btn.reported{color:var(--color-text-muted);background:var(--color-glass-bg)}.project-card-wrapper{display:block;width:100%;max-width:280px;margin:0 auto;position:relative;cursor:pointer}.project-card-wrapper:before{content:"";position:absolute;top:-30px;bottom:-30px;left:-100px;right:-100px;z-index:-1}.project-card{display:block;text-decoration:none;position:relative;transform-style:preserve-3d;transition:transform .15s ease-out}.project-card-wrapper:has(.project-card.hovering){z-index:100}.card-model-container{position:relative;width:360px;height:300px;margin:0 auto -80px;transform-style:preserve-3d;z-index:10;pointer-events:auto}.card-model-float{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .2s ease-out;border-radius:var(--radius-xl);overflow:visible}.card-model-float canvas{border-radius:var(--radius-xl)}.card-model-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-xl);color:var(--color-text-muted);font-size:var(--font-size-lg)}.card-model-shadow{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);width:200px;height:50px;background:radial-gradient(ellipse,rgba(0,0,0,.6) 0%,transparent 70%);border-radius:50%;transition:all .3s ease-out;filter:blur(12px)}.card-base{position:relative;background:#fff;border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);overflow:hidden;transform-style:preserve-3d;min-height:160px;pointer-events:none;box-shadow:0 4px 20px #8c4a360a}.card-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:var(--color-accent-gradient);opacity:0;filter:blur(25px);transition:opacity .3s ease;z-index:-1}.project-card.hovering .card-glow{opacity:.5}.project-card.hovering .card-base{border-color:var(--color-accent-secondary);box-shadow:0 12px 30px #8c4a3614}.card-content{padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + 40px);display:flex;flex-direction:column;gap:var(--spacing-xs);min-height:160px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.card-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.card-price-badge{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#ffd70033,#ffa50026);border:1px solid rgba(255,215,0,.4);padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;color:gold;flex-shrink:0}.card-price-badge .coin-icon{width:14px;height:14px}.card-free-badge{background:linear-gradient(135deg,#4ade8033,#22c55e26);border:1px solid rgba(74,222,128,.4);padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;color:#4ade80;flex-shrink:0}.card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-bg-primary);background:var(--color-bg-primary)}.card-tags{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.card-tag{font-size:var(--font-size-sm);color:var(--color-accent-primary);background:#8c4a3626;padding:4px 12px;border-radius:var(--radius-full)}.card-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.card-author{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-muted);cursor:pointer;pointer-events:auto;transition:color .2s ease}.card-author:hover{color:var(--color-accent-primary);text-decoration:underline}.card-stats{display:flex;gap:var(--spacing-sm)}.card-files,.card-views{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card-thumbnail,.card-model-viewer{position:absolute;top:0;left:0;width:100%;height:100%}.card-thumbnail{object-fit:cover;border-radius:var(--radius-xl);transition:opacity .3s ease-out;opacity:1;z-index:1}.card-thumbnail.fade-out{opacity:0}.card-model-viewer{opacity:0;animation:fadeIn .3s ease-out forwards;z-index:2}.card-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-xl);color:var(--color-text-muted);font-size:var(--font-size-md)}.project-grid{flex:1;overflow-y:visible;overflow-x:hidden;padding:var(--spacing-sm);scrollbar-width:thin;scrollbar-color:var(--color-glass-border) transparent}.project-grid.scroll-locked{overflow-y:auto;height:calc(100vh - 180px)}.project-grid::-webkit-scrollbar{width:6px}.project-grid::-webkit-scrollbar-track{background:transparent}.project-grid::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.project-grid::-webkit-scrollbar-thumb:hover{background:#fff3}.project-grid-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.project-grid-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem}.project-grid-sentinel{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md) 0}.project-grid-sentinel .loading-text{color:var(--color-text-muted);font-size:.8rem}.search-bar{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.search-input-wrapper{position:relative;flex:1}.search-input{width:100%;padding-right:calc(var(--spacing-md) * 2 + 18px)}.search-input:focus{outline:none;border:1px solid var(--color-accent-primary)}.search-button{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:var(--primary-color);border:none;border-radius:var(--radius-md);cursor:pointer;color:#fff;transition:all var(--transition-fast)}.search-button:hover{background:var(--primary-hover)}.search-button svg{width:18px;height:18px}.search-clear{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.search-clear:hover{color:var(--color-text-primary);background:var(--color-glass-bg)}.search-clear svg{width:16px;height:16px}.carousel-section{display:flex;flex-direction:column;padding:0 var(--spacing-lg) var(--spacing-md)}.carousel-search{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);flex-shrink:0}.carousel-search>:first-child{flex:3;max-width:none}.carousel-search>:nth-child(2){flex:0 0 auto;width:180px}.carousel-search-sticky{position:sticky;top:40px;z-index:150;background:transparent}.carousel-search-sticky.is-stuck{box-shadow:0 4px 12px #00000026}.search-filters{display:flex;gap:var(--spacing-sm)}.filter-chip{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-glass-border);border-radius:var(--radius-full);background:#ffffff08;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{background:var(--color-glass-hover);border-color:#ffffff26;color:var(--color-text-primary)}.filter-chip.active{background:transparent;border-color:var(--color-accent-primary);color:var(--color-accent-primary);box-shadow:0 0 0 1px #8c4a364d}@media (max-width: 768px){.carousel-search{flex-direction:column}.carousel-search>:first-child{max-width:100%;width:100%}.carousel-search-sticky{top:56px}}@media (max-width: 480px){.carousel-section{padding:0 var(--spacing-sm) var(--spacing-sm)}}.home-page{flex:1}.file-upload{width:100%}.file-upload-zone{padding:var(--spacing-2xl);text-align:center;cursor:pointer;transition:all var(--transition-normal);border-style:dashed}.file-upload-zone:hover,.file-upload-zone.dragging{border-color:var(--color-accent-primary);background:#8c4a360d}.file-input{display:none}.upload-icon{width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.upload-text{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.upload-text span{color:var(--color-accent-primary);font-weight:500}.upload-formats{color:var(--color-text-muted);font-size:var(--font-size-sm)}.file-list{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.file-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.file-name{color:var(--color-text-primary);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{color:var(--color-text-muted);font-size:var(--font-size-xs)}.file-remove{padding:var(--spacing-xs);color:var(--color-text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.file-remove:hover{color:var(--color-error);background:#ef44441a}.file-remove svg{width:16px;height:16px}.image-upload{width:100%}.image-upload-zone{padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-normal);border-style:dashed}.image-upload-zone:hover,.image-upload-zone.dragging{border-color:var(--color-accent-primary);background:#8c4a360d}.image-input{display:none}.image-upload .upload-icon{width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.image-upload .upload-text{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.image-upload .upload-text span{color:var(--color-accent-primary);font-weight:500}.image-upload .upload-formats{color:var(--color-text-muted);font-size:var(--font-size-sm)}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.image-preview-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.image-preview-thumbnail{width:100%;height:100%;object-fit:cover}.image-preview-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(transparent,#000000b3);display:flex;flex-direction:column;gap:2px}.image-preview-name{color:#fff;font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-preview-size{color:#ffffffb3;font-size:10px}.image-remove-btn{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:24px;height:24px;border-radius:50%;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:0}.image-preview-item:hover .image-remove-btn{opacity:1}.image-remove-btn:hover{background:var(--color-error)}.image-remove-btn svg{width:14px;height:14px}.image-count{margin-top:var(--spacing-sm);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.project-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.project-form label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.project-form input,.project-form textarea{width:100%}.project-form textarea{resize:vertical;min-height:80px}.input-error{border-color:var(--color-error)!important}.error-text{color:var(--color-error);font-size:var(--font-size-xs)}.files-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-glass-border)}.license-header{display:flex;align-items:center;gap:var(--spacing-sm)}.license-select{background-color:#0003;cursor:pointer}.license-select option{background-color:#fff8f0;color:var(--color-text-primary)}.info-button{background:#ffffff1a;border:1px solid var(--color-glass-border);color:var(--color-text-secondary);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .2s}.info-button:hover{background:var(--color-accent-primary);color:#fff}.license-info-card{background:#0000004d;border:1px solid var(--color-glass-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.license-info-card h4{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-md)}.license-info-card ul{margin:0;padding-left:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs)}.license-info-card li strong{color:var(--color-text-primary)}.pricing-section{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.pricing-label{font-weight:600!important;color:var(--color-text-primary)!important;margin-bottom:var(--spacing-sm)}.pricing-toggle{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.toggle-option{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary)!important}.toggle-option.disabled{opacity:.5;cursor:not-allowed}.toggle-option input[type=radio]{width:auto;accent-color:var(--color-accent-primary)}.level-requirement{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.price-input-wrapper{margin-top:var(--spacing-md)}.price-input-group{display:flex;align-items:center;gap:var(--spacing-xs);max-width:150px}.currency-symbol{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary)}.price-input{width:100px!important}.price-limit-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.price-limit-hint.pro-benefit{color:#4ade80}.subscription-badge-inline{font-size:9px;font-weight:700;color:#fff;background:linear-gradient(135deg,#bf735d,#8c4a36);padding:2px 6px;border-radius:var(--radius-full);margin-left:var(--spacing-xs);text-transform:uppercase}.thumbnail-capture-container{position:absolute;left:-9999px;top:-9999px;width:512px;height:512px;overflow:hidden;pointer-events:none}.points-preview{background:linear-gradient(135deg,#8c4a3626,#8c4a361a);border:1px solid rgba(140,74,54,.3);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center}.points-preview-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.points-preview-icon{display:flex;align-items:center;justify-content:center}.points-preview-icon svg{width:20px;height:20px;color:#8c4a36}.points-preview-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.points-preview-total{font-size:var(--font-size-2xl);font-weight:700;color:#8c4a36;margin-bottom:var(--spacing-sm)}.points-preview-breakdown{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.points-preview-breakdown .bonus{color:#4ade80}.points-preview-note{margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.upload-progress-overlay{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:linear-gradient(135deg,#8c4a361f,#8c4a3614);border:1px solid rgba(140,74,54,.3);border-radius:var(--radius-lg);animation:progressFadeIn .3s ease}@keyframes progressFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-progress-ring-container{position:relative;width:56px;height:56px;flex-shrink:0}.upload-progress-ring{width:56px;height:56px;transform:rotate(-90deg)}.upload-progress-track{fill:none;stroke:#ffffff14;stroke-width:4}.upload-progress-fill{fill:none;stroke:url(#progress-gradient);stroke:var(--color-accent-primary);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.upload-progress-percent{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary)}.upload-progress-info{display:flex;flex-direction:column;gap:4px;min-width:0}.upload-progress-step{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.upload-progress-filename{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}@keyframes progressSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skin-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.skin-form-notice{background:linear-gradient(135deg,#8c4a361a,#8c4a361a);border:1px solid rgba(140,74,54,.3);border-radius:var(--radius-md);padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.skin-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.skin-form label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.skin-form input,.skin-form textarea{width:100%}.skin-form textarea{resize:vertical;min-height:80px}.skin-form .file-input{padding:var(--spacing-sm)}.preview-thumbnail{width:100px;height:100px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-glass-border);margin-top:var(--spacing-sm)}.preview-thumbnail img{width:100%;height:100%;object-fit:cover}.skin-form .input-error{border-color:var(--color-error)!important}.skin-form .error-text{color:var(--color-error);font-size:var(--font-size-xs)}.skin-form .files-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.skin-form .form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-glass-border)}.skin-form .pricing-section{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.skin-form .pricing-label{font-weight:600!important;color:var(--color-text-primary)!important;margin-bottom:var(--spacing-sm)}.skin-form .pricing-toggle{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.skin-form .toggle-option{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary)!important}.skin-form .toggle-option.disabled{opacity:.5;cursor:not-allowed}.skin-form .toggle-option input[type=radio]{width:auto;accent-color:var(--color-accent-primary)}.skin-form .level-requirement{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.skin-form .price-input-wrapper{margin-top:var(--spacing-md)}.skin-form .price-input-group{display:flex;align-items:center;gap:var(--spacing-xs);max-width:150px}.skin-form .currency-symbol{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary)}.skin-form .price-input{width:100px!important}.headline-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.headline-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.headline-form label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.headline-form input[type=text],.headline-form select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass-bg);color:var(--color-text-primary);font-size:var(--font-size-md);transition:border-color .2s ease}.headline-form input[type=text]:focus,.headline-form select:focus{outline:none;border-color:var(--color-accent-primary)}.headline-form input[type=text]::placeholder{color:var(--color-text-muted)}.color-presets{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.color-preset{width:36px;height:36px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-preset:hover{transform:scale(1.1)}.color-preset.selected{border-color:#fff;box-shadow:0 0 0 2px var(--color-accent-primary)}.color-preview{margin-top:var(--spacing-sm)}.selection-type-group{display:flex;gap:var(--spacing-lg)}.radio-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-weight:400;color:var(--color-text-primary)}.radio-label input[type=radio]{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400;color:var(--color-text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-glass-border)}.admin-dashboard{padding:var(--spacing-xl) 0}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2xl)}.dashboard-header h1{margin-bottom:var(--spacing-xs)}.form-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg);overflow-y:auto}.form-modal{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;padding:var(--spacing-xl)}.form-modal h2{margin-bottom:var(--spacing-xl);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state{text-align:center;padding:var(--spacing-3xl)}.empty-state p{margin-bottom:var(--spacing-lg);color:var(--color-text-muted)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xl)}.project-item{display:flex;flex-direction:column}.project-preview{border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden}.project-details{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.project-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.project-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.tag{font-size:var(--font-size-xs);color:var(--color-accent-primary);background:#8c4a361a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full)}.project-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--color-glass-border)}.meta-item{font-size:var(--font-size-xs);color:var(--color-text-muted)}.project-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.users-section{margin-top:var(--spacing-3xl)}.users-section h2{margin-bottom:var(--spacing-lg);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.users-list{padding:var(--spacing-lg)}.users-table{width:100%;border-collapse:collapse;table-layout:auto}.users-table th,.users-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-glass-border);display:table-cell}.users-table th{font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.role-admin{background:var(--color-accent-gradient);color:#fff}.role-paying{background:linear-gradient(135deg,gold,#fa0);color:#1a1a1a}.role-user{background:var(--color-glass-bg);color:var(--color-text-secondary)}.role-select{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-glass-border);background:var(--color-glass-bg);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer}.role-select:hover{border-color:var(--color-accent-primary)}.admin-note{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.full-project-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;background:linear-gradient(135deg,#10b981,#059669);color:#fff;margin-top:var(--spacing-sm);width:fit-content}.header-actions{display:flex;gap:var(--spacing-sm)}.dashboard-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-glass-border);padding-bottom:var(--spacing-sm)}.tab-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.tab-button:hover{color:var(--color-text-primary);background:var(--color-glass-bg)}.tab-button.active{color:var(--color-accent-primary);background:var(--color-glass-bg);border-bottom:2px solid var(--color-accent-primary)}.pending-badge{font-size:var(--font-size-xs);background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:2px 6px;border-radius:var(--radius-full);font-weight:600}.price-tag{display:inline-block;margin-left:var(--spacing-sm);padding:2px 8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full)}.skins-section{margin-top:var(--spacing-lg)}.section-title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-xl)}.section-title:first-child{margin-top:0}.skins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.skin-item{display:flex;flex-direction:column}.skin-item.pending{border:1px solid rgba(245,158,11,.5)}.skin-preview{height:150px;overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.skin-preview img{width:100%;height:100%;object-fit:cover}.skin-details{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.skin-title{font-size:var(--font-size-md);display:flex;align-items:center;justify-content:space-between}.skin-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.skin-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.skin-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap;align-items:center}.skin-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:var(--spacing-xs)}.reject-inline{display:flex;gap:var(--spacing-xs);align-items:center;flex-wrap:wrap}.reject-reason-input{width:180px;padding:4px 8px;font-size:var(--font-size-xs)}.meta-link{color:var(--color-accent-primary);text-decoration:none}.meta-link:hover{text-decoration:underline}.skin-preview-viewer{margin-bottom:var(--spacing-lg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-tertiary)}.skin-preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);border-bottom:1px solid var(--color-glass-border)}.skin-preview-status{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.skin-preview-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:20px;padding:0 4px}.skin-preview-close:hover{color:var(--color-text-primary)}.skin-preview-canvas{width:100%;min-height:400px}.approved-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;background:linear-gradient(135deg,#10b981,#059669);color:#fff;margin-top:var(--spacing-xs);width:fit-content}.users-section{margin-top:0}.users-section h2{display:none}.featured-section{margin-top:var(--spacing-lg)}.featured-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.rotation-settings{display:flex;align-items:center;gap:var(--spacing-sm)}.rotation-settings label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rotation-input{width:100px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass-bg);color:var(--color-text-primary);font-size:var(--font-size-sm)}.rotation-input:focus{outline:none;border-color:var(--color-accent-primary)}.interval-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.headlines-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.headline-item{display:grid;grid-template-columns:auto auto 1fr auto;gap:var(--spacing-lg);align-items:center;padding:var(--spacing-lg)}.headline-item.inactive{opacity:.6}.headline-order{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-muted);min-width:40px}.headline-badge-preview{min-width:150px}.headline-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:600;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.headline-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.headline-meta{display:flex;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.meta-label{color:var(--color-text-muted)}.meta-value{color:var(--color-text-secondary)}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.status-badge.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status-badge.inactive{background:var(--color-glass-bg);color:var(--color-text-muted)}.headline-actions{display:flex;gap:var(--spacing-sm)}.rotation-preview{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-glass-border)}.preview-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center}.preview-item{display:flex;align-items:center;gap:var(--spacing-sm)}.preview-number{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}.preview-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:600;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.reports-section{margin-top:var(--spacing-lg)}.reports-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.report-item{padding:var(--spacing-lg)}.report-item.pending{border-left:3px solid #f59e0b}.report-item.reviewed{border-left:3px solid #10b981;opacity:.8}.report-item.dismissed{border-left:3px solid var(--color-text-muted);opacity:.6}.report-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.report-reason-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.report-status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.report-status-badge.reviewed{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.report-status-badge.dismissed{background:var(--color-glass-bg);color:var(--color-text-muted)}.report-date{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:auto}.report-content{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.report-project-info,.report-meta{display:flex;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.report-label{color:var(--color-text-muted);min-width:100px}.report-project-link{color:var(--color-accent-primary);text-decoration:none}.report-project-link:hover{text-decoration:underline}.report-project-deleted{color:var(--color-text-muted);font-style:italic}.report-description{margin-top:var(--spacing-xs)}.report-description p{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);background:var(--color-glass-bg);padding:var(--spacing-sm);border-radius:var(--radius-md)}.report-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.report-comment-content{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.comment-preview{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary);font-style:italic;background:var(--color-glass-bg);padding:var(--spacing-sm);border-radius:var(--radius-md);border-left:3px solid var(--color-accent-primary);max-height:100px;overflow-y:auto}.thumbnail-regen-section{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.thumbnail-regen-info{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.thumbnail-progress{color:var(--color-accent-primary);font-weight:500}.thumbnail-regen-buttons{display:flex;gap:var(--spacing-sm)}.thumbnail-capture-hidden{position:absolute;left:-9999px;top:-9999px;width:512px;height:512px;overflow:hidden;pointer-events:none}@media (max-width: 768px){.headline-item{grid-template-columns:1fr;gap:var(--spacing-md)}.headline-order{display:none}.headline-actions{flex-wrap:wrap}.report-project-info,.report-meta{flex-direction:column;gap:2px}.report-label{min-width:auto}}.points-approval-section{margin-top:var(--spacing-lg)}.points-approval-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.points-approval-item{padding:var(--spacing-lg)}.points-approval-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.points-project-name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);text-decoration:none}.points-project-name:hover{color:var(--color-accent-primary);text-decoration:underline}.points-owner{font-size:var(--font-size-sm);color:var(--color-text-muted)}.points-breakdown{background:linear-gradient(135deg,#8c4a3626,#8c4a361a);border:1px solid rgba(140,74,54,.3);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.points-total{font-size:var(--font-size-xl);font-weight:700;color:#8c4a36;margin-bottom:var(--spacing-xs)}.points-details{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.points-detail-item.bonus{color:#4ade80}.points-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.points-meta .meta-badge{background:#4ade8033;color:#4ade80;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.points-date{margin-left:auto;color:var(--color-text-muted)}.points-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.user-link{color:var(--color-text-primary);text-decoration:none;font-weight:500}.user-link:hover{color:var(--color-accent-primary);text-decoration:underline}.coins-cell,.subscription-cell{display:flex;align-items:center;gap:var(--spacing-xs)}.coin-value{font-family:monospace;font-weight:500}.coin-edit-btn,.sub-edit-btn{padding:var(--spacing-xs)!important;opacity:.5;transition:opacity .2s ease}.coin-edit-btn:hover,.sub-edit-btn:hover{opacity:1}.subscription-info{display:flex;flex-direction:column;gap:2px}.sub-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:700;text-transform:uppercase}.sub-badge.sub-starter{background:linear-gradient(135deg,#8c4a36,#bf735d);color:#fff}.sub-badge.sub-pro{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.sub-expires{font-size:var(--font-size-xs);color:var(--color-text-muted)}.no-subscription{color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-modal{width:100%;max-width:480px;padding:var(--spacing-xl)}.admin-modal h2{margin-bottom:var(--spacing-sm);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.modal-subtitle strong{color:var(--color-text-primary)}.admin-modal .form-group{margin-bottom:var(--spacing-lg)}.admin-modal .form-group label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.admin-modal .glass-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-md)}.admin-modal .glass-input:focus{outline:none;border-color:var(--color-accent-primary)}.admin-modal select.glass-input{cursor:pointer;background-color:#fff8f0;color:var(--color-text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%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%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.admin-modal select.glass-input option{background-color:#fff8f0;color:var(--color-text-primary);padding:8px}.input-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.modal-preview{padding:var(--spacing-md);background:var(--color-glass-bg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);min-height:50px}.modal-preview p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal-preview strong{color:var(--color-text-primary)}.subscription-benefits{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:#8c4a361a;border-radius:var(--radius-md)}.subscription-benefits h4{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.subscription-benefits ul{margin:0;padding-left:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.subscription-benefits li{margin-bottom:var(--spacing-xs)}.subscription-benefits strong{color:var(--color-text-primary)}.admin-modal .form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--color-glass-border)}@media (max-width: 1024px){.users-table{display:block;overflow-x:auto}.users-table th,.users-table td{white-space:nowrap}}.level-cell,.points-cell{white-space:nowrap}.level-cell>span,.level-cell>button,.points-cell>span,.points-cell>button{display:inline-flex;align-items:center;vertical-align:middle}.level-value,.points-value{font-weight:500}.coin-breakdown{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.level-edit-btn,.points-edit-btn{opacity:.5;transition:opacity .2s}.level-edit-btn:hover,.points-edit-btn:hover{opacity:1}.level-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.preset-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.preset-btn{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);background:var(--color-glass-bg);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s}.preset-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:#8c4a361a}.gift-points-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-glass-border)}.gift-points-section h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.gift-points-row{display:flex;gap:var(--spacing-sm);align-items:center}.gift-points-row .glass-input{flex:1}.gift-result{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md)}.gift-result p{margin:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.gift-result .level-up-msg{color:#fbbf24;font-weight:600}.admin-page{padding:var(--spacing-xl) 0;flex:1}.purchase-button-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.purchase-button-wrapper.full-width,.purchase-button-wrapper.full-width .purchase-button{width:100%}.purchase-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.purchase-button.full-width{width:100%}.purchase-button .button-icon{width:18px;height:18px;flex-shrink:0}.purchase-button .coin-icon{width:20px;height:20px}.purchase-button--owned{background:linear-gradient(135deg,#4ade80,#22c55e)!important}.purchase-button--owned:hover{background:linear-gradient(135deg,#22c55e,#16a34a)!important}.purchase-button--insufficient{background:linear-gradient(135deg,#f59e0b,#d97706)!important}.purchase-button--insufficient:hover{background:linear-gradient(135deg,#d97706,#b45309)!important}.add-coins-link{background:none;border:none;color:var(--color-accent-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0;text-decoration:underline;transition:color .2s ease}.add-coins-link:hover{color:var(--color-accent-secondary)}.purchase-error{color:var(--color-error);font-size:var(--font-size-xs);margin-top:4px}.price-display{display:flex;align-items:center;gap:6px;font-size:var(--font-size-lg);font-weight:700;color:gold}.price-display .coin-icon{width:24px;height:24px}.price-display--free{color:#4ade80}.center-offset-controls{background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.offset-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.offset-title{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.offset-reset-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:#ffffff0d;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.offset-reset-btn:hover{background:var(--color-glass-hover);color:var(--color-text-primary);border-color:#fff3}.offset-sliders{display:flex;flex-direction:column;gap:var(--spacing-sm)}.offset-slider{display:grid;grid-template-columns:24px 1fr 48px;align-items:center;gap:var(--spacing-sm)}.offset-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-accent-primary);text-align:center}.offset-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:#ffffff1a;border-radius:var(--radius-full);outline:none;cursor:pointer}.offset-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-accent-primary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.offset-input::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 8px #8c4a3680}.offset-input::-moz-range-thumb{width:14px;height:14px;background:var(--color-accent-primary);border:none;border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.offset-input::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 0 8px #8c4a3680}.offset-value{font-size:var(--font-size-xs);font-family:monospace;color:var(--color-text-muted);text-align:right}.follow-button{min-width:90px;border-radius:var(--radius-full);padding:.5rem 1.5rem;font-weight:700;transition:all var(--transition-fast)}.follow-button:not(.following){background:var(--color-accent-gradient);color:#fff;border:none}.follow-button.following{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-glass-border)}.follow-button:hover{transform:scale(1.05)}.follow-button.following:hover{border-color:var(--color-danger);color:var(--color-danger)}.follow-button.following:hover:after{content:"Unfollow"}.follow-button.following:hover span{display:none}.project-info{display:flex;flex-direction:column;gap:var(--spacing-xl)}.info-header{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.info-title{font-size:var(--font-size-3xl);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1}.info-creator{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-md)}.info-creator svg{width:18px;height:18px;color:var(--color-accent-secondary)}.info-creator strong{color:var(--color-text-primary);font-weight:600}.info-creator-link{cursor:pointer;transition:color var(--transition-fast)}.info-creator-link:hover{color:var(--color-accent-primary);text-decoration:underline}.info-meta{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-sm)}.meta-divider{opacity:.5}.info-header .interaction-buttons{margin-top:var(--spacing-sm)}.info-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.info-tag{font-size:var(--font-size-sm);color:var(--color-accent-primary);background:#8c4a361a;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);transition:all var(--transition-fast)}.info-tag:hover{background:#8c4a3633}.info-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.info-section h2{font-size:var(--font-size-lg);color:var(--color-text-primary)}.info-section p{color:var(--color-text-secondary);line-height:1.7}.info-pre{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);padding:var(--spacing-lg);color:var(--color-text-secondary);font-family:Fira Code,Consolas,monospace;font-size:var(--font-size-sm);white-space:pre-wrap;word-wrap:break-word;line-height:1.6}.info-expand-btn{background:#ffffff1a;border:1px solid var(--color-glass-border);border-radius:var(--radius-md);padding:var(--spacing-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.info-expand-btn:hover{background:var(--color-glass-hover);color:var(--color-text-primary);transform:scale(1.05)}.project-info.expanded{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:var(--spacing-3xl);overflow-y:auto;display:flex;flex-direction:column;align-items:center}.project-info.expanded .info-content-wrapper{max-width:800px;width:100%;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-2xl);margin-top:40px}.info-close-btn{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;z-index:2001;transition:all var(--transition-fast)}.info-close-btn:hover{background:#fff3;transform:rotate(90deg)}.project-info.expanded{animation:fadeIn .3s ease-out}.project-info.expanded .info-content-wrapper{animation:scaleUp .3s ease-out}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.comment-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.comment-form-login{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);background:var(--color-glass-bg);border-radius:var(--radius-md);border:1px solid var(--color-glass-border)}.comment-textarea{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);resize:vertical;min-height:80px;transition:border-color .2s ease}.comment-textarea:focus{outline:none;border-color:var(--color-accent-primary)}.comment-textarea::placeholder{color:var(--color-text-muted)}.comment-textarea:disabled{opacity:.6;cursor:not-allowed}.comment-form-error{color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.comment-form-actions{display:flex;justify-content:flex-end}.comment-item{padding:var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md)}.comment-item.reply{margin-left:var(--spacing-lg);background:#ffffff05;border-left:2px solid var(--color-accent-primary)}.comment-item.deleted{opacity:.6}.comment-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.comment-author{font-weight:600;color:var(--color-accent-primary);text-decoration:none;transition:color .2s ease}.comment-author:hover{color:var(--color-accent-secondary);text-decoration:underline}.comment-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.comment-edited{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.comment-content{color:var(--color-text-primary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-content.deleted-content{font-style:italic;color:var(--color-text-muted)}.comment-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.comment-action-btn{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease}.comment-action-btn:hover{background:var(--color-glass-bg);color:var(--color-text-primary)}.comment-action-btn.danger:hover{color:var(--color-danger)}.comment-reported{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.comment-edit{margin:var(--spacing-sm) 0}.comment-edit-textarea{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-accent-primary);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);resize:vertical;min-height:60px}.comment-edit-textarea:focus{outline:none}.comment-edit-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-sm)}.report-options{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:#0003;border-radius:var(--radius-sm)}.report-options .report-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.report-options button{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.report-options button:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.reply-form-container{margin-top:var(--spacing-sm);padding-left:var(--spacing-md);border-left:2px solid var(--color-glass-border)}.comment-replies{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.comment-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.comment-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.comment-count{font-size:var(--font-size-md);font-weight:400;color:var(--color-text-muted)}.comment-section-list,.comment-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.comment-list-empty{text-align:center;padding:var(--spacing-lg);color:var(--color-text-muted)}.comment-list-empty p{margin:0}.community-skins{margin-top:var(--spacing-xl)}.community-skins h2{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.skins-scroll{display:flex;gap:var(--spacing-md);overflow-x:auto;padding-bottom:var(--spacing-sm);scrollbar-width:thin;scrollbar-color:var(--color-glass-border) transparent}.skins-scroll::-webkit-scrollbar{height:6px}.skins-scroll::-webkit-scrollbar-track{background:transparent}.skins-scroll::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.community-skin-card{min-width:180px;max-width:180px;cursor:pointer;transition:transform .15s;flex-shrink:0}.community-skin-card:hover{transform:translateY(-2px)}.community-skin-thumb{width:100%;height:120px;overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-bg-tertiary)}.community-skin-thumb img{width:100%;height:100%;object-fit:cover}.community-skin-thumb .no-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-xs)}.community-skin-info{padding:var(--spacing-sm)}.community-skin-info h4{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-skin-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.community-skin-meta .skin-price{color:var(--color-accent-primary);font-weight:600}.no-skins-hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.media-preview-bar-unified{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;width:100%;align-items:flex-end}.media-preview-bar-unified::-webkit-scrollbar{height:4px}.media-preview-bar-unified::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.mpb-group{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mpb-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, rgba(255, 255, 255, .4));padding-left:2px}.mpb-group-items{display:flex;gap:var(--spacing-xs, 4px)}.mpb-divider{width:1px;align-self:stretch;background:var(--color-glass-border);flex-shrink:0;margin:0 var(--spacing-xs, 4px)}.mpb-btn{width:56px;height:56px;border-radius:var(--radius-sm);border:2px solid transparent;background:#ffffff0d;color:var(--color-text-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;position:relative;overflow:hidden;transition:all var(--transition-fast);flex-shrink:0}.mpb-btn:hover{background:#ffffff1a;border-color:#fff3}.mpb-btn.active{border-color:var(--color-accent-primary);box-shadow:var(--shadow-glow);background:#8c4a3626}.mpb-icon{width:22px;height:22px}.mpb-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mpb-btn-thumb{padding:0}.mpb-thumb-img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius-sm) - 2px)}.mpb-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#ffffff08}.mpb-overlay-icon{position:absolute;bottom:2px;right:2px;width:16px;height:16px;background:#0009;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:.7;pointer-events:none}.mpb-overlay-icon svg{width:10px;height:10px;color:#fff}.project-file-manager{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md)}.file-manager-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-glass-border)}.file-manager-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin:0}.download-all-btn{font-size:var(--font-size-xs)!important;padding:4px 12px!important;height:auto!important}.file-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.file-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.file-row:hover{background:#ffffff14;border-color:#ffffff26}.file-row.active{background:rgba(var(--color-accent-primary-rgb),.1);border-color:var(--color-accent-primary)}.file-info-col{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.file-icon-wrapper{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:var(--radius-sm);flex-shrink:0}.file-ext{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--color-text-secondary)}.file-row.active .file-ext{color:var(--color-accent-primary)}.file-details{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.file-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:var(--font-size-xs);color:var(--color-text-muted)}.file-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.action-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.view-btn.active{color:var(--color-accent-primary);background:rgba(var(--color-accent-primary-rgb),.1)}.download-btn:hover{color:var(--color-accent-secondary)}.action-btn svg{width:18px;height:18px}.project-detail-page{flex:1;padding:var(--spacing-xl) 0 var(--spacing-3xl)}.detail-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.detail-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3xl);max-width:1200px;margin:0 auto;width:100%}.detail-viewer,.detail-info,.community-skins,.detail-comments,.community-skins-gallery{width:100%;max-width:1000px}.detail-comments{margin-top:var(--spacing-xl)}.auto-rotate-toggle{position:absolute;top:12px;right:12px;z-index:10;width:36px;height:36px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.auto-rotate-toggle:hover{background:#000000b3;border-color:#ffffff4d;transform:scale(1.1)}.auto-rotate-toggle.paused{background:#8c4a3699;border-color:var(--color-accent-primary)}.auto-rotate-toggle svg{width:16px;height:16px}.viewer-card{overflow:hidden;position:relative;width:100%}.skin-preview-viewer{width:100%;height:400px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);position:relative;overflow:hidden}.skin-preview-viewer img{max-width:100%;max-height:100%;object-fit:contain}.skin-preview-no-image{color:var(--color-text-muted, rgba(255, 255, 255, .4));font-size:var(--font-size-md)}.skin-info-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(transparent,#000000b3);display:flex;flex-direction:column;gap:2px}.skin-preview-name{color:var(--color-text-primary);font-weight:600;font-size:var(--font-size-md)}.skin-preview-author{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.picture-viewer{width:100%;height:400px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary)}.picture-viewer img{max-width:100%;max-height:100%;object-fit:contain}.detail-info .glass-card{height:auto;max-height:none;overflow-y:visible;padding:0}.detail-info-content{display:flex;flex-direction:column}.files-section{padding:var(--spacing-lg)}.info-divider{height:1px;background:var(--color-glass-border);width:100%}@media (max-width: 900px){.detail-content{gap:var(--spacing-xl)}}.download-section{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.scene-adjustments-dropdown{background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-md);margin-top:var(--spacing-xl);transition:all var(--transition-normal)}.scene-adjustments-dropdown.open{background:#ffffff08}.scene-adjustments-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);cursor:pointer;background:#ffffff0d;transition:background var(--transition-fast)}.scene-adjustments-header:hover{background:#ffffff1a}.scene-adjustments-title{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.scene-adjustments-icon{width:20px;height:20px;color:var(--color-accent-secondary)}.scene-adjustments-arrow{width:20px;height:20px;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.scene-adjustments-dropdown.open .scene-adjustments-arrow{transform:rotate(180deg)}.scene-adjustments-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--color-glass-border);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.download-section>*{flex:1}.folder-list{background:var(--color-glass-bg);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);padding:var(--spacing-md);min-width:220px}.folder-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-sm);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-glass-border)}.folder-list-header h3{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.folder-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.folder-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.folder-item:hover{background:var(--color-glass-hover)}.folder-item.active{background:#8c4a3633;border:1px solid rgba(140,74,54,.3)}.folder-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.folder-icon svg{color:#fff}.folder-name{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-glass-bg);padding:2px 8px;border-radius:var(--radius-full)}.folder-delete-btn{opacity:0;background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:var(--radius-sm)}.folder-item:hover .folder-delete-btn{opacity:1}.folder-delete-btn:hover{color:var(--color-error);background:#ef44441a}.collection-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-glass-border)}.collection-section .folder-list-header{border-bottom:none;margin-bottom:var(--spacing-xs)}.collection-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.folder-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.folder-form-modal{width:100%;max-width:400px;padding:var(--spacing-xl)}.folder-form-modal h2{margin-bottom:var(--spacing-xl);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.folder-form-modal .form-group{margin-bottom:var(--spacing-lg)}.folder-form-modal label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.folder-form-modal .glass-input{width:100%;padding:var(--spacing-sm) var(--spacing-md)}.color-picker{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.color-option{width:32px;height:32px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#fff;box-shadow:0 0 0 2px var(--color-accent-primary)}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.folder-selector{min-width:140px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text-primary)}.folder-selector:focus{outline:none;border-color:var(--color-accent-primary)}.folder-selector option{background:#fff8f0;color:var(--color-text-primary)}@media (max-width: 768px){.folder-list{min-width:100%}}.skin-card{display:flex;flex-direction:column;overflow:hidden}.skin-card .skin-card-preview{width:100%;height:160px;position:relative;overflow:hidden;background:var(--color-bg-tertiary)}.skin-card .skin-card-preview img{width:100%;height:100%;object-fit:cover}.skin-card .skin-card-preview .no-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.skin-card .status-badge{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.skin-card .status-badge.draft{background:var(--color-glass-bg);color:var(--color-text-secondary);border:1px solid var(--color-glass-border)}.skin-card .status-badge.pending_review{background:#f59e0b33;color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.skin-card .status-badge.approved{background:#22c55e33;color:var(--color-success);border:1px solid rgba(34,197,94,.3)}.skin-card .status-badge.rejected{background:#ef444433;color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.skin-card .skin-card-body{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.skin-card .skin-card-name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skin-card .skin-card-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.skin-card .skin-card-meta .price-badge{color:var(--color-accent-primary);font-weight:600}.skin-card .skin-card-meta .no-project-hint{color:var(--color-warning);font-style:italic}.skin-card .rejection-reason{background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-error);margin-bottom:var(--spacing-sm)}.skin-card .skin-card-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.publish-skin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.publish-skin-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:400px;box-shadow:var(--shadow-lg)}.publish-skin-modal h2{margin:0 0 var(--spacing-lg);font-size:var(--font-size-lg);color:var(--color-text-primary)}.publish-skin-preview{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm);background:var(--color-glass-bg);border-radius:var(--radius-sm)}.publish-skin-preview img{width:80px;height:60px;object-fit:cover;border-radius:var(--radius-sm)}.publish-skin-preview-info{flex:1}.publish-skin-preview-info h3{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary)}.publish-skin-preview-info p{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.publish-price-toggle{margin-bottom:var(--spacing-md)}.publish-price-toggle label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.price-options{display:flex;gap:var(--spacing-sm)}.price-option{flex:1;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;text-align:center;font-size:var(--font-size-sm);transition:all .15s}.price-option.active{border-color:var(--color-accent-primary);color:var(--color-text-primary);background:#8c4a361a}.price-option:hover:not(.active){background:var(--color-glass-hover)}.price-input-row{margin-top:var(--spacing-sm)}.price-input-row input{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);box-sizing:border-box}.price-input-row input:focus{outline:none;border-color:var(--color-accent-primary)}.publish-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:4px}.publish-project-section{margin-bottom:var(--spacing-md)}.publish-project-section label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.publish-project-section select.glass-input{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);box-sizing:border-box;cursor:pointer}.publish-project-section select.glass-input:focus{outline:none;border-color:var(--color-accent-primary)}.publish-project-info{padding:var(--spacing-sm);background:var(--color-glass-bg);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary)}.publish-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.subscription-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn var(--transition-fast) ease-out;padding:20px;overflow-y:auto}.subscription-modal{position:relative;width:100%;max-width:700px;padding:var(--spacing-2xl);animation:slideUp var(--transition-normal) ease-out;margin:auto;transform:none!important;box-shadow:0 8px 32px #00000080;max-height:90vh;overflow-y:auto}.subscription-modal:hover{transform:none!important}.subscription-modal h2{margin-bottom:var(--spacing-lg);text-align:center;background:linear-gradient(135deg,#bf735d,#8c4a36);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.current-subscription{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#8c4a361a;border:1px solid rgba(140,74,54,.3);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.subscription-badge{background:linear-gradient(135deg,#bf735d,#8c4a36);color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);text-transform:uppercase}.subscription-info{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cancel-notice{color:var(--color-warning);font-size:var(--font-size-xs);font-style:italic}.billing-toggle{display:flex;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);background:#ffffff0d;padding:var(--spacing-xs);border-radius:var(--radius-full);width:fit-content;margin-left:auto;margin-right:auto}.toggle-btn{position:relative;padding:var(--spacing-sm) var(--spacing-lg);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-xs)}.toggle-btn:hover{color:var(--color-text-primary)}.toggle-btn.active{background:#8c4a3633;color:var(--color-text-primary)}.save-badge{background:#4ade80;color:#000;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-full);text-transform:uppercase}.tiers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.tier-card{position:relative;display:flex;flex-direction:column;padding:var(--spacing-xl);background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.tier-card:hover{background:#ffffff14;border-color:#8c4a364d}.tier-card.selected{background:#8c4a3626;border-color:#8c4a36;box-shadow:0 0 20px #8c4a3633}.tier-card.current{border-color:#4ade8080}.tier-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#bf735d,#8c4a36);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase;white-space:nowrap}.current-badge{position:absolute;top:-10px;right:var(--spacing-md);background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);text-transform:uppercase}.tier-name{text-align:center;font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.tier-price{text-align:center;margin-bottom:var(--spacing-sm)}.price-amount{font-size:var(--font-size-3xl);font-weight:700;background:linear-gradient(135deg,#bf735d,#8c4a36);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.price-period{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tier-savings{text-align:center;font-size:var(--font-size-sm);color:#4ade80;font-weight:600;margin-bottom:var(--spacing-md)}.tier-features{list-style:none;padding:0;margin:var(--spacing-md) 0 0 0;flex:1}.tier-features li{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tier-features li svg{width:16px;height:16px;color:#4ade80;flex-shrink:0}.comparison-note{padding:var(--spacing-lg);background:#ffffff08;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.comparison-note h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.comparison-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.comparison-table th,.comparison-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid rgba(255,255,255,.05)}.comparison-table th{color:var(--color-text-secondary);font-weight:500;font-size:var(--font-size-xs);text-transform:uppercase}.comparison-table td{color:var(--color-text-primary)}.comparison-table td:first-child{color:var(--color-text-secondary)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;flex-wrap:wrap}.error-message{color:var(--color-error);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--spacing-md)}.mock-notice{margin-top:var(--spacing-lg);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-sm);background:#ffffff08;border-radius:var(--radius-sm)}.purchase-success{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2xl);text-align:center}.success-icon{width:64px;height:64px;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg);animation:scaleIn .3s ease-out}.success-icon svg{width:32px;height:32px;color:#fff}.purchase-success p{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.success-tier{margin-top:var(--spacing-sm)!important;background:linear-gradient(135deg,#bf735d,#8c4a36);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 600px){.subscription-modal{padding:var(--spacing-lg)}.tiers-grid{grid-template-columns:1fr}.comparison-table{font-size:var(--font-size-xs)}.comparison-table th,.comparison-table td{padding:var(--spacing-xs)}.form-actions{flex-direction:column}.form-actions button{width:100%}}.user-dashboard{padding:var(--spacing-xl) 0;min-height:calc(100vh - 200px)}.user-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2xl);flex-wrap:wrap;gap:var(--spacing-lg)}.dashboard-nav{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);padding:4px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);width:fit-content}.dashboard-tab{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-weight:600;color:var(--color-text-secondary);transition:all var(--transition-normal);background:transparent;border:none;cursor:pointer}.dashboard-tab.active{background:#fff;color:var(--color-accent-primary);box-shadow:0 4px 12px #8c4a3614}.dashboard-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.dashboard-title h1{margin-bottom:var(--spacing-xs);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm)}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.sidebar-header{display:flex;align-items:center;justify-content:stretch;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-glass-border);min-height:44px}.sidebar-header>button{width:100%}.dashboard-stats{display:flex;gap:var(--spacing-lg)}.stat-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg)}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-accent-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dashboard-content{display:grid;grid-template-columns:240px 1fr;gap:var(--spacing-xl)}.dashboard-sidebar{position:sticky;top:var(--spacing-xl);height:fit-content}.dashboard-main{min-width:0}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-glass-border)}.projects-header h2{font-size:var(--font-size-xl);margin:0}.projects-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.user-dashboard .empty-state{text-align:center;padding:var(--spacing-3xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.empty-icon{color:var(--color-text-muted);opacity:.5}.user-dashboard .empty-state p{color:var(--color-text-secondary);margin:0}.empty-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)!important}.user-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-xl)}.user-project-item{display:flex;flex-direction:column;overflow:hidden;padding:0}.project-link{text-decoration:none;color:inherit;display:block}.user-project-item .project-preview{height:180px;background:var(--color-bg-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;position:relative}.user-project-item .project-thumbnail{width:100%;height:100%;object-fit:contain;transition:opacity .3s ease}.user-project-item .project-thumbnail.hidden{opacity:0}.user-project-item .project-model-viewer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.project-preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm);transition:opacity .3s ease}.project-preview-placeholder.hidden{opacity:0}.user-project-item .project-info{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-project-item .project-title{font-size:var(--font-size-md);font-weight:600;margin:0;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.user-project-item .project-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.user-project-item .project-meta{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.user-project-item .meta-item{font-size:var(--font-size-xs);color:var(--color-text-muted)}.price-badge{font-size:var(--font-size-xs);font-weight:600;color:#fff;background:linear-gradient(135deg,#10b981,#059669);padding:2px 8px;border-radius:var(--radius-full)}.user-project-item .full-project-badge{font-size:var(--font-size-xs);font-weight:600;color:#fff;background:linear-gradient(135deg,#8c4a36,#bf735d);padding:2px 8px;border-radius:var(--radius-full)}.user-project-item .project-actions{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-glass-border);background:#0000001a}.delete-btn{color:var(--color-text-muted)}.delete-btn:hover{color:var(--color-error)}.edit-btn{color:var(--color-text-muted)}.edit-btn:hover{color:var(--color-accent-primary)}@media (max-width: 900px){.dashboard-content{grid-template-columns:1fr}.dashboard-sidebar{position:static}}@media (max-width: 600px){.user-projects-grid{grid-template-columns:1fr}.user-dashboard .dashboard-header{flex-direction:column}.dashboard-stats{width:100%;justify-content:center}.header-actions{width:100%;flex-direction:column;gap:var(--spacing-md)}.header-actions>button{width:100%}}.form-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.form-modal{background:var(--color-bg-primary);border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #8c4a3626}.form-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-glass-border)}.form-modal-header h2{margin:0;font-size:var(--font-size-xl);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close-btn{background:none;border:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color .2s ease}.modal-close-btn:hover{color:var(--color-text-primary)}.form-modal .project-form{padding:var(--spacing-xl);overflow-y:auto}.subscription-card{margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.subscription-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-md) 0}.subscription-status{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.subscription-status.active .status-badge{background:linear-gradient(135deg,#bf735d,#8c4a36);color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full)}.subscription-status.active .status-text{color:#4ade80;font-size:var(--font-size-sm);font-weight:500}.subscription-status.inactive .status-text{color:var(--color-text-muted);font-size:var(--font-size-sm)}.subscription-benefit{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0}.subscription-fee{font-size:var(--font-size-xs);color:#4ade80;margin:0 0 var(--spacing-xs) 0}.subscription-expires{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--spacing-md) 0}.subscription-pitch{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;line-height:1.4}.subscription-manage-btn,.subscription-upgrade-btn{width:100%}.subscription-upgrade-btn{background:var(--color-accent-gradient)}.user-profile-page{flex:1;padding:var(--spacing-xl) 0 var(--spacing-3xl)}.profile-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast);text-decoration:none}.back-link:hover{color:var(--color-text-primary)}.back-link svg{width:18px;height:18px}.profile-header{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);border:1px solid var(--color-glass-border)}.profile-header-content{display:flex;gap:var(--spacing-xl);align-items:flex-start}.profile-avatar{width:120px;height:120px;border-radius:var(--radius-full);background:var(--color-accent-gradient);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);font-weight:700;color:#fff;flex-shrink:0;border:4px solid white;box-shadow:0 8px 24px #8c4a361a}.profile-info{flex:1;min-width:0}.profile-name-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-xs)}.profile-username{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-accent-primary);margin:0}.profile-level{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;background:var(--color-glass-bg);border:1px solid var(--color-glass-border)}.profile-level.level-1{border-color:#b09e99;color:#b09e99}.profile-level.level-2{border-color:#22c55e;color:#22c55e}.profile-level.level-3{border-color:#3b82f6;color:#3b82f6}.profile-level.level-4{border-color:#bf735d;color:#bf735d}.profile-level.level-5{border-color:#f59e0b;color:#f59e0b}.profile-level.level-6{border-color:#ef4444;color:#ef4444}.profile-level.level-7{border-color:#ec4899;color:#ec4899}.profile-level.level-8{border-color:#06b6d4;color:#06b6d4}.profile-level.level-9{border-color:#84cc16;color:#84cc16}.profile-level.level-10{background:linear-gradient(135deg,#f59e0b,#ef4444,#bf735d);color:#fff;border:none}.profile-role{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.profile-role.admin{background:#ef444433;color:#ef4444}.profile-role.paying{background:#f59e0b33;color:#f59e0b}.profile-joined{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-md) 0}.profile-bio-section{max-width:500px}.bio-display{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.profile-bio{color:var(--color-text-secondary);line-height:1.5;margin:0}.profile-bio-empty{color:var(--color-text-muted);font-style:italic;margin:0}.bio-edit-btn{background:none;border:none;color:var(--color-accent-primary);font-size:var(--font-size-sm);cursor:pointer;padding:0;white-space:nowrap}.bio-edit-btn:hover{text-decoration:underline}.bio-edit{display:flex;flex-direction:column;gap:var(--spacing-sm)}.bio-textarea{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);resize:vertical;min-height:80px}.bio-textarea:focus{outline:none;border-color:var(--color-accent-primary)}.bio-edit-actions{display:flex;align-items:center;gap:var(--spacing-sm);justify-content:flex-end}.bio-char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-right:auto}.profile-actions{flex-shrink:0}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.stat-card{background:#fff;padding:var(--spacing-md);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--color-glass-border);transition:transform var(--transition-fast)}.stat-card:hover{transform:translateY(-4px);border-color:var(--color-accent-secondary)}.stat-value{display:block;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-accent-primary)}.stat-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.profile-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.empty-section{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.empty-section p{margin:0}.profile-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-xl)}.not-found{text-align:center;padding:var(--spacing-3xl);max-width:500px;margin:var(--spacing-3xl) auto}.not-found h2{margin-bottom:var(--spacing-md)}.not-found p{margin-bottom:var(--spacing-xl);color:var(--color-text-secondary)}@media (max-width: 768px){.profile-header-content{flex-direction:column;align-items:center;text-align:center}.profile-name-row{justify-content:center}.profile-bio-section{max-width:100%}.bio-display{flex-direction:column;align-items:center}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-projects-grid{grid-template-columns:1fr}}.uv-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.uv-progress-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:360px;box-shadow:var(--shadow-lg);text-align:center}.uv-progress-modal h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);color:var(--color-text-primary)}.uv-progress-bar-track{width:100%;height:8px;background:#8c4a3614;border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-sm)}.uv-progress-bar-fill{height:100%;background:linear-gradient(90deg,#8c4a36,#bf735d);border-radius:4px;transition:width .3s ease}.uv-progress-stage{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.uv-progress-percent{font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.7;margin:4px 0 0}.decimation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.decimation-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:420px;box-shadow:var(--shadow-lg)}.decimation-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.decimation-header h2{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.decimation-warning-icon{font-size:1.4rem;flex-shrink:0}.decimation-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.decimation-description strong{color:var(--color-warning, #f59e0b)}.decimation-slider-section{margin-bottom:var(--spacing-lg)}.decimation-slider-label{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-weight:500}.decimation-slider-row{display:flex;align-items:center;gap:var(--spacing-sm)}.decimation-slider{flex:1;height:4px;accent-color:var(--color-accent)}.decimation-slider-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family-mono, monospace);min-width:36px;text-align:right;font-weight:600}.decimation-outcome{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:6px;line-height:1.4}.decimation-outcome strong{color:var(--color-text-primary)}.decimation-actions{display:flex;flex-direction:column;gap:8px}.decimation-skip-note{font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.7;margin-left:4px}.decimation-cancel-btn{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:6px;opacity:.7;transition:opacity .15s}.decimation-cancel-btn:hover{opacity:1}.uv-generate-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;height:auto;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center}.uv-generate-icon{width:64px;height:64px;opacity:.4}.uv-generate-title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0}.uv-generate-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;max-width:320px;line-height:1.5}.uv-generate-tricount{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;opacity:.8}.uv-generate-tricount--warning{color:var(--color-warning, #f59e0b);opacity:1;font-weight:500}.uv-preset-selector{display:flex;gap:6px}.uv-preset-option{display:flex;align-items:center;padding:6px 12px;border-radius:var(--radius-sm, 6px);background:#8c4a360d;border:1px solid rgba(140,74,54,.1);cursor:pointer;transition:all .15s}.uv-preset-option:hover{background:#8c4a361a}.uv-preset-option--active{background:#8c4a3640;border-color:#8c4a3699}.uv-preset-option input[type=radio]{display:none}.uv-preset-label{font-size:var(--font-size-xs, 11px);color:var(--color-text-secondary, #aaa);white-space:nowrap}.uv-preset-option--active .uv-preset-label{color:var(--color-text-primary, #fff);font-weight:500}.uv-generate-btn{padding:10px 24px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#8c4a36,#bf735d);color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:opacity .15s}.uv-generate-btn:hover{opacity:.9}.uv-generate-btn:disabled{opacity:.5;cursor:not-allowed}.uv-generate-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:var(--z-modal, 100)}.uv-generate-modal{position:relative;background:var(--color-bg-primary);border-radius:var(--radius-lg, 12px);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px #00000080;max-width:420px;width:90%}.uv-generate-modal-close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:9999px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);z-index:1}.uv-generate-modal-close:hover{background:#8c4a361a;border-color:#8c4a3633;color:var(--color-text-primary)}.brush-settings{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-glass-border)}.tool-btn-active{background:var(--color-accent-primary)!important;color:#fff8f0!important;border:none!important;box-shadow:0 2px 6px #8c4a3633}.brush-setting-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.brush-setting-header{display:flex;justify-content:space-between;align-items:center}.brush-setting-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:500}.brush-setting-value{color:var(--color-text-primary);font-size:var(--font-size-xs);font-family:monospace;font-weight:600}.brush-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--color-glass-border);outline:none;cursor:pointer}.brush-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-accent-primary);border:2px solid var(--color-bg-secondary);cursor:pointer;transition:transform var(--transition-fast)}.brush-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.brush-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-accent-primary);border:2px solid var(--color-bg-secondary);cursor:pointer}.brush-slider-labels{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:.6rem}.brush-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.brush-checkbox input{cursor:pointer;margin:0;accent-color:var(--color-accent-primary)}input[type=range]{accent-color:var(--color-accent-primary)}.brush-preview-circle{border:2px solid var(--color-accent-primary);background:var(--color-bg-primary);border-radius:var(--radius-full)}.brush-checkbox:hover{color:var(--color-text-primary)}.brush-sub-setting{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-md);margin-top:var(--spacing-xs);border-left:2px solid var(--color-glass-border)}.brush-reset-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.brush-reset-btn:hover:not(:disabled){background:#ff505026;border-color:#ff505080;color:#ff5050}.brush-reset-btn:disabled{opacity:.35;cursor:not-allowed}.brush-action-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-accent-primary);border-radius:var(--radius-sm);background:#8c4a3633;color:var(--color-accent-primary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.brush-action-btn:hover:not(:disabled){background:#8c4a3659}.brush-action-btn:disabled{opacity:.35;cursor:not-allowed}.layer-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.layer-tiles{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:300px;overflow-y:auto}.layer-tiles::-webkit-scrollbar{width:4px}.layer-tiles::-webkit-scrollbar-track{background:transparent}.layer-tiles::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.layer-tile{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-glass-bg);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:36px}.layer-tile:hover{background:var(--color-glass-hover);border-color:var(--color-glass-border)}.layer-tile.active{background:#8c4a3626;border-color:var(--color-accent-primary)}.layer-tile.locked{opacity:.7}.layer-name-row{display:flex;align-items:center;gap:5px;min-width:0}.layer-color-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.layer-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.layer-name{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.layer-count{color:var(--color-text-muted);font-size:.65rem;font-family:monospace}.layer-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.layer-color-input{width:18px;height:18px;padding:0;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);background:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.layer-color-input::-webkit-color-swatch-wrapper{padding:1px}.layer-color-input::-webkit-color-swatch{border:none;border-radius:2px}.layer-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.layer-action-btn:hover{background:var(--color-glass-hover);color:var(--color-text-primary)}.layer-action-btn.off{color:var(--color-text-muted);opacity:.5}.layer-action-btn.on{color:var(--color-warning)}.layer-action-btn.delete:hover{color:var(--color-error)}.layer-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px dashed var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.layer-add-btn:hover:not(:disabled){background:var(--color-glass-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.layer-add-btn:disabled{opacity:.4;cursor:not-allowed}.tex-layer-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.tex-layer-header{display:flex;justify-content:space-between;align-items:center}.tex-layer-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary)}.tex-layer-count{font-size:.65rem;color:var(--color-text-muted);font-family:monospace}.tex-layer-tiles{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:240px;overflow-y:auto}.tex-layer-tiles::-webkit-scrollbar{width:4px}.tex-layer-tiles::-webkit-scrollbar-track{background:transparent}.tex-layer-tiles::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.tex-layer-tile{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-glass-bg);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:32px}.tex-layer-tile:hover{background:var(--color-glass-hover);border-color:var(--color-glass-border)}.tex-layer-tile.active{background:#8c4a3626;border-color:var(--color-accent-primary)}.tex-layer-tile.locked{opacity:.7}.tex-layer-color-swatch{width:16px;height:16px;border-radius:3px;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.tex-layer-info{flex:1;min-width:0}.tex-layer-name{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tex-layer-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.tex-layer-action-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.tex-layer-action-btn:hover{background:var(--color-glass-hover);color:var(--color-text-primary)}.tex-layer-action-btn.off{color:var(--color-text-muted);opacity:.5}.tex-layer-action-btn.on{color:var(--color-warning)}.tex-layer-action-btn.delete:hover{color:var(--color-error)}.tex-layer-delete-dialog{margin:4px 0;padding:8px 10px;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:6px;display:flex;flex-direction:column;gap:6px}.tex-layer-delete-title{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary)}.tex-layer-delete-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.tex-layer-delete-row{display:flex;gap:4px;align-items:center}.tex-layer-delete-select{flex:1;min-width:0;padding:3px 5px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.68rem}.tex-layer-delete-btn{padding:3px 8px;border:none;border-radius:var(--radius-sm);font-size:.68rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity var(--transition-fast)}.tex-layer-delete-btn:hover{opacity:.85}.tex-layer-delete-btn.move{background:var(--color-accent-primary);color:#fff}.tex-layer-delete-btn.discard{background:#ef4444b3;color:#fff}.tex-layer-delete-btn.cancel{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);color:var(--color-text-secondary)}.tex-layer-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px dashed var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.tex-layer-add-btn:hover:not(:disabled){background:var(--color-glass-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.tex-layer-add-btn:disabled{opacity:.4;cursor:not-allowed}.save-skin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.save-skin-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.save-skin-modal h2{margin:0 0 var(--spacing-lg);font-size:var(--font-size-lg);color:var(--color-text-primary)}.save-skin-field{margin-bottom:var(--spacing-md)}.save-skin-field label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.save-skin-field input,.save-skin-field textarea{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);resize:vertical;box-sizing:border-box}.save-skin-field input:focus,.save-skin-field textarea:focus{outline:none;border-color:var(--color-accent-primary)}.save-skin-field textarea{min-height:60px}.save-skin-thumbnail{margin-bottom:var(--spacing-md)}.save-skin-thumbnail label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.thumbnail-preview{position:relative;width:100%}.thumbnail-preview img,.thumbnail-preview .no-thumbnail{width:100%;height:320px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-glass-border);display:block}.thumbnail-preview .no-thumbnail{display:flex;align-items:center;justify-content:center;background:var(--color-glass-bg);color:var(--color-text-muted);font-size:var(--font-size-xs)}.save-skin-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.save-skin-actions>*{flex:1}.save-skin-error{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.save-skin-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.save-project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.save-project-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.save-project-modal h2{margin:0 0 var(--spacing-lg);font-size:var(--font-size-lg);color:var(--color-text-primary)}.save-project-field{margin-bottom:var(--spacing-md)}.save-project-field label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.save-project-field input,.save-project-field select{width:100%;padding:var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);box-sizing:border-box}.save-project-field input:focus,.save-project-field select:focus{outline:none;border-color:var(--color-accent-primary)}.save-project-mode-toggle{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.save-project-mode-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s ease}.save-project-mode-btn:hover{border-color:var(--color-text-secondary)}.save-project-mode-btn.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.save-project-mode-btn:disabled{opacity:.4;cursor:not-allowed}.save-project-composed-name{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;font-style:italic}.save-project-thumbnail{margin-bottom:var(--spacing-md)}.save-project-thumbnail label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.save-project-thumbnail-preview{position:relative;width:100%}.save-project-thumbnail-preview img,.save-project-thumbnail-preview .no-thumbnail{width:100%;height:200px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-glass-border);display:block}.save-project-thumbnail-preview .no-thumbnail{display:flex;align-items:center;justify-content:center;background:var(--color-glass-bg);color:var(--color-text-muted);font-size:var(--font-size-xs)}.save-project-progress{font-size:var(--font-size-xs);color:var(--color-accent-primary);margin-top:var(--spacing-xs)}.save-project-error{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.save-project-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.save-project-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.save-project-actions>*{flex:1}.save-project-resave-choice{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.save-project-resave-btn{flex:1;padding:var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:center;transition:all .15s ease}.save-project-resave-btn:hover{border-color:var(--color-accent-primary);background:rgba(var(--color-accent-primary-rgb, 140, 74, 54),.1)}.save-project-resave-btn .resave-label{font-weight:600;margin-bottom:4px}.save-project-resave-btn .resave-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.material-bake-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.material-bake-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:420px;box-shadow:var(--shadow-lg)}.material-bake-modal h2{margin:0 0 var(--spacing-sm);font-size:var(--font-size-lg);color:var(--color-text-primary)}.material-bake-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.4}.material-bake-summary{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.material-bake-toggle-all{background:none;border:none;color:var(--color-accent);font-size:var(--font-size-xs);cursor:pointer;padding:0;text-decoration:underline}.material-bake-toggle-all:hover{opacity:.8}.material-bake-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-lg)}.material-bake-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 10px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.material-bake-row:hover{background:#ffffff14}.material-bake-row input[type=checkbox]{flex-shrink:0;accent-color:var(--color-accent)}.material-bake-color-circle{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.material-bake-mesh-name{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-bake-tri-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-mono, monospace);flex-shrink:0}.material-bake-merge{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.material-bake-merge-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.material-bake-merge-toggle input[type=checkbox]{accent-color:var(--color-accent)}.material-bake-merge-hint{font-size:var(--font-size-xs);color:var(--color-warning, #f0a030);margin-left:2px}.material-bake-merge-controls{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-glass-border)}.material-bake-merge-slider-row{display:flex;align-items:center;gap:var(--spacing-sm)}.material-bake-merge-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0}.material-bake-merge-slider{flex:1;height:4px;accent-color:var(--color-accent)}.material-bake-merge-value{font-size:var(--font-size-xs);color:var(--color-text-primary);font-family:var(--font-family-mono, monospace);min-width:28px;text-align:right}.material-bake-merge-preview{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:4px}.material-bake-merge-warn{color:var(--color-warning, #f0a030)}.material-bake-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.post-bake-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.post-bake-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:460px;box-shadow:var(--shadow-lg)}.post-bake-modal h2{margin:0 0 var(--spacing-sm);font-size:var(--font-size-lg);color:var(--color-text-primary)}.post-bake-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.4}.post-bake-warn{color:var(--color-warning, #f0a030)}.post-bake-summary{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.post-bake-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-lg)}.post-bake-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:5px 10px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.post-bake-row:hover{background:#ffffff0d}.post-bake-row--selected{border-color:var(--color-accent);background:rgba(var(--color-accent-rgb, 140, 74, 54),.15)}.post-bake-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.post-bake-hex{font-size:var(--font-size-sm);color:var(--color-text-primary);font-family:var(--font-family-mono, monospace);min-width:62px}.post-bake-tri-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-mono, monospace);flex-shrink:0}.post-bake-pct{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-left:auto;flex-shrink:0}.post-bake-manual-merge{width:100%;padding:6px 0;margin-bottom:var(--spacing-sm);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer}.post-bake-manual-merge:disabled{background:var(--color-glass-bg);color:var(--color-text-secondary);cursor:default;opacity:.6}.post-bake-manual-merge:not(:disabled):hover{filter:brightness(1.1)}.post-bake-merge{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.post-bake-merge-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.post-bake-merge-toggle input[type=checkbox]{accent-color:var(--color-accent)}.post-bake-merge-hint{font-size:var(--font-size-xs);color:var(--color-warning, #f0a030);margin-left:2px}.post-bake-merge-controls{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-glass-border)}.post-bake-merge-slider-row{display:flex;align-items:center;gap:var(--spacing-sm)}.post-bake-merge-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0}.post-bake-merge-slider{flex:1;height:4px;accent-color:var(--color-accent)}.post-bake-merge-value{font-size:var(--font-size-xs);color:var(--color-text-primary);font-family:var(--font-family-mono, monospace);min-width:28px;text-align:right}.post-bake-merge-preview{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:4px}.post-bake-merge-warn{color:var(--color-warning, #f0a030)}.post-bake-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.loading-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-modal{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:380px;max-width:95vw;box-shadow:var(--shadow-lg);text-align:center;animation:loadingModalSlideUp .3s ease-out}@keyframes loadingModalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.loading-modal-title{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);color:var(--color-text-primary)}.loading-modal-bar-track{width:100%;height:8px;background:#8c4a3614;border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-sm)}.loading-modal-bar-fill{height:100%;background:linear-gradient(90deg,#8c4a36,#bf735d);border-radius:4px;transition:width .3s ease}.loading-modal-spinner-wrap{display:flex;justify-content:center;margin-bottom:var(--spacing-sm)}.loading-modal-spinner{width:32px;height:32px;border:3px solid rgba(140,74,54,.15);border-top-color:#8c4a36;border-radius:50%;animation:loadingModalSpin .8s linear infinite}@keyframes loadingModalSpin{to{transform:rotate(360deg)}}.loading-modal-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;min-height:1.2em}.loading-modal-percent{font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.7;margin:4px 0 0}.loading-modal-sub{font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.5;margin:2px 0 0}.painter-page{display:flex;flex-direction:column;height:calc(100vh - 64px);background:var(--color-bg-primary);overflow:hidden}.painter-content{display:flex;flex:1;overflow:hidden}.painter-left-controls{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);z-index:var(--z-dropdown)}.painter-viewer-container{flex:1;position:relative;min-width:0}.painter-viewer{position:absolute;top:0;left:0;width:100%;height:100%}.painter-bottom-toolbar{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);z-index:var(--z-dropdown);display:flex;align-items:center;gap:var(--spacing-sm)}.floating-import-area{position:absolute;top:66px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-sm);z-index:var(--z-dropdown)}.floating-import-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-primary);cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.floating-import-btn:hover{background:var(--color-accent-gradient);border-color:var(--color-accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #8c4a3640}.floating-clear-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-secondary);cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.floating-clear-btn:hover{background:var(--color-bg-secondary);color:var(--color-error);border-color:var(--color-error);transform:translateY(-2px);box-shadow:0 4px 12px #ef444426}.floating-filename{display:flex;align-items:center;height:44px;padding:0 var(--spacing-md);background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 4px 12px #8c4a361a}.floating-export-wrapper{position:relative}.floating-export-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-secondary);cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.floating-export-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-accent-primary);transform:translateY(-2px)}.export-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:150px;padding:var(--spacing-xs);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));display:flex;flex-direction:column;gap:2px;z-index:var(--z-dropdown)}.export-dropdown-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:all var(--transition-fast)}.export-dropdown-item:hover{background:var(--color-glass-hover);color:var(--color-text-primary)}.export-dropdown-divider{height:1px;background:var(--color-glass-border);margin:var(--spacing-xs) 0}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal, 100)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-glass-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-text{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500}.painter-helper-bar-wrapper{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:var(--z-dropdown)}.helper-bar{display:flex;flex-direction:row;gap:var(--spacing-sm);padding:0;background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.helper-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);min-height:40px;background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;pointer-events:auto;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.helper-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 6px 16px #8c4a3626}.helper-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary);box-shadow:inset 0 2px 4px #00000026}.helper-btn svg{flex-shrink:0}.helper-divider{width:1px;height:24px;background:var(--color-glass-border);align-self:center;pointer-events:none}.view-controls{display:flex;gap:var(--spacing-sm);padding:0;background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none}.view-controls-row{display:flex;gap:var(--spacing-sm)}.view-btn-group{position:relative;display:flex;flex-direction:column}.view-btn-group:hover .view-btn-expanded{opacity:1;visibility:visible;transform:translateY(0)}.view-btn{min-width:50px;height:40px;padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.view-btn:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 6px 16px #8c4a3626}.view-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary);box-shadow:inset 0 2px 4px #00000026}.view-btn:disabled{opacity:.5;cursor:not-allowed}.view-btn-expanded{position:absolute;bottom:100%;left:0;right:0;margin-bottom:var(--spacing-xs);opacity:0;visibility:hidden;transform:translateY(4px);transition:all var(--transition-fast)}.transform-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:0;background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.transform-modes{display:flex;align-items:center;gap:var(--spacing-sm);pointer-events:auto}.transform-divider{width:1px;height:24px;margin:0 var(--spacing-xs);background:transparent}.transform-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-primary);cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.transform-btn:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 6px 16px #8c4a3626}.transform-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary);box-shadow:inset 0 2px 4px #00000026}.transform-btn:disabled{opacity:.5;cursor:not-allowed}.transform-space-btn{padding:var(--spacing-xs) var(--spacing-md);background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.transform-space-btn:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary);transform:translateY(-2px)}.transform-space-btn.local{background:var(--color-accent-secondary);color:#fff;box-shadow:inset 0 2px 4px #00000026}.transform-space-btn:disabled{opacity:.5;cursor:not-allowed}.painter-sidebar{width:260px;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-glass-bg);border-left:1px solid var(--color-glass-border);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));overflow-y:auto}.painter-sidebar .sidebar-footer{margin-top:auto;flex-shrink:0;padding-top:var(--spacing-md);border-top:1px solid var(--color-glass-border)}.painter-sidebar .unmount-memory-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.painter-sidebar .unmount-memory-btn:hover:not(:disabled){background:#ef44441a;color:var(--color-error);border-color:var(--color-error)}.painter-sidebar .unmount-memory-btn:disabled{opacity:.4;cursor:not-allowed}.sidebar-section{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg)}.section-title{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-glass-border);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600}.section-title svg{color:var(--color-accent-primary)}.info-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.info-row{display:flex;justify-content:space-between;align-items:center}.info-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.info-value{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500}.info-dimensions{display:flex;flex-direction:column;gap:var(--spacing-xs)}.dimension-values{display:flex;gap:var(--spacing-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:monospace}.info-empty{text-align:center;padding:var(--spacing-md)}.info-empty p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.info-hint{margin-top:var(--spacing-sm)!important;font-size:var(--font-size-xs)!important}.parts-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.part-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:6px var(--spacing-sm);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:background .12s ease,border-color .12s ease,color .12s ease}.part-row:hover{background:var(--color-glass-bg);color:var(--color-text-primary)}.part-row-active{background:var(--color-glass-bg);border-color:var(--color-accent-primary);color:var(--color-text-primary);font-weight:600}.part-row-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-visibility-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:color .12s ease,background .12s ease}.part-visibility-btn:hover{color:var(--color-text-primary);background:var(--color-bg-primary)}.part-row-badge{flex:0 0 auto;padding:1px 6px;font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--color-accent-primary, #c4a86a);background:#c4a86a1f;border:1px solid rgba(196,168,106,.3);border-radius:4px;text-transform:uppercase;line-height:1.2}.transform-target-status{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding:4px var(--spacing-sm);background:var(--color-bg-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.transform-target-label{color:var(--color-text-muted)}.transform-target-value{flex:1 1 auto;color:var(--color-accent-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transform-target-clear{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.transform-target-clear:hover{color:var(--color-text-primary)}.transform-info{display:flex;flex-direction:column;gap:1rem}.transform-group{display:flex;flex-direction:column;gap:.5rem}.transform-label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase}.transform-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.t-input-wrapper{display:flex;align-items:center;background-color:#8c4a360d;border-radius:4px;overflow:hidden;border:1px solid transparent;transition:all .2s}.t-input-wrapper:hover{background-color:#8c4a361a}.t-input-wrapper:focus-within{border-color:var(--color-accent-primary);background-color:#8c4a361a}.t-label{padding:0 .5rem;font-size:.75rem;font-weight:600;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.t-label-x{color:#f87171}.t-label-y{color:#4ade80}.t-label-z{color:#60a5fa}.t-input{width:100%;background:transparent;border:none;color:var(--color-text-primary);font-family:inherit;font-size:.8rem;padding:.4rem 0;outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.t-input::-webkit-outer-spin-button,.t-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.transform-values{display:flex;gap:var(--spacing-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:monospace}.painter-sidebar::-webkit-scrollbar{width:8px}.painter-sidebar::-webkit-scrollbar-track{background:transparent}.painter-sidebar::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.painter-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.transform-header{display:flex;justify-content:space-between;align-items:center}.uniform-scale-check{display:flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.uniform-scale-check input{cursor:pointer;margin:0;accent-color:var(--color-accent-primary)}.uniform-label{font-size:.7rem;color:var(--color-text-muted);font-weight:500}.uniform-scale-check:hover .uniform-label{color:var(--color-text-primary)}.uv-viewer-panel{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-bg-primary)}.uv-canvas-area{width:100%;height:100%;position:relative}.uv-part-unwrap-cta{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:9000;display:flex;align-items:center;gap:12px;padding:8px 14px;border-radius:8px;background:#3c1e14d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(196,168,106,.45);color:var(--color-text-primary, #f0e8d8);font-size:12px;box-shadow:0 4px 16px #0000004d}.uv-part-unwrap-cta-text{white-space:nowrap}.uv-part-unwrap-cta-text strong{color:var(--color-accent-primary, #c4a86a);font-weight:600}.uv-part-unwrap-cta-btn{padding:4px 10px;background:var(--color-accent-primary, #c4a86a);color:#2a1810;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s ease}.uv-part-unwrap-cta-btn:hover{filter:brightness(1.08)}.uv-loading-indicator{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#000000b3;color:#adf;padding:6px 16px;border-radius:6px;font-size:12px;z-index:20;pointer-events:none;animation:uv-loading-pulse 1.2s ease-in-out infinite}@keyframes uv-loading-pulse{0%,to{opacity:.7}50%{opacity:1}}.uv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-muted);font-size:var(--font-size-sm)}.uv-controls{display:flex;flex-direction:column;gap:var(--spacing-sm)}.uv-color-pickers{padding-top:var(--spacing-md);border-top:1px solid var(--color-glass-border)}.uv-controls-header{margin-bottom:0}.uv-controls-header .section-title{margin:0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-glass-border);font-size:var(--font-size-xs)}.uv-texture-selector{padding:var(--spacing-xs) 0}.uv-texture-selector .tt-select{width:100%}.uv-stats{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) 0}.uv-stat-row{display:flex;justify-content:space-between;align-items:center;padding:1px 0}.uv-stat-row .info-label,.uv-stat-row .info-value{font-size:var(--font-size-xs)}.uv-stat-warning .info-value{color:var(--color-warning, #f59e0b)}.uv-toggles{display:flex;flex-direction:column;gap:2px}.uv-toggle-row{display:flex;align-items:center;gap:var(--spacing-xs);padding:2px 0;cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.uv-toggle-row input[type=checkbox]{margin:0;accent-color:var(--color-accent-primary);cursor:pointer}.uv-toggle-row:hover{color:var(--color-text-primary)}.uv-color-pickers{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-xs) 0}.uv-color-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer}.uv-color-row input[type=color]{width:24px;height:20px;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;padding:0}.uv-adjustments-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.uv-adjustments-toggle:hover{background:var(--color-glass-hover);color:var(--color-text-primary)}.uv-adjustments{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-xs) 0}.uv-slider-row{display:flex;align-items:center;gap:4px}.uv-slider-row:hover .uv-slider-reset{opacity:1}.uv-slider-label{width:55px;font-size:10px;color:var(--color-text-muted);flex-shrink:0}.uv-slider{flex:1;height:6px;accent-color:var(--color-accent-primary);cursor:pointer;border-radius:3px}.uv-slider-value{width:38px;font-size:10px;color:var(--color-text-secondary);text-align:right;font-family:monospace;flex-shrink:0;cursor:pointer;border-radius:2px;padding:1px 2px;transition:background var(--transition-fast),color var(--transition-fast)}.uv-slider-value:hover{background:#8c4a3614;color:var(--color-text-primary)}.uv-slider-value-input{width:38px;font-size:10px;color:var(--color-text-primary);text-align:right;font-family:monospace;flex-shrink:0;background:#ffffff1a;border:1px solid var(--color-accent-primary);border-radius:2px;padding:1px 2px;outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.uv-slider-value-input::-webkit-outer-spin-button,.uv-slider-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.uv-slider-reset{display:flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:transparent;border:none;border-radius:2px;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast);flex-shrink:0}.uv-slider-reset:hover{color:var(--color-accent-primary)}.uv-offset-group{display:flex;flex-direction:column;gap:3px}.uv-offset-group-label{font-size:9px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 0 1px;margin-top:2px;border-top:1px solid rgba(140,74,54,.04)}.uv-reset-all-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:6px;padding:4px 8px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:10px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.uv-reset-all-btn:hover{background:var(--color-glass-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.uv-popout-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.uv-popout-btn:hover{background:var(--color-glass-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.floating-window{position:absolute;z-index:50;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));overflow:hidden;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column}.floating-window-titlebar{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#8c4a360d;border-bottom:1px solid var(--color-glass-border);cursor:grab;-webkit-user-select:none;user-select:none}.floating-window-titlebar:active{cursor:grabbing}.floating-window-title{font-size:11px;color:var(--color-text-secondary);font-weight:500}.floating-window-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.floating-window-close:hover{background:#f003;color:var(--color-error)}.floating-window-content{flex:1;overflow:hidden}.floating-window-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--color-glass-border) 50%);border-radius:0 0 var(--radius-lg) 0}.texture-tools{display:flex;flex-direction:column;gap:var(--spacing-xs)}.tt-empty{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-xs) 0}.tt-section{border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);overflow:hidden}.tt-section-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:4px 8px;background:#8c4a3608;border:none;color:var(--color-text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.tt-section-header:hover{background:#8c4a360f;color:var(--color-text-primary)}.tt-section-body{display:flex;flex-direction:column;gap:6px;padding:6px 8px;border-top:1px solid var(--color-glass-border)}.tt-action-btn{padding:4px 8px;background:var(--color-accent-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tt-action-btn:hover:not(:disabled){filter:brightness(1.1)}.tt-action-btn:disabled{opacity:.4;cursor:not-allowed}.tt-btn-secondary{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);color:var(--color-text-secondary)}.tt-btn-secondary:hover:not(:disabled){background:var(--color-glass-hover);color:var(--color-text-primary);filter:none}.tt-btn-row{display:flex;gap:4px}.tt-btn-row .tt-action-btn{flex:1}.tt-stat{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--color-text-secondary)}.tt-stat strong{color:var(--color-text-primary)}.tt-hint{font-size:10px;color:var(--color-text-muted);font-style:italic}.tt-histogram{width:100%;height:60px;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);background:#111}.tt-sort-row{display:flex;align-items:center;gap:2px}.tt-sort-label{font-size:10px;color:var(--color-text-muted);margin-right:2px}.tt-sort-btn{padding:1px 5px;background:transparent;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:9px;cursor:pointer;transition:all var(--transition-fast)}.tt-sort-btn:hover{color:var(--color-text-primary);border-color:var(--color-accent-primary)}.tt-sort-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.tt-color-table{display:flex;flex-direction:column;gap:1px;max-height:200px;overflow-y:auto}.tt-color-row{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:2px;cursor:pointer;transition:background var(--transition-fast);border:1px solid transparent}.tt-color-row:hover{background:#8c4a360d}.tt-color-source{border-color:#ff6b6b;background:#ff6b6b1a}.tt-color-target{border-color:#51cf66;background:#51cf661a}.tt-color-swatch{width:14px;height:14px;border-radius:2px;border:1px solid rgba(255,255,255,.2);flex-shrink:0;cursor:pointer}.tt-color-swatch:hover{border-color:#fff9;box-shadow:0 0 4px #ffffff4d}.tt-color-picker-hidden{position:absolute;width:0;height:0;padding:0;border:0;opacity:0;pointer-events:none}.tt-color-rgb{font-size:9px;color:var(--color-text-muted);font-family:monospace;flex:1;min-width:0}.tt-color-count{font-size:9px;color:var(--color-text-secondary);font-family:monospace;min-width:30px;text-align:right}.tt-color-pct{font-size:9px;color:var(--color-text-muted);min-width:28px;text-align:right}.tt-pagination{display:flex;align-items:center;justify-content:center;gap:6px}.tt-page-btn{padding:1px 6px;background:transparent;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:all var(--transition-fast)}.tt-page-btn:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-accent-primary)}.tt-page-btn:disabled{opacity:.3;cursor:not-allowed}.tt-page-info{font-size:10px;color:var(--color-text-muted)}.tt-field{display:flex;flex-direction:column;gap:2px}.tt-field label{font-size:10px;color:var(--color-text-muted)}.tt-select{padding:3px 4px;background:var(--color-bg-primary);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:11px;cursor:pointer}.tt-pair-display{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0}.tt-pair-slot{display:flex;flex-direction:column;align-items:center;gap:2px}.tt-pair-label{font-size:9px;color:var(--color-text-muted)}.tt-pair-swatch{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid rgba(255,255,255,.3)}.tt-pair-empty{width:28px;height:28px;border:1px dashed var(--color-glass-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--color-text-muted)}.tt-pair-arrow{font-size:14px;color:var(--color-text-muted)}.tt-color-table::-webkit-scrollbar{width:4px}.tt-color-table::-webkit-scrollbar-track{background:transparent}.tt-color-table::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.tt-btn-toggle{width:100%;text-align:center;margin-top:6px}.tt-btn-toggle.active{background:var(--color-accent);color:#fff}.tt-bake-progress{display:flex;flex-direction:column;gap:4px;margin-top:6px}.tt-progress-bar{width:100%;height:6px;background:#8c4a3614;border-radius:var(--radius-full);overflow:hidden}.tt-progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .2s ease}.tt-progress-msg{font-size:10px;color:var(--color-text-muted)}.tt-bake-result{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#8c4a360a;border-radius:var(--radius-sm);margin-top:6px}.popout-3d-label{font-family:monospace;font-size:10px;font-weight:600;color:#fff;background:#000000a6;padding:1px 5px;border-radius:6px;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.painter-left-toolbar-wrapper{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);z-index:var(--z-dropdown)}.left-toolbar{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;box-shadow:0 4px 12px #8c4a361a}.left-toolbar-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:transparent;border:1px solid transparent;border-radius:9999px;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.left-toolbar-btn svg{width:24px;height:24px}.left-toolbar-btn:hover:not(.disabled){background:var(--color-bg-secondary);border-color:var(--color-accent-primary)}.left-toolbar-btn.active{background:var(--color-accent-primary);color:#fff;box-shadow:inset 0 2px 4px #00000026}.left-toolbar-btn.disabled{opacity:.5;cursor:default}.left-toolbar-group{position:relative}.left-toolbar-flyout{position:absolute;left:100%;top:50%;transform:translateY(-50%);padding-left:8px;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);pointer-events:none;z-index:var(--z-dropdown)}.left-toolbar-group.flyout-open .left-toolbar-flyout{opacity:1;visibility:visible;pointer-events:auto}.flyout-brush-row{position:relative;width:200px;height:160px}.flyout-brush-item{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px}.flyout-brush-pill{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#fff;border:1px solid var(--color-glass-border);border-radius:9999px;color:var(--color-text-primary);cursor:pointer;box-shadow:0 4px 12px #8c4a361a;transition:all var(--transition-fast)}.flyout-brush-pill svg{width:25px;height:25px}.flyout-brush-pill:hover{background:var(--color-bg-secondary);border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 6px 16px #8c4a3626}.flyout-brush-pill.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary);box-shadow:inset 0 2px 4px #00000026}.flyout-brush-label{position:absolute;padding:var(--spacing-xs) var(--spacing-md);min-height:28px;display:flex;align-items:center;background:#fff;border:1px solid rgba(140,74,54,.08);border-radius:9999px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;box-shadow:0 2px 8px #0000000f;opacity:0;transition:opacity var(--transition-fast);pointer-events:none;z-index:2}.flyout-brush-item:hover .flyout-brush-label{opacity:1}.flyout-brush-row:has(.flyout-brush-item:hover) .flyout-arc-title{opacity:0}.flyout-arc-title{position:absolute;left:50px;top:50%;transform:translateY(-50%);padding:var(--spacing-xs) var(--spacing-md);background:#fff;border:1px solid rgba(140,74,54,.08);border-radius:9999px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap;box-shadow:0 2px 8px #0000000f;z-index:1;transition:opacity var(--transition-fast)}.flyout-disabled{opacity:.45}.flyout-disabled .flyout-brush-pill{cursor:default}.flyout-label-visible{opacity:1}.flyout-label-disabled{opacity:.45}.painter-right-panels{position:absolute;right:var(--spacing-md);top:var(--spacing-md);bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:var(--z-dropdown);width:220px;overflow-y:auto;pointer-events:none}.painter-right-panels::-webkit-scrollbar{width:4px}.painter-right-panels::-webkit-scrollbar-track{background:transparent}.painter-right-panels::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.floating-box{background:#fff;border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);box-shadow:0 4px 12px #8c4a361a;pointer-events:auto;display:flex;flex-direction:column;max-height:80vh;overflow:hidden}.floating-box-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:#8c4a3608;border:none;border-bottom:1px solid var(--color-glass-border);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:background var(--transition-fast)}.floating-box-header:hover{background:#8c4a360f}.floating-box-header-actions{display:flex;align-items:center;gap:6px}.floating-box-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;opacity:.4;cursor:pointer;transition:opacity var(--transition-fast),background var(--transition-fast)}.floating-box-close:hover{opacity:1;background:#8c4a361f}.floating-box-title{font-family:var(--font-family)}.floating-box-body{padding:var(--spacing-sm);flex:1 1 auto;min-height:0;overflow-y:auto}.floating-box-body::-webkit-scrollbar{width:4px}.floating-box-body::-webkit-scrollbar-track{background:transparent}.floating-box-body::-webkit-scrollbar-thumb{background:var(--color-glass-border);border-radius:var(--radius-full)}.transform-panel-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.transform-mode-buttons{display:flex;gap:var(--spacing-xs)}.tp-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:#fff;border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.tp-mode-btn:hover{border-color:var(--color-accent-primary);background:var(--color-bg-secondary)}.tp-mode-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary);box-shadow:inset 0 2px 4px #00000026}.sticker-library{padding:var(--spacing-sm)}.sticker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sticker-thumb{aspect-ratio:1;border:2px solid var(--color-glass-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;padding:4px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);display:flex;align-items:center;justify-content:center;overflow:hidden}.sticker-thumb:hover{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #8c4a3626}.sticker-thumb img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.under-construction-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);padding:var(--spacing-xl)}.construction-card{text-align:center;padding:var(--spacing-3xl) var(--spacing-2xl);max-width:400px;width:100%}.construction-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--color-accent-gradient);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);animation:pulse 2s ease-in-out infinite}.construction-icon svg{width:40px;height:40px;color:#fff;animation:spin 8s linear infinite}.construction-title{font-size:var(--font-size-3xl);font-weight:700;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-xs)}.construction-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.construction-progress{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.progress-dots{display:flex;gap:var(--spacing-sm)}.progress-dots .dot{width:12px;height:12px;background:var(--color-accent-primary);border-radius:var(--radius-full);animation:bounce 1.4s ease-in-out infinite}.progress-dots .dot:nth-child(2){animation-delay:.2s}.progress-dots .dot:nth-child(3){animation-delay:.4s}.construction-message{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #8c4a3666}50%{transform:scale(1.05);box-shadow:0 0 20px 10px #8c4a3600}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@media (max-width: 480px){.construction-card{padding:var(--spacing-xl)}.construction-icon{width:60px;height:60px}.construction-icon svg{width:30px;height:30px}.construction-title{font-size:var(--font-size-2xl)}}.app-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.app-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl)}.app-loading-text{color:var(--color-text-secondary);font-size:var(--font-size-lg);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}:root{--color-bg-primary: #fff8f0;--color-bg-secondary: #fdf3df;--color-bg-tertiary: #f9ead0;--color-glass-bg: rgba(255, 255, 255, .4);--color-glass-border: rgba(140, 74, 54, .1);--color-glass-hover: rgba(140, 74, 54, .05);--color-text-primary: #53433f;--color-text-secondary: #8c4a36;--color-text-muted: #b09e99;--color-accent-primary: #8c4a36;--color-accent-secondary: #bf735d;--color-accent-gradient: linear-gradient(135deg, #8c4a36 0%, #bf735d 100%);--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(140, 74, 54, .3);--font-family: "Plus Jakarta Sans", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px}.glass{background:var(--color-glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-glass-border);box-shadow:0 8px 32px #8c4a360d;border-radius:var(--radius-lg)}.glass-subtle{background:#8c4a3605;backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid rgba(140,74,54,.05);border-radius:var(--radius-md)}.glass-strong{background:#8c4a3614;backdrop-filter:blur(var(--blur-xl));-webkit-backdrop-filter:blur(var(--blur-xl));border:1px solid rgba(140,74,54,.1);border-radius:var(--radius-lg)}.glass-card{background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);transition:all var(--transition-normal)}.glass-card:hover{background:#fff;border-color:var(--color-accent-primary);transform:translateY(-4px);box-shadow:0 12px 40px #8c4a361a}.glass-input{background:#ffffff08;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.glass-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #8c4a3633}.glass-input::placeholder{color:var(--color-text-muted)}.glass-button{background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);font-weight:500}.glass-button:hover{background:var(--color-glass-hover);border-color:#fff3;transform:translateY(-1px)}.glass-button:active{transform:translateY(0)}.glass-button-primary{background:var(--color-accent-gradient);border:none;color:#fff}.glass-button-primary:hover{opacity:.9;box-shadow:var(--shadow-glow)}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--color-accent-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glow-on-hover{position:relative}.glow-on-hover:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:var(--color-accent-gradient);opacity:0;filter:blur(12px);transition:opacity var(--transition-normal);z-index:-1}.glow-on-hover:hover:after{opacity:.4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;background-color:var(--color-bg-primary)}body{font-family:var(--font-family);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 10% 20%,rgba(140,74,54,.03) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(191,115,93,.05) 0%,transparent 40%);pointer-events:none;z-index:-1}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;color:var(--color-accent-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{color:var(--color-text-primary);opacity:.9}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-secondary)}input,textarea,select,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border:3px solid var(--color-bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-secondary)}::selection{background:var(--color-accent-primary);color:#fff}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.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}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fade-in{animation:fadeIn var(--transition-normal) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
