.login-container{background:linear-gradient(135deg,#0a0e17 0%,#1a1a3e 50%,#0a0e17 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 60px #00000080}.login-title{text-align:center;background:linear-gradient(135deg, var(--color-primary), var(--color-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:2rem}.login-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:24px;font-size:.9rem}.login-tabs{background:var(--color-bg);border-radius:var(--radius);gap:4px;margin-bottom:24px;padding:4px;display:flex}.login-tab{color:var(--color-text-secondary);background:0 0;border:none;border-radius:6px;flex:1;padding:10px;font-weight:500;transition:all .2s}.login-tab.active{background:var(--color-primary);color:#fff}.login-form{flex-direction:column;gap:12px;display:flex}.login-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);padding:12px 16px;font-size:.95rem;transition:border-color .2s}.login-input:focus{border-color:var(--color-primary);outline:none}.login-button{border-radius:var(--radius);background:linear-gradient(135deg, var(--color-primary), #7c3aed);color:#fff;border:none;margin-top:8px;padding:12px;font-size:1rem;font-weight:600;transition:opacity .2s}.login-button:hover{opacity:.9}.login-error{color:var(--color-danger);text-align:center;font-size:.85rem}.quick-login{border-top:1px solid var(--color-border);text-align:center;margin-top:32px;padding-top:24px}.quick-login-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:.8rem;font-weight:700}.quick-login-buttons{grid-template-columns:1fr 1fr;justify-content:center;gap:12px;display:grid}.quick-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#ffffff08;border-radius:12px;flex:1;padding:10px;font-size:.85rem;font-weight:600;transition:all .2s}.quick-btn:hover{border-color:var(--color-primary);background:#ffffff14;transform:translateY(-2px)}.quick-btn.warrior:hover{border-color:#ef4444;box-shadow:0 0 15px #ef444433}.quick-btn.mage:hover{border-color:#3b82f6;box-shadow:0 0 15px #3b82f633}.quick-btn.ninja:hover{border-color:#22c55e;box-shadow:0 0 15px #22c55e33}.quick-btn.troll:hover{border-color:#f59e0b;box-shadow:0 0 15px #f59e0b33}.quick-login-tip{color:var(--color-text-secondary);margin-top:16px;font-size:.75rem;line-height:1.4}.quick-login-tip strong{color:var(--color-primary)}.class-selector{border:1px solid var(--color-border);background:#ffffff0d;border-radius:12px;margin:16px 0;padding:12px}.selector-title{color:var(--color-text-secondary);text-align:center;margin-bottom:12px;font-size:.85rem;font-weight:600}.class-options{flex-direction:column;gap:8px;display:flex}.class-option{border:1px solid var(--color-border);cursor:pointer;background:#ffffff05;border-radius:10px;align-items:center;gap:12px;padding:10px;transition:all .2s;display:flex}.class-option:hover{background:#ffffff14;transform:translate(4px)}.class-option.active{background:rgba(var(--color-primary-rgb), .1);border-color:var(--color-primary);box-shadow:inset 0 0 10px rgba(var(--color-primary-rgb), .2)}.class-emoji{font-size:1.5rem}.class-info{flex-direction:column;display:flex}.class-info strong{color:var(--color-text);font-size:.9rem}.class-info small{color:var(--color-text-secondary);font-size:.75rem}.lobby-container{max-width:900px;margin:0 auto;padding:24px}.lobby-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:16px;display:flex}.lobby-header h1{font-size:1.5rem}.lobby-user-info{align-items:center;gap:20px;display:flex}.user-profile-summary{flex-direction:column;align-items:flex-end;display:flex}.lobby-skin-tag{color:#f59e0b;opacity:.8;font-size:.75rem;font-weight:700}.lobby-skins{margin-bottom:40px}.skins-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.skin-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:15px;padding:15px;transition:all .2s;display:flex;position:relative;overflow:hidden}.skin-card:hover{background:#ffffff0f;border-color:#ffffff4d;transform:translateY(-2px)}.skin-card.active{background:#f59e0b1a;border-color:#f59e0b;box-shadow:0 0 20px #f59e0b33}.skin-preview-container{background:#0006;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden;box-shadow:inset 0 2px 10px #00000080}.skin-sprite-icon{width:100%;height:100%;image-rendering:pixelated;transform-origin:50%;background-repeat:no-repeat}.skin-sprite-icon.avatar-soldier,.skin-sprite-icon.avatar-orc{background-position:-98px -88px;background-size:1600px;animation:.8s steps(6,end) infinite lobby-portrait-idle}@keyframes lobby-portrait-idle{0%{background-position-x:-98px}to{background-position-x:-1698px}}.skin-info{flex-direction:column;gap:4px;display:flex}.skin-name{color:#fff;font-weight:700}.skin-desc{color:#94a3b8;font-size:.8rem;line-height:1.2}.skin-current-badge{color:#000;background:#f59e0b;border-bottom-left-radius:8px;padding:2px 8px;font-size:.6rem;font-weight:900;position:absolute;top:0;right:0}.lobby-gold{color:var(--color-accent);font-weight:600}.lobby-username{color:var(--color-text-secondary)}.lobby-logout{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);background:0 0;padding:6px 14px;font-size:.85rem;transition:all .2s}.lobby-logout:hover{border-color:var(--color-danger);color:var(--color-danger)}.lobby-combat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;margin-bottom:40px;padding:24px}.lobby-section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.lobby-section-header h2{color:var(--color-text);font-size:1.25rem}.lobby-combat-actions{gap:12px;display:flex}.lobby-btn{border-radius:var(--radius);cursor:pointer;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.lobby-btn.action{background:var(--color-primary);color:#fff;border:none}.lobby-btn.secondary{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.lobby-btn:hover{opacity:.9;transform:translateY(-1px)}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.room-card{border:1px solid var(--color-border);background:#ffffff08;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;transition:border-color .2s;display:flex}.room-card:hover{border-color:var(--color-primary)}.room-info{flex-direction:column;gap:4px;display:flex}.room-host{color:var(--color-text);font-weight:600}.room-date{color:var(--color-text-secondary);font-size:.75rem}.room-join-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:.8rem;font-weight:600}.room-join-btn:disabled{background:var(--color-border);cursor:not-allowed}.no-rooms{text-align:center;color:var(--color-text-secondary);background:#ffffff03;border-radius:12px;grid-column:1/-1;padding:32px;font-style:italic}.lobby-nav{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lobby-nav-card{background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:24px;transition:all .2s;display:flex}.lobby-nav-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 25px #6366f126}.lobby-nav-icon{font-size:2rem}.lobby-nav-title{font-size:1rem;font-weight:600}.lobby-nav-desc{color:var(--color-text-secondary);text-align:center;font-size:.75rem}.shop-container{max-width:900px;margin:0 auto;padding:24px}.shop-header{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.shop-loading{color:var(--color-text-secondary);text-align:center;grid-column:1/-1}.shop-item-badges{flex-direction:column;gap:4px;display:flex;position:absolute;top:10px;right:10px}.family-badge{text-align:center;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.family-badge.forge{color:#fff;background:#d32f2f}.family-badge.arcane{color:#fff;background:#7b1fa2}.family-badge.nature{color:#fff;background:#388e3c}.seed-badge{border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700}.seed-badge.warn{color:#000;background:#ffc107}.shop-item-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:8px;padding:40px 20px 20px;transition:all .2s;display:flex;position:relative}.shop-item-card.out-of-seed{opacity:.7;filter:grayscale(.5)}.current-seed-info{color:var(--color-text-secondary);margin-left:auto;font-size:.9rem}.shop-item-type{color:var(--color-primary);text-transform:uppercase;font-size:.75rem;font-weight:600}.shop-item-name{font-size:1rem}.shop-item-price{color:var(--color-accent);font-weight:600}.shop-buy-button{border-radius:var(--radius);background:var(--color-primary);color:#fff;border:none;margin-top:8px;padding:8px;font-weight:500;transition:opacity .2s}.shop-buy-button:hover{opacity:.85}.mannequin-wrapper{background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;min-width:300px;padding:2rem;display:flex}.mannequin-grid{grid-template-areas:".head.""w-l chest w-r"".legs."".acc.";gap:15px;width:250px;height:400px;display:grid;position:relative}.equipment-slot{color:#888;cursor:pointer;z-index:2;background:#0006;border:2px solid #fff3;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:70px;height:70px;font-size:.7rem;transition:all .2s;display:flex}.equipment-slot:hover{background:#ffd7001a;border-color:gold}.equipment-slot.filled{color:#fff;background:#ffd70033;border-color:gold}.slot-label{margin-bottom:5px}.item-name{text-align:center;font-size:.8rem;font-weight:700}.mannequin-silhouette{opacity:.6;pointer-events:none;z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mannequin-silhouette img{object-fit:contain;filter:contrast(1.1)brightness(.9);width:100%;height:100%}.slot-head{grid-area:head}.slot-chest{grid-area:chest}.slot-legs{grid-area:legs}.slot-weapon-left{grid-area:w-l}.slot-weapon-right{grid-area:w-r}.slot-accessory{grid-area:acc}.inventory-page{color:#fff;background:radial-gradient(circle,#1a1a2e 0%,#0f0f1a 100%);min-height:100vh;padding:2rem}.inventory-header{border-bottom:2px solid #ffffff1a;align-items:center;gap:2rem;margin-bottom:3rem;padding-bottom:1rem;display:flex}.inventory-main-content{align-items:flex-start;gap:4rem;display:flex}.hero-section{background:#ffffff05;border:1px solid #ffffff0d;border-radius:24px;flex:0 0 500px;justify-content:center;align-items:center;gap:3rem;padding:2rem;display:flex;box-shadow:0 10px 30px #0000004d}.mannequin-container{flex-direction:column;align-items:center;display:flex}.stats-column{width:130px}.stats-column h3{text-transform:uppercase;color:#ffffff4d;letter-spacing:1px;text-align:center;margin-bottom:1.5rem;font-size:.8rem}.stats-vertical-list{flex-direction:column;gap:10px;display:flex}.stat-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;transition:all .2s;display:flex}.stat-value-container{align-items:baseline;gap:6px;display:flex}.stat-delta{color:gold;text-shadow:0 0 8px #ffd7004d;font-size:.75rem;font-weight:700}.stat-item:hover{background:#ffffff0f;border-color:#ffffff1a}.stat-item span{color:#888;font-size:.65rem;font-weight:700}.stat-item strong{font-size:1.1rem}.bonus{color:gold;text-shadow:0 0 10px #ffd7004d}.item-details-column{background:#0003;border-left:1px solid #ffffff0d;border-radius:20px;flex-direction:column;flex:0 0 280px;gap:1rem;padding:1.5rem;display:flex}.item-details-card{flex-direction:column;gap:1.5rem;animation:.3s ease-out fadeIn;display:flex}.item-details-header{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.item-details-icon{background:#ffffff0d;border:2px solid #ffd7004d;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;font-size:3rem;display:flex;box-shadow:0 0 20px #ffd7001a}.item-details-type{color:#888;text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.item-details-description{color:#bbb;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;padding:1rem;font-size:.9rem;font-style:italic;line-height:1.4}.item-details-stats h5{color:gold;text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem}.item-details-stats ul{flex-direction:column;gap:5px;padding:0;list-style:none;display:flex}.item-details-stats li{background:#ffffff05;border-radius:6px;padding:6px 10px;font-size:.85rem}.equip-button{color:#000;cursor:pointer;background:linear-gradient(135deg,gold 0%,#ff8c00 100%);border:none;border-radius:12px;width:100%;padding:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.equip-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #ff8c0066}.equip-button.unequip{color:#fff;background:linear-gradient(135deg,#ff4b2b 0%,#ff416c 100%)}.equip-button.unequip:hover:not(:disabled){box-shadow:0 5px 15px #ff416c66}.equip-button:disabled{opacity:.3;cursor:not-allowed;filter:grayscale()}.empty-details{color:#555;text-align:center;justify-content:center;align-items:center;height:100%;font-style:italic;display:flex}.inventory-card.selected{background:#ffd7001a;border-color:gold;box-shadow:0 0 15px #ffd70033}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.inventory-card{cursor:grab;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:center;padding:1rem;transition:all .2s;display:flex}.inventory-card:hover{background:#ffffff1a;border-color:gold;transform:translateY(-2px)}.inventory-card:active{cursor:grabbing}.item-icon{color:gold;background:#0000004d;border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1rem;font-size:1.5rem;display:flex}.item-info{text-align:center;margin-bottom:.5rem}.item-name{font-size:.9rem;font-weight:700;display:block}.item-type{color:#888;text-transform:uppercase;font-size:.7rem;display:block}.item-qty{color:#aaa;font-size:.75rem}.inventory-list-section{flex:1}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;max-height:70vh;padding-right:10px;display:grid;overflow-y:auto}.crafting-page{color:#e0e0e0;max-width:1200px;margin:0 auto;padding:2rem}.crafting-header{align-items:center;gap:2rem;margin-bottom:2rem;display:flex}.crafting-tabs{border-bottom:2px solid #333;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.crafting-tabs button{color:#888;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:1.2rem;transition:all .3s}.crafting-tabs button.active{color:var(--color-primary,#ff9800);border-bottom:2px solid var(--color-primary,#ff9800)}.recipes-grid,.fusion-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.recipe-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;flex-direction:column;padding:1.5rem;display:flex}.recipe-card h3{color:#fff;justify-content:space-between;align-items:center;margin-top:0;display:flex}.rank-badge{background:#444;border-radius:4px;padding:2px 8px;font-size:.8rem}.recipe-header{margin-bottom:1rem}.recipe-requirements{background:#0003;border-radius:8px;margin:1rem 0;padding:1rem}.recipe-requirements h4{text-transform:uppercase;color:#888;margin-bottom:.8rem;font-size:.8rem}.cost-list{flex-direction:column;gap:8px;display:flex}.cost-item{justify-content:space-between;align-items:center;padding:4px 0;font-size:.95rem;display:flex}.cost-item.met .res-details{color:#4caf50}.cost-item.missing .res-details{color:#f44336}.owned-status{color:#666;font-size:.8rem}.cost-item.met .owned-status{color:#2e7d32}.cost-item.missing .owned-status{color:#832b2b}.action-button:disabled{color:#888;cursor:not-allowed;background:#444}.action-button{background:var(--color-primary,#ff9800);color:#000;cursor:pointer;border:none;border-radius:4px;margin-top:auto;padding:.8rem;font-weight:700;transition:opacity .3s}.action-button:hover{opacity:.8}.message-banner{border-radius:4px;justify-content:space-between;margin-bottom:1.5rem;padding:1rem;display:flex}.message-banner.success{color:#fff;background:#2e7d32}.message-banner.error{color:#fff;background:#c62828}.back-button{color:#fff;cursor:pointer;background:#333;border:none;border-radius:4px;padding:.5rem 1rem}.debug-container{max-width:1100px;margin:0 auto;padding:24px}.debug-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;display:flex}.debug-header h1{font-size:1.5rem}.debug-user-badge{color:var(--color-text-secondary);background:var(--color-bg-card);border-radius:var(--radius);border:1px solid var(--color-border);align-items:center;gap:12px;padding:8px 16px;font-size:.85rem;display:flex}.debug-user-badge code{color:var(--color-primary);font-size:.75rem}.debug-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}.debug-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:20px}.debug-card h2{border-bottom:1px solid var(--color-border);margin-bottom:16px;padding-bottom:8px;font-size:1.1rem}.debug-card p{color:var(--color-text-secondary);margin-bottom:12px;font-size:.85rem}.debug-actions{flex-wrap:wrap;gap:8px;display:flex}.debug-btn{border-radius:var(--radius);cursor:pointer;border:none;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s}.debug-btn.primary{background:var(--color-primary);color:#fff}.debug-btn.secondary{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.debug-btn.success{background:var(--color-success);color:#fff}.debug-btn.danger{background:var(--color-danger);color:#fff}.debug-btn:hover{opacity:.9;transform:translateY(-1px)}.debug-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.seed-selector{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.seed-chip{cursor:pointer;border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0;border-radius:16px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .2s}.seed-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.seed-chip:hover{border-color:var(--color-primary)}.debug-state-panel{grid-column:1/-1}.debug-json{border-radius:var(--radius);max-height:300px;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-all;background:#0000004d;padding:12px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;overflow-y:auto}.debug-status{align-items:center;gap:8px;margin-bottom:8px;display:flex}.debug-status-dot{background:var(--color-danger);border-radius:50%;width:8px;height:8px}.debug-status-dot.connected{background:var(--color-success)}.back-button{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;background:0 0;padding:6px 14px;font-size:.85rem;transition:all .2s}.back-button:hover{border-color:var(--color-primary);color:var(--color-primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#3f3f46;--color-bg-secondary:#52525b;--color-bg-card:#52525b;--color-primary:#6366f1;--color-primary-hover:#818cf8;--color-accent:#f59e0b;--color-text:#e2e8f0;--color-text-secondary:#94a3b8;--color-border:#2d3748;--color-success:#10b981;--color-danger:#ef4444;--color-heal:#34d399;--font-main:"Inter", system-ui, -apple-system, sans-serif;--radius:8px;--shadow:0 4px 6px -1px #0000004d}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:var(--font-main)}input,select{font-family:var(--font-main)}
