@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--bg-color: #121212;--surface-color: #242424;--text-primary: #FFFFFF;--text-secondary: #AAAAAA;--border-color: #333333;--accent-color: #4F46E5;--accent-hover: #4338CA;--danger-color: #EF4444}*{box-sizing:border-box;margin:0;padding:0;min-width:0}html,body{font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}.flex-center{display:flex;align-items:center;justify-content:center}.full-height{min-height:100vh}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.hover-opacity:hover{opacity:.8}.hover-scale{transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.hover-scale:hover{transform:scale(1.05)}.hover-scale:active{transform:scale(.95)}.fade-in{animation:fadeIn .3s ease-in-out}.spin{animation:spin .8s linear infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 10px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--accent-color);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-weight:500;cursor:pointer;transition:all .2s;font-size:14px}.btn svg{flex-shrink:0}.btn:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:10px 12px;font-size:13px}.btn-secondary{background:var(--bg-color);border:1px solid rgba(255,255,255,.12);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#ffffff0d;border-color:#fff3}.btn-icon{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.btn-icon:hover{background:var(--surface-color);color:var(--text-primary)}.danger{color:#ff8585}.input{width:100%;padding:14px 16px;background-color:var(--bg-color);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--text-primary);font-size:15px;outline:none;transition:all .2s}.input::placeholder{color:#ffffff4d}.input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #4f46e526}.input:hover{border-color:#ffffff2e}.input-minimal{background:transparent;border:none;padding:8px 0;font-size:inherit;color:inherit;outline:none}.textarea{min-height:110px;resize:vertical;font-family:inherit}.code-textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.toggle-field{margin-top:18px;display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary)}.fancy-select{position:relative}.fancy-select__trigger{width:100%;min-height:48px;padding:0 16px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-color);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--text-primary);font-size:15px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.fancy-select__trigger:hover{border-color:#ffffff2e}.fancy-select__trigger.open{border-color:var(--accent-color);box-shadow:0 0 0 3px #4f46e526}.fancy-select__value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fancy-select__icon{flex-shrink:0;color:var(--text-secondary)}.fancy-select__menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;padding:8px;border-radius:16px;background:radial-gradient(circle at top,rgba(79,70,229,.12),transparent 42%),linear-gradient(180deg,#242424fa,#161616fa);border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 48px #00000057;max-height:320px;overflow:auto}.fancy-select__option{width:100%;border:none;background:transparent;color:var(--text-primary);min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;cursor:pointer;font-size:14px;text-align:left;transition:background .18s ease,color .18s ease,transform .18s ease}.fancy-select__option:hover{background:#4f46e529;color:#f2f1ff}.fancy-select__option.selected{background:#4f46e538;color:#fff}.maplibregl-ctrl-group{background:var(--surface-color)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;overflow:hidden}.maplibregl-ctrl-group button{background:var(--surface-color)!important;border:none!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important;width:36px!important;height:36px!important}.maplibregl-ctrl-group button:last-child{border-bottom:none!important}.maplibregl-ctrl-group button:hover{background:var(--bg-color)!important}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-ctrl-scale{background:var(--surface-color)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;font-size:11px!important}.card{background-color:var(--surface-color);border-radius:16px;padding:24px;border:1px solid var(--border-color)}.compact{padding:18px}.app-container{display:flex;min-height:100vh;background-color:var(--bg-color)}.main-content{flex:1;padding:40px;overflow-y:auto;background-color:var(--bg-color);min-width:0}.main-content-code-room{padding:18px 22px 26px;overflow:auto}.content-wrapper{max-width:1000px;margin:0 auto;width:100%;min-width:0}.content-wrapper-wide{max-width:min(1720px,calc(100vw - 64px))}.content-wrapper-code-room{max-width:none;width:100%;min-height:100%}.sidebar-desktop{display:flex;width:240px;border-right:1px solid var(--border-color);padding:24px 16px;flex-direction:column;background-color:var(--bg-color)}.bottom-nav-mobile{display:none;position:fixed;bottom:0;left:0;right:0;height:72px;background-color:var(--surface-color);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:0;padding:0 6px;overflow-x:hidden;z-index:1000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.modal{background:var(--surface-color);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:32px;width:100%;max-width:480px;box-shadow:0 25px 50px -12px #00000080}.modal-wide{max-width:680px}.modal-xl{max-width:1100px}.modal h2{margin-bottom:24px;font-size:22px;font-weight:600;color:var(--text-primary)}.modal-actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}.modal-actions .btn{flex:1;height:48px;font-size:15px;font-weight:500}.empty-state{text-align:center;padding:48px;color:var(--text-secondary)}.error-text{color:var(--danger-color);font-size:13px;margin-top:8px}.error-banner{margin-top:12px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger-color);font-size:13px}.badge{font-size:11px;padding:4px 8px;border-radius:6px;font-weight:500;border:1px solid rgba(255,255,255,.15)}.guest-badge{font-size:10px;background:#f59e0b66;color:#fcd34d;padding:2px 6px;border-radius:4px;border:1px solid rgba(245,158,11,.3)}.creator-badge{font-size:10px;background:#4f46e566;color:#a5b4fc;padding:2px 6px;border-radius:4px;border:1px solid rgba(79,70,229,.3)}.topic-chip,.task-inactive{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary)}.language-badge{font-size:11px;background:#00add833;color:#00add8;padding:2px 8px;border-radius:4px}.score-badge{font-size:10px;background:#10b98133;color:#10b981;padding:2px 6px;border-radius:4px;margin-left:8px}.participant-state{font-size:10px;padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}.participant-state.active{color:#86efac;background:#22c55e1f}.participant-state.inactive{color:#fca5a5;background:#ef44441f}.task-difficulty{text-transform:uppercase;letter-spacing:.04em}.task-difficulty-easy{background:#22c55e1f;color:#7ee0a0}.task-difficulty-medium{background:#f59e0b1f;color:#ffcb66}.task-difficulty-hard{background:#ef44441f;color:#ff8d8d}.icon-success{color:#10b981}.icon-error{color:#ef4444}.code-rooms-page{width:100%}.code-admin-page{max-width:1180px}.code-admin-modal{max-height:calc(100vh - 56px);overflow:auto}.modal.modal-wide,.code-room-leagues-modal{max-height:calc(100vh - 40px);overflow:auto}.code-admin-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr) minmax(220px,.7fr);gap:12px;margin-bottom:16px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h1{font-size:20px;font-weight:700}.code-rooms-subtitle{margin-top:8px;color:var(--text-secondary);max-width:640px;line-height:1.5}.code-rooms-hero{margin-bottom:16px;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:radial-gradient(circle at top right,rgba(79,70,229,.18),transparent 30%),linear-gradient(180deg,#ffffff08,#ffffff03),var(--surface-color)}.code-rooms-hero__stats{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary)}.code-rooms-hero__stat{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#ffffff0a}.code-rooms-hero__stat--connected{color:#86efac}.code-rooms-hero__copy{min-width:0;display:flex;flex-direction:column}.code-rooms-hero h1{font-size:20px;line-height:1.2;margin-top:10px}.code-rooms-hero .code-rooms-subtitle{font-size:13px;margin-top:4px}.code-rooms-hero .code-rooms-subtitle+.code-rooms-subtitle{margin-top:2px}.code-rooms-hero__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.code-rooms-hero__actions .btn{min-height:32px;padding:0 12px;font-size:13px}.queue-active-banner{margin-bottom:16px;padding:16px 18px;border-radius:16px;border:2px solid rgba(79,70,229,.5);background:linear-gradient(135deg,#4f46e533,#6366f11f);animation:queue-pulse 2s ease-in-out infinite}@keyframes queue-pulse{0%,to{box-shadow:0 0 #4f46e54d}50%{box-shadow:0 0 20px 4px #4f46e526}}.queue-active-banner__content{display:flex;align-items:center;justify-content:space-between;gap:16px}.queue-active-banner__info{display:flex;flex-direction:column;gap:4px}.queue-active-banner__kicker{display:inline-flex;width:fit-content;padding:3px 8px;border-radius:999px;background:#4f46e559;color:#c9c3ff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.queue-active-banner__info strong{font-size:16px;color:#fff}.queue-active-banner__meta{color:#fff9;font-size:13px}.code-rooms-kicker{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#4f46e52e;color:#c9c3ff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;width:fit-content}.code-rooms-create-btn{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;gap:10px;font-weight:600;box-shadow:0 10px 28px #4f46e52e}.code-room-create-filters{grid-template-columns:1fr 1fr;align-items:start;column-gap:16px;position:relative}.code-room-create-filters>.form-group:first-child{padding-right:16px;border-right:1px solid rgba(255,255,255,.08)}.pill-selector{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pill-selector__pill{padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .18s ease}.pill-selector__pill:hover{border-color:#ffffff40;color:var(--text-primary)}.pill-selector__pill.active{background:#4f46e533;border-color:#4f46e580;color:#c7c2ff}.pill-selector__pill.pill-easy{border-color:#22c55e40;color:#86efac}.pill-selector__pill.pill-easy.active{background:#22c55e2e;border-color:#22c55e73;color:#86efac}.pill-selector__pill.pill-medium{border-color:#eab30840;color:#fde047}.pill-selector__pill.pill-medium.active{background:#eab3082e;border-color:#eab30873;color:#fde047}.pill-selector__pill.pill-hard{border-color:#ef444440;color:#fca5a5}.pill-selector__pill.pill-hard.active{background:#ef44442e;border-color:#ef444473;color:#fca5a5}.code-rooms-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.code-rooms-dashboard-grid--secondary{margin-top:20px}.code-rooms-launch-card{min-height:100%}.launch-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.launch-card-desc{margin-top:-8px;margin-bottom:16px}.card-chip{font-size:11px;min-height:22px;padding:2px 8px;margin-left:8px;vertical-align:middle}.code-rooms-launch-grid{display:grid;gap:14px}.code-rooms-mode-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid rgba(255,255,255,.08);outline:none;width:100%;border-radius:18px;background:#ffffff05;color:var(--text-primary);display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;padding:18px;cursor:pointer;text-align:left;font:inherit;line-height:inherit;text-decoration:none;box-sizing:border-box;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.code-rooms-mode-card:hover{transform:translateY(-1px);border-color:#4f46e559;background:linear-gradient(180deg,#4f46e51a,#ffffff05);box-shadow:0 10px 24px #0000002e}.code-rooms-mode-card:active{transform:translateY(0)}.code-rooms-mode-card.is-disabled,.mode-btn.is-disabled{opacity:.58;cursor:not-allowed}.code-rooms-mode-card.is-disabled:hover,.mode-btn.is-disabled:hover{transform:none;border-color:#ffffff14;background:#ffffff05;box-shadow:none}.code-rooms-mode-card__icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#4f46e529;color:#c9c3ff}.code-rooms-mode-card__title{font-size:16px;font-weight:700;margin-bottom:4px}.code-rooms-mode-card__text{font-size:13px;line-height:1.5;color:var(--text-secondary)}.code-admin-page .dashboard-card{overflow:hidden}.code-admin-modal{width:min(1180px,calc(100vw - 40px))}.dashboard-card{margin-bottom:0}.dashboard-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.dashboard-card__header-left{flex:1;min-width:0}.dashboard-card__subtitle{margin-top:8px;color:var(--text-secondary);line-height:1.45}.badge-success{color:#86efac;background:#22c55e1f}.badge-warning{color:#fcd34d;background:#f59e0b1f}.badge-secondary{color:var(--text-secondary);background:#ffffff0a}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-item{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff05;padding:14px 16px;transition:border-color .2s ease,background .2s ease}.leaderboard-item:hover{border-color:#4f46e54d;background:#4f46e50d}.leaderboard-rank{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#6366f12e;color:var(--text-primary);font-weight:700;flex-shrink:0}.leaderboard-rank.rank-gold{background:linear-gradient(135deg,#eab30840,#eab3081f);border:1px solid rgba(234,179,8,.4);color:#fde047}.leaderboard-rank.rank-silver{background:linear-gradient(135deg,#94a3b840,#94a3b81f);border:1px solid rgba(148,163,184,.4);color:#e2e8f0}.leaderboard-rank.rank-bronze{background:linear-gradient(135deg,#b4530940,#b453091f);border:1px solid rgba(180,83,9,.4);color:#fdba74}.leaderboard-main{min-width:0;flex:1}.leaderboard-name{font-weight:600;color:var(--text-primary)}.leaderboard-meta{color:var(--text-secondary);font-size:13px;margin-top:4px}.leaderboard-meta span{color:#ffffff80}.leaderboard-rate{font-weight:700;color:#8b7cff;font-size:15px}.arena-open-list,.arena-rules-overview{display:grid;gap:12px}.arena-open-card,.arena-rules-overview__card,.arena-rules-overview__item{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff05}.arena-open-card{padding:14px 16px;transition:border-color .2s ease,background .2s ease}.arena-open-card:hover{border-color:#4f46e54d;background:#4f46e50d}.arena-open-card__header,.arena-open-card__footer,.arena-open-card__players{display:flex;align-items:center;justify-content:space-between;gap:12px}.arena-open-card__title{font-size:15px;font-weight:700;color:var(--text-primary)}.arena-open-card__meta{color:var(--text-secondary);font-size:13px;margin-top:4px}.arena-open-card__meta span{color:#fff6}.arena-open-card__players{justify-content:flex-start;margin:14px 0;color:var(--text-secondary);font-size:13px}.arena-open-card__players .swords-icon{color:#8b7cffb3;flex-shrink:0}.arena-open-card__timer{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px}.arena-open-card__timer svg{color:#8b7cffb3}.arena-watch-btn{display:inline-flex;align-items:center;gap:8px;background:#4f46e526;border:1px solid rgba(79,70,229,.3);color:#c7c2ff;font-size:13px;padding:8px 14px;border-radius:10px;transition:all .2s ease}.arena-watch-btn:hover{background:#4f46e540;border-color:#4f46e580;transform:translateY(-1px)}.arena-rules-overview__card{padding:14px 16px;transition:border-color .2s ease,background .2s ease}.arena-rules-overview__card:hover{border-color:#4f46e54d;background:#4f46e508}.arena-rules-overview__card-head{margin-bottom:12px}.arena-rules-overview__title{font-size:15px;font-weight:700;color:var(--text-primary)}.arena-rules-overview__caption{margin-top:4px;color:var(--text-secondary);font-size:13px}.arena-rules-overview__chips{display:flex;flex-direction:column;gap:8px}.arena-rules-overview__item{display:inline-flex;align-items:flex-start;gap:10px;padding:10px 12px;color:var(--text-secondary);line-height:1.45;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.arena-rules-overview__item:hover{background:#4f46e50d;border-color:#4f46e526}.arena-rules-overview__dot{width:8px;height:8px;border-radius:999px;flex-shrink:0;margin-top:6px;background:#4f46e5d9;box-shadow:0 0 0 5px #4f46e51f}.arena-rules-overview__item code{background:#4f46e526;color:#c7c2ff;padding:2px 6px;border-radius:6px;font-family:Fira Code,monospace;font-size:12px}.task-list{display:flex;flex-direction:column;gap:12px}.task-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.task-item{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#ffffff05;padding:14px 16px}.task-item__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-item__title{font-size:16px;font-weight:700;margin-bottom:8px}.task-item__meta{display:flex;flex-wrap:wrap;gap:8px}.task-item__statement{margin:14px 0;color:var(--text-secondary);line-height:1.55}.task-item__footer{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-secondary);font-size:13px}.task-policy-badge{color:#9ee6b4;background:#10b9811f}.task-policy-badge--muted{color:#cbd5e1;background:#94a3b824}.task-item__actions{display:flex;gap:8px}.task-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.task-cases-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}.task-policy-panel{margin:18px 0;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff05}.task-policy-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.task-policy-panel__header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.task-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.task-policy-templates{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.task-policy-help{margin-bottom:14px}.task-policy-help__summary{display:grid;gap:4px;margin-bottom:12px}.task-policy-help__summary span{color:var(--text-secondary);line-height:1.45}.task-policy-help__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-policy-help__card{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff05}.task-policy-help__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;color:var(--text-secondary)}.task-policy-help__item{color:var(--text-primary);line-height:1.45}.task-policy-help__item+.task-policy-help__item{margin-top:8px}.task-policy-warning-list{display:grid;gap:8px;margin-bottom:14px}.task-policy-warning{padding:10px 12px;border-radius:12px;border:1px solid rgba(245,158,11,.28);background:#f59e0b1a;color:#fcd34d;line-height:1.45}.task-policy-empty{padding:12px 14px;border-radius:14px;border:1px dashed rgba(255,255,255,.12);color:var(--text-secondary)}.task-cases-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;background:#ffffff05}.task-case-list{display:flex;flex-direction:column;gap:12px}.task-case-item{border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#0000001f}.task-case-item__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-selector{display:flex;gap:12px}.mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;background:var(--bg-color);border:2px solid rgba(255,255,255,.08);border-radius:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.mode-btn:hover{border-color:#fff3;background:#ffffff08;transform:translateY(-2px)}.mode-btn.active{border-color:var(--accent-color);background:linear-gradient(135deg,#4f46e540,#6366f126);box-shadow:0 0 20px #4f46e533,inset 0 1px #ffffff1a}.mode-btn.active .mode-btn-title{color:#fff}.mode-btn.active .mode-desc{color:#ffffffb3}.mode-btn.active .mode-icon{filter:grayscale(0)}.mode-btn:not(.active) .mode-btn-title{color:var(--text-primary)}.mode-btn:not(.active) .mode-desc{color:var(--text-secondary)}.mode-btn:not(.active) .mode-icon{opacity:.6}.mode-icon{font-size:32px;filter:grayscale(.3);transition:filter .2s}.mode-btn-title{font-size:16px;font-weight:600;transition:color .2s}.mode-desc{font-size:13px;color:var(--text-secondary);transition:color .2s}.guest-cta-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid rgba(79,70,229,.22);border-radius:18px;background:radial-gradient(circle at left top,rgba(79,70,229,.14),transparent 30%),linear-gradient(180deg,#ffffff08,#ffffff03),var(--surface-color)}.guest-cta-banner__copy{display:flex;flex-direction:column;gap:6px}.guest-cta-banner__kicker{display:inline-flex;width:fit-content;padding:4px 8px;border-radius:999px;background:#4f46e529;color:#c9c3ff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.guest-cta-banner strong{font-size:14px;line-height:1.5}@media (max-width: 900px){.code-rooms-dashboard-grid,.task-editor-grid,.task-cases-grid,.task-policy-grid,.task-policy-help__grid{grid-template-columns:1fr}.mode-selector{flex-direction:column}}@media (max-width: 720px){.page-header,.dashboard-card__header,.arena-open-card__header,.arena-open-card__footer,.task-item__header{flex-direction:column;align-items:stretch}.code-rooms-hero{flex-direction:column;align-items:stretch;padding:12px 14px}.code-rooms-hero h1{font-size:18px}.code-rooms-hero__actions{justify-content:flex-start}.code-room-create-filters,.task-filters,.code-admin-filters{grid-template-columns:1fr}.modal.modal-wide,.code-room-leagues-modal,.code-admin-modal{width:min(calc(100vw - 20px),1180px)}}.code-room-page{min-height:calc(100vh - 72px)}.code-room-loading-state{min-height:calc(100vh - 160px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--text-secondary)}.interview-ide-page{min-height:calc(100vh - 72px)}.interview-ide-shell{display:flex;flex-direction:column;gap:6px;min-height:calc(100vh - 72px)}.code-room-header,.interview-ide-header{display:block}.code-room-hero{padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top right,rgba(79,70,229,.18),transparent 32%),linear-gradient(180deg,#ffffff08,#ffffff03),var(--surface-color)}.code-room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.code-room-toolbar__spacer{flex:1;min-width:1px}.interview-ide-header__left{min-width:0}.code-room-hero__title-row{display:flex;align-items:center;gap:5px;min-width:0}.code-room-back-btn{min-height:28px;min-width:28px;padding:0 6px;background:transparent;border:none;border-radius:8px;flex-shrink:0}.room-title{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.room-title h2{margin:0;font-size:clamp(1rem,1.2vw,1.2rem);line-height:1}.code-room-hero .code-rooms-kicker{margin-bottom:0;padding:3px 7px;font-size:10px}.code-room-meta-strip{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.code-room-meta-strip--toolbar{margin-top:0;justify-content:flex-end}.meta-divider{color:#fff3}.room-actions .btn{min-height:28px;padding:0 10px;font-size:12px;white-space:nowrap;border-radius:8px;gap:8px}.code-room-participants-strip{display:flex;align-items:center;gap:4px;padding:0;overflow-x:auto;scrollbar-width:thin}.code-room-participant-pill{display:inline-flex;align-items:center;flex-shrink:0;padding:4px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.participant-name{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:4px;color:var(--text-primary);white-space:nowrap;font-size:12px}.room-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;min-width:0}.room-actions .btn{min-height:32px;padding:6px 12px;border-radius:8px;font-size:12px;gap:6px;background:#4f46e526;border:1px solid rgba(79,70,229,.3);color:#c7c2ff;transition:all .2s ease}.room-actions .btn:hover{background:#4f46e540;border-color:#4f46e580;transform:translateY(-1px)}.room-actions .btn svg{width:12px;height:12px}.interview-ide-main{flex:1;min-height:0}.timelapse-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.timelapse-toolbar__icon{flex-shrink:0}.timelapse-toolbar__range{flex:1;min-width:180px}.timelapse-toolbar__meta{display:flex;gap:12px;flex-shrink:0;font-size:12px;color:var(--text-secondary);white-space:nowrap}.editor-container{display:grid;grid-template-columns:1fr 6px .6fr;gap:0;min-height:calc(100vh - 120px);overflow:hidden}.editor-panel{display:flex;flex-direction:column;background:#1e1e1e;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);min-width:300px;min-height:0;height:100%;width:100%}.interview-ide-grid{width:100%}.interview-ide-editor-panel,.interview-ide-output-panel{min-width:0}.interview-ide-editor-scroll,.interview-ide-output-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.output-panel{display:flex;flex-direction:column;background:var(--surface-color);border-radius:12px;overflow:hidden;border:1px solid var(--border-color);min-width:200px;min-height:0;height:100%;width:100%}.editor-resize-handle{width:6px;min-width:6px;height:100%;border:none;background:transparent;cursor:col-resize;position:relative;padding:0}.editor-resize-handle:before{content:"";position:absolute;top:0;left:50%;width:3px;height:100%;transform:translate(-50%);border-radius:999px;background:#ffffff1f}.editor-resize-handle:hover:before{background:#6366f1e6}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-color);border-bottom:1px solid var(--border-color);font-size:12px}.language-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:10px;background:#06b6d424;color:#22d3ee;font-size:12px;font-weight:600}.panel-header-tabs{gap:12px}.panel-tabs{display:flex;gap:8px}.panel-tab{border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;padding:7px 12px;border-radius:10px;cursor:pointer;transition:background .2s ease,color .2s ease}.panel-tab:hover{background:#ffffff0f;color:var(--text-primary)}.panel-tab.active{background:#4f46e52e;color:#c7c2ff}.editor-footer{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-shrink:0;padding:8px 12px 10px;border-top:1px solid var(--border-color);background:#171717}.editor-run-button{min-width:138px;justify-content:center;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:8px 12px;font-size:13px}.timelapse-code-view{flex:1;min-height:0;overflow:auto;padding:18px 18px 28px;background:#1e1e1e}.timelapse-code-view pre{margin:0;color:#d4d4d4;font-family:Fira Code,monospace;font-size:14px;line-height:1.55;white-space:pre}.output-content{flex:1;min-height:0;padding:16px;margin:0;font-family:Fira Code,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow:auto;color:var(--text-secondary)}.output-content.error{color:var(--danger-color)}.task-description-panel{flex:1;min-height:0;padding:18px 18px 22px;overflow:auto}.task-description-panel__label{color:#8b7cff;text-transform:uppercase;letter-spacing:.08em;font-size:11px;margin-bottom:12px}.task-description-panel__body{color:var(--text-primary);white-space:pre-wrap;line-height:1.7}.submissions-panel{margin-top:16px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.submissions-list{max-height:200px;overflow-y:auto}.submission-item{padding:12px 16px;border-bottom:1px solid var(--border-color)}.submission-item:last-child{border-bottom:none}.submission-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.submission-user{font-weight:600;color:var(--text-primary)}.submission-time{font-size:12px;color:var(--text-secondary)}.submission-output{font-family:Fira Code,monospace;font-size:12px;color:var(--text-secondary);white-space:pre-wrap}.room-leave-toasts{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;flex-direction:column;gap:10px}.room-leave-toast{min-width:280px;max-width:360px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#111111eb;box-shadow:0 16px 40px #00000047;color:var(--text-primary)}.room-leave-toast__close{flex-shrink:0}@media (max-width: 1024px){.code-room-toolbar{display:flex;flex-direction:column;align-items:stretch}.interview-ide-header__left{width:100%}.room-actions{width:100%;justify-content:center;flex-wrap:wrap}.code-room-meta-strip--toolbar{width:100%;justify-content:flex-start}}.participants-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.guest-name-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(79,70,229,.16),transparent 36%),#07070ac7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:2000}.guest-name-modal{width:min(520px,100%);background:radial-gradient(circle at top left,rgba(99,102,241,.14),transparent 34%),linear-gradient(180deg,#242424fa,#161616fa);color:var(--text-primary);border-radius:22px;border:1px solid rgba(255,255,255,.08);padding:30px 30px 24px;box-shadow:0 28px 80px #0000006b}.guest-name-modal__header h2{font-size:clamp(1.7rem,2vw,2.4rem);line-height:1.05;margin-bottom:12px;font-weight:700}.guest-name-modal__header p{color:var(--text-secondary);font-size:15px;line-height:1.55;margin-bottom:18px}.guest-name-modal__form{display:flex;flex-direction:column;gap:18px}.guest-name-modal__input{width:100%;height:58px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#121212eb;padding:0 18px;font-size:18px;color:var(--text-primary);outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.guest-name-modal__input:hover{border-color:#ffffff29}.guest-name-modal__input::placeholder{color:#ffffff52}.guest-name-modal__input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #4f46e529}.guest-name-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.guest-name-modal__submit{min-width:148px;min-height:48px;border-radius:14px;font-size:15px;font-weight:600;background:linear-gradient(180deg,var(--accent-color),var(--accent-hover));color:#fff;box-shadow:none}.guest-name-modal__submit:disabled{opacity:.5}.guest-name-modal__submit:hover:not(:disabled){background:linear-gradient(180deg,#5b53f0,#4338ca);transform:translateY(-1px);box-shadow:0 10px 24px #4f46e53d}@media (max-width: 768px){.app-container{flex-direction:column}.sidebar-desktop{display:none}.bottom-nav-mobile{display:flex}.main-content{padding:24px 16px 100px}.main-content-code-room{padding:18px 12px 92px}.content-wrapper,.content-wrapper-wide{max-width:100%}.card{padding:18px;border-radius:20px}.btn,.input{min-height:48px;border-radius:14px}h1{font-size:2rem!important;line-height:1.1}h2{line-height:1.15}.hover-scale:hover{transform:none}.code-room-page{min-height:calc(100vh - 120px)}.interview-ide-page{height:auto;min-height:calc(100vh - 120px)}.interview-ide-shell{height:auto}.interview-ide-main{overflow:visible}.timelapse-toolbar{flex-wrap:wrap;align-items:stretch}.timelapse-toolbar__meta{width:100%;justify-content:space-between}.editor-container{flex-direction:column;min-height:0}.code-rooms-dashboard-grid,.task-editor-grid,.task-cases-grid,.task-filters{grid-template-columns:1fr}.editor-panel,.output-panel{min-width:0;min-height:360px}.editor-resize-handle{display:none}.output-panel{width:100%;height:auto;position:static}.page-header{flex-direction:column;gap:16px;align-items:flex-start}.code-rooms-hero{padding:22px 20px}}.arena-page{height:calc(100vh - 36px);min-height:calc(100vh - 36px);display:flex;flex-direction:column;gap:14px;padding-top:6px}.arena-page-state{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--text-secondary)}.arena-rules-modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.arena-rules-modal__list{display:grid;gap:12px;margin-top:18px}.arena-rules-modal__item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-secondary);line-height:1.55}.arena-rules-modal__dot{width:10px;height:10px;margin-top:6px;border-radius:999px;flex-shrink:0;background:#4f46e5eb;box-shadow:0 0 0 6px #4f46e524}.arena-timelapse-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.arena-anti-cheat-notice{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid rgba(245,158,11,.24);background:#f59e0b1f;color:#fcd34d;flex-wrap:wrap}@keyframes antiCheatShrink{0%{width:100%}to{width:0%}}.arena-anti-cheat-notice--live{width:100%}.timelapse-toolbar__range{flex:1}.timelapse-toolbar__meta{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.arena-page__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top right,rgba(79,70,229,.18),transparent 32%),linear-gradient(180deg,#ffffff08,#ffffff03),var(--surface-color)}.arena-page__header-left,.arena-page__meta{display:flex;align-items:center;gap:8px}.arena-page__header-left .code-rooms-kicker{display:inline-flex;padding:6px 16px;font-size:12px;white-space:nowrap;min-width:100px;justify-content:center}.arena-page__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;align-items:center;width:100%;max-width:100%}.arena-back-btn{min-height:28px;min-width:28px;padding:0 6px;background:transparent;border:none}.arena-page__grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:10px}.arena-page__grid--resizable{gap:0}.arena-panel{min-height:0;display:flex;flex-direction:column;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;overflow:hidden}.arena-panel__header,.arena-panel__footer{flex-shrink:0;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#00000029}.arena-panel__header>div:first-child{min-width:0;flex:1}.arena-panel__footer{border-bottom:none;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px}.arena-panel__title{font-size:16px;font-weight:700}.arena-panel__subtitle{margin-top:4px;font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.arena-panel__body{flex:1;min-height:0;overflow:hidden;position:relative}.arena-panel__body--split{display:grid;grid-template-rows:minmax(240px,.72fr) minmax(0,1fr)}.arena-opponent-editor,.arena-opponent-task,.arena-output{min-height:0;overflow:auto}.arena-editor-shell,.arena-opponent-editor{height:100%;width:100%;min-height:100%;background:#1b1b1d;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:auto}.arena-editor-shell__pre,.arena-opponent-editor pre,.arena-output{margin:0;min-height:100%;padding:14px 16px;white-space:pre;font-family:Fira Code,ui-monospace,monospace;font-size:13px;line-height:1.6;color:#d4d4d4}.arena-editor-shell__pre,.arena-opponent-editor pre{min-width:max-content}.arena-output{white-space:pre-wrap}.arena-submit-btn{min-width:148px;min-height:40px;padding:10px 14px}.arena-resize-handle{width:6px;min-width:6px;border:none;background:transparent;cursor:col-resize;position:relative;padding:0}.arena-resize-handle:before{content:"";position:absolute;top:0;left:50%;width:3px;height:100%;transform:translate(-50%);border-radius:999px;background:#ffffff1f}.arena-resize-handle:hover:before{background:#6366f1e6}.arena-error-inline{color:#ff8d8d;font-size:13px}.connection-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;min-width:100px;padding:0 10px;border-radius:999px;background:#ffffff0a;font-size:12px;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:999px;background:#ff8d8d;box-shadow:0 0 0 3px #ef44441f}.status-dot.connected{background:#86efac;box-shadow:0 0 0 4px #22c55e1f}.arena-chip,.arena-freeze-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;min-width:100px;padding:0 10px;border-radius:999px;background:#ffffff0a;color:var(--text-primary);font-size:12px;white-space:nowrap}.arena-freeze-badge{color:#ffcb66;border-color:#f59e0b38;background:#f59e0b1f}.arena-freeze-badge--ghost{color:#c9c3ff;border-color:#4f46e53d;background:#4f46e524}.arena-chip--spectator{color:#d7d3ff;border-color:#4f46e53d;background:#4f46e524}.arena-chip--winner{color:#ffe6a3;border-color:#f59e0b38;background:#f59e0b24}.arena-chip--winner-reason{color:#ffd8a8;border-color:#fb923c33;background:#fb923c1a;text-transform:lowercase}.arena-copy-btn,.arena-spectator-note,.arena-output-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}.arena-copy-btn{min-height:28px;width:120px;padding:0 10px;font-size:12px;white-space:nowrap;border-radius:8px;color:#fff}.arena-spectator-note{color:var(--text-secondary);font-size:13px}.arena-panel__footer--output{display:grid;gap:10px;align-items:stretch}.arena-output-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.arena-output{border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;min-height:auto}.arena-output--filled{border-color:#22c55e38;background:#22c55e14}.arena-output--error{color:#ffd5d5;border-color:#ef44446b;background:radial-gradient(circle at top right,rgba(239,68,68,.18),transparent 34%),#7f1d1d42;box-shadow:inset 0 0 0 1px #ef444429}.arena-waiting-state{min-height:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:var(--text-secondary);text-align:center}@media (max-width: 1024px){.arena-page{height:auto;min-height:calc(100vh - 96px)}.arena-page__header{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.arena-page__header-left{flex-wrap:wrap;gap:6px}.arena-page__meta{justify-content:flex-start;gap:4px}.arena-page__grid{grid-template-columns:1fr;min-height:0;gap:10px}.arena-resize-handle{display:none}.arena-panel{min-height:420px}.arena-panel__body--split{grid-template-rows:minmax(280px,auto) minmax(220px,1fr)}}.arena-waiting-opponent{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px}.arena-waiting-opponent__content{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:40px}.arena-waiting-opponent__icon{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#4f46e533;color:#a5b4fc}.arena-waiting-opponent__icon:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(79,70,229,.4);animation:waitingRing 1.5s ease-out infinite}.arena-waiting-opponent__icon:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:1px solid rgba(79,70,229,.2);animation:waitingRing 1.5s ease-out infinite .3s}@keyframes waitingRing{0%{transform:scale(.9);opacity:1}to{transform:scale(1.4);opacity:0}}.arena-waiting-opponent__content h2{margin:0;font-size:1.75rem;font-weight:600;color:var(--text-primary);background:linear-gradient(90deg,#fff,#a5b4fc,#fff);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:waitingShimmer 3s linear infinite}@keyframes waitingShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.arena-waiting-opponent__content p{margin:0;font-size:1rem;color:var(--text-secondary);max-width:320px}.arena-waiting-opponent__btn{margin-top:8px}.profile-page{padding-bottom:40px}.profile-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:32px}.profile-header h1{font-size:28px;font-weight:600;margin:0}.profile-edit-btn{background:#4f46e526!important;border:1px solid rgba(79,70,229,.3)!important;color:#c7c2ff!important;transition:all .2s ease}.profile-edit-btn:hover{background:#4f46e540!important;border-color:#4f46e580!important;transform:translateY(-1px)}.arena-stats-card{margin-bottom:24px;display:grid;gap:14px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:20px}.arena-stats-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.arena-stats-header h3{margin:0;font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.arena-stats-badges{display:flex;gap:10px;flex-wrap:wrap}.arena-elo-badge{padding:8px 14px;border-radius:999px;background:#f59e0b1f;color:#f59e0b;font-weight:700;font-size:13px}.arena-league-badge{padding:8px 14px;border-radius:999px;background:#4f46e526;border:1px solid rgba(79,70,229,.3);color:#c7c2ff;font-weight:700;font-size:13px}.arena-stats-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--text-secondary);font-size:14px}.arena-stats-meta span{display:flex;align-items:center;gap:4px}.profile-main-card{display:flex;gap:24px;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:24px}.profile-avatar{width:80px;height:80px;border-radius:50%;background-color:var(--bg-color);background-image:var(--avatar-url);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--text-secondary);border:1px solid var(--border-color);flex-shrink:0}.profile-info{flex:1;min-width:200px}.profile-name{font-size:20px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.profile-username{color:#c7c2ff;margin-bottom:8px;font-size:14px}.profile-details{color:var(--text-secondary);display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;font-size:14px}.profile-detail-item{display:flex;align-items:center;gap:6px}.profile-status{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;text-transform:uppercase}.profile-status--online{background:#10b9811a;color:#10b981}.profile-status--recently{background:#f59e0b1a;color:#f59e0b}.profile-status--offline{background:#9ca3af1a;color:#9ca3af}.profile-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.profile-status--online .profile-status-dot{animation:pulse 2s infinite}.profile-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500;text-transform:uppercase}.profile-badge--account{background:#4f46e51a;color:#c7c2ff}.profile-badge--admin{background:#f59e0b1a;color:#f59e0b}.profile-info-section{margin-top:40px}.profile-info-section h2{font-size:20px;margin-bottom:16px;font-weight:500}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.profile-info-card{padding:20px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px}.profile-info-card h3{font-size:14px;margin-bottom:8px;color:#8b7cff;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.profile-info-card p{font-size:14px;color:var(--text-primary)}.profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.profile-modal{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;padding:32px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:16px}.profile-modal-close{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:8px;transition:all .2s ease}.profile-modal-close:hover{background:#ffffff1a;color:var(--text-primary)}.profile-modal h2{font-size:24px;margin-bottom:24px;font-weight:600}.profile-modal-section{margin-bottom:32px}.profile-modal-section h3{font-size:18px;margin-bottom:12px;font-weight:500;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.profile-modal-section p{color:var(--text-secondary);font-size:14px;margin-bottom:16px;line-height:1.5}.profile-modal-actions{margin-top:32px;display:flex;justify-content:flex-end}.profile-modal-done-btn{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.1)!important;color:var(--text-primary)!important}.profile-modal-done-btn:hover{background:#ffffff26!important}.profile-league-banner{margin-bottom:24px;padding:20px 24px;border-radius:16px;border:1px solid;position:relative;overflow:visible;transition:all .3s ease}.profile-league-banner--novice{background:linear-gradient(135deg,#9ca3af26,#6b72801a);border-color:#9ca3af66;animation:league-novice-pulse 4s ease-in-out infinite}.profile-league-banner--novice .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(156,163,175,.4),transparent 70%)}.profile-league-banner--novice .profile-league-banner__title--novice{color:#9ca3af}.profile-league-banner--rookie{background:linear-gradient(135deg,#22c55e26,#16a34a1a);background-size:200% 200%;border-color:#22c55e66;animation:league-rookie-flow 3s ease-in-out infinite}.profile-league-banner--rookie .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(34,197,94,.5),transparent 70%)}.profile-league-banner--rookie .profile-league-banner__title--rookie{color:#22c55e}.profile-league-banner--bronze{background:linear-gradient(135deg,#cd7f3233,#8b5a2b1f);border-color:#cd7f3280;animation:league-bronze-wave 2.5s ease-in-out infinite}.profile-league-banner--bronze .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(205,127,50,.5),transparent 70%)}.profile-league-banner--silver{background:linear-gradient(135deg,#c0c0c033,#8080801f);border-color:#c0c0c080;animation:league-silver-sparkle 2s ease-in-out infinite}.profile-league-banner--silver .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(192,192,192,.5),transparent 70%)}.profile-league-banner--gold{background:linear-gradient(135deg,#ffd70033,#daa5201f);border-color:#ffd70080;animation:league-gold-royal 2s ease-in-out infinite}.profile-league-banner--gold .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(255,215,0,.6),transparent 70%)}.profile-league-banner--platinum{background:linear-gradient(135deg,#e5e4e233,#00f5d41f);border-color:#00f5d480;animation:league-platinum-float 2.5s ease-in-out infinite}.profile-league-banner--platinum .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(0,245,212,.5),transparent 70%)}.profile-league-banner--diamond{background:linear-gradient(135deg,#b9f2ff33,#00c7e31f);border-color:#00c7e380;animation:league-diamond-sparkle 2s ease-in-out infinite}.profile-league-banner--diamond .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(0,199,227,.6),transparent 70%)}.profile-league-banner--master{background:linear-gradient(135deg,#8b00ff40,#4b008226);border-color:#8b00ff99;animation:league-master-legend 6s ease-in-out infinite}.profile-league-banner--master .profile-league-banner__glow{background:radial-gradient(circle at top right,rgba(139,0,255,.7),transparent 70%)}.profile-league-banner__glow{position:absolute;top:0;right:0;width:200px;height:100%;pointer-events:none;border-radius:0 16px 16px 0}.profile-league-banner__content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.profile-league-banner__title{display:flex;align-items:center;gap:12px}.profile-league-banner__title h3{margin:0;font-size:20px;font-weight:700}.profile-league-banner__title--novice{color:#9ca3af}.profile-league-banner__title--rookie{color:#22c55e}.profile-league-banner__title--bronze{color:#cd7f32}.profile-league-banner__title--silver{color:silver}.profile-league-banner__title--gold{color:gold}.profile-league-banner__title--platinum{color:#e5e4e2}.profile-league-banner__title--diamond{color:#00c7e3}.profile-league-banner__title--master{color:#8b00ff}.profile-league-banner__stats{display:flex;gap:16px;font-size:14px}.profile-league-banner__stat{display:flex;align-items:center;gap:4px}@keyframes league-novice-pulse{0%,to{box-shadow:0 0 8px #9ca3af1a}50%{box-shadow:0 0 12px #9ca3af2e}}@keyframes league-rookie-flow{0%,to{box-shadow:0 0 8px #22c55e1a}50%{box-shadow:0 0 14px #22c55e33}}@keyframes league-bronze-wave{0%,to{box-shadow:0 0 8px #cd7f321a}50%{box-shadow:0 0 14px #cd7f3233}}@keyframes league-silver-sparkle{0%,to{box-shadow:0 0 8px #c0c0c01a}50%{box-shadow:0 0 14px #c0c0c033}}@keyframes league-gold-royal{0%,to{box-shadow:0 0 10px #ffd7001f;border-color:#ffd70040}50%{box-shadow:0 0 16px #ffd70038;border-color:#ffd70066}}@keyframes league-platinum-float{0%,to{box-shadow:0 0 10px #00f5d41f}50%{box-shadow:0 0 16px #00f5d438}}@keyframes league-diamond-sparkle{0%,to{box-shadow:0 0 10px #00c7e31f}50%{box-shadow:0 0 16px #00c7e338}}@keyframes league-master-legend{0%{box-shadow:0 0 8px #8b00ff1a;border-color:#8b00ff26}50%{box-shadow:0 0 20px #8b00ff59;border-color:#8b00ff73}to{box-shadow:0 0 8px #8b00ff1a;border-color:#8b00ff26}}
