@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap";:root{color-scheme:dark;font-family:Manrope,sans-serif;background:#050b14;color:#eaf2ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1080px;min-height:100vh;background:radial-gradient(circle at 30% 0%,#10243b 0,#07111f 40%,#040910);overflow:hidden}button{font:inherit}.hidden{display:none!important}.lobby{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#16324b 0,#07111f 48%,#03070d)}.lobby:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#5bdcff0a 1px,transparent 1px),linear-gradient(90deg,#5bdcff0a 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(circle,#000 0,transparent 65%);mask-image:radial-gradient(circle,#000 0,transparent 65%)}.lobby-card{position:relative;width:440px;padding:38px;border:1px solid #69ddff33;border-radius:20px;background:#081522e8;box-shadow:0 35px 100px #0009;text-align:center}.brand-mark.large{width:54px;height:54px;margin:0 auto 18px;font-size:16px}.lobby h1{margin:8px 0 10px;font-size:35px;letter-spacing:-.04em}.lobby p{margin:0 auto 25px;max-width:340px;color:#8398af;font-size:13px;line-height:1.55}.primary-button{border:0;border-radius:9px;padding:13px 18px;background:linear-gradient(135deg,#5de0ff,#65f0ca);color:#06111c;font-weight:800;cursor:pointer}.primary-button:hover{filter:brightness(1.08)}.primary-button.compact{padding:10px 14px;font-size:11px}.lobby-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#52677e;font:9px DM Mono;text-transform:uppercase}.lobby-divider:before,.lobby-divider:after{content:"";height:1px;flex:1;background:#ffffff12}#join-form{display:flex;gap:7px}#join-code{min-width:0;flex:1;border:1px solid #ffffff17;border-radius:8px;background:#0d1d2c;color:#e7f4ff;padding:11px 13px;font:600 13px DM Mono;text-transform:uppercase;letter-spacing:.18em;outline:none}#join-code:focus{border-color:#5bdcff88}#join-form button{border:1px solid #5bdcff55;border-radius:8px;background:#10283a;color:#6edfff;padding:0 16px;font-size:11px;font-weight:800;cursor:pointer}.lobby-error{min-height:17px;margin-top:12px;color:#ff7b88;font:9px DM Mono}.topbar{height:72px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid #ffffff12;background:#07111ecc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;min-width:300px}.brand-mark{width:38px;height:38px;border:1px solid #5dd6ff66;border-radius:10px;display:grid;place-items:center;color:#69dcff;font:700 13px DM Mono;box-shadow:inset 0 0 20px #13bce922}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.02em}.brand small{color:#768ba7;font-size:10px;margin-top:2px;text-transform:uppercase;letter-spacing:.14em}.phase-pill{margin:auto;border:1px solid #66ddff33;border-radius:99px;padding:8px 15px;font:500 11px DM Mono;color:#86e5ff;background:#0b2434;text-transform:uppercase;letter-spacing:.08em}.icon-button{width:34px;height:34px;border-radius:50%;border:1px solid #ffffff20;color:#9aabc1;background:transparent;cursor:pointer;display:grid;place-items:center;text-decoration:none}.top-actions{display:flex;gap:8px}main{height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(760px,1fr) 330px}.board-shell{min-width:0;position:relative;overflow:hidden;background-image:linear-gradient(#4f759608 1px,transparent 1px),linear-gradient(90deg,#4f759608 1px,transparent 1px);background-size:32px 32px}.waiting-room{position:absolute;z-index:80;left:50%;top:50%;transform:translate(-50%,-50%);width:330px;padding:25px;border:1px solid #5bdcff44;border-radius:15px;background:#071522f2;box-shadow:0 25px 70px #000b;text-align:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.waiting-room h2{font-size:18px;margin:8px 0}.waiting-room p{color:#7f94aa;font-size:11px;margin:0 0 16px}.waiting-room strong{color:#dff8ff;font-size:13px;letter-spacing:.15em}.waiting-room small{display:block;height:12px;margin-top:8px;color:#62dfc2;font:8px DM Mono}#game,#game canvas{width:100%!important;height:100%!important;display:block}.legend{position:absolute;left:20px;top:18px;display:flex;gap:17px;padding:9px 12px;border:1px solid #ffffff12;background:#07111ed9;border-radius:8px;font:10px DM Mono;color:#70839c;pointer-events:none}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.dot.blue{background:#55d9ff}.dot.coral{background:#ff6f7d}.line{display:inline-block;width:14px;border-top:2px dashed #ff5b6e;margin:0 4px 2px 0}.monster-preview{--owner-color:#5bdcff;position:absolute;z-index:75;width:248px;min-height:320px;overflow:hidden;border:2px solid var(--owner-color);border-radius:16px;background:linear-gradient(160deg,#173146,#07121f 70%);box-shadow:0 24px 60px #000e,0 0 28px color-mix(in srgb,var(--owner-color) 28%,transparent),inset 0 0 0 2px #07111f;pointer-events:none;animation:monster-preview-in .12s ease-out}.monster-preview-art{position:relative;height:132px;background-size:cover;background-position:center 34%;border-bottom:1px solid #ffffff24;box-shadow:inset 0 -32px 32px #07111fbb}.monster-preview-art.placeholder{display:grid;place-items:center;background-image:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--owner-color) 38%,transparent),transparent 42%),linear-gradient(45deg,#ffffff06 25%,transparent 25%,transparent 75%,#ffffff06 75%),linear-gradient(135deg,#173448,#080b17);background-size:auto,18px 18px,auto}.monster-preview-art.placeholder>span:first-child{font:800 48px DM Mono;color:#d9fbff;text-shadow:0 0 24px var(--owner-color)}.monster-preview-cost,.monster-preview-owner{position:absolute;top:9px;display:grid;place-items:center;border:2px solid #d8fbff;background:#0b7fa5;color:#fff;font:800 13px Manrope;box-shadow:0 3px 10px #000c}.monster-preview-cost{left:9px;width:30px;height:30px;border-radius:50%}.monster-preview-owner{right:9px;height:26px;padding:0 8px;border-width:1px;border-color:var(--owner-color);border-radius:99px;background:#071522e8;color:var(--owner-color);font:700 9px DM Mono}.monster-preview-body{padding:10px 12px 12px}.monster-preview-kicker{color:var(--owner-color);font:700 7px DM Mono;letter-spacing:.12em}.monster-preview-name{margin:3px 0 8px;color:#f0f8ff;font-size:16px;font-weight:800}.monster-preview-effects{min-height:64px;color:#a8bacb;font-size:9px;line-height:1.35}.monster-preview-effect{display:block;margin-bottom:3px}.monster-preview-effect strong{color:#e4f4ff}.monster-preview-effect.added strong{color:#91f1bc}.monster-preview-route{margin:8px 0 7px;padding:6px 8px;border:1px solid #ffffff12;border-radius:6px;background:#07121dcc;color:#a7b9ca;font:700 8px DM Mono;text-align:center}.monster-preview-route span{margin:0 7px;color:var(--owner-color)}.monster-preview-stats{display:flex;gap:5px}.monster-preview-stats span{flex:1;padding:5px 3px;border:1px solid #ffffff14;border-radius:5px;background:#0d1d2b;color:#7f94a8;font:600 6px DM Mono;text-align:center}.monster-preview-stats b{display:block;margin-bottom:1px;color:#e9f8ff;font-size:11px}@keyframes monster-preview-in{0%{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}.sidebar{border-left:1px solid #ffffff12;background:#08121f;padding:16px;overflow-y:auto}.players{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.player{padding:11px;border:1px solid #ffffff10;background:#0c1928;border-radius:9px;opacity:.55;transition:.2s}.player.active{opacity:1;border-color:var(--color);box-shadow:inset 0 2px 0 var(--color)}.player-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800}.hp-track{height:4px;margin:10px 0 6px;background:#ffffff12;border-radius:4px;overflow:hidden}.hp-fill{height:100%;background:var(--color);transition:.3s}.player-meta{display:flex;justify-content:space-between;font:9px DM Mono;color:#8294aa}.energy-row{min-height:15px;display:flex;align-items:center;justify-content:space-between;margin:7px 0 6px;color:#7bdff7;font:7px DM Mono}.energy-pips{display:flex;gap:2px;justify-content:flex-end}.energy-pip{width:5px;height:8px;border:1px solid #497186;border-radius:2px;background:#102432}.energy-pip.charged{border-color:#8bf3ff;background:linear-gradient(#8bf3ff,#2da8d3);box-shadow:0 0 5px #4fdcff77}.panel{border:1px solid #ffffff0f;border-radius:10px;background:#0b1725;padding:13px;margin-bottom:11px}.objective{border-left:2px solid #5ad9fa}.objective p{margin:6px 0 0;color:#bfd0e3;font-size:12px;line-height:1.45}.eyebrow,.panel-title{font:500 9px DM Mono;letter-spacing:.13em;color:#5fd8f7}.panel-title{display:flex;justify-content:space-between;margin-bottom:11px}.panel-title span:last-child{color:#647890}.panel-title button{border:0;background:none;color:#5e7188;font:9px DM Mono;cursor:pointer}.hand{display:grid;gap:7px}.card{width:100%;text-align:left;border:1px solid #ffffff12;border-radius:8px;background:#0f2031;color:#dce9f6;padding:10px 10px 10px 12px;cursor:pointer;position:relative;transition:.15s}.card:hover:not(:disabled){transform:translate(-2px);border-color:#59d9fb66;background:#11283b}.card.selected{border-color:#63defd;background:#12334a;box-shadow:0 0 0 1px #63defd33}.card:disabled{opacity:.36;cursor:not-allowed}.card-title{display:flex;justify-content:space-between;font-size:11px;font-weight:800}.card-kind{color:#5cd9fa;font:8px DM Mono;text-transform:uppercase}.card p{color:#7f93aa;margin:4px 0 0;font-size:9px;line-height:1.35}.card.network .card-kind{color:#b78cff}.card.network.selected{border-color:#b78cff;background:#221c3b}.end-turn{width:100%;border:0;border-radius:9px;padding:13px 15px;display:flex;justify-content:space-between;color:#06111c;background:linear-gradient(135deg,#5de0ff,#65f0ca);font-size:12px;font-weight:800;cursor:pointer;margin:3px 0 11px}.end-turn:disabled{filter:grayscale(1);opacity:.25;cursor:not-allowed}.log-panel{min-height:150px}.log{max-height:180px;overflow:auto;display:flex;flex-direction:column;gap:8px}.log-entry{display:grid;grid-template-columns:26px 1fr;gap:7px;color:#8599b0;font:9px/1.35 DM Mono}.log-turn{color:#4dcce9}.log-entry.important span:last-child{color:#dceafa}dialog{width:480px;border:1px solid #69ddff44;border-radius:16px;padding:28px;background:#0a1725;color:#dceafa;box-shadow:0 30px 100px #000c}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;color:#7890aa;font-size:25px;cursor:pointer}dialog::backdrop{background:#020711cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog h2{font-size:24px;margin:7px 0 18px}dialog li,dialog p{font-size:12px;color:#91a6bd;line-height:1.6;margin-bottom:8px}.card-hand-shell{position:absolute;z-index:60;left:18px;right:18px;bottom:0;height:218px;pointer-events:none;background:linear-gradient(180deg,transparent 0,#030912b8 36%,#030912f2 100%)}.hand-header{height:27px;display:flex;justify-content:center;align-items:center;gap:30px;color:#7bdff7;font:500 9px DM Mono;letter-spacing:.12em;text-shadow:0 2px 10px #000}.hand-header .deck-counter{color:#61768e}.hand-header strong{color:#d8f5ff}.deck-counter strong{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;border:1px solid #ffffff18;border-radius:50%;background:#0b1b2a}.hand{height:190px;display:flex;align-items:flex-start;justify-content:center;gap:0;pointer-events:none;padding-top:3px;perspective:900px}.game-card{--card-accent:#5bdcff;position:relative;flex:0 0 128px;width:128px;height:178px;margin:0 -5px;border:2px solid #9adff066;border-radius:13px;padding:0;overflow:hidden;background:linear-gradient(160deg,#173146,#081522 72%);color:#eaf6ff;text-align:left;box-shadow:0 10px 25px #000b,inset 0 0 0 2px #07111f;cursor:pointer;pointer-events:auto;transform:translateY(var(--arc)) rotate(calc(var(--offset) * 2.5deg));transform-origin:50% 115%;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,border-color .18s ease}.game-card+.game-card{margin-left:-10px}.game-card:hover:not(:disabled){z-index:50!important;transform:translateY(-27px) scale(1.17) rotate(0);filter:brightness(1.1);box-shadow:0 22px 50px #000e,0 0 25px #5bdcff30}.game-card.selected{z-index:45!important;transform:translateY(-20px) scale(1.08) rotate(0);border-color:#72e6ff;box-shadow:0 0 0 2px #5bdcff66,0 18px 40px #000d,0 0 30px #35cfff55}.game-card:disabled{cursor:not-allowed;filter:saturate(.45) brightness(.62)}.game-card.augment-target{border-color:#71f0b7;box-shadow:0 0 0 2px #71f0b744,0 12px 30px #000b;animation:target-pulse 1s ease-in-out infinite alternate}.game-card.augment-target:hover{box-shadow:0 18px 45px #000d,0 0 28px #71f0b766}.card-augment-count{position:absolute;z-index:4;right:7px;top:7px;min-width:23px;height:23px;display:grid;place-items:center;border:1px solid #9ff6c8;border-radius:50%;background:#123c35;color:#9ff6c8;font:800 9px DM Mono;box-shadow:0 3px 9px #000b}.added-effect strong{color:#91f1bc!important}.added-effect strong:before{content:"+";margin-right:2px}.monster-placeholder{height:94px;display:grid;place-items:center;background-image:radial-gradient(circle at 50% 45%,#2fbbcc44,transparent 38%),linear-gradient(45deg,#ffffff06 25%,transparent 25%,transparent 75%,#ffffff06 75%),linear-gradient(135deg,#153042,#080b17);background-size:auto,16px 16px,auto}.monster-placeholder span{font:700 38px DM Mono;color:#a6f1f6;text-shadow:0 0 20px #45d8ef}@keyframes target-pulse{to{filter:brightness(1.16)}}.card-art{height:94px;background-size:cover;background-position:center 35%;border-bottom:1px solid #ffffff1c;box-shadow:inset 0 -20px 24px #07111f99}.card-cost{position:absolute;z-index:3;left:6px;top:6px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#92efff,#148db6 62%,#07506f);border:2px solid #c2f7ff;color:#fff;font:800 13px Manrope;box-shadow:0 3px 8px #000c}.card-name{margin:-2px 7px 0;min-height:27px;padding:6px 4px 3px;border-radius:4px;background:#0b1825e8;text-align:center;font-size:10px;font-weight:800;white-space:nowrap;position:relative}.card-copy{padding:3px 7px 0;color:#9db0c3;font-size:7.5px;line-height:1.18;text-align:left}.card-effect{display:block}.card-effect strong{color:#dceefa;font-weight:800}.network-card .card-effect strong{color:#dfcaff}.card-stats{position:absolute;left:7px;right:7px;bottom:5px;padding-top:4px;border-top:1px solid #ffffff14;color:#a9eaff;font:700 8px DM Mono;text-align:center;letter-spacing:.05em}.network-card{--card-accent:#b88cff;border-color:#c8a7ff77;background:linear-gradient(155deg,#30214c,#100e20 72%)}.network-card .card-cost{background:radial-gradient(circle at 30% 25%,#d8c0ff,#8752ce 60%,#45216f);border-color:#ebddff}.network-art{height:94px;display:grid;place-items:center;background-image:radial-gradient(circle at 50% 45%,#a36dff55,transparent 38%),linear-gradient(45deg,#ffffff06 25%,transparent 25%,transparent 75%,#ffffff06 75%),linear-gradient(135deg,#1d1531,#080b17)!important;background-size:auto,16px 16px,auto}.network-art span{font:700 39px DM Mono;color:#d8bdff;text-shadow:0 0 20px #a45cff}.network-card .card-stats{color:#d7bdff}.network-card:hover:not(:disabled){box-shadow:0 22px 50px #000e,0 0 25px #a36dff44}.network-card.selected{border-color:#cfb3ff;box-shadow:0 0 0 2px #ad79ff66,0 18px 40px #000d,0 0 30px #a65eff55}@media(max-height:760px){.sidebar{padding:10px}.panel{padding:10px;margin-bottom:7px}.card{padding:7px 9px}.card p{display:none}.log{max-height:110px}}
