html,body{margin:0;height:100%;font:15px -apple-system,system-ui,sans-serif}#map{position:absolute;inset:0}
#top{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:10px;right:10px;display:flex;gap:6px;z-index:5}
#q{flex:1;padding:10px 12px;border-radius:10px;border:0;font-size:16px;box-shadow:0 1px 4px #0006}
#top button,#loc{border:0;border-radius:10px;background:#fff;font-size:20px;width:44px;box-shadow:0 1px 4px #0006}
#results{position:absolute;top:46px;left:0;right:50px;background:#fff;border-radius:10px;max-height:50vh;overflow:auto;box-shadow:0 2px 8px #0006}
#results div{padding:10px 12px;border-bottom:1px solid #eee}#results small{color:#777}
#hint{position:absolute;top:calc(env(safe-area-inset-top) + 64px);left:50%;transform:translateX(-50%);background:#000a;color:#fff;padding:6px 12px;border-radius:14px;z-index:4;font-size:13px}
#loc{position:absolute;right:10px;bottom:calc(env(safe-area-inset-bottom) + 30px);height:44px;z-index:4}
#lbl{position:absolute;left:10px;bottom:calc(env(safe-area-inset-bottom) + 30px);background:#fffd;padding:6px 10px;border-radius:10px;z-index:4;font-size:13px}
#sheet{position:absolute;left:0;right:0;bottom:0;max-height:65vh;overflow:auto;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -2px 12px #0006;z-index:10;padding:8px 16px calc(env(safe-area-inset-bottom) + 16px)}
.grab{width:40px;height:5px;background:#ccc;border-radius:3px;margin:0 auto 8px}#close{position:sticky;top:0;z-index:11;display:flex;align-items:center;justify-content:center;margin:-4px -6px -44px auto;width:44px;height:44px;border:0;border-radius:22px;background:#eee;color:#000;font-size:22px;line-height:1;box-shadow:0 1px 4px #0004;cursor:pointer;-webkit-tap-highlight-color:transparent}#sheetBody h3{padding-right:48px}
#sheet h3{margin:4px 0 10px}#sheet dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0}#sheet dt{color:#666}#sheet dd{margin:0;white-space:pre-wrap}
#sheet table{border-collapse:collapse;width:100%;font-size:13px;margin-top:8px}#sheet td,#sheet th{border:1px solid #ddd;padding:4px;text-align:left;vertical-align:top;word-break:break-word}
.btn{margin-top:12px;padding:10px 14px;border:0;border-radius:10px;background:#d35400;color:#fff;font-size:15px}
.hidden{display:none!important}#login{position:fixed;inset:0;background:#0009;z-index:20;display:flex;align-items:center;justify-content:center}
#lf{background:#fff;padding:20px;border-radius:14px;width:min(90vw,360px);display:flex;flex-direction:column;gap:10px}#lf label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#555}
#lf input{padding:10px;font-size:16px;border:1px solid #ccc;border-radius:8px}#lf button{padding:10px;border:0;border-radius:8px;background:#d35400;color:#fff;font-size:16px}#lf #logout{background:#888}#lerr{color:#c00;font-size:13px}
#err{position:absolute;top:calc(env(safe-area-inset-top) + 100px);left:10px;right:10px;background:#c0392b;color:#fff;padding:8px 12px;border-radius:10px;z-index:6;font-size:14px;text-align:center}
.notice{margin:6px 0 10px;padding:8px 10px;border-radius:8px;background:rgba(76,201,240,.15);color:#9be3f7;font-size:13px;line-height:1.35}
#legend{position:absolute;left:10px;bottom:calc(env(safe-area-inset-bottom) + 72px);background:#fffe;padding:6px 10px;border-radius:10px;z-index:4;font-size:12px;line-height:1.5}#legend i{display:inline-block;width:14px;height:0;border-top:3px solid;border-color:inherit;vertical-align:middle;margin-right:6px}#legend i{height:3px;border:0}
.notice.err{background:rgba(255,80,80,.18);color:#ffb3b3}.notice.ok{background:rgba(80,200,120,.16);color:#9fe3b4}
.dim{opacity:.6;font-style:italic}
#results .hd{padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#888;background:#f5f5f5}#results .pl{cursor:pointer}#results .dim{padding:10px 12px;opacity:.6;font-style:italic}
#own.on{background:#9b30ff;color:#fff}#ownchip{position:absolute;top:58px;left:10px;right:10px;z-index:3;display:flex;gap:8px;align-items:center;justify-content:space-between;background:#4a148c;color:#fff;border-radius:10px;padding:8px 10px;font-size:13px;box-shadow:0 1px 4px #0006}#ownchip button{background:#fff;color:#4a148c;border:0;border-radius:8px;padding:5px 9px;font-weight:600}
#ownchip .cb{display:flex;gap:6px;flex:none}#ownchip .cb button{padding:4px 8px;font-size:12px;width:auto}
#results .ownbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px 10px;background:#f5f5f5;position:sticky;top:0;z-index:2}#results .ownbar button{border:1px solid #9b30ff;background:#fff;color:#4a148c;border-radius:8px;padding:5px 9px;font-size:13px;width:auto;box-shadow:none}#results .ownbar button.pri{background:#9b30ff;color:#fff;font-weight:600}
#results .og{display:flex;align-items:center;gap:8px;background:#faf5ff;cursor:pointer;font-weight:600;padding:8px 10px}#results .og .gn{flex:1;min-width:0;word-break:break-word}#results .og .car{color:#7a00cc}
#results .pr{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 10px 8px 26px}#results input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:#9b30ff}#results .hidden{display:none}
