:root{--bg: #0b0a1a;--bg-2: #15122e;--panel: rgba(28, 24, 58, .72);--panel-solid: #1c183a;--panel-hi: rgba(46, 39, 92, .75);--border: rgba(160, 140, 255, .18);--border-hi: rgba(230, 190, 110, .55);--text: #ece8ff;--muted: #a49fc6;--faint: #6f6a94;--gold: #f0c66e;--gold-deep: #c8933a;--arcane: #9b87ff;--arcane-deep: #6b4fe0;--teal: #5ee0c8;--ok: #6ee7a8;--bad: #ff8a8a;--radius: 14px;--display: "Cinzel", "Palatino Linotype", Palatino, Georgia, serif;--body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--body);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.45}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 72% 8%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1.5px 1.5px at 38% 62%,rgba(255,240,210,.5),transparent 60%),radial-gradient(1px 1px at 88% 44%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 22% 84%,rgba(200,220,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 58% 28%,rgba(255,255,255,.4),transparent 60%),radial-gradient(ellipse 80% 60% at 85% -10%,rgba(107,79,224,.35),transparent 70%),radial-gradient(ellipse 70% 50% at -10% 110%,rgba(94,224,200,.12),transparent 70%),linear-gradient(180deg,var(--bg-2),var(--bg) 60%);background-size:320px 320px,280px 280px,410px 410px,360px 360px,300px 300px,450px 450px,100% 100%,100% 100%,100% 100%}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:.04em;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--arcane);outline-offset:2px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 30px #00000059}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;text-transform:uppercase;color:var(--gold);margin-bottom:14px}.panel-title .count{font-family:var(--body);font-size:12px;letter-spacing:0;color:var(--muted);background:#ffffff0f;border-radius:999px;padding:2px 9px}.muted{color:var(--muted);font-size:14px}.empty{color:var(--faint);font-size:14px;font-style:italic;margin:0}.btn{border:1px solid var(--border-hi);background:linear-gradient(180deg,#f6d48a,var(--gold-deep));color:#2a1a05;font-weight:600;border-radius:10px;padding:10px 16px;transition:transform .08s ease,filter .15s ease,box-shadow .15s ease;box-shadow:0 0 #f0c66e00}.btn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 0 18px #f0c66e59}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{background:#ffffff0d;border-color:var(--border);color:var(--faint)}.btn-ghost{border:1px solid var(--border);background:#ffffff0a;color:var(--text);border-radius:10px;padding:6px 12px;font-size:14px;transition:background .15s ease,border-color .15s ease}.btn-ghost:hover{background:#9b87ff24;border-color:#9b87ff73}.btn-ghost.accept{border-color:#6ee7a873;color:var(--ok)}.btn-ghost.accept:hover{background:#6ee7a81f}.link{background:none;border:none;color:var(--arcane);padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.link:hover{color:#c4b8ff}.error{color:var(--bad);background:#ff8a8a14;border:1px solid rgba(255,138,138,.3);border-radius:10px;padding:8px 12px;font-size:14px;margin:12px 0 0}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:400px;padding:32px 28px}.crest{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;font-size:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#9b87ff8c,#6b4fe026 70%);border:1px solid var(--border-hi);box-shadow:0 0 30px #9b87ff59,inset 0 0 18px #f0c66e26}.title{text-align:center;font-size:28px;background:linear-gradient(180deg,#fff3d6,var(--gold) 55%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{text-align:center;color:var(--muted);font-size:14px;margin:6px 0 24px}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.input{width:100%;padding:11px 12px;font-size:16px;background:#0a081a99;border:1px solid var(--border);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{outline:none;border-color:var(--arcane);box-shadow:0 0 0 3px #9b87ff33}.input::placeholder{color:var(--faint)}.auth-switch{text-align:center;font-size:14px;color:var(--muted);margin:20px 0 0}.game{max-width:1100px;margin:0 auto;padding:16px 16px 48px}.topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px}.topbar .crest{width:42px;height:42px;font-size:20px;margin:0;flex:none}.topbar-name{flex:1;min-width:0}.topbar-name h1{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.status.offline:before{background:var(--bad);box-shadow:0 0 8px var(--bad);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.layout{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}@media(min-width:860px){.layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}}.column{display:flex;flex-direction:column;gap:16px;min-width:0}.resources{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.resource{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius);background:linear-gradient(135deg,var(--panel-hi),var(--panel));border:1px solid var(--border);position:relative;overflow:hidden}.resource:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 50%,var(--glow, rgba(240, 198, 110, .15)),transparent 60%);pointer-events:none}.resource-icon{font-size:30px;line-height:1;filter:drop-shadow(0 0 8px var(--glow, rgba(240, 198, 110, .5)))}.resource-amount{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.resource-label{font-size:13px;color:var(--muted)}.rate{color:var(--teal);font-variant-numeric:tabular-nums}.buildings{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.building{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:#ffffff08;border:1px solid var(--border);transition:border-color .2s ease,background .2s ease}.building.affordable{border-color:#f0c66e66;background:#f0c66e0d}.building-head{display:flex;align-items:center;gap:12px}.building-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;font-size:24px;border-radius:10px;background:#9b87ff1f;border:1px solid var(--border)}.building-name{font-weight:600}.owned{margin-left:auto;font-family:var(--display);font-size:22px;color:var(--gold);font-variant-numeric:tabular-nums}.building-desc{font-size:13px;color:var(--muted);margin:0}.progress{height:4px;border-radius:999px;background:#ffffff12;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--arcane-deep),var(--gold));border-radius:inherit;transition:width .1s linear}.building .btn{width:100%;display:flex;justify-content:center;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.list{display:flex;flex-direction:column;gap:10px}.card{border:1px solid var(--border);background:#ffffff08;border-radius:12px;padding:12px;font-size:14px}.card.incoming{border-color:#6ee7a859;background:#6ee7a80d}.card.past{color:var(--muted);padding:8px 12px;font-size:13px}.player{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:700;color:#1a1030;background:linear-gradient(135deg,var(--teal),var(--arcane))}.player-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offer{margin-top:12px;display:grid;grid-template-columns:auto 1fr 1fr;gap:6px 8px;align-items:center}.offer-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.offer .input{padding:7px 9px;font-size:15px;min-width:0}.offer-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-top:4px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.actions .muted{flex:1;font-size:13px}.badge{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:1px 7px;border-radius:999px;margin-left:6px;background:#ffffff12;color:var(--muted)}.badge.accepted{background:#6ee7a81f;color:var(--ok)}.badge.failed{background:#ff8a8a1f;color:var(--bad)}.loading{min-height:100vh;min-height:100dvh;display:grid;place-items:center;font-family:var(--display);color:var(--muted);letter-spacing:.08em}@media(max-width:480px){.panel{padding:14px}.resource-amount{font-size:24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn-ghost:disabled{opacity:.45;background:#ffffff0a;border-color:var(--border)}[hidden]{display:none!important}.tabs{display:flex;gap:8px;margin:14px 0}.tab{flex:1;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-family:var(--display);font-weight:600;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.tab.active{color:var(--gold);border-color:var(--border-hi);background:var(--panel-hi)}.tab .count{font-family:var(--body);font-size:12px;letter-spacing:0;color:var(--muted);background:#ffffff0f;border-radius:999px;padding:2px 9px}.map-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.map-head .panel-title{margin:0}.map-tools{display:flex;gap:6px}.map-tools .btn-ghost{min-width:40px}.map-wrap{width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.map-canvas{display:block;touch-action:none;cursor:grab}.map-canvas:active{cursor:grabbing}.map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 2px 12px;font-size:13px}.map-legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.swatch.mine{background:#f0c66ed9}.swatch.theirs{background:#5ee0c8bf}.swatch.claim{border:1px dashed rgba(240,198,110,.8)}.plot-info-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.plot-info p{margin:6px 0}.plot-info .btn{margin-top:6px}.plot-chips{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.chip.on{color:var(--bg);background:var(--gold);border-color:var(--gold)}
