:root{--bg:#04060c;--panel:#0a1220d1;--panel-solid:#0b1424;--line:#6ec8ff47;--line-strong:#6ec8ff99;--text:#d6e6f5;--muted:#7d93ab;--accent:#5fd4ff;--good:#7ee08a;--bad:#ff6b6b;--metal:#b8c4d0;--energy:#ffd166;--crystal:#c77dff;--cut:10px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:"Exo 2",system-ui,sans-serif;overflow:hidden}.hidden{display:none!important}.muted{color:var(--muted)}.error{color:var(--bad);min-height:1.2em}button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:#5fd4ff14;padding:6px 12px;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--line-strong);background:#5fd4ff33}button:disabled{opacity:.4;cursor:not-allowed}button.primary{border-color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#5fd4ff59,#5fd4ff26);padding:10px 18px;font-weight:600}button.ghost{background:0 0}input{font:inherit;color:var(--text);border:1px solid var(--line);background:#0006;outline:none;width:100%;padding:8px 10px}input:focus,select:focus{border-color:var(--accent)}select{font:inherit;color:var(--text);border:1px solid var(--line);text-transform:none;letter-spacing:0;background:#0006;outline:none;padding:7px 8px}select option{background:var(--panel-solid)}select:disabled{opacity:.7}.settings{grid-template-columns:1fr 1fr;gap:10px;display:grid}.prow .rel{text-align:center;width:16px;font-size:12px}.rel.war{color:var(--bad)}.rel.peace{color:var(--energy)}.rel.alliance{color:var(--good)}.diplo{flex-wrap:wrap;align-items:center;gap:4px;padding:0 0 4px 24px;font-size:11px;display:flex}.diplo button{padding:1px 7px;font-size:11px}.diplo .offer{color:var(--energy);width:100%}.diplo .pending{color:var(--muted)}.diplo .warn{color:var(--bad);width:100%}.screen{background:radial-gradient(ellipse at 30% 20%, #503ca040, transparent 60%), radial-gradient(ellipse at 75% 80%, #1478a038, transparent 55%), var(--bg);place-items:safe center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.lobby-card{background:var(--panel);border:1px solid var(--line);width:min(440px,100%);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));flex-direction:column;gap:14px;padding:32px 28px;display:flex}.lobby-card h1{letter-spacing:.18em;margin:0;font-size:30px;font-weight:800}.lobby-card h1 span{color:var(--accent)}.tagline{color:var(--muted);margin:0 0 8px;font-style:italic}#lobby-join,#lobby-room{flex-direction:column;gap:12px;display:flex}label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:6px;font-size:13px;display:flex}label small{text-transform:none;letter-spacing:0}#room{text-transform:uppercase;letter-spacing:.3em}.room-code{color:var(--muted);font-size:15px}.room-code strong{color:var(--accent);letter-spacing:.25em;margin-left:8px;font-family:JetBrains Mono,monospace;font-size:26px}#lobby.in-room .lobby-card{width:min(920px,100%)}#lobby.in-room .tagline{display:none}.room-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.room-grid{grid-template:"players settings""chat settings"1fr/minmax(0,1.3fr) minmax(0,1fr);gap:12px;display:grid}.room-card{border:1px solid var(--line);background:#00000038;flex-direction:column;gap:10px;min-width:0;padding:12px 14px;display:flex}.room-players{grid-area:players}.room-settings{grid-area:settings}.room-chat{grid-area:chat}.room-card h3{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:600}#lobby-count{color:var(--accent);letter-spacing:.05em;font-family:JetBrains Mono,monospace}.room-actions{flex-wrap:wrap;gap:8px;display:flex}.room-actions .bot-add{flex:220px}.room-go{flex-direction:column;gap:10px;margin-top:auto;display:flex}.room-go p{text-align:center;margin:0}#lobby-players{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}#lobby-players li{border-left:3px solid var(--c);background:#ffffff08;grid-template-columns:auto minmax(0,1fr) minmax(0,7em) minmax(0,6em) auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.pdot{background:var(--c);width:9px;height:9px;transform:rotate(45deg)}.pwho{flex-direction:column;gap:2px;min-width:0;display:flex}#lobby-players .pname{overflow-wrap:anywhere}.room-settings .settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-settings select{width:100%;min-width:0}.pmeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:11px;display:flex}.pmeta:empty{display:none}.host-tag{border:1px solid var(--accent);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;padding:0 5px;font-size:10px}.pfield{flex-direction:column;gap:1px;min-width:0;display:flex}.pfield small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.pfield select{width:100%;padding:2px 4px;font-size:12px}.pval{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.bot-del,.kick-slot{text-align:center;width:28px;padding:0;line-height:1.4}.bot-add{gap:8px;display:flex}.bot-add select{flex:1;min-width:0}#lobby-chat{flex-direction:column;flex:1;display:flex}#lobby-chat #chat{flex:1;gap:6px;width:auto;display:flex;position:static}#lobby-chat #chat-log{min-height:120px;max-height:none;text-shadow:none;flex:1 1 0}#lobby-chat #chat-input{background:#0006}@media (width<=960px){#lobby-players li{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto}.pwho{grid-column:2/-1}#lobby-players li:has(.bot-del) .pwho{grid-column:2/4}.kick-slot{display:none}.pwho,.bot-del{grid-row:1}.bot-del{grid-column:4}.pfield{grid-row:2}.prace{grid-column:2}.pteam{grid-column:3}}@media (width<=760px){.room-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"players""settings""chat"}#lobby.in-room .lobby-card{padding:20px 14px}}.prow .team{color:var(--accent)}#game{position:fixed;inset:0}#map{cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#topbar{background:var(--panel);border:1px solid var(--line);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 100%,0 100%);white-space:nowrap;align-items:center;gap:22px;max-width:calc(100vw - 20px);padding:8px 20px;font-family:JetBrains Mono,monospace;font-size:14px;display:flex;position:absolute;top:10px;left:50%;overflow-x:auto;transform:translate(-50%)}.res{align-items:baseline;gap:6px;display:flex}.res b{font-weight:600}.res small{color:var(--muted);font-size:11px}.res.metal b{color:var(--metal)}.res.energy b{color:var(--energy)}.res.crystal b{color:var(--crystal)}.dot{width:8px;height:8px;display:inline-block;transform:rotate(45deg)}#leftcol{flex-direction:column;gap:8px;width:250px;max-height:calc(100vh - 290px);display:flex;position:absolute;top:60px;left:10px}#players,#production{background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:6px;min-height:0;padding:10px 12px;font-size:13px;display:flex;overflow-y:auto}#players h3,#production h3,#panel h3{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:600}.prow{align-items:center;gap:8px;display:flex}.prow.dead{opacity:.4;text-decoration:line-through}.prow .count{color:var(--muted);margin-left:auto;font-family:JetBrains Mono,monospace}.offline{color:var(--bad);font-size:10px}#panel{background:var(--panel);border:1px solid var(--line);width:320px;max-height:calc(100vh - 80px);clip-path:polygon(var(--cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--cut));flex-direction:column;gap:12px;padding:16px;font-size:13px;display:flex;position:absolute;top:60px;right:10px;overflow-y:auto}#panel h2{letter-spacing:.05em;margin:0;font-size:20px;font-weight:600}.sub{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.desc{color:#aebfd1;margin:0;font-style:italic;line-height:1.45}.stats{grid-template-columns:auto 1fr;gap:4px 12px;font-family:JetBrains Mono,monospace;font-size:12px;display:grid}.stats dt{color:var(--muted);white-space:nowrap}.stats dd{white-space:nowrap;margin:0}.bar{background:#ffffff14;height:5px;position:relative}.bar>i{background:var(--accent);position:absolute;inset:0 auto 0 0}.build{flex-direction:column;gap:6px;display:flex}.build button{text-align:left;justify-content:space-between;align-items:center;gap:8px;display:flex}.cost{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:11px}.queue{flex-direction:column;gap:4px;display:flex}.qitem{grid-template-columns:1fr auto;align-items:center;gap:3px 6px;font-size:12px;display:grid}.qitem .bar{grid-column:1/-1}.qcancel{clip-path:none;padding:0 7px;font-size:14px;line-height:18px}.qcancel:hover{border-color:var(--bad);color:var(--bad)}.counts{align-items:center;gap:4px;margin-bottom:6px;font-size:12px;display:flex}.counts .muted{margin-right:4px}.chip{clip-path:none;padding:2px 9px;font-size:12px}.chip.active{border-color:var(--accent);color:var(--text);background:#5fd4ff2e}.shiplist{flex-direction:column;gap:4px;display:flex}.shiprow{align-items:center;gap:8px;display:flex}.shiprow .n{text-align:right;min-width:28px;color:var(--accent);font-family:JetBrains Mono,monospace}.shiprow button{margin-left:auto;padding:2px 8px;font-size:11px}.actions{flex-wrap:wrap;gap:6px;display:flex}.hint{color:var(--muted);border-left:2px solid var(--accent);padding-left:8px;font-size:12px}.fleetlink{cursor:pointer;border-left:3px solid var(--c);background:#ffffff08;padding:4px 6px}.fleetlink:hover{background:#5fd4ff1a}.galaxy-name{color:#8fb3e0;margin-top:-8px}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tabs .tab{clip-path:none;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:1px solid #0000;border-bottom:none;flex:1;padding:7px 10px;font-size:12px}.tabs .tab.active{color:var(--text);border-color:var(--line);box-shadow:inset 0 2px 0 var(--accent);background:#5fd4ff1f}.tabs .tab small{color:var(--energy);font-family:JetBrains Mono,monospace}.buildings{flex-direction:column;gap:8px;display:flex}.building{border-left:2px solid var(--line);background:#ffffff08;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.bname{justify-content:space-between;align-items:center;font-weight:600;display:flex}.pips{gap:3px;display:flex}.pips i{background:#ffffff1f;width:10px;height:4px}.pips i.on{background:var(--energy)}.pips i.plan{box-shadow:inset 0 0 0 1px var(--energy);background:0 0}.beffect{color:var(--muted);font-size:11px}.building button{justify-content:space-between;gap:8px;padding:4px 10px;font-size:12px;display:flex}.build-bar>i{background:var(--energy)}.research-btn{border-color:var(--crystal);background:#c77dff1f;padding:3px 10px;font-family:"Exo 2",sans-serif;font-size:12px}.settings-btn{padding:2px 8px;font-size:15px;line-height:1}.settings-btn.open{border-color:var(--accent)}.settings-menu{z-index:20;background:var(--panel-solid);border:1px solid var(--line-strong);flex-direction:column;gap:6px;min-width:200px;padding:8px;font-size:13px;display:flex;position:fixed}.settings-menu>button{text-align:left}.settings-menu .danger-text{color:var(--bad)}.settings-sound{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-volume{flex-direction:row;align-items:center;gap:8px;display:flex}.settings-volume input{accent-color:var(--accent);background:0 0;border:0;flex:1;padding:0}.settings-volume small{text-align:right;width:3.5em;color:var(--muted)}.research-btn.idle{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{background:#c77dff59}}#research{background:var(--panel-solid);border:1px solid var(--line-strong);width:min(980px,100vw - 20px);max-height:calc(100vh - 80px);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));z-index:5;padding:18px 20px;position:absolute;top:60px;left:50%;overflow-y:auto;transform:translate(-50%)}.research-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.research-head h2{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:18px}.rtabs{margin-bottom:12px}.trow{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:10px;display:grid}.building.locked{opacity:.55}.branch{flex-direction:column;gap:8px;display:flex}.branch h3{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px}.tech{border:1px solid var(--line);background:#ffffff08;flex-direction:column;gap:5px;padding:10px 12px;font-size:13px;display:flex}.tech .desc{font-size:12px}.tech.done{border-color:#7ee08a80}.tech.active{border-color:var(--crystal);background:#c77dff14}.tech.active .bar>i{background:var(--crystal)}.tech.locked{opacity:.45}.tname{align-items:center;gap:8px;font-weight:600;display:flex}.tier{border:1px solid var(--line-strong);place-items:center;width:18px;height:18px;font-family:JetBrains Mono,monospace;font-size:11px;display:grid}.teffect{color:var(--energy);font-size:12px}.tstate{color:var(--muted);font-size:12px}.tech.done .tstate{color:var(--good)}.tech button{justify-content:space-between;gap:8px;display:flex}#chat{flex-direction:column;gap:4px;width:340px;display:flex;position:absolute;bottom:10px;left:10px}#chat-log{text-shadow:0 1px 2px #000;flex-direction:column;gap:2px;max-height:160px;font-size:13px;display:flex;overflow-y:auto}#chat-input{background:var(--panel);font-size:13px}#minimap{border:1px solid var(--line);cursor:pointer;background:#040810d9;width:240px;height:160px;position:absolute;bottom:10px;left:360px}#help{color:var(--muted);letter-spacing:.04em;font-size:11px;position:absolute;bottom:10px;right:10px}#toasts{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);border:1px solid var(--line);border-left:3px solid var(--accent);pointer-events:auto;cursor:pointer;padding:6px 14px;font-size:13px;animation:.25s ease-out toast-in}.toast.good{border-left-color:var(--good)}.toast.bad{border-left-color:var(--bad)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}#over{text-align:center;background:#02040ab3;place-items:center;font-size:18px;display:grid;position:absolute;inset:0}#over h2{letter-spacing:.2em;margin:0 0 10px;font-size:42px}@media (width<=760px){#leftcol{width:160px;font-size:12px}#panel{width:auto;max-height:45vh;inset:auto 10px 10px}#game #chat,#help{display:none}.trow{grid-template-columns:1fr}#minimap{width:150px;height:100px;inset:60px 10px auto auto}}.res small.cap{margin-left:-3px}.res.full b,.res.full small.cap{color:var(--bad)}.bright{align-items:center;gap:8px;display:flex}.building button.demolish{clip-path:none;color:var(--muted);padding:1px 6px;font-size:10px}.building button.demolish:hover{border-color:var(--bad);color:var(--bad)}#homelost{border:1px solid var(--bad);color:#fff;letter-spacing:.02em;white-space:nowrap;z-index:5;background:#781414e0;padding:8px 22px;font-weight:600;animation:1.4s ease-in-out infinite homelost-pulse;position:absolute;top:56px;left:50%;transform:translate(-50%)}#homelost:not(.hidden)~#toasts{top:108px}#homelost b{font-family:JetBrains Mono,monospace}#raids{border:1px solid var(--bad);color:#fff;white-space:nowrap;z-index:5;background:#78460ae0;gap:18px;padding:8px 22px;font-weight:600;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}#raids b{font-family:JetBrains Mono,monospace}#homelost:not(.hidden)~#raids,#raids:not(.hidden)~#toasts{top:108px}#homelost:not(.hidden)~#raids:not(.hidden)~#toasts{top:160px}@keyframes homelost-pulse{50%{border-color:#0000}}.settings .goal-desc{grid-column:1/-1;margin:0;font-size:12px}.settings .goal-warn{color:#ff8a5c}.goal-line{color:#ffd250;margin:0 0 6px;font-size:12px}#goalbar{color:#fff;white-space:nowrap;z-index:5;background:#3c320ae0;border:1px solid #ffd250;padding:8px 22px;font-weight:600;position:absolute;top:56px;left:50%;overflow:hidden;transform:translate(-50%)}#goalbar .dot{margin-right:8px;display:inline-block}#goalbar b{font-family:JetBrains Mono,monospace}#goalbar i{height:3px;position:absolute;bottom:0;left:0}#homelost:not(.hidden)~#goalbar,#raids:not(.hidden)~#goalbar{top:108px}#homelost:not(.hidden)~#raids:not(.hidden)~#goalbar{top:160px}#goalbar:not(.hidden)~#toasts{top:108px}#homelost:not(.hidden)~#goalbar:not(.hidden)~#toasts,#raids:not(.hidden)~#goalbar:not(.hidden)~#toasts{top:160px}#homelost:not(.hidden)~#raids:not(.hidden)~#goalbar:not(.hidden)~#toasts{top:212px}.build button{flex-direction:column;align-items:stretch;gap:2px}.bhead{justify-content:space-between;align-items:center;gap:8px;display:flex}.ship-ico{vertical-align:middle;flex:none;width:20px;height:20px;margin-right:6px}.shiptable .strow>span:first-child{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:10;align-items:center;min-width:0;display:flex}.shiptable .ship-ico{width:16px;height:16px;margin-right:4px}.sstats{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px}.shiptable{grid-template-columns:1fr 40px 52px 58px auto;gap:3px 6px;font-size:12px;display:grid}.shiptable>.strow{grid-column:1/-1;grid-template-columns:subgrid}.strow{grid-template-columns:1fr 40px 52px 58px auto;align-items:center;gap:6px;display:grid}.strow>span:not(:first-child){text-align:right;font-family:JetBrains Mono,monospace}.strow button{padding:1px 6px;font-size:11px}.sthead{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.stfoot{border-top:1px solid var(--line);padding-top:3px;font-weight:600}.stats dd.wrap{white-space:normal}.spy{color:var(--accent);flex-direction:column;gap:3px;font-size:12px;display:flex}#reports{background:var(--panel-solid);border:1px solid var(--line-strong);width:min(560px,100vw - 20px);max-height:calc(100vh - 80px);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));z-index:5;padding:18px 20px;font-size:13px;position:absolute;top:60px;left:50%;overflow-y:auto;transform:translate(-50%)}.report{cursor:pointer;border-left:3px solid var(--accent);background:#ffffff08;margin-bottom:6px;padding:6px 8px}.report.good{border-left-color:var(--good)}.report.bad{border-left-color:var(--bad)}.report:hover{background:#5fd4ff1a}.rhead{align-items:baseline;gap:10px;display:flex}.rhead small{margin-left:auto}.rside{font-size:12px}.over-card{background:var(--panel-solid);border:1px solid var(--line-strong);width:min(980px,96vw);max-height:94vh;padding:20px;overflow-y:auto}.statstable{text-align:right;flex-direction:column;gap:4px;font-size:13px;display:flex}.statstable .strow{grid-template-columns:1.4fr .7fr 2fr .8fr .8fr .8fr 1fr .7fr}.statstable .strow>span:first-child{text-align:left}.charts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px;display:grid}.charts figure{margin:0}.charts figcaption{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px}.charts svg{background:#ffffff08;width:100%}.charts text{fill:var(--muted);font:9px JetBrains Mono,monospace}.charts .axis{stroke:var(--line-strong);stroke-width:1px}#pausebar{color:#fff;white-space:nowrap;z-index:6;background:#14325ae6;border:1px solid #6aa8ff;align-items:center;gap:14px;padding:6px 22px;font-weight:600;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%)}#pausebar b{font-family:JetBrains Mono,monospace}#pausebar:not(.hidden)~#homelost,#pausebar:not(.hidden)~#raids,#pausebar:not(.hidden)~#goalbar,#pausebar:not(.hidden)~#toasts{margin-top:52px}.pause-btn:disabled{opacity:.45;cursor:default}#game.paused [data-act=research],#game.paused [data-act=propose],#game.paused [data-act=respond],#game.paused [data-act=war],#game.paused [data-act=break],#game.paused [data-act=build],#game.paused [data-act=cancel-construct],#game.paused [data-act=cancel-build],#game.paused [data-act=construct],#game.paused [data-act=demolish],#game.paused [data-act=found-home],#game.paused [data-act=merge],#game.paused [data-act=merge-group],#game.paused [data-act=stop-group],#game.paused [data-act=colonize],#game.paused [data-act=stop],#game.paused [data-act=split-half],#game.paused [data-act=split-class]{opacity:.4;cursor:not-allowed}.modal-back{z-index:50;background:#02040a8c;place-items:center;display:grid;position:absolute;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--line-strong);width:min(360px,100vw - 32px);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));padding:16px 18px}.modal h3{margin:0 0 8px;font-size:15px}.modal p{color:var(--muted);margin:0 0 16px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}button.danger{border-color:var(--bad);background:#ff6b6b26}button.danger:hover:not(:disabled){border-color:var(--bad);background:#ff6b6b4d}#production{flex-shrink:0;max-height:40vh}#players{flex-shrink:1}.prod-head{cursor:pointer;gap:6px;display:flex}.prod-head span{margin-left:auto}.prod{flex-direction:column;gap:3px;display:flex}.prod-name{cursor:pointer;font-weight:600}.prod-line{cursor:pointer;grid-template-columns:1fr auto;gap:2px 6px;font-size:12px;display:grid}.prod-line .bar{grid-column:1/-1}.prod-name:hover,.prod-line:hover span{color:var(--accent)}.lobby-card{max-height:calc(100vh - 32px);overflow-y:auto}.lobby-card a,.modal a{color:var(--accent)}.account-bar{z-index:10;position:absolute;top:14px;right:16px}#lobby.in-room .account-bar{display:none}.account-nick{font-weight:600}.account-menu{background:var(--panel-solid);border:1px solid var(--line-strong);flex-direction:column;min-width:170px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.account-menu button{text-align:left;clip-path:none;border:0;padding:8px 12px}.account-menu .danger-text{color:var(--bad)}.verify-bar{border-left:3px solid var(--energy);background:#ffd1661a;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.verify-bar span{overflow-wrap:anywhere;flex:1}.verify-bar button{flex-shrink:0;padding:3px 10px;font-size:12px}#my-games h2{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:13px;font-weight:600}#my-games p{margin:0;font-size:13px}.my-games{flex-direction:column;gap:6px;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.my-games li{border-left:3px solid var(--line-strong);background:#ffffff08;align-items:center;gap:10px;padding:8px 10px;display:flex}.mg-code{color:var(--accent);letter-spacing:.15em;font-family:JetBrains Mono,monospace}.mg-info{min-width:0;color:var(--muted);flex-wrap:wrap;flex:1;align-items:center;gap:2px 6px;font-size:12px;display:flex}.mg-status.running{color:var(--good)}.mg-status.paused{color:var(--energy)}.mg-dots{gap:4px;width:100%;display:flex}.mg-dot{background:var(--c);opacity:.3;border-radius:50%;width:9px;height:9px}.mg-dot.on{opacity:1;box-shadow:0 0 5px var(--c)}.mg-dot.you{outline:1px solid var(--text);outline-offset:1px}.my-games button{flex-shrink:0;padding:4px 10px;font-size:12px}.my-games .danger-text{color:var(--bad)}#my-games .mg-error:empty{display:none}.guest-actions{gap:8px;display:flex}.guest-actions button{flex:1}.lobby-foot{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;font-size:12px;display:flex}.lang-switch{gap:2px;display:inline-flex}.lang-btn{color:var(--muted);background:0 0;border:0;padding:2px 6px;font-size:12px}.lang-btn.active{color:var(--accent)}.settings-lang{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;display:flex}.account-form{flex-direction:column;gap:10px;display:flex}.account-form h3,.account-form p{margin:0}.account-form .error{color:var(--bad);font-size:13px}.form-extra{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}.privacy-card{width:min(680px,100%);font-size:14px;line-height:1.5}.privacy-card h2{margin:0}.privacy-card h3{color:var(--accent);margin:12px 0 4px;font-size:15px}.privacy-card p,.privacy-card ul{margin:0 0 6px}#netbar{border:1px solid var(--bad);color:#fff;white-space:nowrap;z-index:7;background:#5a1414eb;padding:6px 22px;font-weight:600;position:absolute;top:56px;left:50%;transform:translate(-50%)}#netbar:not(.hidden)~#pausebar,#netbar:not(.hidden)~#homelost,#netbar:not(.hidden)~#raids,#netbar:not(.hidden)~#goalbar,#netbar:not(.hidden)~#toasts{translate:0 46px}.guest-name{margin:0;font-size:13px}.prow .race,.statstable .race{color:var(--muted);font-size:11px}.races-modal{width:min(900px,100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto}.races-table{flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.race-row{background:#ffffff08;border-left:3px solid #0000;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:12px;padding:8px 10px;display:grid}.race-row.mine{border-left-color:var(--accent);background:#ffffff12}.race-head{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:0 0;font-size:11px}.race-row ul{margin:0;padding:0;list-style:none}.race-name p{margin:4px 0 0;font-size:12px}.race-yours{color:var(--accent)}.race-pro{color:var(--good)}.race-con{color:var(--bad)}@media (width<=640px){.race-row{grid-template-columns:1fr;gap:4px}.race-head{display:none}}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.link-btn:hover{text-decoration:underline}.donate p{margin-bottom:12px}.donate-amounts{gap:6px;margin-bottom:10px;display:flex}.donate-amounts button{flex:1;padding:4px 0}.donate-amounts button.active{border-color:var(--accent);color:var(--text)}.donate-qr{background:#fff;width:180px;margin:0 auto 8px}.donate-qr svg{width:100%;height:auto;display:block}.modal p.donate-hint{text-align:center;margin-bottom:4px}.modal p.donate-iban{text-align:center;-webkit-user-select:all;user-select:all}.donate-kofi{text-align:center;border:1px solid var(--line-strong);margin-bottom:14px;padding:8px;display:block}.donate-tabs{margin-bottom:12px}
