.conq{max-width:760px;margin:0 auto;padding:.6rem;min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:.8rem;margin-bottom:.4rem}.back{text-decoration:none;color:var(--muted);font-size:.9rem}.status{flex:1;text-align:center;font-weight:600;font-size:.95rem}#end-btn{padding:.4em .9em}.deck{min-width:1.7rem;padding:.25rem .4rem;border-radius:6px;background:repeating-linear-gradient(45deg,#3a2a5c,#3a2a5c 4px,#2c2047 4px,#2c2047 8px);color:#fff;font-size:.72rem;font-weight:700;text-align:center;border:1px solid rgba(255,255,255,.15)}.card.fly{position:fixed;z-index:40;margin:0;pointer-events:none;background:repeating-linear-gradient(45deg,#3a2a5c,#3a2a5c 4px,#2c2047 4px,#2c2047 8px);box-shadow:0 2px 8px #00000080}#map{width:100%;aspect-ratio:1 / 1;max-height:60vh;background:radial-gradient(circle at 50% 40%,#0d1524,#05070d 70%);border-radius:12px;touch-action:manipulation}.route{stroke:#2a3852;stroke-width:.6}.planet{cursor:pointer;stroke:#0c1118;stroke-width:.4}.planet.cap{stroke:#ffd54f;stroke-width:1}.planet.sel{stroke:#fff;stroke-width:1.2}.planet.tgt-move{stroke:#81c784;stroke-width:1.2}.planet.tgt-atk{stroke:#e57373;stroke-width:1.2}.planet.tgt-action{stroke:#ffd54f;stroke-width:1.2}.planet.assault-src{stroke:#81c784;stroke-width:1.4}.planet.assault-elig{stroke:#4a6b52;stroke-width:1;stroke-dasharray:1 1}.p-fort{font-size:3px;pointer-events:none}.p-bonus{font-size:3px;text-anchor:middle;pointer-events:none}.p-flag{font-size:4px;font-weight:700;text-anchor:middle;pointer-events:none}.layer-fx,.layer-static{pointer-events:none}.ship{stroke:#00000059;stroke-width:.15;pointer-events:none}.boom{fill:#ffb14e;pointer-events:none}.p-fleets{fill:#04121b;font-size:3px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.p-name{fill:#8b97a7;font-size:2.3px;text-anchor:middle;pointer-events:none}.hand{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:.6rem;min-height:3rem}.hand.discarding .card{outline:2px dashed var(--danger);outline-offset:1px}.hand.discarding .card:hover{background:var(--danger);color:#fff}.card{min-width:2.6rem;padding:.35rem .5rem;border-radius:8px;background:var(--panel);color:var(--text);font-size:.8rem;text-align:center;cursor:pointer;border:1px solid transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.card.attack{background:#24405c}.card.big{background:#7a4bd0;color:#fff;font-weight:700}.card:active{border-color:var(--accent)}.card .cv{display:block;font-size:1.1rem;font-weight:700}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:1rem;background:#05070dcc}.modal[hidden]{display:none}.modal-box{background:var(--panel);border-radius:14px;padding:1.2rem;max-width:420px;width:100%;max-height:100%;overflow-y:auto;text-align:center}.choices{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.8rem}.choices button{min-width:3rem}.select-heading{margin:.6rem 0 .2rem;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.map-select{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:.8rem 0}.map-card{flex:1 1 9rem;max-width:11rem;padding:.5rem;border-radius:10px;border:2px solid transparent;background:#ffffff0a;cursor:pointer;transition:border-color .15s,background .15s}.map-card:hover{background:#ffffff14}.map-card.selected{border-color:var(--accent);background:#ffffff1a}.map-card h3{margin:.3rem 0 .15rem;font-size:.9rem}.map-card p{margin:0;font-size:.72rem;color:var(--muted);line-height:1.3}.map-thumb{display:block;width:100%;aspect-ratio:1 / 1;background:radial-gradient(circle at 50% 40%,#0d1524,#05070d 70%);border-radius:8px}.map-thumb .route{stroke:#2a3852;stroke-width:1.2}.battle-cards{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0 .5rem}.bc{display:flex;flex-direction:column;align-items:center;gap:.3rem;font-size:.75rem;color:var(--muted)}.vs2{color:var(--muted);font-size:.8rem}.battle-card{width:3.4rem;height:4.6rem;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;background:#24405c;color:#fff}.battle-card.empty{background:#ffffff0f}.battle-card.facedown{background:repeating-linear-gradient(45deg,#3a2a5c,#3a2a5c 6px,#2c2047 6px,#2c2047 12px);color:transparent}.battle-card.flip{animation:flip .4s ease}@keyframes flip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.combat-totals{font-weight:700;font-variant-numeric:tabular-nums;min-height:1.2em;margin-bottom:.1rem}.combat-winner{min-height:1.1em;margin:0 0 .2rem;font-size:.85rem;font-weight:600}.combat-winner.good{color:var(--accent-2)}.combat-winner.bad{color:var(--danger)}.combat-log{font-size:.8rem;color:var(--muted);max-height:6rem;overflow-y:auto;text-align:left;margin:.3rem auto;max-width:20rem}.card.new{animation:glow 1.6s ease}@keyframes glow{0%,to{box-shadow:none}40%{box-shadow:0 0 0 2px var(--accent-2)}}.toast{position:fixed;top:3.2rem;left:50%;transform:translate(-50%);z-index:12;background:var(--panel);border:1px solid var(--accent);color:var(--text);padding:.5rem 1rem;border-radius:999px;font-size:.85rem;pointer-events:none}.toast[hidden]{display:none}.log-wrap{margin-top:.6rem}.log-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.2rem}.log{max-height:6rem;overflow-y:auto;background:#ffffff08;border-radius:8px;padding:.35rem .5rem;font-size:.75rem;line-height:1.5;color:var(--muted)}.log .l-you{color:var(--accent-2)}.log .l-cpu{color:var(--danger)}.log .l-turn{color:var(--text);font-weight:600;margin-top:.15rem}.card-name{text-decoration:underline dotted;text-underline-offset:2px;cursor:help;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.choices button.card-name{cursor:pointer}.card-tip{position:fixed;transform:translate(-50%,calc(-100% - 10px));z-index:20;max-width:15rem;background:#0c1118;border:1px solid var(--accent);color:var(--text);padding:.45rem .7rem;border-radius:8px;font-size:.78rem;line-height:1.35;pointer-events:none}.card-tip[hidden]{display:none}
