:root{--bg:#f5f5f7;--text:#1d1d1f;--text2:#424245;--text3:#6e6e73;--accent:#0071e3;--accent-hover:#0077ed;--on-accent:#fff;--accent-soft:rgba(0,113,227,.1);--glass:linear-gradient(180deg,hsla(0,0%,100%,.78),hsla(0,0%,100%,.56));--edge:hsla(0,0%,100%,.9);--hair:rgba(0,0,0,.08);--field:hsla(0,0%,100%,.78);--shadow:0 12px 34px rgba(31,38,72,.12),inset 0 1px 0 hsla(0,0%,100%,.95);--blob1:rgba(0,113,227,.28);--blob2:rgba(191,90,242,.24);--blob3:rgba(48,209,88,.22);--blob4:rgba(255,159,10,.2);--danger:#b3261e;--good:#0d6b31;--good-bg:rgba(48,209,88,.2);--warn:#8a4b00;--warn-bg:rgba(255,159,10,.2);--l-unexplored:#0071e3;--l-explored:#7a3fc4;--l-touristy:#c46a00;--l-stamped:#17803f;color-scheme:light}:root[data-look=midnight]{--bg:#0b0b0f;--text:#f5f5f7;--text2:#c4c4cc;--text3:#a5a5ad;--accent:#8b87ff;--accent-hover:#9d99ff;--on-accent:#15151a;--accent-soft:rgba(139,135,255,.16);--glass:linear-gradient(180deg,rgba(40,40,48,.72),rgba(28,28,34,.62));--edge:hsla(0,0%,100%,.13);--hair:hsla(0,0%,100%,.1);--field:hsla(0,0%,100%,.08);--shadow:0 18px 44px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.07);--blob1:rgba(139,135,255,.3);--blob2:rgba(58,160,255,.22);--blob3:rgba(139,135,255,.14);--blob4:rgba(58,160,255,.12);--danger:#ff8a80;--good:#7ee2a0;--warn:#ffc266;--l-unexplored:#5aa8ff;--l-explored:#b38cff;--l-touristy:#ffad4d;--l-stamped:#4cd884;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;overscroll-behavior:none}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.glass{background:var(--glass);border:1px solid var(--edge);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px) saturate(190%);backdrop-filter:blur(26px) saturate(190%)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.glass{background:var(--bg)}}.blobs{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.blob{position:absolute;filter:blur(50px);animation:morph 16s ease-in-out infinite alternate}.b1{width:420px;left:-140px;top:-120px;background:var(--blob1)}.b1,.b2{height:380px}.b2{width:380px;right:-140px;top:160px;background:var(--blob2);animation-delay:-5s}.b3{width:420px;height:340px;right:-60px;bottom:-160px;background:var(--blob3);animation-delay:-9s}.b4{width:340px;height:300px;left:-120px;bottom:80px;background:var(--blob4);animation-delay:-12s}@keyframes morph{0%{border-radius:58% 42% 46% 54%/44% 58% 42% 56%;transform:translate(0) rotate(0deg) scale(1)}50%{border-radius:40% 60% 62% 38%/60% 36% 64% 40%;transform:translate(40px,30px) rotate(40deg) scale(1.12)}to{border-radius:62% 38% 40% 60%/38% 62% 38% 62%;transform:translate(-30px,50px) rotate(90deg) scale(.96)}}.app{min-height:100dvh}.app,.page{position:relative}.page{z-index:1;max-width:560px;margin:0 auto;padding:22px 18px 120px;animation:rise .42s cubic-bezier(.2,.8,.2,1)}.page.full{padding-bottom:32px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title{margin:6px 0 0;font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.06}.sub{margin:6px 0 18px;font-size:15px;line-height:1.45;color:var(--text2)}.h3{margin:22px 0 10px;font-size:20px;font-weight:700;letter-spacing:-.02em}.muted{color:var(--text3);font-size:13px;line-height:1.45}.card{position:relative;padding:16px;border-radius:22px}.stack{flex-direction:column}.row,.stack{display:flex;gap:10px}.row{align-items:center}.grow{flex:1 1;min-width:0}.err{color:var(--danger)}.err,.ok{font-size:14px;font-weight:600;margin:10px 0 0}.ok{color:var(--good)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border:0;border-radius:18px;background:var(--accent);color:var(--on-accent);font-size:16px;font-weight:600;text-decoration:none;box-shadow:0 10px 26px rgba(0,113,227,.28),inset 0 1px 0 hsla(0,0%,100%,.3);transition:transform .16s ease,background .16s ease}.btn:hover{background:var(--accent-hover)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:var(--glass);color:var(--text);border:1px solid var(--edge);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);font-weight:500}.btn.small{width:auto;min-height:44px;padding:0 16px;border-radius:14px;font-size:14px}.btn.danger{background:var(--danger);color:#fff;box-shadow:none}.back{min-height:44px;padding:0 16px;font-size:14px;color:var(--text);text-decoration:none}.back,.chip{display:inline-flex;align-items:center;border-radius:999px;font-weight:600}.chip{min-height:26px;padding:0 10px;font-size:12px;background:var(--accent-soft);color:var(--accent)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.good{background:var(--good-bg);color:var(--good)}.chips{display:flex;flex-wrap:wrap;gap:6px}label.lab{display:block;font-size:13px;font-weight:600;color:var(--text2);margin:0 0 6px}.field{width:100%;min-height:48px;padding:12px 14px;border-radius:14px;border:1px solid var(--hair);background:var(--field);color:var(--text);font-size:16px;resize:vertical}.seg{display:flex;padding:4px;border-radius:18px;gap:2px}.seg button{flex:1 1;min-height:40px;border:0;border-radius:14px;background:transparent;font-size:14px;font-weight:600;color:var(--text2)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;font-size:15px}.switch input{width:48px;height:28px;accent-color:var(--accent)}.nav{position:fixed;left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;padding:5px;border-radius:26px;max-width:560px;margin:0 auto}.nav,.nav a{display:flex;gap:2px}.nav a{flex:1 1;min-width:0;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border-radius:20px;color:var(--text3);font-size:11px;font-weight:600;text-decoration:none}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.tab-handle{position:fixed;left:0;top:50%;z-index:31;transform:translateY(-50%);width:22px;height:68px;border:0;padding:0;border-radius:0 16px 16px 0;display:flex;align-items:center;justify-content:center;color:var(--text2)}.drawer-veil{position:fixed;inset:0;z-index:40;background:rgba(10,12,20,.28);opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-veil.open{opacity:1;pointer-events:auto}.drawer{position:fixed;left:0;top:0;bottom:0;z-index:41;width:min(320px,86vw);padding:calc(20px + env(safe-area-inset-top)) 14px 20px;border-radius:0 28px 28px 0;transform:translateX(-104%);transition:transform .32s cubic-bezier(.2,.9,.25,1);display:flex;flex-direction:column;gap:4px;overflow-y:auto}.drawer.open{transform:none}.drawer a{display:flex;align-items:center;gap:12px;min-height:48px;padding:4px 12px;border-radius:14px;text-decoration:none;color:var(--text2);font-size:15px}.drawer a:hover{background:var(--accent-soft)}.drawer a[aria-current=page]{background:var(--accent);color:var(--on-accent);font-weight:600}.num{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-soft);font-size:12px;font-weight:600}.drawer a[aria-current=page] .num{background:hsla(0,0%,100%,.24)}.map-wrap{position:fixed;inset:0;z-index:1}.map{position:absolute;inset:0}.map-top{position:fixed;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top));z-index:5;flex-direction:column;max-width:560px;margin:0 auto}.map-head,.map-top{display:flex;gap:8px}.map-head{align-items:center;justify-content:space-between;padding:10px 16px;border-radius:22px}.fab{bottom:calc(100px + env(safe-area-inset-bottom));width:58px;height:58px;border:0;border-radius:50% 50% 50% 8px;background:var(--accent);color:var(--on-accent);font-size:30px;line-height:1;box-shadow:0 12px 26px rgba(0,113,227,.4),inset 0 2px 4px hsla(0,0%,100%,.4);text-decoration:none}.fab,.locate{position:fixed;right:16px;z-index:6;display:flex;align-items:center;justify-content:center}.locate{bottom:calc(168px + env(safe-area-inset-bottom));width:48px;height:48px;border-radius:16px;border:0}.hint{left:16px;right:88px;bottom:calc(106px + env(safe-area-inset-bottom));z-index:5;padding:12px 14px;border-radius:18px;font-size:14px;font-weight:600;max-width:460px}.hint,.sheet{position:fixed}.sheet{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:35;padding:20px;border-radius:30px;max-width:560px;margin:0 auto;max-height:78dvh;overflow-y:auto;animation:sheet .42s cubic-bezier(.2,.9,.25,1.06)}@keyframes sheet{0%{transform:translateY(60%);opacity:.4}to{transform:none;opacity:1}}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:14px 0;font-size:13px}.facts b{display:block;font-weight:600;font-size:14px}.facts span{color:var(--text3)}.maplibregl-ctrl-attrib{font-size:10px}.maplibregl-ctrl-bottom-right{bottom:calc(80px + env(safe-area-inset-bottom))!important}.tank{position:relative;width:240px;height:240px;margin:0 auto;border-radius:50%;overflow:hidden}.wave{position:absolute;left:50%;width:480px;height:480px;margin-left:-240px;border-radius:42%;background:linear-gradient(180deg,#3b9dff,#0071e3);transition:top .9s ease;animation:spin 7s linear infinite}.wave.back{opacity:.4;border-radius:38%;animation-duration:11s}@keyframes spin{to{transform:rotate(1turn)}}.tanktext{position:absolute;inset:0;padding:20px}.stamp,.tanktext{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stamp{gap:4px;color:#fff;padding:18px;animation:land .7s cubic-bezier(.2,1.5,.4,1) both,liquid 9s ease-in-out .7s infinite alternate;box-shadow:0 18px 40px rgba(31,38,72,.28),inset 0 3px 6px hsla(0,0%,100%,.35);border-radius:50%}.s0{background:linear-gradient(150deg,#3b9dff,#0058b8)}.s1{background:linear-gradient(150deg,#a862e8,#6d28b8)}.s2{background:linear-gradient(150deg,#2fa862,#116a33)}.s3{background:linear-gradient(150deg,#d9822b,#a14e00)}@keyframes land{0%{transform:scale(2.2) rotate(-16deg);opacity:0}to{transform:none;opacity:1}}@keyframes liquid{0%{border-radius:50% 50% 48% 52%/52% 48% 52% 48%}50%{border-radius:44% 56% 54% 46%/46% 54% 44% 56%}to{border-radius:54% 46% 44% 56%/56% 44% 54% 46%}}.splash{position:absolute;border-radius:50%;animation:splash 1.5s ease-out both;pointer-events:none}@keyframes splash{0%{transform:translate(0) scale(.2);opacity:.9}to{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}.passport{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px 8px;gap:14px 8px;justify-items:center}.passport a{text-decoration:none}.mini{width:100px;height:100px;font-size:11px;font-weight:700;line-height:1.15;animation:liquid 9s ease-in-out infinite alternate}.bar{height:10px;background:var(--hair);overflow:hidden;margin-top:8px}.bar,.bar>div{border-radius:999px}.bar>div{height:100%;background:linear-gradient(90deg,#3b9dff,#0071e3);transition:width .5s ease}.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;display:block;background:var(--hair)}.reel-frame{width:100%;aspect-ratio:9/16;max-height:70dvh;border:0;border-radius:18px;background:#000}.rank{display:flex;align-items:center;gap:10px;min-height:42px;font-size:15px;border-bottom:1px solid var(--hair)}.rank:last-child{border-bottom:0}.rank.me{font-weight:700;color:var(--accent)}.pickmap{position:relative;width:100%;height:260px;border-radius:18px;overflow:hidden;border:1px solid var(--edge)}@media (prefers-reduced-motion:reduce){.blob,.mini,.page,.sheet,.stamp,.wave{animation:none!important}}.prose p{margin:0 0 8px;line-height:1.55}.prose p:last-child{margin-bottom:0}.prose ul{margin:0 0 8px;padding-left:20px;line-height:1.55}.prose li{margin:2px 0}