:root{color-scheme:dark;--bg:#080d1b;--surface:#121c32;--panel:#131e35;--panel2:#192641;--stroke:#2a3956;--text:#eef2fc;--dim:#9faec8;--teal:#66d5c9;--gold:#f0c678;--red:#fc8d95;--r:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse 90% 60% at 50% -10%,#20365b 0%,transparent 60%),radial-gradient(ellipse 42% 50% at 100% 90%,#112640 0%,transparent 75%),var(--bg);line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--teal)}input,select,textarea{background:#0c1529;color:var(--text);border:1px solid #334361;border-radius:11px;padding:10px 12px;outline:0;min-width:0;width:100%}input:focus,select:focus,textarea:focus{border-color:#64cfc7;box-shadow:0 0 0 3px #64cfc720}label{display:flex;flex-direction:column;gap:6px;color:var(--dim);font-size:.81rem;font-weight:600}input[type=number]{appearance:textfield}input[type=checkbox]{width:auto;accent-color:var(--teal)}.starfield{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 12% 28%,#ffffff85 1px,transparent 1.6px),radial-gradient(circle at 48% 70%,#ffffff70 1px,transparent 1.7px),radial-gradient(circle at 76% 16%,#ffffff5a 1px,transparent 1.4px),radial-gradient(circle at 86% 86%,#ffffff45 1px,transparent 1.5px);background-size:217px 223px,319px 251px,277px 217px,367px 401px;opacity:.5}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.04;letter-spacing:-.06em;margin-bottom:15px}h2{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:12px}h3{font-size:.96rem;margin-bottom:10px}.small{font-size:.83rem}.tiny{font-size:.73rem}.dim{color:var(--dim)}.muted{color:#8493b1}.accent{color:var(--teal)}.gold{color:var(--gold)}.eyebrow{text-transform:uppercase;font-size:.7rem;letter-spacing:.16em;color:var(--teal);font-weight:800}.wrap{max-width:1510px;margin:auto;padding:24px 30px 55px}.panel{background:linear-gradient(140deg,rgba(27,39,66,.96),rgba(14,23,44,.96));border:1px solid #2a3957;border-radius:var(--r);box-shadow:0 18px 50px #02061630}.btn{border:1px solid transparent;border-radius:12px;padding:11px 16px;background:var(--teal);color:#071825;font-weight:800;transition:.16s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn.secondary{background:#223752;color:#e0ebfa;border-color:#385274}.btn.outline{background:transparent;color:var(--teal);border-color:#398b88}.btn.danger{background:#442b3a;color:#ffd9dd;border-color:#82404e}.btn.gold{background:var(--gold)}.btn.ghost{background:transparent;border-color:#31415e;color:var(--dim)}.btn.full{width:100%}.btn.small{padding:7px 10px;border-radius:9px;font-size:.77rem}.btn.pill{border-radius:100px}.stack{display:flex;flex-direction:column;gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.divider{border-top:1px solid #2a3955;margin:14px 0}.pill-label{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;background:#27364d;color:#c9d8eb;font-size:.74rem;font-weight:750}.pill-label.turn{background:#154947;color:#aaf9e7}.pill-label.muted{opacity:.7}.pill-label.gold{background:#594526;color:#ffdaa1}.status-dot{width:7px;height:7px;background:var(--teal);border-radius:50%;box-shadow:0 0 10px #63d4c6}.landing{min-height:93vh;display:grid;place-items:center;padding:25px}.landing-inner{max-width:1160px;width:100%;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:65px}.intro{padding:24px 0}.intro p{font-size:1.04rem;color:#c3d1e8;max-width:590px}.orbital{font-size:5rem;line-height:1;margin-bottom:22px;color:var(--gold);text-shadow:0 0 45px #e0af6380}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:28px}.feature{padding:12px 0;border-top:1px solid #334363;color:#b7c6de;font-size:.88rem}.form-card{padding:30px}.form-card h2{font-size:1.55rem}.choose-box{display:flex;gap:6px;background:#0b1428;padding:5px;border-radius:12px;margin-bottom:20px}.choose-box button{flex:1;border:0;border-radius:8px;padding:10px 12px;background:transparent;color:#9aabc5;font-weight:750}.choose-box button.active{background:#263a58;color:#eff5ff}.field-group{margin-bottom:13px}.legal{font-size:.72rem;color:#7587a7;margin-top:22px;line-height:1.6}.shell-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:4px 0 24px}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:43px;height:43px;display:grid;place-items:center;background:#15363f;border:1px solid #4ab8b0;border-radius:12px;color:var(--teal);font-size:1.6rem}.brand{font-size:1.17rem;font-weight:900;letter-spacing:.06em}.game-code{font-size:1rem;letter-spacing:.14em;font-weight:900;color:#f5d48f}.top-stats{display:flex;align-items:center;gap:14px}.status-strip{padding:17px 19px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.status-strip strong{font-size:1.06rem}.status-strip p{margin:4px 0 0;color:var(--dim);font-size:.82rem}.players-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 14px}.player-card{padding:15px;border:1px solid #30405e;border-radius:15px;background:#131e35;position:relative;overflow:hidden}.player-card::before{content:"";height:2px;position:absolute;top:0;left:0;right:0;background:var(--faction-color)}.player-card.isturn{border-color:#61b9ad;box-shadow:inset 0 0 25px #4edac00b}.player-name{font-weight:800;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-faction{color:var(--dim);font-size:.73rem;margin-bottom:9px}.player-nums{display:flex;justify-content:space-between;gap:4px;margin-top:9px}.metric{font-size:.7rem;color:var(--dim)}.metric b{display:block;color:var(--text);font-size:1rem}.game-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.75fr);align-items:start;gap:14px}.galaxy{padding:12px;min-height:550px;overflow:hidden}.galaxy-head{padding:12px 13px 5px;display:flex;justify-content:space-between;align-items:center;gap:10px}.galaxy-head p{margin:0}.map{width:100%;height:auto;min-height:385px;max-height:680px;display:block;touch-action:manipulation}.hex{cursor:pointer}.hex polygon.main{stroke:#47627d;stroke-width:2;fill:#192843;transition:fill .15s,stroke .15s}.hex:hover polygon.main{fill:#253e60;stroke:#7cded5}.hex .hex-label{font-weight:800;font-size:13px;fill:#e6effc;text-anchor:middle;pointer-events:none}.hex .hex-meta{font-size:11px;fill:#92a6bf;text-anchor:middle;pointer-events:none}.hex .hex-ships{font-size:11px;fill:#e3cfaa;text-anchor:middle;font-weight:700;pointer-events:none}.hex .hex-marker{font-size:9px;fill:#08131e;text-anchor:middle;font-weight:900;pointer-events:none}.hex.is-home polygon.main{fill:#23304a}.hex.is-core polygon.main{fill:#26364d;stroke:#f1c981;stroke-width:2.8}.hex.selected-from polygon.main{stroke:#5ee4da;stroke-width:5}.hex.selected-to polygon.main{stroke:#ffc878;stroke-width:5}.hex .owner-border{fill:none;stroke-width:4;opacity:.9;pointer-events:none}.map-footer{padding:5px 16px 16px;display:flex;flex-wrap:wrap;gap:8px;font-size:.72rem;color:#9bb0c9}.map-footer span{display:flex;align-items:center;gap:6px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.sidepanel{padding:19px;min-height:550px}.tabs{display:flex;gap:6px;padding:4px;background:#0c162b;border-radius:11px;margin-bottom:16px;overflow-x:auto}.tabs button{border:0;flex:1;padding:10px 9px;border-radius:8px;background:transparent;color:#899cb8;font-weight:750;white-space:nowrap;font-size:.78rem}.tabs button.active{background:#263956;color:#e8f2ff}.taskbar{background:#0c1b32;border:1px solid #294567;border-radius:13px;padding:12px 13px;color:#bbd5f2;font-size:.82rem;margin-bottom:15px}.action-card{padding:15px 0;border-bottom:1px solid #293955}.action-card:last-child{border-bottom:0}.action-card .title{font-weight:800;margin-bottom:5px}.action-card p{font-size:.8rem;color:var(--dim);margin-bottom:12px}.formline{margin-top:10px}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mini-grid label{text-align:center;font-size:.65rem}.mini-grid input{text-align:center;padding:9px 4px}.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.strategy-card{border:1px solid #375071;border-radius:13px;background:#132440;color:var(--text);text-align:left;padding:13px;display:flex;gap:12px;align-items:flex-start;min-height:95px}.strategy-card:hover:not(:disabled){border-color:#f3cf8f}.strategy-card.claimed{opacity:.46}.strategy-num{font-size:1.7rem;font-weight:900;color:var(--gold);line-height:1}.strategy-name{font-weight:850;font-size:.9rem}.strategy-desc{font-size:.71rem;color:var(--dim);margin-top:5px}.lobby-panel{padding:27px;max-width:930px;margin:0 auto}.seat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.seat{background:#172741;border:1px solid #36506d;border-radius:13px;padding:16px;min-height:90px}.seat b{display:block}.seat small{color:#acbdd7}.waiting{display:grid;place-items:center;min-height:190px;color:#c3d0e9}.offer{background:#122941;border:1px solid #2b4f64;border-radius:13px;padding:13px;margin:10px 0}.feed{max-height:490px;overflow-y:auto}.feed-entry{padding:10px 4px;border-bottom:1px solid #27374e;color:#becde0;font-size:.78rem}.feed-entry b{color:var(--gold);font-size:.69rem;margin-right:5px}.feed-entry:last-child{border-bottom:0}.objective{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #334159}.objective:last-child{border:0}.objective strong{font-size:.86rem}.objective p{font-size:.76rem;color:var(--dim);margin:3px 0 0}.notice{padding:12px;border-radius:12px;background:#1b2b45;border:1px solid #3a516c;font-size:.8rem;color:#c3d1e6}.notice.warning{border-color:#846446;color:#f3daa8;background:#302537}.toast{position:fixed;bottom:23px;right:23px;max-width:min(450px,calc(100vw - 46px));background:#1b493f;border:1px solid #59c5b2;box-shadow:0 18px 45px #050c2099;border-radius:14px;color:#eafffb;padding:15px 18px;z-index:20;display:none;font-size:.88rem}.toast.error{background:#512b35;border-color:#dd7783}.toast.show{display:block}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.w-full{width:100%}.loading{opacity:.55;pointer-events:none}.codebox{background:#101e33;padding:10px 14px;border-radius:11px;color:#ffdd9c;font-weight:900;letter-spacing:.12em}.form-hint{font-size:.71rem;color:#859ab7;margin-top:8px}.help-box{font-size:.82rem;color:#c0cde0}.help-box li{margin-bottom:8px}.help-box ol{padding-left:18px}.footer-note{font-size:.7rem;text-align:center;color:#7484a1;margin-top:18px}
@media(max-width:1050px){.game-grid{grid-template-columns:minmax(0,1fr)}.sidepanel{min-height:0}.galaxy{min-height:0}.landing-inner{gap:20px}.wrap{padding:18px 16px 35px}}@media(max-width:720px){.landing-inner{grid-template-columns:1fr;gap:12px}.landing{padding:14px}.intro{padding:12px}.intro .orbital{font-size:3rem}.intro h1{font-size:3rem}.form-card{padding:20px}.shell-head{flex-direction:column;align-items:flex-start}.top-stats{width:100%;justify-content:space-between}.status-strip{align-items:flex-start;flex-direction:column}.players-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card{padding:12px}.seat-grid{grid-template-columns:repeat(2,1fr)}.mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.map{min-height:300px}.galaxy{padding:4px}.game-grid{grid-template-columns:minmax(0,1fr)}.strategy-grid{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}
@media(max-width:420px){.players-grid{gap:6px}.player-nums{flex-wrap:wrap}.metric b{font-size:.9rem}.status-strip{padding:12px}.strategy-grid{grid-template-columns:1fr}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Galaxia Online 0.2: catálogos e interfaces adaptables */
.players-grid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))!important}
.player-faction{display:flex;align-items:center;gap:8px;min-height:30px}
.player-faction .faction-icon{width:28px;height:28px;flex:none}
.faction-icon{display:inline-block;width:54px;height:54px;flex-shrink:0;filter:drop-shadow(0 0 9px #4985af26)}
.catalog-intro{margin:20px 0;padding:24px}.catalog-intro h1{margin:3px 0 12px;font-size:clamp(1.5rem,3vw,2.6rem)}
.catalog-intro input{max-width:430px;width:100%;margin-top:12px}
.faction-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:12px}
.faction-profile{padding:18px;min-height:205px}
.faction-profile h3{margin:0 0 4px;font-size:1.05rem;line-height:1.25}
.faction-profile p{margin:12px 0 10px}.faction-profile small{color:var(--dim)}
.sigil-row{display:flex;align-items:center;gap:13px}
.catalog-tech{padding:22px;margin-top:16px}
.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.tech-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}
.tech-chip{border:1px solid #344663;border-left:4px solid #879bad;padding:10px 11px;border-radius:9px;display:flex;flex-direction:column;gap:4px;background:rgba(12,24,43,.88);min-width:0}
.tech-chip b{font-size:.82rem;line-height:1.3;overflow-wrap:anywhere}.tech-chip small{font-size:.68rem;color:var(--dim)}
.tech-blue{border-left-color:#60a5fa}.tech-green{border-left-color:#65cc99}.tech-yellow{border-left-color:#ecc979}.tech-red{border-left-color:#ff7b83}
.catalog-tech h2{margin-bottom:10px}
.map-scroll{overflow:auto;max-width:100%;border-radius:14px}
.galaxy{min-width:0}
.galaxy .map{max-width:none;width:100%;display:block}
@media(max-width:720px){.faction-catalog{grid-template-columns:1fr}.catalog-intro{padding:17px}.player-card{padding:10px}}

.map-legend{padding:14px 18px;border-top:1px solid #334361;font-size:.8rem}.map-legend>b{display:block;margin-bottom:10px;color:var(--text)}.unit-legend-items{display:flex;flex-wrap:wrap;gap:9px 18px;color:var(--dim)}.unit-legend-items strong{color:var(--gold)}.map-legend p{margin:10px 0 0}
