:root{--bg:#03050a;--panel:#0a0f1ac7;--panel-solid:#0b111d;--line:#50c8ff38;--line-strong:#50c8ff80;--text:#d8e6f5;--dim:#7d8ca3;--accent:#35d0ff;--accent-2:#9b7bff;--good:#5dff7a;--warn:#ffa53a;--bad:#ff4d5a;--head:"Rajdhani", "Segoe UI", sans-serif;--body:"Inter", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--body);-webkit-user-select:none;user-select:none;margin:0;font-size:14px;overflow:hidden}#app{position:fixed;inset:0}button{font:inherit;color:inherit}input{font:inherit;color:var(--text);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#00000059;border-radius:6px;outline:none;padding:8px 10px}input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #35d0ff26}a{color:var(--accent)}.dim{color:var(--dim)}.small{font-size:12px}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:12px 14px;box-shadow:0 8px 30px #00000059,inset 0 1px #ffffff0a}.label{font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:13px;font-weight:600}.btn{border:1px solid var(--line-strong);cursor:pointer;font-family:var(--head);letter-spacing:.04em;background:linear-gradient(#35d0ff29,#35d0ff0f);border-radius:7px;padding:7px 12px;font-size:15px;font-weight:600;transition:background .12s,border-color .12s,transform 60ms}.btn:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(#35d0ff4d,#35d0ff1f)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{color:#031018;background:linear-gradient(#35d0ff,#1f8fd6);border-color:#7fe3ff}.btn.primary:hover:not(:disabled){background:linear-gradient(#6fe0ff,#2aa4ea)}.btn.big{padding:11px 18px;font-size:19px}.btn.icon{width:34px;height:34px;padding:0;font-size:16px}.btn.sell{background:linear-gradient(#ffa53a29,#ffa53a0d);border-color:#ffa53a80}.key{font-family:var(--body);color:var(--dim);vertical-align:2px;border:1px solid #ffffff40;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:10px;font-weight:600;display:inline-block}.row-btns{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.swatch{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block;box-shadow:0 0 8px}.tag{font-family:var(--head);letter-spacing:.1em;color:var(--accent);background:#35d0ff2e;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.tag.air{color:#e2ff3d;background:#e2ff3d26}.tag.boss{color:#ff5a7a;background:#ff2d552e}.screens{background:radial-gradient(ellipse at 20% 0%, #9b7bff2e, transparent 55%), radial-gradient(ellipse at 90% 100%, #35d0ff29, transparent 50%), linear-gradient(#35d0ff0d 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, #35d0ff0d 1px, transparent 1px) 0 0 / 40px 40px, var(--bg);-webkit-user-select:text;user-select:text;padding:0;position:absolute;inset:0;overflow:auto}h3{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 10px;font-size:15px}.tower-strip{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.tower-strip div{color:var(--dim);align-items:center;gap:6px;font-size:12px;display:flex}.ticon{flex:none;width:32px;height:32px}.cicon{vertical-align:-2px;width:14px;height:14px;margin-right:3px}.slots{grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 6px;display:grid}.slot{border:1px solid var(--line);border-left:3px solid var(--c,var(--line));background:#00000040;border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:8px 10px;display:flex}.slot.empty{opacity:.45;border-style:dashed;border-left-width:1px}.slot.me{background:#35d0ff14}.slot .lane{font-family:var(--head);color:var(--dim);text-transform:uppercase;letter-spacing:.1em;width:48px;font-size:12px}.slot .pname{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.line{word-wrap:break-word;padding:2px 0;line-height:1.35}.line.sys{color:var(--dim);font-style:italic}.center{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:360px;margin:0 auto;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){.slots{grid-template-columns:1fr}}.game{position:absolute;inset:0}.game canvas.gl{z-index:0;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.floaters{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.floater{font-family:var(--head);color:#ffe14d;text-shadow:0 0 6px #000000e6,0 0 10px #ffe14d80;white-space:nowrap;font-size:15px;font-weight:700;position:absolute;top:0;left:0}.floater.big{font-size:26px}.hud{z-index:2;pointer-events:none;position:absolute;inset:0}.hud>*,.hud .bottom>*{pointer-events:auto}.hud .bottom,.hud .banner,.hud .toasts,.hud .warn{pointer-events:none}.top-left{min-width:210px;position:absolute;top:12px;left:12px}.wave-line{font-family:var(--head);font-size:15px}.wave-line b{color:#fff;margin-left:4px;font-size:30px}.phase-line{font-family:var(--head);margin-top:2px;font-size:15px}.phase-line b{color:#fff;margin-left:6px;font-size:24px}.phase-line .hot,.label.hot{color:var(--warn)}.btn.ready{width:100%;margin-top:8px}.btn.ready.on{border-color:var(--good);color:#dfffe5;background:linear-gradient(#5dff7a4d,#5dff7a1a)}.top-right{text-align:right;min-width:180px;position:absolute;top:12px;right:12px}.top-right .row-btns{justify-content:flex-end;margin-top:8px}.credits{font-family:var(--head);color:#ffe14d;text-shadow:0 0 14px #ffe14d59;font-size:34px;font-weight:700;line-height:1}.credits .hex{vertical-align:4px;margin-right:6px;font-size:22px}.lives{font-family:var(--head);justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.lives .castle{color:var(--dim);margin-right:4px;font-size:16px}.lives .castle b{color:var(--text)}.lives .castle i{font-size:12px;font-style:normal}.lives .castle.low b{color:var(--bad)}.lives .heart{color:#ff5a7a;text-shadow:0 0 10px #ff4d6e80;font-size:18px}.lives .heart b{color:var(--text)}.lives .heart.low{animation:.9s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}40%{transform:scale(1.18)}}.lives .buylife{padding:2px 8px;font-size:12px}.lives .out{color:var(--bad);letter-spacing:.04em;font-size:13px}.prow .plives{font-family:var(--head);color:#ff7a94;font-size:12px}.prow .plives.low{color:var(--bad);font-weight:700}.prow.out .pname{opacity:.6;text-decoration:line-through}.hud.hurt:after{content:"";pointer-events:none;animation:.9s ease-out forwards hurt;position:absolute;inset:0;box-shadow:inset 0 0 120px #ff1e328c}@keyframes hurt{0%{opacity:1}to{opacity:0}}.interest{font-family:var(--head);letter-spacing:.04em;color:var(--dim);cursor:help;margin-top:3px;font-size:13px}.interest b,.ready .rb{color:#ffe14d}.ready:disabled{opacity:1;cursor:default}.interest .max{letter-spacing:.1em;text-transform:uppercase;color:var(--good);font-size:10px}.link{cursor:pointer}.link:hover{color:var(--accent)}.next{text-align:center;max-width:min(46vw,100vw - 616px);padding:8px 14px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.next .whead{justify-content:center;align-items:center;gap:6px;display:flex}.next .whead .tag{margin:0}.next .wus{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:6px;display:flex}.next .wu{text-align:left;cursor:help;align-items:center;gap:7px;display:flex}.next .wu .cameo,.next .wu .cicon{border:1px solid var(--line);box-sizing:border-box;background:#ffffff0a;border-radius:7px;flex:none;width:36px;height:36px;margin:0}.next .wu .cicon{padding:8px}.next .wn{white-space:nowrap;font-size:14px;line-height:1.15}.next .wn b{font-family:var(--head);color:var(--text);margin-right:2px;font-size:17px}.next .wt{color:var(--dim);font-size:11px}.next .wt .flying{color:#7fd6ff}.next .wt .boss{color:#ff6a7a;font-weight:700}.next .wnext{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin-top:7px;padding-top:6px;font-size:12px;display:flex}.next .wnext .tag{margin:0}.next .wl{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.next .wl b{color:var(--text)}.next .wl .cameo,.next .wl .cicon{border-radius:4px;width:20px;height:20px;margin:0}.next .wlw{white-space:nowrap}.next .dw{color:var(--c);font-weight:700}.btn.on{box-shadow:inset 0 0 0 2px #fff}.btn.danger{background:linear-gradient(#ff4d5a40,#ff4d5a14);border-color:#ff4d5ab3}.btn.danger:hover:not(:disabled){border-color:var(--bad);background:linear-gradient(#ff4d5a66,#ff4d5a26)}.overlay .menu-card{flex-direction:column;gap:8px;min-width:320px;max-width:360px;display:flex}.menu-card .sep{background:var(--line);height:1px;margin:4px 0}.prow .lname{font-family:var(--head);color:var(--dim);width:20px;font-size:12px;font-weight:700}.players{width:280px;padding:6px;position:absolute;top:150px;left:12px}.prow{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:5px 7px;font-size:13px;display:flex}.prow:hover{background:#35d0ff14}.prow.me{background:#35d0ff1a}.prow.away{opacity:.55}.prow .pname{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.prow .pcred{color:#ffe14d;font-family:var(--head);font-size:14px;font-weight:700}.prow .pkills{color:var(--dim);text-align:right;min-width:34px;font-size:12px}.prow .rdy{color:#ffffff26;font-weight:700}.prow .rdy.on{color:var(--good)}.banner{text-align:center;opacity:0;transition:opacity .35s,transform .35s;position:absolute;top:20%;left:50%;transform:translate(-50%,-10px)}.banner.show{opacity:1;transform:translate(-50%)}.banner .big{font-family:var(--head);letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:0 0 24px #35d0ffcc,0 2px #0009;font-size:64px;font-weight:700}.banner .sub{font-family:var(--head);letter-spacing:.1em;color:var(--accent);text-shadow:0 0 10px #000000e6;font-size:22px}.banner.air .sub{color:#e2ff3d}.banner.boss .big{text-shadow:0 0 30px #ff2d55e6}.banner.boss .sub{color:#ff5a7a}.banner.good .big{text-shadow:0 0 24px #5dff7ab3}.warn{color:#ffd0d4;background:#ff2d2d2e;border:1px solid #ff4d5ab3;border-radius:20px;padding:6px 14px;font-weight:600;animation:1.2s ease-in-out infinite pulse;position:absolute;top:84px;left:50%;transform:translate(-50%)}@keyframes pulse{50%{background:#ff2d2d52}}.bottom{flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 16px);display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hint{text-shadow:0 1px 4px #000;min-height:18px;font-size:13px}.hint .bad{color:#ff8a94}.hint .warnc{color:var(--warn)}.tip{width:360px;padding:10px 12px}.tname{font-family:var(--head);align-items:center;gap:6px;font-size:19px;font-weight:700;display:flex}.tname .ticon{width:26px;height:26px}.tblurb{color:var(--text);margin:4px 0;font-size:13px}.tstats{color:var(--dim);flex-direction:column;font-size:12px;display:flex}.tstats.nextlvl{color:#8fd8a0;margin-top:4px}.buildbar{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior-x:contain;scrollbar-width:none;border-radius:12px;gap:6px;max-width:100%;padding:6px;display:flex;overflow-x:auto}.buildbar::-webkit-scrollbar{display:none}.tbtn{border:1px solid var(--line);cursor:pointer;background:linear-gradient(#ffffff0d,#0003);border-radius:9px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;transition:border-color .1s,background .1s,transform 60ms;display:flex;position:relative}.tbtn .ticon{width:40px;height:40px;margin-top:-8px}.tbtn:hover{border-color:var(--accent);background:#35d0ff1f}.tbtn.active{border-color:var(--accent);background:#35d0ff38;box-shadow:0 0 14px #35d0ff66,inset 0 0 12px #35d0ff33}.tbtn.poor{opacity:.45}.buildbar.locked .tbtn{opacity:.35;filter:grayscale(.7)}.tbtn .key{margin:0;position:absolute;top:3px;left:3px}.tbtn .cost{text-align:center;font-family:var(--head);color:#ffe14d;font-size:13px;font-weight:700;position:absolute;bottom:3px;left:0;right:0}.selection{width:300px;position:absolute;bottom:12px;right:12px}.star{color:#ffffff2e;font-size:14px}.star.on{color:#ffe14d;text-shadow:0 0 6px #ffe14d99}.hpbar{background:#00000080;border:1px solid #ffffff14;border-radius:4px;height:14px;margin:8px 0;position:relative;overflow:hidden}.hpbar div{height:100%}.hpbar span{text-align:center;text-shadow:0 0 3px #000;font-size:10px;font-weight:600;line-height:13px;position:absolute;inset:0}.chat{flex-direction:column;gap:6px;width:360px;display:flex;position:absolute;bottom:12px;left:12px}.chat .log{text-shadow:0 1px 3px #000,0 0 2px #000;opacity:.55;max-height:170px;font-size:13px;transition:opacity .4s;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 30%);mask-image:linear-gradient(#0000,#000 30%)}.chat.fresh .log,.chat:focus-within .log,.chat:hover .log{opacity:1}.chat input{opacity:.6;background:#05080eb3}.chat input:focus{opacity:1}@media (width<=1620px){.hud:not(.touch) .chat{bottom:124px}.hud:not(.touch) .chat .log{max-height:min(170px,100vh - 600px)}}@media (width>=901px) and (height>=561px){.hud.touch .chat{display:none}.hud.touch .btn[data-act=chat]{justify-content:center;align-items:center;display:inline-flex}.hud.touch.show-chat .chat{z-index:3;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(420px,100vw - 24px);padding:6px;display:flex;bottom:112px}.hud.touch.show-chat .chat .log{opacity:1;max-height:30vh;overflow:auto}}.toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:120px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:8px;padding:7px 14px;font-weight:600;transition:opacity .5s;box-shadow:0 6px 20px #0006}.toast.bad{color:#ffc2c7;border-color:#ff4d5ab3}.toast.gone{opacity:0}.toast.floating{z-index:10;position:fixed;top:20px;left:50%;transform:translate(-50%)}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;background:#0204088c;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0;pointer-events:none!important}.overlay.show{opacity:1;pointer-events:auto!important}.overlay .card{background:var(--panel-solid);border:1px solid var(--line-strong);-webkit-user-select:text;user-select:text;border-radius:14px;min-width:380px;max-width:560px;padding:26px 30px;box-shadow:0 20px 60px #0009}.overlay h1{font-family:var(--head);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:52px}.overlay h2{font-family:var(--head);color:var(--accent);letter-spacing:.08em;margin:0 0 8px;font-size:30px}.overlay .card.win h1{color:var(--good);text-shadow:0 0 20px #5dff7a99}.overlay .card.lose h1{color:var(--bad);text-shadow:0 0 20px #ff4d5a99}.overlay table{border-collapse:collapse;width:100%;margin:14px 0 6px}.overlay th{text-align:left;font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);padding:4px 6px;font-size:12px}.overlay td{border-top:1px solid #ffffff0f;padding:5px 6px}.overlay td .swatch{margin-right:8px}.overlay.help .card{max-width:620px;line-height:1.5}.keys td:first-child{font-family:var(--head);color:var(--accent);white-space:nowrap;padding-right:14px;font-weight:700}.aimsel{margin:6px 0 2px}.aimsel .label{margin-bottom:3px;display:block}.aims{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.aimchip{border:1px solid var(--line);color:var(--dim);font:600 11px var(--body,inherit);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;background:#ffffff0a;border-radius:5px;padding:3px 4px;overflow:hidden}.aimchip:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.aimchip.on{border-color:var(--accent);color:var(--text);background:#35d0ff2e}.aimchip:disabled{opacity:.5;cursor:default}.aimpanel{pointer-events:auto;width:340px;max-height:64vh;display:none;position:absolute;top:50%;right:12px;overflow:auto;transform:translateY(-50%)}.aimpanel.show{display:block}.aimhead{font-family:var(--head);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.aimhead .close{color:var(--dim);cursor:pointer;background:0 0;border:none;font-size:14px}.aimrow{border-top:1px solid var(--line);padding:7px 0}.aimname{align-items:center;gap:8px;margin-bottom:5px;font-size:13px;display:flex}.aimname .cameo,.aimname svg{border-radius:5px;width:30px;height:30px}.aimname i{color:var(--dim);font-size:11px;font-style:normal;display:block}.btn.icon.on{border-color:var(--accent)}.selection .row-btns{gap:6px}.selection .row-btns .btn{flex:auto;padding:6px 8px;font-size:13px}.selection .row-btns .btn .key{margin-left:2px}.hpbar.shield div{background:#3dd6ff}.tname .cicon{width:22px;height:22px}.tname .tag{margin-left:2px}.slowed{color:#8fe8ff}.cnotes{color:var(--dim);flex-direction:column;gap:2px;margin-top:6px;font-size:12px;display:flex}.tower-strip .dicon{width:26px;height:26px}.fpick{margin-top:12px}.tag.ai{color:#c4b0ff;background:#9b7bff33;margin-left:4px}.slot .addbot{pointer-events:auto;margin-left:auto;padding:2px 8px;font-size:12px}.slot .cycle{border:1px solid var(--line);cursor:pointer;background:#ffffff0d;border-radius:5px;padding:2px 3px;line-height:0}.slot .cycle:hover{border-color:var(--accent)}.slot .rmbot{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px}.slot .rmbot:hover{color:var(--bad)}.factions{grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 10px;display:grid}.fcard{text-align:left;border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:#ffffff08;border-radius:10px;flex-direction:column;gap:4px;padding:10px;transition:border-color .12s,background .12s;display:flex}.fcard:hover{border-color:var(--c)}.fcard.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 16%, transparent);box-shadow:0 0 14px color-mix(in srgb, var(--c) 35%, transparent)}.fcard .fname{font:700 17px var(--head);color:var(--c);align-items:center;gap:6px;display:flex}.fcard .fname .dicon{width:22px;height:22px}.fcard .fstyle{font:600 12px var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--text)}.fcard .fblurb{color:var(--dim);font-size:11px;line-height:1.35}.slot .sfac,.prow .pfac{line-height:0}.slot .sfac .dicon,.prow .pfac .dicon{width:16px;height:16px}.gfaction h4{font:700 17px var(--head);letter-spacing:.04em;align-items:center;gap:6px;margin:12px 0 2px;display:flex}.gfaction h4 .dicon{width:20px;height:20px}.gfaction p{margin:0 0 6px}.matrix .fhead{font:700 12px var(--head);letter-spacing:.06em;text-align:center}.poisoned{color:#9dff3d}.burning{color:#ff9a3d}.boosted{color:#ffd23d;margin-top:3px;font-size:12px}.overlay .sound-card{min-width:380px;max-width:440px}.vol{grid-template-columns:112px 1fr 44px;align-items:center;gap:10px;padding:2px 0;display:grid}.vol .vname{font-family:var(--head);letter-spacing:.04em;flex-direction:column;font-size:15px;font-weight:700;display:flex}.vol .vname small{font-family:var(--body);letter-spacing:0;color:var(--dim);font-size:10px;font-weight:400;line-height:1.2}.vol input[type=range]{width:100%;height:26px;accent-color:var(--accent);cursor:pointer;margin:0}.vol b{text-align:right;font-family:var(--head);color:var(--accent);font-size:14px}.sound-card .row-btns{justify-content:space-between;margin-top:6px}.cameo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;flex:none;display:block;box-shadow:inset 0 0 0 1px #78c8ff40}.tbtn{padding:0;overflow:hidden}.tbtn .cameo{width:100%;height:100%;box-shadow:none;border-radius:0;transition:transform .15s;position:absolute;inset:0}.tbtn:hover .cameo,.tbtn.active .cameo{transform:scale(1.08)}.tbtn .key,.tbtn .dmg,.tbtn .cost{z-index:1}.tbtn .key{background:#03060cb3}.tbtn .dmg{background:#03060cb3;border-radius:4px;padding:2px}.tbtn .cost{text-shadow:0 1px 2px #000;background:linear-gradient(#0000,#03060cd9 55%);padding:8px 0 1px;bottom:0}.tbtn.active{box-shadow:0 0 14px #35d0ff80, inset 0 0 0 2px var(--accent)}.tip-head{align-items:center;gap:10px;display:flex}.tip-head .cameo{width:76px;height:76px}.tname .cameo{width:52px;height:52px}.gitem .cameo{width:72px;height:72px}.dicon{vertical-align:-3px;flex:none;width:15px;height:15px}.chip{background:color-mix(in srgb, var(--c) 14%, transparent);color:var(--c);font-family:var(--head);letter-spacing:.04em;white-space:nowrap;vertical-align:1px;border-radius:4px;align-items:center;gap:3px;padding:0 5px 0 3px;font-size:12px;font-weight:700;line-height:18px;display:inline-flex}.chip+.chip{margin-left:3px}.good{color:var(--good)}.bad{color:var(--bad)}.defhint{vertical-align:-2px;background:#ffffff0f;border-radius:4px;align-items:center;gap:4px;margin-left:2px;padding:0 4px;display:inline-flex}.defhint .vs{align-items:center;gap:1px;font-size:9px;display:inline-flex}.defhint .vs.up{color:var(--good)}.defhint .vs.down{color:var(--bad)}.defhint .vs .dicon{width:13px;height:13px}.next .best{color:var(--dim);margin-top:6px;font-size:12px}.next .guide-link{border:1px solid var(--line);color:var(--dim);font:600 11px var(--head);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:4px;margin-left:6px;padding:0 6px}.next .guide-link:hover{color:var(--accent);border-color:var(--accent)}.banner .sub .chip{font-size:20px;line-height:26px}.banner .sub .dicon{width:22px;height:22px}.tbtn .dmg{line-height:0;position:absolute;top:3px;right:3px}.tbtn .dmg .dicon{width:13px;height:13px}.tdmg{color:var(--dim);margin:4px 0 2px;font-size:12px}.tdmg .small .chip{padding:0 2px}.lvl{font:700 13px var(--head);color:var(--text);letter-spacing:.06em;margin:0 4px 0 6px}.pip{background:var(--c);width:7px;height:7px;box-shadow:0 0 6px var(--c);vertical-align:2px;border-radius:2px;margin-right:2px;display:inline-block}.overlay .held{font-size:18px}.overlay.guide .card{max-width:820px;max-height:88vh;line-height:1.45;overflow:auto}.overlay h3{font-family:var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:18px 0 6px;font-size:18px}.overlay ul{margin:4px 0 14px;padding-left:18px}.overlay li{margin-bottom:4px}.overlay table.matrix{width:auto;margin:10px auto 4px}.matrix th,.matrix td{text-align:center;padding:4px 8px}.matrix tr th:first-child{text-align:left}.matrix td.m{font:700 15px var(--head);color:var(--dim)}.matrix td.m.up{color:var(--good);background:#5dff7a14}.matrix td.m.down{color:var(--bad);background:#ff4d5a14}.glist{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px;display:grid}.gstats{color:var(--dim);flex-wrap:wrap;gap:2px 12px;margin:3px 0 1px;font-size:12px;display:flex}.gstats b{color:var(--text);font-family:var(--head);font-size:13px}.gup{margin-bottom:2px;font-size:11px}.gup b{color:var(--text)}.gitem>.cameo{border-radius:7px;flex:none;width:52px;height:52px}.gitem{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;align-items:flex-start;gap:10px;padding:8px;font-size:13px;display:flex}.gitem>div{flex-direction:column;gap:3px;min-width:0;display:flex}.gitem .ticon{width:36px;height:36px}.gitem .cicon{width:26px;height:26px;margin:4px 5px 0}.gname{font:700 16px var(--head);letter-spacing:.04em}html,body{-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation}.game canvas.gl{touch-action:none}.hud{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px)}.only-compact{display:none!important}.btn.small{margin-left:6px;padding:3px 9px;font-size:12px}.hint .done{pointer-events:auto}.btn.ping{border-color:var(--accent);box-shadow:0 0 12px #35d0ff99}.hud:not(.touch) .touchkeys,.hud.touch .keys.desk{display:none}@media (pointer:coarse){.key{display:none!important}input{font-size:16px}}@media (width<=900px),(height<=560px){.panel{border-radius:8px;padding:6px 9px}.only-compact{justify-content:center;align-items:center;display:inline-flex!important}.top-left{min-width:0;top:6px;left:6px}.wave-line,.phase-line{font-size:12px}.wave-line b{font-size:20px}.phase-line b{font-size:16px}.btn.ready{margin-top:4px;padding:4px 8px;font-size:13px}.top-right{min-width:0;top:6px;right:6px}.credits{font-size:22px}.credits .hex{vertical-align:2px;font-size:15px}.interest{margin-top:1px;font-size:11px}.top-right .row-btns{gap:4px;margin-top:4px}.btn.icon{width:32px;height:32px;font-size:15px}.players,.chat{display:none}.hud.show-players .players{z-index:3;width:min(280px,80vw);max-height:60vh;display:block;top:92px;left:6px;overflow:auto}.hud.show-chat .chat{z-index:3;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:auto;max-width:420px;padding:6px;display:flex;bottom:84px;left:6px;right:6px}.hud.show-chat .chat .log{opacity:1;max-height:30vh;overflow:auto}.next{max-width:42vw;padding:4px 8px;top:6px}.next .label{font-size:11px}.next .wus{gap:4px 10px;margin-top:3px}.next .wu .cameo,.next .wu .cicon{width:26px;height:26px}.next .wu .cicon{padding:5px}.next .wn{font-size:11px}.next .wn b{font-size:13px}.next .wt{font-size:9px}.next .wnext{gap:2px 8px;margin-top:3px;padding-top:3px;font-size:10px}.next .wl .cameo,.next .wl .cicon{width:15px;height:15px}.warn{text-align:center;max-width:80vw;padding:4px 10px;font-size:12px;top:56px}.banner .big{font-size:34px}.banner .sub{font-size:15px}.toasts{max-width:90vw;top:80px}.toast{padding:5px 10px;font-size:13px}.bottom{gap:4px;max-width:100%;bottom:6px}.hint{text-align:center;padding:0 6px;font-size:12px}.tip{width:min(360px,92vw);padding:6px 9px}.tip .tblurb{display:none}.tname{font-size:16px}.buildbar{border-radius:10px;gap:4px;padding:4px}.tbtn{border-radius:8px;width:48px;height:48px}.tbtn .ticon{width:30px;height:30px;margin-top:-6px}.tbtn .cost{font-size:11px;bottom:2px}.selection{width:min(300px,70vw);max-height:55vh;font-size:12px;bottom:64px;right:6px;overflow:auto}.selection .tstats.nextlvl{display:none}.overlay .card{width:min(420px,92vw);min-width:0;max-height:90vh;padding:16px 18px;overflow:auto}.overlay h1{font-size:32px}.overlay .menu-card{min-width:0}}@media (height<=560px){.selection{width:min(260px,32vw);max-height:calc(100% - 150px);bottom:64px}.tip{display:none}.overlay .menu-card{grid-template-columns:1fr 1fr;gap:6px;width:min(560px,92vw);display:grid}.menu-card h2,.menu-card .sep,.menu-card>.dim,.menu-card [data-act=resume]{grid-column:1/-1}.menu-card h2{margin:0;font-size:22px}.menu-card .btn{padding:6px 10px;font-size:14px}.menu-card .btn.big{padding:8px 12px;font-size:16px}}@media (width<=560px){.tbtn{width:44px;height:44px}.selection{width:auto;left:6px;right:6px}.next{max-width:92vw;top:96px}.warn,.toasts{top:196px}}@media (height<=560px){.slots{grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0 4px}.slot{min-height:32px;padding:4px 6px;font-size:12px}.slot .lane{width:auto}}@media (width<=900px),(height<=560px){.tbtn .dmg .dicon{width:10px;height:10px}.defhint .vs .dicon,.dicon{width:12px;height:12px}.next .guide-link{display:none}.next .best{margin-top:2px;font-size:10px}.next .best .chip{font-size:10px;line-height:15px}.banner .sub .chip{font-size:15px}.overlay.guide .card{width:min(820px,94vw)}.glist{grid-template-columns:1fr}.matrix th,.matrix td{padding:3px 4px}.matrix .chip{font-size:11px}.overlay .sound-card{gap:2px;width:min(440px,92vw);min-width:0;display:flex}.vol{grid-template-columns:84px 1fr 40px}.vol .vname small{display:none}}@media (width<=700px){.factions{grid-template-columns:1fr}.fcard .fblurb{display:none}}.screens .title-card,.screens .lobby .panel{-webkit-backdrop-filter:blur(6px);background:linear-gradient(#0e1624db,#050910eb);border:1px solid #50c8ff2e;border-radius:3px;position:relative;box-shadow:0 14px 36px #00000080,inset 0 1px #ffffff0d}.screens .title-card:before,.screens .title-card:after,.screens .lobby .panel:before,.screens .lobby .panel:after{content:"";pointer-events:none;width:16px;height:16px;position:absolute}.screens .title-card:before,.screens .lobby .panel:before{border-top:2px solid var(--accent);border-left:2px solid var(--accent);top:-1px;left:-1px}.screens .title-card:after,.screens .lobby .panel:after{border-bottom:2px solid #9b7bffb3;border-right:2px solid #9b7bffb3;bottom:-1px;right:-1px}.screens .lobby .panel{min-width:0;padding:16px}.screens .lobby .panel h2{font:700 16px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 14px #35d0ff4d;border-bottom:1px solid #35d0ff29;align-items:center;gap:10px;margin:0 0 12px;padding-bottom:10px;display:flex}.screens .lobby .panel h2:before{content:"";background:linear-gradient(var(--accent), var(--accent-2));flex:none;width:4px;height:18px;box-shadow:0 0 8px #35d0ff80}.screens .lobby .panel h2 .hint{text-transform:none;letter-spacing:0;text-shadow:none;font:400 12px var(--body);margin-left:auto}.screens .hint{color:var(--dim);min-height:0;text-shadow:none;margin:0;font-size:13px;line-height:1.45}.screens .hint.small{font-size:12px}.screens .hint.centre{text-align:center}.screens .hint.alert{color:#ff8a94}.screens .hint.alert:empty{display:none}.screens .btn.small{margin-left:0}.screens .btn.big.cut{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);color:#021019;font:700 17px var(--head);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(#49d8ff,#1a78c0);border-color:#8fe8ff;border-radius:0;padding:11px 24px;box-shadow:inset 0 1px #ffffff59}.screens .btn.big.cut:hover:not(:disabled){background:linear-gradient(#7ae4ff,#2a92da)}.screens .btn.icon-btn{padding:2px 7px;font-size:12px}.screens .btn.ghost{color:var(--dim);background:0 0;border-color:#0000}.screens .btn.ghost:hover:not(:disabled){color:#ff8a94;background:#ff4d5a1f;border-color:#ff4d5a80}.lock-icon{vertical-align:-1px;margin-right:3px}.title-screen{min-height:100%;padding:calc(16px + env(safe-area-inset-top,0px)) 16px 40px;flex-direction:column;align-items:center;gap:24px;display:flex}.title-hero{place-items:center;width:100%;min-height:calc(100dvh - 72px);display:grid}.title-card{flex-direction:column;align-items:stretch;gap:14px;width:min(440px,100vw - 32px);padding:34px 40px 30px;display:flex}.title-emblem .brand-mark{filter:drop-shadow(0 0 12px #35d0ff8c);width:76px;height:76px;margin:0 auto -2px;display:block}.logo{font:700 54px var(--head);letter-spacing:.12em;text-align:center;color:#e9f6ff;text-shadow:0 0 24px #35d0ff8c,0 0 2px #fff;white-space:nowrap;margin:0;line-height:1}.logo span{color:var(--accent);margin-left:.18em}.logo.small{text-shadow:0 0 14px #35d0ff80;font-size:24px}.tagline{text-align:center;color:var(--dim);text-transform:uppercase;letter-spacing:.28em;margin:-4px 0 6px;font-size:12px}.field{color:var(--dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{font:600 20px var(--head);letter-spacing:.04em}.centre-row{justify-content:center;display:flex}.title-card .btn{width:100%}.screens .google,.screens .steam{width:100%;font:600 16px var(--head);letter-spacing:.04em;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;display:flex}.screens .google{color:#1c1f24;background:#f4f6f8;border:1px solid #d0d5dc}.screens .google:hover:not(:disabled){background:#fff}.screens .google:disabled{opacity:.45;cursor:default}.screens .steam{color:#fff;background:#1b2838;border:1px solid #66c0f4}.screens .steam:hover{background:#2a475e}.home{width:min(820px,100%)}.home .panel{padding:18px 20px;position:relative}.home h2{font:700 16px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.home p,.lobby .how p{color:#b9c8da;margin:0 0 6px;line-height:1.55}.lobby{min-height:100%;padding:0 16px 24px;padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));flex-direction:column;gap:16px;display:flex}.lobby-head{z-index:20;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;-webkit-backdrop-filter:blur(8px);background:linear-gradient(#03060cf5,#03060cdb);border-bottom:1px solid #35d0ff4d;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 -16px;display:flex;position:sticky;top:0;box-shadow:0 6px 20px #00000073}.lobby-head:after{content:"";opacity:.5;pointer-events:none;background:repeating-linear-gradient(135deg,#35d0ff73 0 8px,#0000 8px 16px);height:3px;position:absolute;bottom:-4px;left:0;right:0}.brand{align-items:center;gap:10px;display:flex}.brand .brand-mark{filter:drop-shadow(0 0 6px #35d0ff80);flex:none;width:34px;height:34px}.screens .avatar,.screens .seat-avatar{width:22px;height:22px;font:700 11px var(--head);color:#fff;background:linear-gradient(135deg,#2a3a52,#121a28);border:1px solid #35d0ff59;border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.screens .avatar img,.screens .seat-avatar img{object-fit:cover;width:100%;height:100%}.head-player{background:#ffffff08;border:1px solid #50c8ff38;border-radius:22px;align-items:center;gap:9px;padding:3px 14px 3px 3px;display:flex}.head-player .avatar{border:2px solid var(--accent);width:30px;height:30px;font-size:14px}.head-player .status{font-size:14px}.head-player .status:before{content:"";background:var(--good);width:8px;height:8px;box-shadow:0 0 6px var(--good);vertical-align:1px;border-radius:50%;margin-right:7px;display:inline-block}.head-links{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.head-links a{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#ffffff08;border:1px solid #50c8ff2e;border-radius:2px;padding:5px 10px;font-size:12px;text-decoration:none}.head-links a:hover{color:#fff;border-color:var(--accent)}.room-heading{align-items:center;gap:10px;min-width:0;display:flex}.room-heading .room-title{font:600 22px var(--head);color:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mode-badge{color:var(--good);font:600 12px var(--head);letter-spacing:.12em;text-transform:uppercase;border:1px solid #5dff7a99;flex:none;align-items:center;padding:3px 10px;display:inline-flex}.mode-badge.locked{color:#c4b0ff;border-color:#9b7bffb3}.banners{top:calc(var(--head-h,60px) + 6px);z-index:19;flex-direction:column;gap:6px;display:flex;position:sticky}.banners:empty{display:none}.invite{border:1px solid var(--accent-2);background:linear-gradient(90deg,#3a2a6ef7,#141228f2);border-radius:3px;align-items:center;gap:10px;padding:8px 12px;animation:.4s ease-out invite-in;display:flex;box-shadow:0 8px 24px #00000080}.invite>span:not(.avatar){flex:1;min-width:0}@keyframes invite-in{0%{opacity:0;transform:translateY(-6px)}}.lobby-columns.three{grid-template-columns:minmax(290px,1fr) minmax(320px,1.15fr) minmax(340px,1.3fr);align-items:start;gap:16px;display:grid}.lobby .column{flex-direction:column;gap:16px;min-width:0;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-card{text-align:center;border:1px solid #50c8ff29;border-top:3px solid var(--accent);background:radial-gradient(at 50% 0,#35d0ff33,#0000 70%),linear-gradient(#111a2a,#0a101b);padding:10px 8px}.stat-card:nth-child(2){border-top-color:var(--accent-2);background:radial-gradient(at 50% 0,#9b7bff38,#0000 70%),linear-gradient(#111a2a,#0a101b)}.stat-label{font:600 11px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.stat{font:700 30px var(--head);color:#fff;text-shadow:0 0 18px #35d0ff59;line-height:1.1}.screens .members{margin:0 0 8px;padding:0;list-style:none}.screens .members li{border-top:1px solid #ffffff0d;align-items:center;gap:8px;padding:6px 0;display:flex}.screens .members li:first-child{border-top:none}.screens .members li.offline{opacity:.55}.screens .members .who{flex-direction:column;flex:1;min-width:0;display:flex}.screens .members .who b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.screens .members .who .hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.screens .row-actions{flex:none;gap:4px;display:flex}.screens .requests{background:#9b7bff1a;border:1px solid #9b7bff59;border-radius:3px;margin-bottom:10px;padding:2px 8px}.screens .members li.empty-row{padding:8px 0;display:block}.screens .dot{background:#3a4350;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.screens .dot.on{background:var(--good);box-shadow:0 0 5px var(--good)}.screens .dot.on.busy{background:var(--warn);box-shadow:0 0 5px var(--warn)}.add-row{gap:8px;margin-top:6px;display:flex}.add-row input{flex:1;min-width:0}.ladder-table{border-collapse:collapse;width:100%;font-size:13px}.ladder-table th{text-align:left;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;padding:4px 6px;font-size:11px;font-weight:400}.ladder-table td{border-top:1px solid #ffffff0d;padding:5px 6px}.ladder-table .num{text-align:right;font-family:var(--head);font-size:15px;font-weight:600}.ladder-table .rank{width:22px;color:var(--dim);font-family:var(--head)}.ladder-table tr:first-child .rank{color:#ffd76a}.ladder-table .who{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;max-width:170px;display:flex;overflow:hidden}.ladder-table tr.you td{background:#35d0ff14}.screens .empty{text-align:center;color:var(--dim);border:1px dashed #50c8ff38;padding:22px 12px;font-size:13px}.room-list{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.room-row{border:1px solid #50c8ff24;border-left:3px solid var(--accent);background:linear-gradient(90deg,#35d0ff1f,#0a101cd9);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.room-row:hover{border-color:#35d0ff73}.room-row.friendly{border-left-color:var(--accent-2);background:linear-gradient(90deg,#9b7bff29,#0a101cd9)}.room-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.room-name small{color:var(--dim);text-overflow:ellipsis;font-size:11px;font-weight:400;display:block;overflow:hidden}.friend-tag{color:#c4b0ff}.room-count{font:600 15px var(--head);color:var(--dim)}.room-state{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;height:22px;color:var(--good);border:1px solid;border-radius:11px;align-items:center;padding:0 9px;font-size:11px;display:inline-flex}.room-state.playing{color:var(--warn)}.room-state.locked{color:#c4b0ff}.create-row{flex-wrap:wrap;gap:10px;display:flex}.create-row input{flex:1;min-width:160px}.create-row .btn.big{white-space:nowrap;flex:1 0 auto}.screens .chat-body{gap:8px;margin-bottom:8px;display:flex}.screens .chat-log{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;background:#00030873;border:1px solid #50c8ff1a;flex:1;min-width:0;height:clamp(240px,100dvh - 330px,620px);padding:6px 8px;font-size:13px;line-height:1.5;overflow-y:auto}.screens .chat-log.tall{height:clamp(300px,100dvh - 210px,760px)}.screens .chat-line.mine{background:#35d0ff0d}.screens .chat-line.sys{color:var(--dim);font-style:italic}.screens .when{color:var(--dim);margin-right:2px;font-size:11px}.screens .cname{font-weight:600;text-decoration:none}.screens .cname:hover{text-decoration:underline}.member-list{border-left:1px solid #ffffff0f;flex-direction:column;flex:none;gap:2px;width:140px;height:clamp(300px,100dvh - 210px,760px);padding-left:8px;display:flex;overflow-y:auto}.member{text-align:left;font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;flex:none;align-items:center;gap:6px;padding:3px 4px;font-size:12px;display:flex;overflow:hidden}.member:hover{background:#35d0ff1a}.member.me{color:var(--accent)}.screens .global-chat input,.screens .lobby-chat input{width:100%}.pmenu-catch{z-index:40;position:fixed;inset:0}.pmenu{z-index:41;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:4px;flex-direction:column;gap:6px;min-width:170px;padding:10px;display:flex;position:fixed;box-shadow:0 10px 30px #0009}.screens .overlay{z-index:50;position:fixed}.dm-dock{z-index:30;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:0;right:16px}.dm-window{border:1px solid var(--line-strong);background:#050910fa;border-bottom:0;flex-direction:column;width:300px;display:flex;box-shadow:0 -8px 30px #00000080}.dm-head{cursor:pointer;background:linear-gradient(90deg,#9b7bff40,#0e1624e6);align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:flex}.dm-head .unread{background:var(--accent);color:#021019;border-radius:8px;padding:0 6px;font-size:10px;font-weight:700}.dm-actions{gap:4px;margin-left:auto;display:flex}.dm-log{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;height:220px;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.dm-log .mine{background:#35d0ff0d}.dm-window input{border-left:0;border-right:0;border-radius:0;width:100%}.room-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr) minmax(280px,.9fr);align-items:start;gap:16px;display:grid}.lanes .slots{margin:0 0 10px}.slot .seat-avatar{width:24px;height:24px}.slot .seat-avatar.ai{color:#c4b0ff;background:#9b7bff40;border-color:#9b7bff99;font-size:10px}.factions.stack{grid-template-columns:1fr;margin:0 0 4px}.factions.stack .fcard{padding:8px 10px}.factions.stack .fstyle{color:var(--dim);margin-left:auto;font-size:11px}.start-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.start-row .btn.big{flex:1 0 auto}.screens .check{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.screens .check input{width:16px;height:16px;accent-color:var(--accent-2);margin:0}.screens .lobby-chat .chat-log{margin-bottom:8px}@media (width<=1250px){.lobby-columns.three{grid-template-columns:minmax(280px,1fr) minmax(300px,1.2fr)}.lobby-columns.three .global-chat{grid-column:1/-1}.screens .chat-log.tall,.member-list{height:340px}.room-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.room-layout .lobby-chat{grid-column:1/-1;position:static}.screens .lobby-chat .chat-log{height:260px}}@media (width<=860px){.lobby-columns.three,.room-layout{grid-template-columns:1fr}.lobby{padding-left:calc(10px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px))}.lobby-head{margin:0 -10px;padding-left:10px;padding-right:10px}.head-links{margin-left:0}.member-list{width:96px}.logo{font-size:42px}.title-card{padding:26px 22px 22px}.dm-dock{left:8px;right:8px}.dm-window{width:100%}.dm-dock .dm-window:not(:last-child){display:none}}@media (width<=560px){.lanes .slots{grid-template-columns:1fr}.room-row{grid-template-columns:minmax(0,1fr) auto auto}.room-row .room-count{display:none}}.stats{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(3){border-top-color:var(--good);background:radial-gradient(at 50% 0,#5dff7a24,#0000 70%),linear-gradient(#111a2a,#0a101b)}.stat-card:nth-child(4){border-top-color:var(--line-strong);background:linear-gradient(#111a2a,#0a101b)}.board-tabs{text-shadow:none;letter-spacing:.04em;gap:4px;margin-left:auto;display:flex}.board-tabs .btn.small{padding:2px 8px;font-size:11px}.board-tabs .btn.on{border-color:var(--accent);color:#fff;background:#35d0ff40}.screens .board-how{margin-top:10px}.your-score{font:600 15px var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:12px 0 6px}.your-score b{color:#fff;letter-spacing:.02em;text-shadow:0 0 16px #35d0ff80;margin-left:6px;font-size:28px}.score-parts{grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 12px;display:grid}.score-parts div{border:1px solid var(--line);background:#35d0ff0d;border-radius:6px;flex-direction:column;padding:6px 8px;display:flex}.score-parts span{font:600 11px var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.score-parts b{font:700 17px var(--head)}.overlay table tr.me td{background:#35d0ff14}.overlay table td.num{text-align:right}.toast-stack{top:calc(12px + env(safe-area-inset-top,0px));z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:6px;max-width:calc(100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.lobby:has(.dm-window:not(.min)){padding-bottom:300px}@media (width<=860px){.dm-log{height:140px}}.gem{vertical-align:middle;flex:none;place-items:center;width:22px;height:22px;display:inline-grid;position:relative}.gem:before{content:"";background:linear-gradient(135deg, color-mix(in srgb, var(--c) 55%, #fff), var(--c) 45%, color-mix(in srgb, var(--c) 55%, #000));box-shadow:0 0 8px color-mix(in srgb, var(--c) 70%, transparent), inset 0 0 0 1px #ffffff59;border-radius:3px;position:absolute;inset:2px;transform:rotate(45deg)}.gem svg,.gem .dicon{filter:drop-shadow(0 0 1px #000)brightness(.15);width:12px;height:12px;position:relative}.pouch{cursor:help;flex-wrap:wrap;gap:3px;margin:4px 0 2px;display:flex}.gemrow{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 2px;display:flex}.gemrow .label{margin-right:2px}.gemrow .btn.small{margin-left:0}.gemset{border-left:1px solid var(--line);gap:2px;margin-left:auto;padding-left:6px;display:inline-flex}.gembtn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:2px;line-height:0}.gembtn:hover:not(:disabled){border-color:var(--accent);background:#35d0ff1f}.gembtn:disabled{opacity:.45;cursor:default}.gemnote{font:700 10px var(--head);letter-spacing:.1em;text-transform:uppercase;color:#ffe58a}.floater.gem{color:#ffe58a;text-shadow:0 0 8px #ffdc78cc,0 1px 3px #000;font-size:15px;font-weight:700}.item{vertical-align:middle;color:#0b0f18;background:linear-gradient(160deg, color-mix(in srgb, var(--c) 60%, #fff), var(--c) 55%, color-mix(in srgb, var(--c) 60%, #000));width:22px;height:22px;box-shadow:0 0 8px color-mix(in srgb, var(--c) 60%, transparent), inset 0 0 0 1px #ffffff59;border-radius:6px;flex:none;place-items:center;font-size:13px;font-weight:700;line-height:1;display:inline-grid}.item.it-mine{border-radius:50%}.itembtn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px;line-height:0}.itembtn:hover:not(:disabled){border-color:var(--accent);background:#35d0ff1f}.itembtn:disabled{opacity:.45;cursor:default}.pouch{cursor:default;align-items:center}.pouchcount{font:600 11px var(--head);color:var(--dim);margin-left:2px}.charmline{font:600 12px var(--head);letter-spacing:.04em;color:#ffb13d;flex-basis:100%;margin-top:2px}.gemrow .charged{font:700 12px var(--head);letter-spacing:.06em;color:#ffd23d;text-shadow:0 0 8px #ffd23d99}.fastfwd{font:700 12px var(--head);letter-spacing:.06em;color:#031018;background:var(--warn);border-radius:4px;margin-left:6px;padding:1px 6px;animation:1s ease-in-out infinite alternate fastpulse;box-shadow:0 0 10px #ffa53a99}@keyframes fastpulse{to{box-shadow:0 0 2px #ffa53a4d}}.account-card{-webkit-user-select:text;user-select:text;flex-direction:column;gap:8px;max-width:460px;display:flex}.account-card h2{font:700 22px var(--head);letter-spacing:.08em;color:var(--accent);margin:0}.account-card p{margin:0;line-height:1.5}.danger-zone{background:#ff4d5a12;border:1px solid #ff4d5a73;border-radius:8px;flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px;padding:12px;display:flex}.report-card{flex-direction:column;gap:10px;max-width:460px;display:flex}.report-card h2,.account-card h3{font:700 20px var(--head);letter-spacing:.08em;color:var(--accent);margin:0}.account-card h3{margin-top:8px;font-size:16px}.reasons{flex-direction:column;gap:4px;display:flex}.reason{cursor:pointer;align-items:center;gap:8px;display:flex}.report-card textarea{resize:vertical;font:inherit;color:var(--text);border:1px solid var(--line);background:#05080eb3;border-radius:6px;padding:8px}.blocked-list{margin:0;padding:0;list-style:none}.blocked-list li{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.chat-rules{margin:6px 0 0}.cname[data-member]{cursor:pointer}.cname[data-member]:hover{text-decoration:underline}.promo{min-height:100%;color:var(--text)}.promo-hero{background:linear-gradient(90deg, #03050aeb 0%, #03050a8c 55%, #03050a59 100%), linear-gradient(0deg, var(--bg) 0%, #03050a00 30%), url(/promo/hero.jpg) center 40% / cover no-repeat, var(--bg);align-items:center;min-height:100dvh;display:flex;position:relative}.promo-hero-inner{width:min(1200px,100%);padding:calc(40px + env(safe-area-inset-top,0px)) 24px 80px;grid-template-columns:minmax(0,1.2fr) minmax(320px,440px);align-items:center;gap:48px;margin:0 auto;display:grid}.promo-pitch .eyebrow{font:700 14px var(--head);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.promo-pitch h1{font:700 clamp(42px, 6vw, 76px) / 1.02 var(--head);letter-spacing:.01em;color:#eef8ff;text-shadow:0 0 30px #35d0ff59,0 2px 6px #000c;margin:0}.promo-pitch .lede{color:#c9d7e8;text-shadow:0 1px 4px #000000e6;max-width:560px;margin:18px 0 22px;font-size:19px;line-height:1.6}.platforms{flex-wrap:wrap;gap:8px;margin:0;display:flex}.platforms span{border:1px solid var(--line);color:var(--dim);background:#03050a99;border-radius:999px;padding:6px 12px;font-size:14px}.platforms .now{border-color:var(--accent);color:var(--accent)}.promo-card .title-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%}.scroll-hint{color:var(--accent);opacity:.8;font-size:28px;text-decoration:none;animation:2s ease-in-out infinite promo-bob;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}@keyframes promo-bob{50%{transform:translate(-50%,6px)}}.promo-body{width:min(1200px,100%);margin:0 auto;padding:20px 24px 0}.feature{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:48px;margin:56px 0 88px;display:grid}.feature.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.feature.flip img{order:2}.feature img{border:1px solid var(--line);border-radius:12px;width:100%;height:auto;display:block;box-shadow:0 20px 60px #0009,0 0 40px #35d0ff14}.feature h2,.promo-cta h2{font:700 34px var(--head);letter-spacing:.03em;color:#eef8ff;margin:0 0 14px}.feature p{color:#b9c8da;margin:0 0 12px;font-size:16.5px;line-height:1.65}.feature .factions{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.feature .factions li{color:#b9c8da;align-items:center;gap:10px;display:flex}.feature .factions svg{width:26px;height:26px}.promo-cta{text-align:center;padding:30px 0 90px}.promo-cta .btn{min-width:220px}.promo-footer{padding:24px 24px calc(30px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;justify-content:center;gap:10px 22px;font-size:14px;display:flex}.promo-footer a{color:var(--dim)}.promo-footer a:hover{color:var(--accent)}@media (width<=860px){.promo-hero{background:linear-gradient(0deg, var(--bg) 0%, #03050ab3 45%, #03050a8c 100%), url(/promo/hero.jpg) center top / cover no-repeat, var(--bg)}.promo-hero-inner{grid-template-columns:1fr;gap:28px;padding-bottom:60px}.promo-pitch .lede{font-size:17px}.feature,.feature.flip{grid-template-columns:1fr;gap:20px;margin:36px 0 56px}.feature.flip img{order:0}.feature h2,.promo-cta h2{font-size:28px}}
