:root{--bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#dbeafe;--danger:#dc2626;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0f172a0d, 0 8px 24px #0f172a12;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,p,ul,table{margin:0}a{color:var(--accent)}a:hover{color:var(--accent-strong)}.app{flex-direction:column;min-height:100dvh;display:flex}.app-footer{color:var(--muted);text-align:center;border-top:1px solid var(--border);background:var(--card);flex:none;padding:10px 16px;font-size:12px;line-height:1.4}.game-layout{flex-direction:row;flex:1;min-height:0;display:flex}.map-view{flex:1;min-width:0;min-height:0;position:relative}.side-panel{border-left:1px solid var(--border);background:var(--card);flex:none;width:360px;max-width:360px;padding:20px;overflow-y:auto}@media (width<=819px){.game-layout{flex-direction:column}.map-view{flex:none;height:55vh;min-height:300px}.side-panel{border-left:none;border-top:1px solid var(--border);flex:1;width:auto;max-width:none}}.page-centre{flex:1;place-items:center;padding:24px 16px;display:grid}.page-scroll{flex:1;justify-content:center;align-items:flex-start;padding:32px 16px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.btn{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.link-button{font:inherit;color:var(--muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.link-button:hover{color:var(--accent)}.btn:focus-visible,.link-button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:10px 12px}input::placeholder{color:var(--muted)}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.chip{letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.muted{color:var(--muted)}.error{color:var(--danger)}
