:root{--ink:#f6f1e7;--ink-dim:#f6f1e7ad;--glass:#1216106b;--glass-edge:#ffffff24;--accent:#f2b64a;--accent-ink:#2a1d05;--green:#2f6b3c;--font:"Inter", system-ui, sans-serif;--font-bn:"Hind Siliguri", "Nirmala UI", sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;touch-action:none;-webkit-user-select:none;user-select:none;background:#0d100c;margin:0;overflow:hidden}#app{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.glass{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px)saturate(1.2);border-radius:14px}.small{font-size:12px}#place{pointer-events:none;min-width:200px;max-width:min(360px,100vw - 36px);padding:12px 16px;position:fixed;top:18px;left:18px}.place-bn{font-family:var(--font-bn);font-size:26px;font-weight:700;line-height:1.1}#place-road{margin-top:4px;font-size:14px;font-weight:600}#place-poi{color:var(--ink-dim);min-height:14px;margin-top:2px;font-size:12px}#status{color:var(--ink-dim);pointer-events:none;font-variant-numeric:tabular-nums;padding:8px 12px;position:fixed;top:18px;right:18px}#minimap{pointer-events:none;border:2px solid #ffffff59;border-radius:50%;width:180px;height:180px;position:fixed;bottom:34px;right:18px;box-shadow:0 6px 30px #00000073}#hint{color:var(--ink);pointer-events:none;white-space:nowrap;padding:8px 14px;transition:opacity 1.2s;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}#credit{color:#ffffffb3;text-shadow:0 1px 2px #000c;z-index:30;font-size:11px;position:fixed;bottom:6px;left:10px}#credit a{color:inherit}#menu{z-index:20;background:radial-gradient(at 30% 40%,#0a0e0840,#060805b8);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.menu-card{-webkit-backdrop-filter:blur(18px)saturate(1.3);background:#10140e9e;border:1px solid #ffffff1f;border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:30px 30px 26px;overflow-y:auto;box-shadow:0 30px 80px #00000080}.title-bn{font-family:var(--font-bn);background:linear-gradient(#fff6df,#f2b64a);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(44px,9vw,68px);font-weight:700;line-height:1}.title-en{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-top:8px;font-size:14px}.lede{color:var(--ink-dim);margin:16px 0 22px;font-size:15px;line-height:1.5}#loading .bar{background:#ffffff1f;border-radius:3px;height:6px;overflow:hidden}#bar-fill{background:linear-gradient(90deg, #6fae5a, var(--accent));width:0;height:100%;transition:width .25s}#load-text{color:var(--ink-dim);margin-top:10px;font-size:13px}button{font:inherit;color:inherit;cursor:pointer}button.primary{background:var(--accent);width:100%;color:var(--accent-ink);border:0;border-radius:12px;padding:14px 18px;font-size:16px;font-weight:600;transition:transform .12s,filter .12s}button.primary:hover{filter:brightness(1.06)}button.primary:active{transform:scale(.99)}.settings{gap:12px;margin-top:20px;display:grid}.settings .row{gap:6px;display:grid}.settings .row>span{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{background:#ffffff0d;border:1px solid #ffffff24;border-radius:9px;flex:auto;padding:8px 10px;font-size:13px;transition:background .15s}.seg button:hover{background:#ffffff1a}.seg button.on{background:#f2b64a38;border-color:#f2b64ab3}.controls{color:var(--ink-dim);flex-wrap:wrap;gap:8px 16px;margin-top:20px;font-size:12.5px;display:flex}kbd{min-width:22px;font-family:var(--font);text-align:center;color:var(--ink);border:1px solid #ffffff40;border-bottom-width:2px;border-radius:5px;margin-right:3px;padding:2px 6px;font-size:11px;display:inline-block}#bigmap{z-index:15;background:#080a07db;position:fixed;inset:0}#bigmap-canvas{cursor:crosshair;width:100%;height:100%;display:block}.bigmap-help{white-space:nowrap;padding:8px 14px;position:fixed;top:16px;left:50%;transform:translate(-50%)}@media (max-width:640px){#minimap{width:130px;height:130px;bottom:26px;right:12px}#place{padding:10px 12px;top:12px;left:12px}.place-bn{font-size:20px}.controls{display:none}.bigmap-help{white-space:normal;text-align:center;width:calc(100% - 32px)}}
