:root{--bg:#05070b;--accent:#47f6e9;--text-main:azure;--text-dim:#8a9ea7;--bg-elevated:#06080c;--bg-overlay:#01060bd6;--bg-brand:#010f17cc;--surface:#ffffff0a;--surface-card:linear-gradient(160deg, #ffffff08, #00ffee05);--surface-auth:linear-gradient(165deg, #040d11eb, #02080cf0);--line-soft:#00ffee3d;--line-medium:#00ffee57;--line-strong:#00ffee73;--line-hover:#00ffeee6;--accent-soft:#00ffee1f;--accent-faint:#47f6e917;--shadow-glow:0 0 32px #00ffee1f;--shadow-panel:0 0 0 1px #47f6e92e, 0 0 42px #47f6e929;--font-display:"Orbitron", "Bank Gothic", "Arial Black", sans-serif;--font-body:"Rajdhani", "Segoe UI", sans-serif}:root[data-theme=light]{--bg:#f4f2ea;--accent:#10cfc2;--text-main:#132129;--text-dim:#4c6770;--bg-elevated:#faf8f1;--bg-overlay:#faf8f1eb;--bg-brand:#eff8f6f2;--surface:#10cfc214;--surface-card:linear-gradient(160deg, #fffffff2, #10cfc214);--surface-auth:linear-gradient(165deg, #fffffff2, #edf9f7f5);--line-soft:#10cfc247;--line-medium:#10cfc257;--line-strong:#10cfc280;--line-hover:#10cfc2e6;--accent-soft:#10cfc224;--accent-faint:#10cfc21f;--shadow-glow:0 0 24px #10cfc224;--shadow-panel:0 0 0 1px #10cfc233, 0 0 28px #10cfc21f}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text-main);font-family:var(--font-body);letter-spacing:.02em}h1,h2,h3,button,a{font-family:var(--font-display)}button,input{color:inherit}.app-shell{background:radial-gradient(circle at 25% 0%, var(--accent-soft), transparent 45%), radial-gradient(circle at 85% 20%, var(--accent-faint), transparent 50%), var(--bg-elevated);grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line-soft);background:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;padding:20px 18px;display:flex}.brand{border:1px solid var(--line-medium);background:var(--bg-brand);margin-bottom:22px;padding:8px}.brand img{width:100%;height:auto;display:block}.sidebar nav{gap:8px;margin-top:8px;display:grid}.sidebar a{color:var(--text-dim);letter-spacing:.08em;border:1px solid #0000;padding:12px 10px;font-size:13px;text-decoration:none}.sidebar a.active,.sidebar a:hover{color:var(--accent);border-color:var(--line-strong);background:var(--accent-soft)}.content{padding:20px 24px 28px}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.tabs{gap:16px;display:flex}.tab{color:var(--text-dim);letter-spacing:.06em;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 0;font-size:13px}.tab.active,.tab:hover{color:var(--accent);border-bottom-color:var(--accent)}.search{background:var(--surface);border:1px solid var(--line-medium);width:320px;max-width:100%;color:var(--text-main);letter-spacing:.1em;padding:12px 14px;font-size:13px}.theme-toggle{border:1px solid var(--line-strong);background:var(--surface);color:var(--accent);letter-spacing:.11em;white-space:nowrap;align-items:center;gap:8px;padding:11px 14px;font-size:12px;display:inline-flex}.theme-icon{stroke:currentColor;fill:none;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:15px;height:15px}.theme-toggle:hover{border-color:var(--line-hover);background:var(--accent-soft)}.auth-cta{border:1px solid var(--line-strong);background:var(--surface);color:var(--accent);letter-spacing:.12em;white-space:nowrap;padding:11px 14px;font-size:12px;text-decoration:none}.logout-cta{border:1px solid var(--line-strong);background:var(--surface);color:var(--accent);letter-spacing:.12em;white-space:nowrap;padding:11px 14px;font-size:12px}.logout-cta:hover{border-color:var(--line-hover);background:var(--accent-soft)}.profile-cta{border:1px solid var(--line-strong);background:var(--surface);color:var(--accent);letter-spacing:.12em;white-space:nowrap;padding:11px 14px;font-size:12px;text-decoration:none}.profile-cta:hover,.auth-cta:hover{border-color:var(--line-hover);background:var(--accent-soft)}.hero{margin-top:26px}.hero-overline{color:var(--accent);letter-spacing:.18em;font-size:12px}.hero h1{letter-spacing:.01em;color:var(--text-main);margin:8px 0 12px;font-size:clamp(34px,6vw,72px)}.hero h1 span{color:var(--accent)}.hero p{max-width:760px;color:var(--text-dim)}.list-header{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.chip{border:1px solid var(--line-soft);background:var(--surface);color:var(--text-dim);letter-spacing:.09em;padding:10px 18px;font-size:12px}.chip.active,.chip:hover{color:var(--accent);border-color:var(--line-hover)}.grid-main{grid-template-columns:2fr 1fr;gap:14px;margin-top:12px;display:grid}.archive-section{margin-top:22px}.archive-section h2{color:var(--text-main);letter-spacing:.08em;margin-bottom:12px;font-size:20px}.grid-archive{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.war-card{border:1px solid var(--line-soft);background:var(--surface-card);padding:18px}.war-card.featured{min-height:360px;box-shadow:0 0 0 1px var(--line-soft), var(--shadow-glow);position:relative}.card-tag{color:var(--bg-elevated);background:var(--accent);letter-spacing:.14em;margin:0 0 12px;padding:4px 8px;font-size:11px;display:inline-block}.war-card h3{letter-spacing:.03em;color:var(--text-main);margin:0;font-size:34px}.war-card:not(.featured) h3{font-size:28px}.card-subtitle{color:var(--text-dim);margin:14px 0 16px}.card-stats{color:var(--text-dim);letter-spacing:.06em;flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.card-stats strong{color:var(--accent);font-size:24px;display:block}.card-actions{gap:8px;margin-top:24px;display:flex}.btn{border:1px solid var(--line-soft);color:var(--text-main);letter-spacing:.12em;background:0 0;padding:10px 14px;font-size:11px}.btn-primary{color:var(--bg-elevated);background:var(--accent);border-color:var(--accent)}.btn:hover{border-color:var(--line-hover)}@media (width<=1180px){.grid-main,.grid-archive{grid-template-columns:1fr}.war-card.featured{min-height:auto}}@media (width<=920px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line-soft)}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-start;width:100%;margin-left:0}.search{width:100%}.tabs{flex-wrap:wrap;gap:12px}.list-header{justify-content:flex-start}}.auth-page{background:radial-gradient(circle at 50% 45%, var(--accent-faint), transparent 46%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";background-image:linear-gradient(color-mix(in srgb, var(--accent) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent) 1px, transparent 1px);opacity:.22;pointer-events:none;background-size:42px 42px;position:absolute;inset:0}.auth-glow{background:color-mix(in srgb, var(--accent) 35%, transparent);width:520px;height:2px;box-shadow:0 0 24px color-mix(in srgb, var(--accent) 35%, transparent);position:absolute}.auth-glow-left{top:36%;left:-120px}.auth-glow-right{top:62%;right:-120px}.auth-panel{z-index:1;border:1px solid var(--line-medium);background:var(--surface-auth);width:min(480px,100%);box-shadow:var(--shadow-panel);padding:28px;position:relative}.auth-close{border:1px solid var(--line-strong);background:var(--bg-overlay);width:34px;height:34px;color:var(--accent);cursor:pointer;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.auth-close:hover{border-color:var(--line-hover);background:var(--accent-soft)}.auth-logo{width:min(290px,76%);filter:drop-shadow(0 0 14px color-mix(in srgb, var(--accent) 35%, transparent));margin:0 auto 10px;display:block}.auth-panel h1{text-align:center;letter-spacing:.1em;margin:6px 0;font-size:36px}.auth-panel>p{text-align:center;color:var(--text-dim);margin:0 0 18px}.auth-form{gap:8px;display:grid}.auth-form label{letter-spacing:.15em;color:var(--accent);margin-top:8px;font-size:12px}.auth-form input{border:1px solid var(--line-medium);background:var(--surface);color:var(--text-main);letter-spacing:.05em;padding:12px 14px;font-size:14px}.auth-form input:focus{border-color:var(--line-hover);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.auth-submit{width:100%;margin-top:14px;padding-block:12px;font-size:12px}.auth-hint{color:var(--text-dim);margin:4px 0 0;font-size:12px}.auth-error{color:#ff6b78;margin:2px 0 0;font-size:12px}.auth-links{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.auth-links a{color:var(--text-dim);letter-spacing:.1em;font-size:11px;text-decoration:none}.auth-links a:hover{color:var(--accent)}.profile-content{background-image:linear-gradient(color-mix(in srgb, var(--accent) 10%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 10%, transparent) 1px, transparent 1px);background-size:32px 32px}.tab-link{color:var(--text-dim);letter-spacing:.06em;border-bottom:2px solid #0000;padding:8px 0;font-size:13px;text-decoration:none}.tab-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.profile-header{margin-top:20px}.profile-header h1{color:var(--text-main);margin:0;font-size:clamp(30px,5vw,54px)}.profile-header p{color:var(--text-dim);margin:8px 0 0}.profile-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.profile-card{border:1px solid var(--line-soft);background:var(--surface-card);box-shadow:0 0 0 1px var(--line-soft), var(--shadow-glow);padding:20px}.profile-card h2{color:var(--text-main);margin:10px 0;font-size:clamp(34px,7vw,78px);line-height:.9}.profile-card p{color:var(--text-dim);margin:0}.profile-stats{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.stat-card{border:1px solid var(--line-medium);background:var(--surface);padding:18px}.stat-card p{color:var(--text-dim);letter-spacing:.12em;margin:0;font-size:12px}.stat-card strong{color:var(--accent);margin-top:6px;font-size:clamp(30px,5vw,48px);line-height:1;display:block}.profile-logs{border:1px solid var(--line-soft);background:var(--surface-card);margin-top:16px;padding:16px}.logs-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.logs-header h2{color:var(--text-main);margin:0;font-size:28px}.logs-header a{color:var(--accent);letter-spacing:.08em;font-size:13px;text-decoration:none}.profile-logs ul{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.profile-logs li{border:1px solid var(--line-soft);background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--text-main);justify-content:space-between;gap:12px;padding:14px;display:flex}.profile-logs li span:last-child{color:var(--accent);font-weight:700}@media (width<=520px){.auth-panel{padding:20px}.auth-panel h1{font-size:28px}.auth-links{flex-direction:column}}@media (width<=980px){.profile-grid,.profile-stats{grid-template-columns:1fr}}.board-page{background:var(--bg-elevated);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.board-header{border-bottom:1px solid var(--line-soft);background:var(--bg-overlay);align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.board-back{border:1px solid var(--line-medium);color:var(--text-secondary);cursor:pointer;letter-spacing:.05em;white-space:nowrap;background:0 0;padding:8px 14px;font-family:inherit;font-size:.8rem}.board-back:hover{color:var(--text-primary);border-color:var(--accent)}.board-back-active{color:var(--accent);border-color:var(--accent)}.board-meta{flex:1}.board-title{letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:1.2rem}.board-tags{flex-wrap:wrap;gap:8px;display:flex}.board-status{letter-spacing:.1em;padding:3px 10px;font-size:.7rem;font-weight:600}.board-status.active{color:#00c850;background:#00c85026;border:1px solid #00c8504d}.board-status.finished{color:var(--text-secondary);border:1px solid var(--line-soft);background:#8c8c8c1a}.board-tag{letter-spacing:.07em;border:1px solid var(--line-soft);color:var(--text-secondary);padding:3px 10px;font-size:.7rem}.board-timer{color:var(--accent);border-color:var(--accent)}.board-error-banner{z-index:10;color:#f87171;text-align:center;pointer-events:none;background:#dc3c3c1f;border-top:1px solid #dc3c3c40;padding:10px 24px;font-size:.85rem;position:absolute;bottom:0;left:0;right:0}.board-cooldown{z-index:10;background:rgba(var(--accent-rgb,100, 120, 255), .15);color:var(--accent);letter-spacing:.05em;text-align:center;border-bottom:1px solid var(--line-soft);pointer-events:none;padding:8px 24px;font-size:.8rem;position:absolute;top:0;left:0;right:0}.board-canvas-wrapper{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#111;flex:1;position:relative;overflow:hidden}.board-palette-bar{border-top:1px solid var(--line-soft);background:var(--bg-overlay);align-items:center;gap:12px;padding:14px 24px;display:flex}.board-palette-hint{color:var(--text-secondary);font-size:.85rem}.board-palette-hint a{color:var(--accent);text-decoration:none}.board-palette{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.palette-color{cursor:pointer;border:2px solid #0000;border-radius:2px;width:28px;height:28px;padding:0;transition:transform .1s,border-color .1s}.palette-color:hover{transform:scale(1.15)}.palette-color.selected{border-color:var(--text-primary);transform:scale(1.2)}.palette-selected-label{color:var(--text-secondary);margin-left:8px;font-family:monospace;font-size:.75rem}.pixel-tooltip{background:var(--bg-overlay);border:1px solid var(--line-medium);color:var(--text-primary);pointer-events:none;z-index:9999;white-space:nowrap;padding:4px 10px;font-size:.75rem;position:fixed}.board-loading,.board-error,.boards-loading,.boards-empty{color:var(--text-secondary);text-align:center;padding:40px 24px;font-size:.9rem}.admin-page{background:var(--bg-elevated);min-height:100vh;color:var(--text-primary);flex-direction:column;padding:0 0 40px;display:flex}.admin-header{border-bottom:1px solid var(--line-soft);background:var(--bg-overlay);align-items:center;gap:16px;padding:20px 24px;display:flex}.admin-title{letter-spacing:.08em;margin:0;font-size:1.1rem}.admin-form-section,.admin-list-section{border-bottom:1px solid var(--line-soft);padding:24px}.admin-form-section h2,.admin-list-section h2{letter-spacing:.12em;color:var(--text-secondary);margin:0 0 20px;font-size:.8rem}.admin-form{flex-direction:column;gap:16px;max-width:700px;display:flex}.form-row{flex-direction:column;gap:6px;display:flex}.form-row label{color:var(--text-secondary);letter-spacing:.05em;flex-direction:column;gap:6px;font-size:.8rem;display:flex}.form-row input[type=text],.form-row input[type=number],.form-row input[type=datetime-local]{background:var(--bg-overlay);border:1px solid var(--line-medium);color:var(--text-primary);outline:none;padding:8px 12px;font-family:inherit;font-size:.9rem}.form-row input:focus{border-color:var(--accent)}.form-row-grid{flex-direction:unset;grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-checkbox{cursor:pointer;align-items:center;flex-direction:row!important;gap:10px!important}.form-checkbox input{cursor:pointer;width:16px;height:16px}.form-actions{gap:12px;display:flex}.admin-success{color:#00c850;background:#00c8501a;border:1px solid #00c85040;margin-bottom:16px;padding:10px 16px;font-size:.85rem}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th{text-align:left;border-bottom:1px solid var(--line-medium);color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;padding:10px 12px;font-size:.7rem}.admin-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:10px 12px}.admin-table tr.editing td{background:rgba(var(--accent-rgb,100, 120, 255), .06)}.admin-actions{gap:8px;display:flex}.btn-sm{padding:4px 10px!important;font-size:.7rem!important}.btn-danger{color:#f87171;cursor:pointer;letter-spacing:.06em;background:0 0;border:1px solid #dc3c3c66;padding:6px 14px;font-family:inherit}.btn-danger:hover{background:#dc3c3c1a}.not-found-page{background:radial-gradient(circle at 50% 45%, var(--accent-faint), transparent 46%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.not-found-page:before{content:"";background-image:linear-gradient(color-mix(in srgb, var(--accent) 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 16%, transparent) 1px, transparent 1px);opacity:.22;pointer-events:none;background-size:42px 42px;position:absolute;inset:0}.not-found-glow{background:color-mix(in srgb, var(--accent) 35%, transparent);width:520px;height:2px;box-shadow:0 0 24px color-mix(in srgb, var(--accent) 35%, transparent);position:absolute}.not-found-glow-left{top:36%;left:-120px}.not-found-glow-right{top:62%;right:-120px}.not-found-panel{z-index:1;border:1px solid var(--line-medium);background:var(--surface-auth);width:min(480px,100%);box-shadow:var(--shadow-panel);text-align:center;padding:40px 28px;position:relative}.not-found-overline{color:var(--accent);letter-spacing:.18em;margin:0 0 8px;font-size:12px}.not-found-code{letter-spacing:.05em;color:var(--text-main);margin:0 0 12px;font-size:clamp(72px,20vw,120px);line-height:1}.not-found-message{color:var(--text-dim);margin:0 0 28px}.not-found-cta{padding:12px 24px;font-size:12px;text-decoration:none;display:inline-block}.sidebar-stats{border-top:1px solid var(--line-soft);gap:16px;margin-top:auto;padding-top:20px;display:flex}.stat-item{flex-direction:column;gap:2px;display:flex}.stat-value{color:var(--text-primary);font-size:1.1rem;font-weight:700}.stat-label{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem}
