:root{--bg-dark: #08090a;--bg-surface: #0f1015;--bg-card: rgba(20, 21, 26, .75);--bg-card-hover: rgba(32, 34, 42, .85);--bg-glass: rgba(18, 19, 24, .85);--border-subtle: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .16);--border-focus: rgba(94, 106, 210, .6);--accent-primary: #707efe;--accent-primary-hover: #8693ff;--accent-primary-glow: rgba(112, 126, 254, .35);--accent-green: #10b981;--accent-red: #f43f5e;--accent-yellow: #f59e0b;--accent-purple: #8b5cf6;--text-main: #ffffff;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-title: "Inter", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .65);--shadow-inset: inset 0 1px 0 0 rgba(255, 255, 255, .08)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{font-family:var(--font-family);background-color:var(--bg-dark);color:var(--text-main);overflow:hidden;height:100vh;width:100vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";letter-spacing:-.01em}#app{display:flex;flex-direction:column;height:100vh;width:100vw}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.app-header,.fullpage-header{height:52px!important;min-height:52px!important;max-height:52px!important;box-sizing:border-box!important;background:#0d0e12e0!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid var(--border-subtle)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 20px!important;z-index:500!important;flex-shrink:0!important}.brand{display:flex;align-items:center;gap:10px}.logo-icon{width:26px;height:26px;background:linear-gradient(135deg,#5e6ad2,#707efe);border-radius:6px;position:relative;box-shadow:0 0 12px var(--accent-primary-glow),var(--shadow-inset);display:flex;align-items:center;justify-content:center}.logo-icon .stud-top{width:10px;height:4px;background:#a5b4fc;border-radius:2px 2px 0 0;position:absolute;top:-3px;left:8px}.brand-text h1{font-family:var(--font-title);font-size:.95rem;font-weight:600;letter-spacing:-.02em;color:var(--text-main);display:flex;align-items:center;gap:6px}.brand-text .badge{font-size:.65rem;font-weight:600;background:#5e6ad226;color:#707efe;border:1px solid rgba(94,106,210,.3);padding:1px 5px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.brand-text p{display:none}.header-center{display:flex;align-items:center;gap:8px}.draft-title-container{display:flex;align-items:center;gap:6px;height:32px;box-sizing:border-box;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 10px;color:var(--text-secondary);transition:all .15s ease}.draft-title-container:focus-within{border-color:var(--accent-primary);background:#ffffff0d;box-shadow:0 0 0 1px var(--accent-primary)}.draft-title-container svg{width:14px;height:14px}.header-breadcrumb-divider{color:var(--text-muted);font-size:.9375rem;font-weight:400;-webkit-user-select:none;user-select:none;opacity:.5;margin:0 -2px}.draft-title-container input{background:transparent;border:none;color:var(--text-main);font-family:var(--font-family);font-size:.8125rem;font-weight:500;outline:none;width:160px}.canvas-size-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.canvas-size-badge{font-size:.8125rem;font-weight:600;font-family:var(--font-mono);background:#ffffff0a;color:var(--text-main);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 12px;letter-spacing:.02em;white-space:nowrap}.btn-expand-canvas{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;font-size:.8125rem;font-weight:500;background:#121318d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:all .15s cubic-bezier(.16,1,.3,1);white-space:nowrap;cursor:pointer}.btn-expand-canvas svg{width:14px;height:14px}.btn-expand-canvas:hover:not(:disabled){background:#ffffff14;border-color:var(--border-hover);color:var(--text-main);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-expand-canvas:active:not(:disabled){transform:translateY(0)}.btn-expand-canvas:disabled{opacity:.4;cursor:not-allowed;background:#ffffff0a;border-color:#ffffff14;color:var(--text-muted)}.header-actions{display:flex;align-items:center;gap:8px}button,.btn,.tool-btn,.sidebar-nav-btn,.selection-pill{white-space:nowrap;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:.8125rem;font-weight:500;cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-main);box-shadow:var(--shadow-inset);transition:all .15s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn svg{width:14px;height:14px}.btn:hover{background:var(--bg-card-hover);border-color:var(--border-hover);color:var(--text-main)}.btn-primary{background:linear-gradient(180deg,#5e6ad2,#4b55c4);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px #ffffff40,0 2px 8px #5e6ad24d}.btn-primary:hover{background:linear-gradient(180deg,#6c78e2,#545ed4);box-shadow:inset 0 1px #ffffff4d,0 4px 14px #5e6ad273;border-color:#ffffff40}.btn-save{background:linear-gradient(180deg,#10b981,#059669);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px #ffffff40,0 2px 8px #10b9814d}.btn-save:hover{background:linear-gradient(180deg,#34d399,#059669);box-shadow:inset 0 1px #ffffff4d,0 4px 14px #10b98173}.btn-challenge{background:linear-gradient(180deg,#8b5cf6,#7c3aed);color:#fff;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px #ffffff40,0 2px 8px #8b5cf64d}.btn-challenge:hover{background:linear-gradient(180deg,#a78bfa,#7c3aed);box-shadow:inset 0 1px #ffffff4d,0 4px 14px #8b5cf673}.btn-secondary{background:#ffffff0a;color:var(--text-main);border-color:var(--border-subtle)}.btn-secondary:hover{background:#ffffff14;border-color:var(--border-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.12);box-shadow:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-ghost:hover{background:#ffffff14;color:var(--text-main);border-color:#ffffff40;transform:translateY(-1px)}.btn-ghost:active{transform:translateY(0)}.btn-reset,#btnResetCam,#btnHotkeysToggle{background:#121318d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.btn-reset:hover,#btnResetCam:hover,#btnHotkeysToggle:hover{background:#ffffff14;border-color:var(--border-hover);color:var(--text-main);box-shadow:var(--shadow-md)}.btn-danger{background:#f43f5e1a;color:var(--accent-red);border-color:#f43f5e40}.btn-danger:hover{background:var(--accent-red);color:#fff;border-color:transparent;box-shadow:0 4px 12px #f43f5e66}.btn-icon{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;background:#121318d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:all .15s cubic-bezier(.16,1,.3,1)}.btn-icon:hover{background:#ffffff14;color:var(--text-main);border-color:var(--border-hover)}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;right:0;top:100%;margin-top:6px;background:#14151a;border:1px solid var(--border-hover);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:190px;padding:4px;z-index:1000}.dropdown.open .dropdown-content{display:block;animation:fadeIn .15s ease}.dropdown-content button{width:100%;padding:8px 10px;text-align:left;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-secondary);font-family:var(--font-family);font-size:.8125rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s}.dropdown-content button svg{width:14px;height:14px}.dropdown-content button:hover{background:#5e6ad21f;color:var(--text-main)}.custom-dropdown .dropdown-trigger-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;height:38px;padding:0 14px;background:#1e2433;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);color:#fff;font-family:var(--font-family);font-size:.825rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease;min-width:140px}.custom-dropdown .dropdown-trigger-btn:hover{background:#272e42;border-color:var(--accent-primary)}.custom-dropdown .dropdown-chevron,.custom-dropdown .dropdown-trigger-btn svg{width:14px;height:14px;color:var(--text-muted);transition:transform .2s ease,color .2s ease;flex-shrink:0}.custom-dropdown.open .dropdown-chevron,.custom-dropdown.open .dropdown-trigger-btn svg{transform:rotate(180deg);color:var(--accent-primary)}.custom-dropdown .dropdown-content{display:none;position:absolute;right:0;top:calc(100% + 6px);background:#141622;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000080;min-width:100%;width:max-content;padding:6px;z-index:1000}.custom-dropdown.open .dropdown-content{display:block;animation:dropdownFadeIn .15s cubic-bezier(.16,1,.3,1)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown .dropdown-item{width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-secondary, #9ca3af);font-family:var(--font-family);font-size:.8125rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;transition:all .15s ease}.custom-dropdown .dropdown-item:hover{background:#5e6ad226;color:#fff}.custom-dropdown .dropdown-item.active{background:#5e6ad240;color:var(--accent-primary, #818cf8);font-weight:700}.workspace{flex:1;display:flex;position:relative;overflow:hidden}.sidebar{width:290px;background:#0d0e12f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:24px;padding:16px;overflow-y:auto;z-index:5}.sidebar-section h2,.sidebar-section-header h2{font-family:var(--font-title);font-size:.71875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;display:flex;align-items:center;gap:6px;margin-bottom:10px}.sidebar-section h2 svg,.sidebar-section-header h2 svg{width:13px;height:13px}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;position:relative;width:100%}.sidebar-section-header h2{margin-bottom:0}.btn-icon-sm{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.btn-icon-sm:hover{background:#ffffff14;border-color:#ffffff26;color:#fff}.btn-icon-sm svg{width:14px;height:14px}.brick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:100%;max-height:248px;overflow-x:hidden;overflow-y:auto;padding-right:2px;box-sizing:border-box}.brick-grid::-webkit-scrollbar{width:4px}.brick-grid::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.brick-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.brick-grid::-webkit-scrollbar-thumb:hover{background:#818cf866}@media (max-height: 820px){.brick-grid{max-height:172px}}@media (min-height: 1100px){.brick-grid{max-height:330px}}.brick-card{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 2px 5px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:72px;width:100%;min-width:0;box-sizing:border-box;gap:4px;cursor:pointer;border-left:2px solid transparent;transition:all .15s cubic-bezier(.16,1,.3,1);overflow:hidden}.brick-card:hover{background:#ffffff0d;border-color:var(--border-hover);transform:translateY(-1px)}.brick-card.active{background:#707efe29;border-color:#818cf880;border-left-color:#818cf8;box-shadow:0 0 14px #707efe4d}.brick-card span{font-size:.625rem;font-weight:500;text-align:center;color:var(--text-secondary);margin-top:auto;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 1px}.brick-card.active span{color:var(--text-main);font-weight:600}.brick-preview{display:flex;align-items:center;justify-content:center;width:100%;max-width:44px;height:32px;background:transparent;box-sizing:border-box}.brick-preview svg{width:100%!important;height:100%!important;max-width:100%;max-height:100%;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45));transition:transform .15s cubic-bezier(.16,1,.3,1)}.brick-card:hover .brick-preview svg{transform:scale(1.1) translateY(-1px)}.brick-eye{width:18px;height:18px;background:#fff;border-radius:50%;border:2px solid #111111;position:relative}.brick-eye:after{content:"";width:7px;height:7px;background:#111;border-radius:50%;position:absolute;top:3px;left:3px}.brick-wheel{width:22px;height:22px;background:#111;border-radius:50%;border:3px solid #888;position:relative}.color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;transition:opacity .2s ease}.color-palette.disabled{opacity:.3;pointer-events:none;filter:grayscale(.5)}.color-swatch{width:100%;aspect-ratio:1;border-radius:6px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .15s,border-color .15s;box-shadow:0 1px 4px #0006}.color-swatch:hover{transform:scale(1.15);border-color:#fff6}.color-swatch.active{border:2px solid #ffffff;box-shadow:0 0 10px #ffffff80}.color-picker-row{position:relative;display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:.78rem;color:var(--text-secondary);transition:opacity .2s ease}.color-picker-row.disabled{opacity:.3;pointer-events:none}.custom-color-btn{background:#0006;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:3px;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.custom-color-btn:hover{border-color:var(--border-hover);transform:scale(1.08);box-shadow:0 0 10px #707efe4d}.custom-color-preview{width:100%;height:100%;border-radius:6px;display:block}.color-picker-popover{position:fixed;left:310px;top:300px;width:250px;background:#0f1015;border:1px solid var(--border-hover);border-radius:var(--radius-lg);padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0d,0 8px 32px #0009;z-index:9999;animation:fadeIn .15s ease;overflow:hidden}.color-picker-canvas-container{position:relative;width:100%;height:110px;border-radius:var(--radius-sm);overflow:hidden;cursor:crosshair}.color-picker-canvas-container canvas{width:100%;height:100%;display:block;border-radius:var(--radius-sm)}.color-handle{width:12px;height:12px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 4px #0009;position:absolute;top:10px;left:200px;pointer-events:none;transform:translate(-50%,-50%)}.color-picker-hue-container{width:100%}.hue-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:10px;border-radius:9999px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);outline:none;cursor:pointer;display:block}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.5);box-shadow:0 1px 4px #0006;cursor:pointer}.color-mode-tabs{display:flex;background:#0006;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px;gap:2px}.mode-tab{flex:1;background:transparent;border:none;color:var(--text-muted);font-size:.6875rem;font-weight:600;padding:4px 0;border-radius:4px;cursor:pointer;transition:all .15s ease}.mode-tab:hover{color:var(--text-main)}.mode-tab.active{background:var(--accent-primary);color:#fff}.color-picker-inputs-row{display:flex;align-items:center;gap:8px;width:100%}.mode-input-container{flex:1}.input-field-group{display:flex;align-items:center;background:#0006;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:0 8px;height:32px;box-sizing:border-box}.multi-input-row{display:flex;gap:4px}.multi-input-row .input-field-group{padding:0 4px;flex:1}.input-prefix,.input-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;color:var(--text-muted);margin-right:4px;-webkit-user-select:none;user-select:none}.color-mode-input{background:transparent;border:none;color:var(--text-main);font-family:var(--font-mono);font-size:.75rem;font-weight:600;outline:none;width:100%;height:100%;padding:0;text-align:center}.color-mode-input::-webkit-inner-spin-button,.color-mode-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.btn-apply-color{height:32px;padding:0 14px;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recent-colors-container{margin-top:12px;transition:opacity .2s ease}.recent-colors-container.disabled{opacity:.3;pointer-events:none}.sub-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.shortcut-list{list-style:none;display:flex;flex-direction:column;gap:6px}.sidebar-section.templates-section{padding-top:12px;border-top:1px solid var(--border-subtle)}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.template-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-family);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);text-align:center}.template-card:hover{background:#707efe24;border-color:#707efe73;transform:translateY(-2px);box-shadow:0 4px 12px #00000059}.template-card:active{transform:translateY(0)}.template-card .template-emoji{font-size:1.2rem;line-height:1}.template-card .template-title{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.template-card:hover .template-title{color:var(--text-main)}.sidebar-nav-section{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.sidebar-nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-family);font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .15s ease;box-sizing:border-box}.sidebar-nav-btn{cursor:pointer}.sidebar-nav-btn:hover{border-color:#a78bfa;background:#a78bfa24;color:#c084fc;transform:translateY(-1px)}.sidebar-nav-btn:hover i,.sidebar-nav-btn:hover svg{color:#c084fc}.sidebar-nav-btn i,.sidebar-nav-btn svg{width:16px;height:16px;flex-shrink:0}.sidebar-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle);font-size:.71875rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;text-align:center;-webkit-user-select:none;user-select:none}.sidebar-footer span{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}.pixel-heart-icon{width:13px;height:13px;display:inline-block;vertical-align:middle;filter:drop-shadow(0 0 6px rgba(244,63,94,.6));animation:heartPulse 1.8s infinite ease-in-out}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.creator-link{color:var(--text-main);font-weight:600;text-decoration:none;border-bottom:1px dashed rgba(255,255,255,.35);transition:all .15s ease}.creator-link:hover{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.shortcut-list li{font-size:.75rem;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}kbd{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:2px 5px;font-family:var(--font-mono);font-size:.6875rem;color:var(--text-main);box-shadow:0 1px #0006;letter-spacing:.02em}.canvas-container{flex:1;position:relative;background:radial-gradient(circle at 50% 40%,#12141d,#08090a)}.canvas-container canvas{width:100%!important;height:100%!important;display:block}.selection-pill{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#818cf826;border:1px solid rgba(129,140,248,.4);border-radius:20px;color:#818cf8;font-family:var(--font-family);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);white-space:nowrap;margin-right:4px}.selection-pill:hover{background:#818cf847;border-color:#818cf8;color:#fff}.selection-pill svg,.selection-pill i{width:14px;height:14px;flex-shrink:0}.selection-pill strong{font-weight:800;color:#fff;font-family:var(--font-mono)}.floating-tools{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:4px;display:flex;align-items:center;gap:4px;box-shadow:var(--shadow-lg);z-index:10;max-width:calc(100vw - 40px);width:max-content}.tool-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:transparent;border:1px solid transparent;border-radius:20px;color:var(--text-secondary);font-family:var(--font-family);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);white-space:nowrap;flex-shrink:0;width:max-content}.tool-btn span{white-space:nowrap}.tool-btn svg{width:15px;height:15px}.tool-btn:hover{color:var(--text-main);background:#ffffff0d}.tool-btn.active{background:var(--accent-primary);color:#fff;box-shadow:inset 0 1px #ffffff40,0 4px 14px #5e6ad266}.tool-btn.danger.active{background:var(--accent-red);color:#fff;box-shadow:inset 0 1px #ffffff40,0 4px 14px #f43f5e66}.tool-btn.danger-secondary{color:var(--accent-red)}.tool-btn.danger-secondary:hover{background:#f43f5e26;color:var(--accent-red)}.bottom-right-controls{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;z-index:10}.hotkeys-dropdown-wrapper{position:relative;display:inline-block}.hotkeys-popover{position:absolute;bottom:calc(100% + 10px);right:0;width:280px;max-height:400px;overflow-y:auto;background:#0f1015f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);padding:14px;box-shadow:0 16px 36px #000000a6,0 0 0 1px #ffffff0d;z-index:200;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.hotkeys-popover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.hotkeys-popover-header h3{font-size:.875rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:6px;margin:0}.hotkeys-close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.hotkeys-close-btn:hover{background:#ffffff1a;color:var(--text-main)}.stats-card{position:absolute;top:16px;right:16px;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:6px 14px;font-size:.8125rem;color:var(--text-secondary);z-index:100;box-shadow:var(--shadow-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.stats-card:hover{background:#161820f2;border-color:var(--border-hover)}.stats-header{display:flex;align-items:center;gap:8px}.stats-header svg{width:14px;height:14px;color:var(--accent-primary)}.stats-header strong{color:var(--text-main);font-weight:600}.stats-chevron{width:14px;height:14px;color:var(--text-muted);transition:transform .2s ease;margin-left:2px}.stats-card.open .stats-chevron{transform:rotate(180deg)}.brick-breakdown-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#0f1015;border:1px solid var(--border-hover);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0d;padding:10px 12px;display:flex;flex-direction:column;gap:8px;z-index:1001;animation:fadeIn .15s ease;cursor:default}.breakdown-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;border-bottom:1px solid var(--border-subtle);padding-bottom:6px;display:flex;align-items:center;justify-content:space-between}.breakdown-total-badge{font-size:.625rem;background:#707efe26;color:#818cf8;border:1px solid rgba(112,126,254,.3);padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.breakdown-list{display:flex;flex-direction:column;gap:4px;max-height:290px;overflow-y:auto}.breakdown-list::-webkit-scrollbar{width:4px}.breakdown-list::-webkit-scrollbar-track{background:transparent}.breakdown-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.breakdown-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:var(--radius-sm);background:#ffffff05;border:1px solid rgba(255,255,255,.04);font-size:.75rem;color:var(--text-main)}.breakdown-item-left{display:flex;align-items:center;gap:8px}.breakdown-item-icon{width:24px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.breakdown-count-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;color:var(--accent-primary);background:#707efe26;border:1px solid rgba(112,126,254,.3);padding:1px 7px;border-radius:var(--radius-pill)}.breakdown-empty{font-size:.75rem;color:var(--text-muted);text-align:center;padding:12px 0}.challenge-hud{position:absolute;top:16px;left:16px;width:290px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.35);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-lg);z-index:10;display:flex;flex-direction:column;gap:10px}.challenge-hud-header{display:flex;align-items:flex-start;justify-content:space-between}.challenge-title-group h3{font-family:var(--font-title);font-size:.9375rem;font-weight:600;color:var(--text-main);margin-top:4px}.btn-close-hud{width:24px;height:24px;border-radius:50%}.challenge-target-preview{width:100%;height:110px;background:#0006;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;padding:8px}.challenge-target-preview svg{max-width:100%;max-height:100%;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}.progress-bar-container{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-green));transition:width .3s cubic-bezier(.16,1,.3,1)}.progress-label{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);font-weight:500;margin-top:4px}.btn-hint{width:100%;justify-content:center;font-size:.78rem;height:30px}.btn-hint.active{background:#5e6ad233;border-color:var(--accent-primary);color:var(--accent-primary-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease;padding:16px}.modal-container,.modal-card{background:#12141d;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);width:500px;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #000000d9,0 0 0 1px #ffffff14;overflow:hidden;position:relative;animation:modalSlideIn .2s cubic-bezier(.16,1,.3,1)}.modal-container.modal-sm,.modal-small{width:420px;max-width:90vw}.modal-container.modal-md{width:520px;max-width:92vw}.modal-container.modal-lg,.modal-large{width:780px;max-width:94vw}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header-warning h2 svg{color:var(--accent-red)!important}.modal-input{width:100%;background:#0006;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-main);font-family:var(--font-family);font-size:.875rem;outline:none;box-sizing:border-box;transition:all .15s ease}.modal-input:focus{border-color:var(--accent-primary);background:#0009;box-shadow:0 0 0 1px var(--accent-primary)}.modal-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;background:#ffffff05;gap:16px}.modal-title-group{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.modal-title-group h2,.modal-header h2{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--text-main);margin:0;white-space:nowrap;letter-spacing:-.01em;line-height:1.2}.modal-title-group i,.modal-title-group svg,.modal-header h2 svg{width:22px;height:22px;color:var(--accent-primary);flex-shrink:0}.modal-subtitle{font-size:.8125rem;color:var(--text-secondary);margin:2px 0 0;font-weight:400;display:block}.modal-header-actions{display:flex;align-items:center;gap:10px}.modal-header .btn-icon,.modal-header-actions .btn-icon,.btn-close-modal{width:32px;height:32px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;padding:0;outline:none;flex-shrink:0}.modal-header .btn-icon:hover,.modal-header-actions .btn-icon:hover,.btn-close-modal:hover{background:#ffffff24;color:#fff;border-color:#ffffff40;transform:scale(1.04)}.modal-header .btn-icon i,.modal-header .btn-icon svg,.modal-header-actions .btn-icon i,.modal-header-actions .btn-icon svg,.btn-close-modal i,.btn-close-modal svg{width:16px;height:16px}.btn-close{background:transparent;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;line-height:1;transition:color .15s}.btn-close:hover{color:var(--text-main)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);background:#ffffff05;display:flex;align-items:center;justify-content:flex-end;gap:12px}.drafts-list{display:flex;flex-direction:column;gap:10px}.draft-item{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:all .15s ease}.draft-item:hover{background:#ffffff0d;border-color:var(--border-hover)}.draft-thumbnail{width:108px;height:108px;min-width:108px;min-height:108px;border-radius:var(--radius-md);background:#08090d;border:1px solid var(--border-subtle);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 12px #0009}.draft-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.draft-thumbnail-placeholder{color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.6875rem}.draft-thumbnail-placeholder svg{width:28px;height:28px;color:var(--accent-primary)}.draft-item.active-draft{background:#5e6ad214;border-color:#5e6ad259}.draft-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.draft-info h3{font-size:.875rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-info h3 .badge{font-size:.625rem;background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3);padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.draft-info p{font-size:.75rem;color:var(--text-secondary)}.draft-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.screenshot-perspectives-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.perspective-card{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:10px;transition:all .15s ease}.perspective-card:hover{background:#ffffff0a;border-color:var(--border-hover);transform:translateY(-2px)}.perspective-header{display:flex;align-items:center;justify-content:space-between}.perspective-header h3{font-size:.875rem;font-weight:600;color:var(--text-main)}.perspective-tag{font-size:.625rem;background:#707efe26;color:#818cf8;border:1px solid rgba(112,126,254,.3);padding:1px 7px;border-radius:4px;font-weight:600;text-transform:uppercase}.perspective-thumbnail{width:100%;height:120px;border-radius:var(--radius-sm);background:#08090d;border:1px solid var(--border-subtle);overflow:hidden;display:flex;align-items:center;justify-content:center}.perspective-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.btn-download-perspective{width:100%;justify-content:center;font-size:.75rem;padding:6px 12px}.templates-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.template-card-modal{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s cubic-bezier(.16,1,.3,1)}.template-card-modal:hover{background:#a78bfa0f;border-color:#a78bfa73;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.template-card-header{display:flex;align-items:center;gap:12px}.template-card-icon{font-size:2rem;line-height:1;background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.template-card-info{display:flex;flex-direction:column;gap:2px;flex:1}.template-card-info h3{font-size:.9375rem;font-weight:600;color:var(--text-main);margin:0}.template-card-badge{font-size:.6875rem;color:#c084fc;font-weight:600}.template-card-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;margin:0;flex:1}.btn-load-template{margin-top:auto;width:100%;justify-content:center}.challenges-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.challenge-card{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:10px;transition:all .15s ease}.challenge-card:hover{background:#ffffff0d;border-color:var(--accent-purple);transform:translateY(-2px)}.challenge-card-header{display:flex;align-items:center;justify-content:space-between}.challenge-card-header h3{font-size:.9375rem;font-weight:600;color:var(--text-main)}.challenge-card-preview{height:90px;display:flex;align-items:center;justify-content:center;padding:6px 0;background:#00000040;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.04)}.challenge-card-preview svg{max-width:76px;max-height:76px;width:auto;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}.challenge-card p{font-size:.78rem;color:var(--text-secondary);flex:1;line-height:1.4}.challenge-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.challenge-card-footer span{font-size:.75rem;color:var(--text-muted)}.victory-card{width:380px;text-align:center}.victory-header{padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px}.trophy-icon{font-size:3rem;animation:bounce 1s infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.victory-body{display:flex;gap:14px;justify-content:center;padding:12px 24px}.victory-stat{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 18px;display:flex;flex-direction:column;gap:4px}.victory-stat span{font-size:.72rem;color:var(--text-muted)}.victory-stat strong{font-size:1.15rem;color:var(--accent-green)}.victory-footer{padding:16px;display:flex;gap:10px;justify-content:center}.toast-container{position:absolute;bottom:68px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1000;pointer-events:none}.toast{background:#14151aeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-hover);border-left:3px solid var(--accent-primary);border-radius:var(--radius-pill);padding:8px 16px;color:var(--text-main);font-size:.8125rem;font-weight:500;box-shadow:var(--shadow-lg);animation:slideUp .25s cubic-bezier(.16,1,.3,1) forwards;white-space:nowrap}.toast.toast-warning{border-left-color:var(--accent-yellow);color:#fbbf24}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.header-actions .btn-community{background:linear-gradient(135deg,#5e6ad240,#a855f740);border:1px solid rgba(168,85,247,.4);color:#d8b4fe}.header-actions .btn-community:hover{background:linear-gradient(135deg,#5e6ad266,#a855f766);color:#fff;box-shadow:0 0 16px #a855f74d}.badge-hot{background:linear-gradient(135deg,#ff416c,#ff4b2b);color:#fff;font-size:.65rem;padding:1px 6px;border-radius:8px;font-weight:700;text-transform:uppercase}.user-profile-header{display:flex;align-items:center}.btn-auth{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-main);font-size:.8125rem;font-weight:500}.btn-auth:hover{background:#ffffff1a;border-color:var(--border-hover)}.avatar-pill{width:26px;height:26px;border-radius:50%;background:var(--bg-hover);display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;box-shadow:0 2px 6px #0000004d}.modal-xl{width:90vw;max-width:1100px;max-height:88vh;display:flex;flex-direction:column}.badge-planned{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-progress{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-completed{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-review{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:12px;text-transform:capitalize}.profile-card{display:flex;align-items:center;gap:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:20px;margin-bottom:20px}.profile-avatar-box{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),#8e2de2);display:flex;align-items:center;justify-content:center;font-size:2.4rem;box-shadow:0 6px 18px #00000080;flex-shrink:0}.profile-info h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--text-main);margin-bottom:4px}.profile-info p{font-size:.85rem;color:var(--text-muted);margin-bottom:10px}.profile-stats-row{display:flex;gap:10px}.stat-pill{display:flex;align-items:center;gap:6px;font-size:.78rem;background:#ffffff14;padding:4px 12px;border-radius:var(--radius-pill);color:var(--text-secondary)}.user-profile-dropdown-card{position:absolute;top:calc(100% + 8px);right:0;width:250px;background:#12141df5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:14px;box-shadow:0 16px 40px #000000bf,0 0 0 1px #ffffff14;z-index:1000;animation:dropdownFadeIn .15s cubic-bezier(.16,1,.3,1)}.user-dropdown-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.user-dropdown-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 3px 10px #0006;flex-shrink:0}.user-dropdown-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.user-dropdown-name{font-family:var(--font-heading);font-size:.925rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.user-dropdown-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-stats{display:flex;align-items:center;gap:8px;margin-bottom:10px}.user-dropdown-divider{height:1px;background:#ffffff14;margin:8px -14px}.user-dropdown-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;background:transparent;color:var(--text-main);font-size:.85rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.user-dropdown-item:hover{background:#ffffff14}.user-dropdown-item.danger{color:var(--accent-red)}.user-dropdown-item.danger:hover{background:#f43f5e26;color:#ff4b6e}.auth-form-step,.modal-form,#formSubmitFeedback,#formPublishCraft,#formLogin,#formSignup{display:flex!important;flex-direction:column!important;gap:16px!important}.auth-form-step[style*="display: none"],.modal-form[style*="display: none"],#formSubmitFeedback[style*="display: none"],#formPublishCraft[style*="display: none"],#formLogin[style*="display: none"],#formSignup[style*="display: none"]{display:none!important}.auth-form-step button[type=submit],.auth-form-step .btn-block,#formLogin button[type=submit],#formSignup button[type=submit]{margin-top:8px!important}.form-actions,.modal-form-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;margin-top:8px!important;padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;width:100%!important}.form-control.is-invalid{border-color:#f43f5e!important;background-color:#f43f5e14!important;box-shadow:0 0 0 3px #f43f5e40!important}.form-control.is-invalid:focus{border-color:#f43f5e!important;box-shadow:0 0 0 3px #f43f5e59!important}.field-error-text{display:flex;align-items:center;gap:6px;color:#f43f5e;font-size:.78rem;font-weight:500;margin-top:4px;line-height:1.3;animation:fadeInFieldError .2s ease}.field-error-text svg{flex-shrink:0;width:14px;height:14px}.form-control.shake-error{animation:inputShake .35s cubic-bezier(.36,.07,.19,.97) both}@keyframes inputShake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes fadeInFieldError{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-group{display:flex;flex-direction:column;gap:8px;width:100%;margin:0}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin:0;letter-spacing:.01em}.avatar-selector-grid{display:flex;gap:12px;overflow-x:auto;padding:6px 2px 8px}.avatar-item{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;border:2px solid transparent;transition:all .18s ease;flex-shrink:0;box-shadow:0 3px 8px #0000004d}.avatar-item:hover,.avatar-item.active{border-color:var(--accent-primary);transform:scale(1.1);box-shadow:0 0 14px #5e6ad299}.form-control,.form-group .form-select{width:100%;box-sizing:border-box;height:46px;padding:0 16px;background:#00000059;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-main);font-family:var(--font-family);font-size:.925rem;outline:none;transition:all .18s ease}textarea.form-control{height:auto!important;min-height:105px;padding:12px 16px!important;line-height:1.5;resize:vertical}.form-control:focus,.form-group .form-select:focus{border-color:var(--accent-primary);background:#0000008c;box-shadow:0 0 0 3px #5e6ad240}.form-control::placeholder{color:#ffffff59}.form-select{display:inline-flex;align-items:center;height:38px;padding:0 36px 0 14px;background-color:#00000040;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' 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 14px center;background-size:14px 14px;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-family);font-size:.825rem;font-weight:500;outline:none;cursor:pointer;box-sizing:border-box;transition:all .15s ease}.btn-block{width:100%;justify-content:center}.feedback-controls,.community-controls,.feedback-controls-bar,.community-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;width:100%;flex-wrap:wrap}.category-tabs{display:flex;gap:6px;overflow-x:auto}.tab-btn{padding:8px 16px;height:38px;box-sizing:border-box;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.tab-btn:hover{background:#ffffff14;color:var(--text-main)}.tab-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 4px 12px #5e6ad24d}.feedback-search-sort,.community-search-sort{display:flex;align-items:center;gap:10px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg,.search-input-wrapper i{position:absolute;left:12px;width:15px;height:15px;color:var(--text-muted);pointer-events:none}.search-input-wrapper input{height:38px;padding:0 14px 0 36px;background:#1e2433;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);color:#fff;font-family:var(--font-family);font-size:.825rem;width:320px;max-width:100%;outline:none;box-sizing:border-box;transition:all .15s ease}.search-input-wrapper input:focus{border-color:var(--accent-primary);box-shadow:0 0 10px #5e6ad233}.feedback-grid{display:flex;flex-direction:column;gap:12px;max-height:58vh;overflow-y:auto;padding-right:4px}.feedback-card{display:flex;gap:14px;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;transition:border-color .15s ease}.feedback-card:hover{border-color:var(--border-hover)}.upvote-button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;padding:4px 10px;height:28px;width:auto;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0;font-size:.78rem;font-weight:700}.upvote-button:hover{background:#5e6ad226;border-color:var(--accent-primary);color:var(--accent-primary)}.upvote-button.voted{background:#5e6ad240;border-color:var(--accent-primary);color:var(--accent-primary);font-weight:700}.upvote-button svg,.upvote-button i{width:14px;height:14px}.upvote-count{font-size:.78rem;font-weight:700;margin-top:0}.feedback-content{flex:1}.feedback-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.feedback-title-row h3{font-family:var(--font-heading);font-size:.95rem;color:var(--text-main)}.feedback-desc{font-size:.825rem;color:var(--text-secondary);line-height:1.45;margin-bottom:10px}.feedback-meta-row{display:flex;align-items:center;gap:12px;font-size:.75rem;color:var(--text-muted)}.official-response-box{margin-top:10px;background:#5e6ad21a;border-left:3px solid var(--accent-primary);border-radius:4px;padding:8px 12px;font-size:.78rem;color:#c7d2fe}.official-response-box strong{color:#fff}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;max-height:62vh;overflow-y:auto;padding-right:4px}.craft-card{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease}.craft-card:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:0 8px 24px #0006}.craft-thumbnail-box{width:100%;height:160px;background:radial-gradient(circle at 50% 50%,#1a1d28,#0d0e14);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.craft-thumbnail-box img{width:100%;height:100%;object-fit:cover}.craft-placeholder-icon{font-size:3rem;opacity:.6}.craft-category-badge{position:absolute;top:10px;left:10px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2px 8px;border-radius:var(--radius-pill);font-size:.68rem;color:#fff;font-weight:500}.craft-card-body{padding:14px;flex:1;display:flex;flex-direction:column}.craft-card-title{font-family:var(--font-heading);font-size:.95rem;color:var(--text-main);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.craft-card-author{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-muted);margin-bottom:12px}.craft-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.craft-stats{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--text-secondary)}.btn-like{padding:4px 10px;font-size:.75rem;border-radius:var(--radius-pill)}.btn-like.liked{background:#f43f5e33;border-color:#f43f5e66;color:#f43f5e}@keyframes heartPop{0%{transform:scale(1)}45%{transform:scale(1.32)}75%{transform:scale(.92)}to{transform:scale(1)}}.btn-like.heart-pop{animation:heartPop .45s cubic-bezier(.175,.885,.32,1.275)}.inspect-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inspect-preview-container{width:100%;height:300px;background:radial-gradient(circle at 50% 50%,#1a1d28,#0d0e14);border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center}.inspect-preview-container img{width:100%;height:100%;object-fit:cover}.inspect-details{display:flex;flex-direction:column}.inspect-author-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.inspect-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.inspect-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.inspect-stat-item{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 12px;display:flex;flex-direction:column}.stat-label{font-size:.7rem;color:var(--text-muted)}.stat-value{font-size:.9rem;font-weight:600;color:var(--text-main)}.inspect-actions{margin-top:auto;display:flex;gap:10px}.btn-remix{flex:1;background:linear-gradient(135deg,var(--accent-primary),#8e2de2)}.publish-snapshot-preview{position:relative;width:100%;height:160px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:14px;background:#000}.publish-snapshot-preview img{width:100%;height:100%;object-fit:cover}.snapshot-badge{position:absolute;bottom:8px;right:8px;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:3px 8px;border-radius:4px;font-size:.7rem;color:#34d399}.fullpage-layout{overflow-y:auto;min-height:100vh;background:radial-gradient(circle at 50% 10%,#151824,#090a0f);color:var(--text-main)}.fullpage-app{min-height:100vh;display:flex;flex-direction:column}.fullpage-header{position:sticky;top:0;z-index:100}.brand-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;height:100%}.btn-builder-touchpoint{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--accent-primary),#8e2de2);color:#fff;font-size:.8125rem;font-weight:600;box-shadow:0 4px 14px #5e6ad266;padding:0 16px;border-radius:var(--radius-pill);text-decoration:none;box-sizing:border-box;transition:all .18s ease}.btn-builder-touchpoint:hover{transform:translateY(-1px);box-shadow:0 6px 20px #5e6ad299}.fullpage-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:24px 20px 60px}.auth-mode-tabs{display:flex;background:#ffffff0d;border-radius:var(--radius-pill);padding:3px;margin-bottom:16px}.auth-tab-btn{flex:1;padding:8px;background:transparent;border:none;border-radius:var(--radius-pill);color:var(--text-secondary);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s ease}.auth-tab-btn.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px #5e6ad266}.community-hero,.feedback-hero{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#5e6ad226,#a855f726);border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:24px}.hero-text-content h2{font-family:var(--font-heading);font-size:1.6rem;color:#fff;margin-bottom:6px}.hero-text-content p{font-size:.9rem;color:var(--text-secondary);max-width:650px;line-height:1.5}.community-controls-bar,.feedback-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.community-fullpage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.feedback-fullpage-grid{display:flex;flex-direction:column;gap:16px;width:100%}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(270px,1fr));gap:20px;width:100%;align-items:start;overflow-x:auto;padding-bottom:16px}@media (max-width: 1100px){.kanban-board{grid-template-columns:repeat(2,minmax(280px,1fr))}}@media (max-width: 640px){.kanban-board{grid-template-columns:1fr}}.kanban-column{background:var(--bg-card, rgba(20, 24, 33, .7));border:1px solid var(--border-color, rgba(255, 255, 255, .08));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:480px;box-shadow:0 4px 20px #0003;transition:border-color .2s ease}.kanban-column:hover{border-color:#ffffff26}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08))}.column-title-group{display:flex;align-items:center;gap:10px}.column-title-group h3{font-size:1rem;font-weight:700;margin:0;color:var(--text-main, #f3f4f6)}.column-status-icon{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;background:transparent!important;border:none!important;padding:0}.column-status-icon i,.column-status-icon svg{width:18px;height:18px}.column-review .column-status-icon{background:transparent!important;color:#f59e0b}.column-planned .column-status-icon{background:transparent!important;color:#3b82f6}.column-progress .column-status-icon{background:transparent!important;color:#a855f7}.column-completed .column-status-icon{background:transparent!important;color:#10b981}.column-count-pill{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text-muted, #9ca3af);font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:12px}.kanban-cards-container{display:flex;flex-direction:column;gap:12px;flex:1;border-radius:12px;padding:4px;transition:background-color .2s ease,border-color .2s ease}.kanban-cards-container.drag-over{background:#3b82f614;outline:2px dashed rgba(59,130,246,.5)}.kanban-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 12px;text-align:center;color:var(--text-muted, #9ca3af);gap:8px;border:1px dashed rgba(255,255,255,.08);border-radius:12px;margin-top:10px}.kanban-empty-state i{width:24px;height:24px;opacity:.5}.kanban-empty-state p{margin:0;font-size:.85rem}.kanban-card{background:#1e2431d9;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;cursor:default;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease;position:relative}.kanban-card.admin-draggable{cursor:grab}.kanban-card.admin-draggable:active{cursor:grabbing}.platform-global-tooltip{position:fixed;z-index:99999999!important;pointer-events:none;background:#0f1420f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f3f4f6;font-family:var(--font-family);font-size:12px;font-weight:500;padding:7px 14px;border-radius:8px;white-space:nowrap;box-shadow:0 10px 30px #000000a6,0 0 0 1px #ffffff1f;border:1px solid rgba(255,255,255,.14);opacity:0;visibility:hidden;transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);transform:translateY(4px) scale(.96)}.platform-global-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.platform-global-tooltip:before{content:"";position:absolute;width:8px;height:8px;background:#0f1420f5;transform:rotate(45deg);box-sizing:border-box}.platform-global-tooltip.arrow-bottom:before{bottom:-5px;left:var(--arrow-offset, 50%);margin-left:-4px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);border-top:none;border-left:none}.platform-global-tooltip.arrow-top:before{top:-5px;left:var(--arrow-offset, 50%);margin-left:-4px;border-left:1px solid rgba(255,255,255,.14);border-top:1px solid rgba(255,255,255,.14);border-right:none;border-bottom:none}[data-tooltip]{position:relative}[data-tooltip]:hover,.kanban-card:hover,.community-card:hover{z-index:99999!important}.admin-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:.68rem;font-weight:800;padding:2px 6px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;margin-left:4px}.kanban-card:hover{transform:translateY(-2px);border-color:#fff3;box-shadow:0 6px 18px #0000004d}.kanban-card.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.kanban-card-tag-row{display:flex;align-items:center;margin-top:-2px;margin-bottom:2px}.ticket-type-pill{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:6px;letter-spacing:.2px;display:inline-flex;align-items:center;gap:4px}.badge-type-feature{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.25)}.badge-type-brick{background:#ec489926;color:#f472b6;border:1px solid rgba(236,72,153,.25)}.badge-type-bug{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.25)}.badge-type-general{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.kanban-card .upvote-button{display:flex;align-items:center;gap:4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main, #f3f4f6);padding:4px 10px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s ease}.kanban-card .upvote-button:hover{background:#3b82f633;border-color:#3b82f666;color:#60a5fa}.kanban-card .upvote-button.voted{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border-color:transparent;box-shadow:0 2px 8px #3b82f666}.kanban-card-title{font-size:.95rem;font-weight:700;margin:0;color:var(--text-main, #fff);line-height:1.35}.kanban-card-desc{font-size:.82rem;color:var(--text-secondary, #9ca3af);margin:0;line-height:1.48;word-break:break-word;white-space:pre-wrap}.kanban-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.ticket-date-text{font-size:.76rem;color:var(--text-muted, #9ca3af);font-weight:500}
