:root{--primary-color:#f15a24;--bg-color:#1a1a1a;--text-color:#fff;--border-color:#333;--surface-0:#121212;--surface-1:#1e1f22;--surface-2:#2b2d31;--surface-3:#313338;--surface-4:#383a40;--border-1:#3f3f46;--border-2:#444;--border-3:#555;--text-strong:#fff;--text-muted:#aaa;--text-dim:#888;--text-soft:#ccc;--text-inverse:#000;--accent-green:#4ade80;--accent-amber:#ffc107;--accent-blue:#4dabf7;--accent-blurple:#5865f2;--danger:#f87171;--danger-strong:#f04747;--danger-bright:#f03e3e;--error:#ff6b6b;--success:#28a745;--danger-solid:#dc3545;--info:#17a2b8;--text-faint:#a0a0a5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--primary-color);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.primary-btn{background-color:var(--primary-color);color:#fff;border-radius:8px;padding:10px 20px;font-weight:700;transition:opacity .2s}.primary-btn:hover{opacity:.8}.app-container{max-width:1200px;margin:0 auto;padding:2rem}header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.lang-switcher button{color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;margin-left:10px;padding:5px 10px}.lang-switcher button:hover{background-color:#ffffff1a}.auth-wrapper{background-color:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-container{border:1px solid var(--border-color);background-color:#222;border-radius:12px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 8px 24px #00000080}.auth-container h2{text-align:center;margin-bottom:1.5rem;font-size:1.8rem}.form-group{margin-bottom:1.2rem}.form-group label{color:#ccc;margin-bottom:.5rem;font-size:.9rem;display:block}.form-group input,.form-group select{border:1px solid var(--border-color);color:#fff;background-color:#1a1a1a;border-radius:6px;width:100%;padding:10px;font-size:1rem}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:none}.w-full{width:100%}.auth-links{text-align:center;margin-top:1.5rem;font-size:.9rem}.error-alert{color:#ff6b6b;text-align:center;background-color:#dc354533;border-radius:6px;margin-bottom:1rem;padding:10px;font-size:.9rem}.lobby-content{grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;display:grid}.lobby-card{border:1px solid var(--border-color);background-color:#222;border-radius:12px;padding:2rem}.lobby-card h3{color:var(--primary-color);margin-bottom:.5rem}.lobby-card p{color:#aaa;margin-bottom:1.5rem;font-size:.9rem}.secondary-btn{color:#aaa;background-color:#0000;border:1px solid #555;border-radius:8px;padding:8px 16px}.secondary-btn:hover{color:#fff;background-color:#333}.nikke-name-container{white-space:nowrap;text-align:center;width:100%;overflow:hidden}.nikke-name-static{display:inline-block}.nikke-name-marquee{animation:8s linear infinite alternate marquee-pingpong;display:inline-block}@keyframes marquee-pingpong{0%{transform:translate(0)}10%{transform:translate(0)}90%{transform:translate(calc(90px - 100%))}to{transform:translate(calc(90px - 100%))}}.admin-layout{background-color:var(--bg-color);min-height:100vh;display:flex}.admin-sidebar{border-right:1px solid var(--border-color);background-color:#111;flex-direction:column;width:250px;padding:2rem 1rem;display:flex}.admin-sidebar h2{color:var(--primary-color);text-align:center;margin-bottom:2rem;font-size:1.2rem}.admin-sidebar ul{flex-direction:column;flex-grow:1;gap:.5rem;list-style:none;display:flex}.admin-sidebar a{color:var(--text-soft);border-radius:6px;padding:10px 15px;transition:all .2s;display:block}.admin-sidebar a:hover{background-color:var(--border-color);color:#fff}.mt-auto{margin-top:auto}.admin-content{background-color:var(--bg-color);flex-grow:1;padding:2rem 3rem;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.dashboard-card{border:1px solid var(--border-color);text-align:center;background-color:#222;border-radius:8px;padding:1.5rem}.dashboard-card h3{color:var(--text-muted);margin-bottom:1rem;font-size:1rem}.big-number{color:var(--primary-color);font-size:3rem;font-weight:700}.admin-table{border-collapse:collapse;background-color:#222;border-radius:8px;width:100%;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px 15px}.admin-table th{color:var(--text-muted);background-color:#111;font-weight:400}.status-badge{border-radius:12px;padding:4px 8px;font-size:.85rem;font-weight:700}.status-pending{background-color:var(--accent-amber);color:var(--text-inverse)}.status-approved{background-color:var(--success);color:var(--text-strong)}.status-banned{background-color:var(--danger-solid);color:var(--text-strong)}.btn-success{background-color:var(--success);color:#fff;border-radius:4px;padding:5px 10px}.btn-danger{background-color:var(--danger-solid);color:#fff;border-radius:4px;padding:5px 10px}.mx-1{margin:0 4px}.mt-4{margin-top:1.5rem}.workspace-loading{height:100vh;color:var(--text-muted);background-color:var(--surface-1);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.workspace-layout{background-color:var(--surface-3);color:#dbdee1;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}.workspace-sidebar{background-color:var(--surface-2);flex-direction:column;flex-shrink:0;width:280px;display:flex}.workspace-right-sidebar{background-color:var(--surface-2);border-left:1px solid var(--surface-1);flex-direction:column;flex-shrink:0;width:260px;display:flex}.workspace-header{border-bottom:1px solid var(--surface-1);justify-content:space-between;align-items:center;padding:1.2rem 1rem;display:flex;box-shadow:0 1px 2px #0003}.workspace-header h2{color:#f2f3f5;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.1rem;font-weight:800;overflow:hidden}.union-code{color:#949ba4;background-color:var(--surface-1);border-radius:4px;padding:2px 6px;font-size:.8rem}.workspace-nav{flex:1;padding:1rem;overflow-y:auto}.nav-section h3{text-transform:uppercase;color:#949ba4;letter-spacing:.02em;margin-bottom:.5rem;font-size:.75rem;font-weight:700}.nav-section ul{margin:0;padding:0;list-style:none}.nav-section li a{color:#949ba4;border-radius:4px;align-items:center;margin-bottom:2px;padding:.5rem;font-size:.95rem;text-decoration:none;transition:all .2s;display:flex}.nav-section li a:hover{color:#dbdee1;background-color:#35373c}.workspace-footer{background-color:#232428;flex-direction:column;padding:1rem;display:flex}.settings-btn{text-align:center;background-color:var(--accent-blurple);color:var(--text-strong);cursor:pointer;border:none;border-radius:4px;padding:.6rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:background-color .2s;display:block}.settings-btn:hover{background-color:#4752c4}.workspace-content{background-color:var(--surface-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.raid-board-container{background-color:var(--surface-0);height:100%;color:var(--text-strong);flex:1;display:flex;overflow:hidden}.raid-board{border-right:1px solid var(--border-1);background-color:var(--surface-0);flex-direction:column;flex:7;padding:10px;display:flex;overflow:hidden}.board-controls{background-color:#1e1e24;border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px;display:flex}.stage-selector{background-color:var(--surface-0);border:1px solid var(--border-1);border-radius:20px;align-items:center;gap:15px;padding:5px 15px;font-weight:700;display:flex}.stage-selector button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-weight:700}.stage-selector button:hover{color:var(--text-strong)}.boss-columns{flex:1;gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.boss-col{border:1px solid var(--border-1);background-color:#1e1e24;border-radius:8px;flex-direction:column;flex:1 0 250px;min-width:250px;display:flex;overflow:hidden}.boss-header{text-align:center;border-bottom:1px solid var(--border-1);background-color:#26262c;flex-shrink:0;padding:10px}.boss-hp{color:var(--danger);margin-top:5px;font-size:1.3rem;font-weight:700}.pool-area,.calc-area{box-sizing:border-box;height:50%;padding:10px;overflow-y:auto}.pool-area{border-bottom:2px dashed var(--border-1);background-color:#0003}.calc-area{background-color:#4ade800d}.section-title{color:var(--text-faint);text-align:center;margin-bottom:10px;font-size:.8rem;font-weight:700}.mock-card{border:1px solid var(--border-1);cursor:grab;background-color:#2d2d34;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px;font-size:.8rem;display:flex}.mock-card:hover{border-color:var(--accent-green)}.mock-card .dmg{color:var(--accent-green);font-size:1rem;font-weight:700}.chat-section{background-color:#1e1e24;flex-direction:column;flex:3;min-width:300px;display:flex}.chat-tabs{border-bottom:1px solid var(--border-1);flex-shrink:0;display:flex}.chat-tab{text-align:center;cursor:pointer;color:var(--text-faint);flex:1;padding:15px 0;font-size:.9rem}.chat-tab.active{color:var(--text-strong);border-bottom:2px solid var(--accent-green);background-color:#ffffff0d}.chat-messages{flex:1;padding:15px;overflow-y:auto}.chat-input{border-top:1px solid var(--border-1);flex-shrink:0;padding:15px}.chat-input input{background-color:var(--surface-0);border:1px solid var(--border-1);color:#fff;box-sizing:border-box;border-radius:6px;width:100%;padding:12px}.memo-tooltip-container{display:inline-block;position:relative}.memo-tooltip-content{visibility:hidden;opacity:0;width:max-content;max-width:300px;color:var(--text-strong);text-align:left;z-index:1000;white-space:pre-wrap;border:1px solid var(--border-2);pointer-events:none;background-color:#000000e6;border-radius:6px;padding:8px 12px;font-size:.8rem;font-weight:400;transition:opacity .2s,visibility .2s;position:absolute;bottom:125%;left:50%;transform:translate(-50%);box-shadow:0 4px 6px #00000080}.memo-tooltip-container:hover .memo-tooltip-content{visibility:visible;opacity:1}
