*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,sans-serif}.app{position:relative;height:100%}#map{position:absolute;top:0;right:0;bottom:0;left:0}.topbar{position:absolute;top:0;left:0;z-index:1000;background:#ffffffeb;padding:8px 14px;border-radius:0 0 8px;max-width:320px}.topbar h1{margin:0;font-size:20px}.topbar p{margin:2px 0;font-size:13px}.sidebar{position:absolute;top:0;right:0;z-index:1000;width:300px;max-height:100%;overflow-y:auto;background:#fffffff0;padding:10px 14px;border-radius:0 0 0 8px}.sidebar h2{margin:4px 0 8px;font-size:16px}.panel{position:absolute;z-index:1000;background:#fff;border-radius:8px;padding:12px 14px;box-shadow:0 2px 12px #00000040}.drop-dialog,.bottle-dialog,.sonar-panel,.auth-dialog{left:50%;bottom:24px;transform:translate(-50%);width:min(420px,92vw)}.sonar-panel p,.auth-dialog p{margin:4px 0}.hint{font-size:17px;font-weight:700;color:#0b5fff}.legendary{font-weight:700;color:#b8860b}.reward-code{display:inline-block;margin:6px 0;padding:8px 12px;background:#fff8e1;border:2px dashed #b8860b;border-radius:6px;font-weight:700;font-size:16px;overflow-wrap:anywhere}.drop-dialog h2,.auth-dialog h2{margin:0 0 4px;font-size:17px}.drop-dialog textarea,.drop-dialog input,.auth-dialog input{width:100%;margin:6px 0;padding:8px;font:inherit;border:1px solid #ccc;border-radius:6px}.own-bottle{font-size:20px;line-height:26px;text-align:center;width:28px;height:28px;border-radius:50%;background:#0b5fffd9;border:2px solid #fff;box-shadow:0 1px 6px #00000080}.finders{list-style:none;padding:0;margin:2px 0 0;font-size:13px;color:#0a7d2c}.finders li{padding:1px 0}.row{display:flex;gap:8px;align-items:center;margin-top:6px}button{padding:8px 14px;font:inherit;cursor:pointer;border-radius:6px;border:1px solid #0b5fff;background:#0b5fff;color:#fff}button:disabled{opacity:.5;cursor:default}button.ghost{background:#fff;color:#0b5fff}.recent{list-style:none;padding:0;margin:0}.recent li{border-top:1px solid #eee;padding:8px 0}.recent .msg{margin:0 0 2px;overflow-wrap:anywhere}.recent .meta{margin:0 0 6px;font-size:12px;color:#555}.recent button{padding:4px 10px;font-size:13px}.muted{color:#666}.ok{color:#0a7d2c;font-weight:700}.bad{color:#c00}.coords{margin:0 0 4px;font-size:14px}.pin{position:relative;padding:5px 12px;border-radius:14px;font-size:13px;font-weight:700;white-space:nowrap;transform:translate(-50%,-135%);box-shadow:0 1px 6px #0006;background:#fff;color:#111;border:2px solid #0b5fff}.pin-land{border-color:#555}.pin:after{content:"";position:absolute;left:50%;bottom:-8px;width:8px;height:8px;background:inherit;border-right:2px solid;border-bottom:2px solid;border-color:inherit;transform:translate(-50%) rotate(45deg)}.pin-water:after{border-color:#0b5fff}.pin-land:after{border-color:#555}.bottle{font-size:22px;line-height:28px;text-align:center;width:28px;height:28px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));cursor:pointer}.bottle.opened{filter:grayscale(1);opacity:.75}.teaser{font-size:14px;text-align:center}.teaser button{margin-top:6px;padding:5px 12px;font-size:13px}.map-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;background:#141414cc;color:#fff;font-size:13px;padding:6px 14px;border-radius:14px;pointer-events:none}.xp{margin:6px 0;font-size:13px}.xpbar{height:8px;background:#e0e0e0;border-radius:4px;margin:4px 0;overflow:hidden}.xpfill{height:100%;background:linear-gradient(90deg,#0b5fff,#00c2a8);border-radius:4px;transition:width .4s}.small{font-size:12px}.flash{margin:6px 0 0;font-size:13px;font-weight:700;color:#0a7d2c}.tabs{display:flex;gap:4px;margin-bottom:8px}.tab{flex:1;background:#eee;color:#333;border:1px solid #ccc;white-space:nowrap}.tab.active{background:#0b5fff;border-color:#0b5fff;color:#fff}.scores{width:100%;border-collapse:collapse;font-size:14px}.scores th,.scores td{text-align:left;padding:6px 4px;border-top:1px solid #eee}.scores th{border-top:none;color:#555;font-weight:400;font-size:12px}.scores tr.me td{background:#eef4ff;font-weight:700}.sidebar input{flex:1;min-width:0;padding:7px;font:inherit;border:1px solid #ccc;border-radius:6px}.sidebar .row button{white-space:nowrap}.bottle-dialog blockquote{margin:8px 0;padding:10px 12px;background:#f6f8ff;border-left:3px solid #0b5fff;overflow-wrap:anywhere;font-style:italic}.bottle-dialog .meta{margin:0;font-size:13px;color:#555}.xp-gain{font-weight:700;color:#0a7d2c}
