:root{--bg:#07080a;--bg-elevated:#101218;--surface:#15171e;--surface-hover:#1b1e27;--border:#2a2e38;--border-strong:#3a3f4c;--text:#e6e8ec;--text-dim:#8890a0;--accent:#2dffb0;--accent-contrast:#04140d;--accent-2:#ff2fd6;--accent-2-contrast:#1a0113;--danger:#ff3b5c;--danger-contrast:#200008;--font-display:"Arial Narrow", "Segoe UI Semibold", "Helvetica Neue", Arial, sans-serif;--font-body:"Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--cut:10px;--cut-sm:6px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font:16px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}html,body{overflow-x:hidden}body{background:repeating-linear-gradient(-45deg, #2dffb006 0 2px, transparent 2px 40px), radial-gradient(ellipse 900px 500px at 15% -10%, #ff2fd61f, transparent 60%), radial-gradient(ellipse 900px 500px at 85% 0%, #2dffb01a, transparent 60%), var(--bg);min-height:100svh;margin:0}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;margin:0}p{margin:0}a{color:inherit}button{font-family:inherit}.screen-center{min-height:100svh;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.loading-text{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:14px}.app-shell{flex-direction:column;min-height:100svh;display:flex}.topbar{padding:calc(18px + env(safe-area-inset-top)) 28px 18px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#090a0db3;justify-content:space-between;align-items:center;gap:16px;display:flex}@media (width<=480px){.topbar{padding:calc(14px + env(safe-area-inset-top)) 14px 14px;gap:8px}.topbar-link{padding:6px 10px}.topbar-username{max-width:90px}}.topbar-brand{letter-spacing:.06em;flex-shrink:0;font-size:22px;font-weight:700;display:inline-block;transform:skew(-8deg)}.topbar-brand .accent{color:var(--accent);text-shadow:0 0 12px #2dffb099}.topbar-user{min-width:0;font-family:var(--font-mono);color:var(--text-dim);flex-shrink:1;align-items:center;gap:10px;font-size:13px;display:flex}.topbar-username{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.page{width:100%;max-width:880px;padding:28px 20px calc(88px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.bottom-nav{z-index:50;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#090a0dd9;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-dim);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:flex}.bottom-nav-item:hover{color:var(--text)}.bottom-nav-item.active{color:var(--accent);background:var(--surface);text-shadow:0 0 10px #2dffb080}.page-title{margin-bottom:4px;font-size:28px}.page-sub{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.04em;margin-bottom:24px;font-size:13px}.panel{background:var(--surface);border:1px solid var(--border);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut))}.login-card{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:380px;padding:48px 36px;display:flex;position:relative}.login-card:before{content:"";border:1px solid var(--accent);opacity:.35;clip-path:inherit;pointer-events:none;position:absolute;inset:0;transform:scale(1.04)}.brand-mark{letter-spacing:.02em;color:var(--text);text-shadow:0 0 22px #2dffb059;font-size:44px;font-weight:800;transform:skew(-8deg)}.brand-mark .accent{color:var(--accent);text-shadow:0 0 18px #2dffb0bf,0 0 40px #2dffb059}.login-tagline{font-family:var(--font-mono);letter-spacing:.22em;color:var(--text-dim);text-transform:uppercase;font-size:12px}.btn{--btn-fg:var(--accent-contrast);--btn-bg:var(--accent);--btn-glow:#2dffb080;appearance:none;cursor:pointer;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--btn-fg);background:var(--btn-bg);clip-path:polygon(var(--cut-sm) 0, 100% 0, 100% calc(100% - var(--cut-sm)), calc(100% - var(--cut-sm)) 100%, 0 100%, 0 var(--cut-sm));box-shadow:0 0 0 var(--btn-glow);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex}.btn:hover{filter:brightness(1.1);box-shadow:0 0 18px var(--btn-glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none;transform:none}.btn-lg{padding:14px 30px;font-size:15px}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--text);box-shadow:none;border:1px solid var(--border-strong)}.btn-ghost:hover{border-color:var(--accent);box-shadow:0 0 14px #2dffb040}.btn-secondary{--btn-bg:var(--accent-2);--btn-fg:var(--accent-2-contrast);--btn-glow:#ff2fd680}.btn-danger{--btn-bg:var(--danger);--btn-fg:var(--danger-contrast);--btn-glow:#ff3b5c80}.btn-sm{padding:6px 14px;font-size:12px}.badge{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;clip-path:polygon(6px 0,100% 0,100% 100%,0 100%,0 6px);border:1px solid;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-kozak{color:var(--text-dim)}.badge-otaman{color:var(--accent);text-shadow:0 0 10px #2dffb080}.badge-starshyna,.badge-hetman,.badge-moderator{color:var(--accent-2);text-shadow:0 0 10px #ff2fd680}.warn-count{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--text-dim);padding:3px 9px;font-size:13px}.warn-count.has-warns{color:var(--danger);border-color:var(--danger);text-shadow:0 0 8px #ff3b5c80}.players-list{flex-direction:column;gap:12px;display:flex}.player-card{overflow:hidden}.player-header{align-items:center;gap:10px;width:100%;padding:10px 14px 10px 20px;display:flex}.player-header-main{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:14px;padding:4px 0;display:flex}.player-header-main:hover .player-username{color:var(--accent)}.avatar{object-fit:cover;background:var(--bg-elevated);border:1px solid var(--border-strong);clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);flex-shrink:0;width:40px;height:40px}.avatar-placeholder{font-family:var(--font-display);color:var(--text-dim);justify-content:center;align-items:center;font-weight:700;display:flex}.player-username{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.player-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.chevron{color:var(--text-dim);font-family:var(--font-mono);flex-shrink:0;transition:transform .15s}.chevron.open{color:var(--accent);transform:rotate(90deg)}.warns-panel{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:16px 20px 20px;display:flex}.warns-panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.warns-panel-head h3{color:var(--text-dim);letter-spacing:.08em;font-size:13px}.warn-list{flex-direction:column;gap:8px;display:flex}.warn-item{background:var(--bg-elevated);border-left:3px solid var(--danger);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.warn-item.inactive{border-left-color:var(--border-strong);opacity:.55}.warn-item-body{min-width:0}.warn-reason{word-break:break-word;font-size:14px}.warn-item.inactive .warn-reason{text-decoration:line-through;-webkit-text-decoration-color:var(--text-dim);text-decoration-color:var(--text-dim)}.warn-date{font-family:var(--font-mono);color:var(--text-dim);margin-top:3px;font-size:11px}.warn-empty,.empty-state{color:var(--text-dim);font-family:var(--font-mono);font-size:13px}.warn-form{background:var(--bg-elevated);border:1px dashed var(--border-strong);flex-direction:column;gap:10px;padding:14px;display:flex}.warn-form textarea{resize:vertical;background:var(--bg);border:1px solid var(--border-strong);min-height:60px;color:var(--text);font-family:var(--font-body);padding:10px;font-size:14px}.warn-form textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #2dffb033}.warn-form-actions{justify-content:flex-end;gap:10px;display:flex}.error-banner{color:var(--danger);font-family:var(--font-mono);border:1px solid var(--danger);background:#ff3b5c14;padding:10px 14px;font-size:13px}.server-tabs{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.server-tab{background:var(--surface);color:var(--text-dim);border:1px solid var(--border-strong);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);padding:10px 22px;font-size:13px;font-weight:700;transition:all .15s}.server-tab:hover{color:var(--text)}.server-tab.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:0 0 16px #2dffb066}.wipe-select-wrap{margin-bottom:24px}.wipe-select-row{align-items:center;gap:10px;display:flex}.wipe-select{appearance:none;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font-family:var(--font-mono);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);width:100%;max-width:320px;padding:10px 14px;font-size:13px}.wipe-select:focus{border-color:var(--accent);outline:none}.leaderboard-wrap{margin-bottom:32px;overflow-x:auto}.leaderboard-table{border-collapse:collapse;width:100%;font-size:13px}.leaderboard-table th{text-align:left;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:12px;font-size:11px}.leaderboard-table th:hover{color:var(--text)}.leaderboard-table th.sorted{color:var(--accent)}.leaderboard-table td{border-bottom:1px solid var(--border);white-space:nowrap;font-family:var(--font-mono);padding:10px 12px}.leaderboard-row{cursor:pointer}.leaderboard-row:hover td{background:var(--surface-hover)}.leaderboard-player-cell{font-family:var(--font-body);align-items:center;gap:10px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:calc(40px + env(safe-area-inset-top)) 20px calc(40px + env(safe-area-inset-bottom));z-index:100;background:#040507bf;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{width:100%;max-width:640px;padding:28px;position:relative}.modal-close{position:absolute;top:14px;right:14px}.modal-header{align-items:center;gap:14px;margin-bottom:24px;padding-right:40px;display:flex}.modal-header .avatar{width:56px;height:56px}.modal-header h2{margin-bottom:6px;font-size:20px}.stat-section{margin-bottom:22px}.stat-section h3,.stat-collapsible summary{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-family:var(--font-display);margin-bottom:10px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.stat-tile{background:var(--bg-elevated);border:1px solid var(--border);min-width:0;padding:8px 10px}.stat-tile-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.stat-tile-value{font-family:var(--font-mono);font-size:15px;font-weight:600}.stat-collapsible{margin-bottom:22px}.stat-collapsible summary{cursor:pointer;margin-bottom:0}.stat-collapsible[open] summary{margin-bottom:10px}.roster-section{border-top:1px solid var(--border);margin-top:8px;padding-top:28px}.roster-form{gap:10px;margin-bottom:16px;display:flex}.roster-form input{background:var(--bg-elevated);border:1px solid var(--border-strong);min-width:0;color:var(--text);font-family:var(--font-mono);flex:1;padding:10px 14px;font-size:14px}.roster-form input:focus{border-color:var(--accent);outline:none}.roster-list{flex-direction:column;gap:8px;display:flex}.roster-item{align-items:center;gap:12px;padding:10px 14px;display:flex}.roster-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.roster-item-id{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.tasks-toolbar{margin-bottom:16px}.task-form{flex-direction:column;gap:10px;margin-bottom:24px;padding:18px;display:flex}.task-form-line{gap:8px;display:flex}.task-form-line input{background:var(--bg-elevated);border:1px solid var(--border-strong);min-width:0;color:var(--text);font-family:var(--font-body);flex:1;padding:10px 14px;font-size:14px}.task-form-line input:focus{border-color:var(--accent);outline:none}.notify-mode-row{gap:4px;margin-top:6px;display:flex}.notify-mode-option{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-dim);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:700;transition:color .15s,border-color .15s;display:flex}.notify-mode-option input{opacity:0;width:0;height:0;position:absolute}.notify-mode-option.active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #2dffb040}.tasks-list{flex-direction:column;gap:14px;display:flex}.task-card{padding:16px 18px}.task-line-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task-line{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.task-line+.task-line{border-top:1px solid var(--border);padding-top:14px}.task-line-text{flex:1;min-width:0}.task-line.completed .task-line-text{color:var(--text-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--text-dim);text-decoration-color:var(--text-dim)}.task-completed-by{font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;align-items:center;gap:8px;font-size:12px;display:flex}.task-completed-by .avatar{width:22px;height:22px}
