html,body{margin:0}[hidden]{display:none!important}:root{--bg:#050506;--surface:#0c0d10;--surface-2:#14151a;--line:#1f2026;--fg:#f3f1ea;--muted:#9a98a3;--accent:#e9c46a;--accent-ink:#1a1400;--sea:#0b1a24;--land:#20232b;--good:#7bd88f;--f-display:"Sora",system-ui,sans-serif;--f-body:"Figtree",system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,monospace;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}header.top .wrap{display:flex;align-items:center;gap:16px;padding-block:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:18px;letter-spacing:.01em;color:var(--fg);text-decoration:none}.brand svg{width:34px;height:34px}.brand b{color:var(--accent);font-weight:800}nav.main{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}nav.main a{color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:999px;font-weight:600;font-size:14px}nav.main a[aria-current]{color:var(--fg);background:var(--surface-2)}nav.main a:focus-visible,button:focus-visible,input:focus-visible,path:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.demo-note{font-size:12px;color:var(--muted);border:1px dashed var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}.hero{padding-block:56px 16px;display:grid;gap:10px}.hero h1{font-family:var(--f-display);font-weight:300;font-size:clamp(28px,4.6vw,52px);line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance;max-width:20ch}.hero h1 em{font-style:normal;font-weight:600;color:var(--accent)}.hero p{margin:0;color:var(--muted);max-width:62ch}.searchbar{display:flex;gap:8px;margin-top:8px;max-width:640px}.searchbar input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:12px 14px;font:inherit}.searchbar button,.btn{letter-spacing:.01em;background:var(--accent);color:var(--accent-ink);border:0;border-radius:12px;padding:0 18px;font:inherit;font-weight:700;cursor:pointer}.chips{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--muted);align-items:center}.chips button{background:transparent;border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:3px 10px;font:inherit;cursor:pointer}.chips button:hover{border-color:var(--accent)}.stage{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;padding-block:16px 40px}@media(max-width:900px){.stage{grid-template-columns:1fr}}.mapbox{position:relative;display:flex;align-items:center;min-height:420px;background:radial-gradient(120% 90% at 50% 40%,var(--sea),var(--bg) 75%);border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0}.mapbox svg{display:block;width:100%;height:auto}.muni{stroke:var(--bg);stroke-width:.7;cursor:pointer;transition:fill .15s}.muni:hover,.muni.sel{stroke:var(--fg);stroke-width:1.4}.muni.dim{opacity:.25}.isl-label{font-family:var(--f-display);font-size:13px;font-weight:700;fill:var(--muted);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.legend{position:absolute;left:14px;bottom:12px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.legend .ramp{width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--land),#5e4a1c,var(--accent))}.maptitle{position:absolute;left:16px;top:12px;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.tip{position:absolute;pointer-events:none;background:var(--fg);color:var(--bg);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.35;box-shadow:0 8px 24px #00000080;transform:translate(-50%,calc(-100% - 12px));white-space:nowrap}.tip strong{display:block;font-size:14px}.tip .n{font-family:var(--f-mono);font-weight:500}aside.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;align-self:start}.panel h2{font-family:var(--f-display);font-size:18px;margin:0;line-height:1.2}.panel .sub{color:var(--muted);font-size:13px;margin:0}.ulist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto}.user{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;background:var(--surface-2);border-radius:12px;padding:10px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:14px;color:var(--accent-ink)}.user .name{font-weight:700}.user .meta{font-size:12px;color:var(--muted)}.stars{color:var(--accent);font-family:var(--f-mono);font-size:12px}.tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.tag{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted)}.user .btn{padding:8px 12px;font-size:13px}.empty{color:var(--muted);font-size:14px}.islands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.islands button{display:flex;justify-content:space-between;gap:6px;background:var(--surface-2);border:1px solid transparent;color:var(--fg);border-radius:10px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer;text-align:left}.islands button:hover,.islands button[aria-pressed=true]{border-color:var(--accent)}.islands .n{font-family:var(--f-mono);color:var(--accent)}.results{padding-block:0 40px}.results h2,.logos h2{font-family:var(--f-display);font-size:22px;margin:0 0 4px}.results .sub,.logos .sub{color:var(--muted);margin:0 0 16px}.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.rcol{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}.rcol h3{margin:0 0 8px;font-size:15px;display:flex;justify-content:space-between}.rcol h3 span{font-family:var(--f-mono);color:var(--accent);font-size:13px}.rrow{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--line);font-size:14px}.rrow .m{color:var(--muted);font-size:12px}.logos{border-top:1px solid var(--line);padding-block:36px 56px}.lgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.lcard{background:#000;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:14px;min-width:0}.lcard .art{aspect-ratio:1/1;display:grid;place-items:center;max-width:100%}.lcard .art svg{width:78%;height:auto}.lcard h3{margin:0;font-family:var(--f-display);font-size:15px}.lcard p{margin:0;color:var(--muted);font-size:14px}.lcard .k{font-family:var(--f-mono);font-size:11px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}footer{color:var(--muted);font-size:12px;padding-block:0 32px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.shelf{padding-block:8px 48px}.shelf .head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.shelf h2{font-family:var(--f-display);font-weight:400;font-size:24px;margin:0;letter-spacing:-.01em}.shelf .sub{color:var(--muted);margin:0;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px}.tile{display:flex;flex-direction:column;gap:10px;min-width:0}.cardart{aspect-ratio:63/88;max-width:100%;border-radius:12px;position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .25s,box-shadow .25s}.tile:hover .cardart{transform:translateY(-4px);box-shadow:0 18px 40px -18px var(--glow,#e9c46a)}.cardart .inner{position:absolute;inset:8px;border-radius:8px;background:linear-gradient(160deg,var(--c1),var(--c2));display:flex;flex-direction:column;justify-content:space-between;padding:10px;color:#0b0b0d}.cardart .inner .nm{font-weight:700;font-size:13px}.cardart .inner .win{flex:1;margin:8px 0;border-radius:4px;background:#0000002e}.cardart .inner .st{font-family:var(--f-mono);font-size:10px;opacity:.75}.cardart .badge{position:absolute;top:16px;left:16px;background:#000;color:var(--fg);font-size:11px;border-radius:999px;padding:2px 8px}.tile .t{font-weight:600;font-size:14px;line-height:1.3}.tile .w{font-size:12px;color:var(--muted)}.tile .p{font-family:var(--f-mono);color:var(--accent);font-size:13px}.ref{font-size:11px;color:var(--muted);line-height:1.35}.ref b{color:var(--fg);font-weight:600}.login{border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:6px 14px;font-weight:600;font-size:14px;text-decoration:none}.basket{border-top:1px solid var(--line);padding-block:40px 48px}.basket h2,.reg h2{font-family:var(--f-display);font-weight:400;font-size:24px;margin:0 0 4px;letter-spacing:-.01em}.basket>.sub,.reg .sub{color:var(--muted);margin:0 0 20px;max-width:70ch}.steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;font-size:12px}.steps span{border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--muted)}.steps span.done{color:var(--fg);border-color:var(--muted)}.steps span.now{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.bgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 300px;gap:16px}@media(max-width:960px){.bgrid{grid-template-columns:1fr}}.side{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}.side h3{margin:0 0 10px;font-size:15px;display:flex;justify-content:space-between;gap:8px}.side h3 span{color:var(--muted);font-weight:400;font-size:13px}.item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.mini{width:38px;aspect-ratio:63/88;border-radius:4px;background:linear-gradient(160deg,var(--c1),var(--c2))}.item .nm{font-weight:600;font-size:14px}.item .pr{font-family:var(--f-mono);font-size:13px;text-align:right}.addmore{margin-top:10px;width:100%;background:none;border:1px dashed var(--line);color:var(--muted);border-radius:10px;padding:9px;font:inherit;font-size:13px;cursor:pointer}.sum{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px;align-self:start}.sum .row{display:flex;justify-content:space-between;font-size:14px}.sum .row span:last-child{font-family:var(--f-mono)}.sum .diff{border-top:1px solid var(--line);padding-top:10px;font-size:15px;font-weight:700}.sum .diff span:last-child{color:var(--accent)}.sum .btn{padding:11px}.sum .ghost{background:none;border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:10px;font:inherit;cursor:pointer}.notice{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:16px;max-width:560px}.notice .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px;flex:none}.reg{border-top:1px solid var(--line);padding-block:40px 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:32px;align-items:start}@media(max-width:800px){.reg{grid-template-columns:1fr}}.reg ul{color:var(--muted);padding-left:18px;margin:0;display:grid;gap:6px}.form{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;gap:12px}.form label{font-size:13px;color:var(--muted);display:grid;gap:4px}.form input,.form select{background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:10px 12px;font:inherit}.form .btn{padding:12px}.form .alt{font-size:13px;color:var(--muted);text-align:center}.pc{--tc:#888;aspect-ratio:63/88;max-width:100%;border-radius:7%/5%;padding:5%;background:linear-gradient(160deg,color-mix(in srgb,var(--tc) 55%,#f4e7a8),color-mix(in srgb,var(--tc) 80%,#000));display:flex;flex-direction:column;gap:4%;color:#111;container-type:inline-size;position:relative;overflow:hidden}.pc .top{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:max(7px,8.5cqw);line-height:1.1;white-space:nowrap;overflow:hidden}.pc .top i{font-style:normal;font-size:.8em}.pc .win{flex:1;border-radius:3px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--tc) 35%,#fff),color-mix(in srgb,var(--tc) 85%,#000));display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px #00000040}.pc .win svg{width:46%;height:auto;fill:#ffffffd9;filter:drop-shadow(0 2px 3px rgb(0 0 0 / .3))}.pc .txt{height:22%;border-radius:3px;background:#ffffff59}.pc .ft{font-family:var(--f-mono);font-size:max(6px,6.5cqw);opacity:.7;white-space:nowrap;overflow:hidden}.pc.sm{padding:6%;border-radius:3px}.pc.sm .top,.pc.sm .txt,.pc.sm .ft{display:none}.pc.sm .win svg{width:60%}.pc.img{padding:0;background:#111;border-radius:4.5%/3.3%;box-shadow:0 1px #ffffff0f}.pc.img img{width:100%;height:100%;object-fit:cover;display:block}.pc.img.sm{border-radius:2px}.typechip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:2px 8px 2px 4px;background:color-mix(in srgb,var(--tc) 22%,transparent);color:color-mix(in srgb,var(--tc) 60%,#fff);border:1px solid color-mix(in srgb,var(--tc) 50%,transparent)}.typechip svg{width:14px;height:14px;fill:var(--tc)}.tile .cardart{border:0;background:none;padding:0}.tile:hover .pc{transform:translateY(-4px);box-shadow:0 18px 40px -14px var(--tc)}.tile .pc{transition:transform .25s,box-shadow .25s}.dd{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 24px 48px -12px #000c;display:grid;gap:2px}.dd .opt{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:6px 8px;border-radius:10px;cursor:pointer;background:none;border:0;color:var(--fg);font:inherit;text-align:left;width:100%}.dd .opt:hover,.dd .opt:focus-visible{background:var(--surface-2)}.dd .opt .pc{width:30px}.dd .nm{font-weight:600;font-size:14px}.dd .st{font-size:12px;color:var(--muted)}.dd .cnt{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}.dd .cnt b{color:var(--accent);font-family:var(--f-mono);font-weight:500}.dd .all{margin-top:4px;border-top:1px solid var(--line);padding:10px 8px 6px;background:none;border-left:0;border-right:0;border-bottom:0;color:var(--accent);font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-align:left}.colls{border-top:1px solid var(--line);padding-block:40px 48px}.colls h2{font-family:var(--f-display);font-weight:400;font-size:24px;margin:0 0 4px;letter-spacing:-.01em}.colls .sub{color:var(--muted);margin:0;font-size:14px}.chead{margin-bottom:20px}.cgrid{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:16px;align-items:start}@media(max-width:1060px){.cgrid{grid-template-columns:minmax(0,1fr) 300px}.setlist{grid-column:1/-1;display:flex!important;overflow-x:auto}}@media(max-width:760px){.cgrid{grid-template-columns:1fr}}.setlist{display:grid;gap:8px}.setlist button{display:grid;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--fg);font:inherit;text-align:left;cursor:pointer;min-width:180px}.setlist button[aria-pressed=true]{border-color:var(--accent)}.setlist .sn{font-weight:600;font-size:14px}.setlist .sp{font-size:12px;color:var(--muted);font-family:var(--f-mono)}.minibar,.bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.minibar span,.bar span{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.album{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0;display:grid;gap:12px}.ahead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:end}.ahead h3{margin:0;font-size:17px}.filters{display:flex;gap:4px}.filters button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 12px;font:inherit;font-size:13px;cursor:pointer}.filters button[aria-pressed=true]{color:var(--fg);border-color:var(--fg)}.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:10px}.slot{background:none;border:0;padding:0;cursor:pointer;position:relative;display:grid;gap:4px;color:var(--muted);font:inherit;font-size:11px;text-align:center}.slot .pc{transition:filter .2s,opacity .2s,transform .15s}.slot.miss .pc{filter:grayscale(1) brightness(.45);opacity:.6}.slot:hover .pc{transform:scale(1.04)}.slot .chk{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:12px;font-weight:800}.slot.miss .chk{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.csum{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:12px}.csum h3{margin:0;font-size:15px}.ring{display:flex;align-items:center;gap:12px}.ring svg{width:64px;height:64px}.ring .big{font-family:var(--f-display);font-size:22px}.wl{display:grid;gap:8px;list-style:none;margin:0;padding:0}.wl li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px}.wl .pc{width:28px}.wl .who{color:var(--muted);font-size:12px}.wl .from{font-family:var(--f-mono);color:var(--accent);font-size:12px;white-space:nowrap}.stage{grid-template-columns:minmax(0,1fr)!important;gap:12px}.mapbox{min-height:0}.pop{position:absolute;right:14px;top:14px;bottom:14px;width:min(320px,calc(100% - 28px));overflow:auto;box-shadow:0 24px 60px -10px #000000d9;z-index:3}.pop .ulist{max-height:none}.pop .x{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit;font-size:16px;cursor:pointer}@media(max-width:700px){.pop{position:static;width:auto;box-shadow:none;margin-top:8px}.mapbox{flex-direction:column;align-items:stretch}}.islandbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.islandbar .lab{color:var(--muted);font-size:13px;margin-right:4px}.islandbar button{display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.islandbar button:hover,.islandbar button[aria-pressed=true]{border-color:var(--accent)}.islandbar .n{font-family:var(--f-mono);color:var(--accent);font-size:12px}.user.click{cursor:pointer;border:1px solid transparent;transition:border-color .15s}.user.click:hover,.user.click:focus-visible{border-color:var(--accent);outline:none}.modal{position:fixed;inset:0;z-index:20;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.sheet{position:relative;width:min(960px,100%);max-height:100%;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;display:grid;gap:18px}.sheet .x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit;font-size:18px;cursor:pointer}.phead{display:flex;gap:16px;align-items:center;padding-right:40px}.avatar.big{width:72px;height:72px;font-size:24px;flex:none}.phead h2{margin:0;font-family:var(--f-display);font-weight:600;font-size:24px}.pstats{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:6px}.pstats b{color:var(--fg);font-family:var(--f-mono);font-weight:500}.ptabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.ptabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-weight:600;padding:8px 12px;cursor:pointer;margin-bottom:-1px}.ptabs button[aria-selected=true]{color:var(--fg);border-color:var(--accent)}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}.pcard{display:flex;flex-direction:column;gap:6px;min-width:0}.pcard .t{font-weight:600;font-size:14px}.pcard .w{font-size:12px;color:var(--muted)}.prow{display:flex;justify-content:space-between;align-items:center;gap:6px}.prow .p{font-family:var(--f-mono);color:var(--accent);font-size:14px}.addb{background:none;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.addb.on{background:var(--accent);color:var(--accent-ink)}.revs{list-style:none;margin:0;padding:0;display:grid;gap:12px}.revs li{background:var(--surface-2);border-radius:12px;padding:12px 14px}.revs p{margin:4px 0 0;color:var(--muted);font-size:14px}.pfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}@media(max-width:560px){.phead{flex-direction:column;align-items:flex-start}.sheet{padding:18px}}.back{display:inline-block;color:var(--muted);text-decoration:none;font-size:14px;margin:28px 0 8px}.back:hover{color:var(--fg)}.searchslot{margin-bottom:24px}.searchslot .searchbar{max-width:760px}.results{padding-top:0}.results h2{margin-top:8px}footer{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:24px}.flinks{display:flex;gap:6px 18px;flex-wrap:wrap}.flinks a{color:var(--fg);text-decoration:none;font-size:13px}.flinks a:hover{color:var(--accent)}.zoomctl{position:absolute;right:14px;bottom:12px;display:grid;gap:4px;z-index:2}.zoomctl button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:18px;cursor:pointer}.zoomctl button:hover{border-color:var(--accent)}.ztoast{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#000c;color:var(--fg);border-radius:12px;padding:10px 16px;font-size:14px;pointer-events:none;z-index:2}.zhint{opacity:.8}.mapbox svg{touch-action:none}.mapbox.zoomed svg{cursor:grab}.mapbox.dragging svg{cursor:grabbing}.mlabel{fill:var(--fg);font-family:var(--f-body);font-weight:600;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#000000bf;stroke-linejoin:round}@media(max-width:700px){.zhint{display:none}}.isl-label{font-size:9px}:root{--f-pixel:"Pixelify Sans","Silkscreen",ui-monospace,monospace}.mapbox{background:radial-gradient(circle,rgb(120 170 200 / .1) .7px,transparent 1px) 0 0/9px 9px,radial-gradient(120% 90% at 50% 40%,var(--sea),var(--bg) 75%)}.muni.px{stroke:none!important;shape-rendering:crispEdges;transition:filter .15s}.muni.px:hover{filter:brightness(1.35)}.muni.px.sel{filter:brightness(1.6) drop-shadow(0 0 1.5px #fff)}.isl-label{font-family:var(--f-pixel);font-weight:600;font-size:9px;letter-spacing:.08em;fill:var(--fg);opacity:.85}.isl-sign{fill:#050506d1;stroke:var(--accent);stroke-width:.6;shape-rendering:crispEdges}.mlabel{font-family:var(--f-pixel);font-weight:400}.maptitle{font-family:var(--f-pixel);letter-spacing:.1em}.tip{font-family:var(--f-pixel);background:var(--bg);color:var(--fg);border-radius:4px;border:2px solid var(--fg);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent),0 10px 24px #0009;padding:8px 12px}.tip strong{font-weight:600;letter-spacing:.03em}.tip .n{font-family:var(--f-pixel);color:var(--accent)}.tip:after{content:"▼";position:absolute;right:8px;bottom:0;font-size:8px;color:var(--accent);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.tip:after{animation:none}}.islandbar button{font-family:var(--f-pixel);letter-spacing:.03em}.mapbox svg[data-px=S] .muni.px{stroke:var(--bg)!important;stroke-width:.25!important;stroke-opacity:.35}.muni.px{opacity:.82}.muni.px:hover{opacity:1}.mapbox svg[data-px=S] .muni.px{stroke:none!important}.isl-label{font-family:"Press Start 2P",var(--f-pixel);font-weight:400;font-size:7px;letter-spacing:.04em;fill:#fff;opacity:1}.isl-sign{fill:#050506;stroke:var(--accent);stroke-width:.9}.mlabel{font-weight:600}.tswatch{display:inline-flex;gap:2px}.tswatch i{width:8px;height:8px;display:block}.legend{flex-wrap:wrap;right:70px}.hero{text-align:center;justify-items:center;padding-block:64px 20px}.hero h1{max-width:none;margin-inline:auto}.hero h1 em{display:block}.hero>p{margin-inline:auto}.hero .searchbar,.searchslot .searchbar{max-width:none;width:100%;text-align:left}.hero .searchbar input{padding:16px 18px;font-size:16px;border-radius:14px}.hero .chips{justify-content:center}.stats{display:flex;gap:10px 36px;flex-wrap:wrap;justify-content:center;margin-top:14px}.stats div{display:grid;justify-items:center;gap:2px}.stats b{font-family:var(--f-display);font-weight:600;font-size:26px;letter-spacing:-.01em;color:var(--fg);font-variant-numeric:tabular-nums}.stats div:first-child b{color:var(--accent)}.stats span{font-size:12px;color:var(--muted)}.mapbox{align-items:center}.mapfoot{display:flex;justify-content:space-between;align-items:center;gap:10px 20px;flex-wrap:wrap;padding:12px 4px 0}.mapfoot .legend{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted);right:auto}.mstyle{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.mstyle button{background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:5px 12px;font:inherit;font-size:12px;cursor:pointer}.mstyle button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.mstyle em{font-style:normal;font-size:10px;background:var(--accent);color:var(--accent-ink);border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:1px}.zoomctl{top:12px;bottom:auto}.maptitle{font-family:var(--f-body);letter-spacing:.08em}svg:not([data-style=pixel]) .isl-label{font-family:var(--f-display);font-weight:600;font-size:8.5px;letter-spacing:.14em;fill:var(--muted);text-transform:uppercase}svg:not([data-style=pixel]) .isl-sign{display:none}svg:not([data-style=pixel]) .mlabel{font-family:var(--f-body)}svg:not([data-style=pixel]) .muni{opacity:1}.relief,.pins{display:none}svg[data-style=relieve] .relief,svg[data-style=relieve] .pins{display:inline}.relief .r2 path{fill:#000}.relief .r1 path{fill:#3a2d10}svg[data-style=relieve] .muni{stroke-width:.5}.pin{cursor:pointer}.pin .pb-ring{fill:#050506}.pin .pb-top{fill:#d93a2b}.pin .pb-bot{fill:#f3f1ea}.pin .pb-band{stroke:#050506;stroke-width:.9}.pin .pb-btn{fill:#f3f1ea;stroke:#050506;stroke-width:.7}.pin .pb-tag rect{fill:#050506;stroke:var(--accent);stroke-width:.4}.pin .pb-tag text{font-family:var(--f-mono);font-size:3.6px;fill:#f3f1ea}.pin:hover .pb-ring{fill:var(--accent)}svg:not([data-style=pixel])~.tip,.mapbox:not(:has(svg[data-style=pixel])) .tip{font-family:var(--f-body);border-radius:10px;border:1px solid var(--line);box-shadow:0 10px 24px #00000080;background:var(--surface);color:var(--fg)}.mapbox:not(:has(svg[data-style=pixel])) .tip:after{display:none}.mapbox:not(:has(svg[data-style=pixel])) .tip .n{font-family:var(--f-mono)}.chead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.addset{position:relative}.addset .btn{padding:10px 16px}.setpop{position:absolute;right:0;top:calc(100% + 8px);z-index:6;width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 24px 48px -12px #0009;display:grid;gap:8px}.setpop input{background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:9px 12px;font:inherit}.setopts{max-height:320px;overflow:auto;display:grid;gap:2px}.sgroup{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px}.sopt{display:flex;justify-content:space-between;gap:10px;background:none;border:0;color:var(--fg);font:inherit;font-size:14px;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer}.sopt:hover{background:var(--surface-2)}.sopt .st{color:var(--muted);font-size:12px;white-space:nowrap}.sopt[aria-disabled=true]{opacity:.5;cursor:default}.setnote{margin:0;font-size:11px;color:var(--muted);padding:0 4px}.themebtn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--fg);font:inherit;font-size:15px;cursor:pointer}.avatar{color:#1a1400}.lcard{color:#f3f1ea}.lcard p{color:#9a98a3}:root[data-mode=light]{--bg:#f5f5f7;--surface:#ffffff;--surface-2:#f0f0f2;--line:#e2e2e7;--fg:#1d1d1f;--muted:#6e6e73;--accent:#a8761a;--accent-ink:#ffffff;--sea:#e6edf3;--land:#e2ddd0;color-scheme:light}:root[data-mode=light] .mapbox{background:radial-gradient(circle,rgb(60 100 140 / .1) .7px,transparent 1px) 0 0/9px 9px,radial-gradient(120% 90% at 50% 40%,#fff,#eef2f6 75%)}:root[data-mode=light] .mlabel{stroke:#ffffffe6}:root[data-mode=light] .relief .r2 path{fill:#cfc8b8}:root[data-mode=light] .relief .r1 path{fill:#b9965a}:root[data-mode=light] .typechip{color:color-mix(in srgb,var(--tc) 75%,#000)}:root[data-mode=light] .sheet,:root[data-mode=light] .dd,:root[data-mode=light] .setpop{box-shadow:0 24px 48px -12px #0000002e}:root[data-mode=light] .modal{background:#1e1e2359}:root[data-mode=light] .tile:hover .pc{box-shadow:0 18px 40px -16px var(--tc)}:root[data-mode=light] header.top{background:color-mix(in srgb,var(--bg) 80%,transparent)}:root[data-mode=light] .legend .ramp{background:linear-gradient(90deg,#ece6d6,#d9b35c,#9a6b12)}:root[data-mode=light] .muni{stroke:#fff}.islandbar button{font-family:var(--f-body);letter-spacing:0}.zoomctl{inset:36px auto auto 14px;display:flex;gap:4px}.zoomctl button{width:30px;height:30px;font-size:16px;border-radius:8px}.auth{padding-block:48px 64px;display:grid;place-items:center}.authbox{width:min(440px,100%);display:grid;gap:14px}.authbox h2{font-family:var(--f-display);font-weight:400;font-size:30px;margin:0;text-align:center}.authbox>.sub{text-align:center;color:var(--muted);margin:0}.demo{display:flex;justify-content:space-between;align-items:center;gap:12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px dashed var(--accent);border-radius:12px;padding:12px 14px;font-size:13px}.demo code{font-family:var(--f-mono);font-size:12px}.ghostbtn{background:none;border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:9px 14px;font:inherit;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.ghostbtn:hover{border-color:var(--accent)}.ghostbtn:disabled{opacity:.5;cursor:not-allowed}.ghostbtn.wide{width:100%}.ghostbtn.sm{padding:5px 10px;font-size:12px;border-radius:8px}.ghostbtn.warn{border-color:#d93a2b;color:#d93a2b}.ferr{margin:0;color:#d93a2b;font-size:13px}.form .alt a{color:var(--accent)}.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.login.on{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px}.avatar.mini{width:26px;height:26px;font-size:10px;flex:none}.dash{padding-block:36px 56px;display:grid;gap:20px}.dhead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.dhead .who{display:flex;gap:14px;align-items:center}.dhead h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:28px}.dhead .sub{margin:0;color:var(--muted)}.dact{display:flex;gap:8px;flex-wrap:wrap}.dact .btn{padding:10px 16px}.dstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.dstats div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:2px}.dstats b{font-family:var(--f-display);font-weight:600;font-size:24px}.dstats span{color:var(--muted);font-size:13px}.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media(max-width:900px){.dgrid{grid-template-columns:1fr}}.dmain{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px 16px 16px;min-width:0}.dmain .ptabs{margin-bottom:12px}.mylist{list-style:none;margin:0;padding:0;display:grid}.mylist li{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.mylist li:first-child{border-top:0}.mylist .th .pc{width:44px}.mylist .t{font-weight:600}.mylist .w,.props .w,.notes .w,.chat .w{font-size:12px;color:var(--muted);font-weight:400}.mylist .pr{font-family:var(--f-mono);color:var(--accent)}.mylist .acts{display:flex;gap:6px}@media(max-width:600px){.mylist li{grid-template-columns:44px minmax(0,1fr) auto}.mylist .acts{grid-column:2/-1}}.empty.big{display:grid;justify-items:center;gap:10px;padding:32px 0;text-align:center}.props{list-style:none;margin:0;padding:0;display:grid;gap:10px}.props li{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface-2);border-radius:12px;padding:12px 14px}.props li>div{flex:1;min-width:200px}.pill{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--muted)}.pill.now{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.dside{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.dside h3{margin:0 0 8px;font-size:15px}.notes{list-style:none;margin:0;padding:0;display:grid}.notes li{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.notes li:first-child{border-top:0}.notes a{color:var(--fg);text-decoration:none}.notes a:hover{color:var(--accent)}.chat{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px}@media(max-width:640px){.chat{grid-template-columns:1fr}}.clist{list-style:none;margin:0;padding:0;display:grid;gap:4px;align-content:start}.clist button{display:flex;gap:10px;align-items:center;width:100%;background:none;border:1px solid transparent;border-radius:10px;padding:8px;color:var(--fg);font:inherit;text-align:left;cursor:pointer}.clist button>span:last-child{display:grid;min-width:0}.clist button[aria-pressed=true]{background:var(--surface-2);border-color:var(--line)}.cbox{display:grid;gap:8px;min-width:0}.cmsgs{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto;background:var(--surface-2);border-radius:12px;padding:12px}.msg{max-width:80%;background:var(--surface);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:14px}.msg.mine{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);border-radius:14px 14px 4px}.csend{display:flex;gap:8px}.csend input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:10px 12px;font:inherit}.csend .btn{padding:0 16px}.addsheet{width:min(760px,100%)}.addsheet h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:24px}.addsheet>.sub{margin:-12px 0 0;color:var(--muted)}.bigin{background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:14px 16px;font:inherit;font-size:16px;width:100%}.acres{display:grid;gap:2px;max-height:420px;overflow:auto}.acres .opt{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px;border-radius:10px;cursor:pointer;background:none;border:0;color:var(--fg);font:inherit;text-align:left;width:100%}.acres .opt:hover,.acres .opt:focus-visible{background:var(--surface-2)}.acres .opt .pc{width:34px}.acres .nm{font-weight:600}.acres .st{font-size:12px;color:var(--muted)}.acres .cnt{font-size:12px;color:var(--muted);white-space:nowrap}.acres .cnt b{color:var(--accent);font-family:var(--f-mono);font-weight:500}.acform{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start}@media(max-width:620px){.acform{grid-template-columns:1fr}.acprev{max-width:200px}}.acprev{display:grid;gap:6px;justify-items:start}.acprev .pc{width:100%}.acprev .t{font-weight:600}.acprev .w{font-size:12px;color:var(--muted)}.form.flat{background:none;border:0;padding:0}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form textarea{background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:10px 12px;font:inherit;resize:vertical}.form input:disabled{opacity:.5}.modes{border:0;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.modes legend{font-size:13px;color:var(--muted);margin-bottom:6px;padding:0}.modes label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--fg);font-size:13px;cursor:pointer}.modes label:has(input:checked){border-color:var(--accent);color:var(--accent)}.modes input{accent-color:var(--accent);margin:0}.phs{display:flex;gap:8px;flex-wrap:wrap}.phs img{width:64px;height:88px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.acbtns{display:flex;justify-content:flex-end;gap:8px}.acbtns .btn{padding:10px 18px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:30;background:var(--fg);color:var(--bg);border-radius:12px;padding:12px 18px;font-size:14px;box-shadow:0 12px 32px #00000040;max-width:calc(100% - 32px)}.pzone{display:grid;gap:18px}.pbanner{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.pbanner.on{border-color:var(--accent)}.pbanner>div{display:grid;gap:4px;min-width:0;flex:1 1 280px}.pbanner b{font-family:var(--f-display);font-size:16px}.pbanner.on b{color:var(--accent)}.pbanner p{margin:0;font-size:14px}.pbanner .w{font-size:12px;color:var(--muted)}.pbanner .btn{padding:9px 16px}.pblock h3{margin:0 0 4px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pblock h3 span{font-family:var(--f-mono);color:var(--accent)}.btn.sm{padding:5px 10px;font-size:12px;border-radius:8px;white-space:nowrap}.pwait{display:grid;gap:2px;justify-items:end;text-align:right}.pwait .w{font-size:11px;color:var(--muted)}.tile .again{color:var(--accent)}@media(max-width:600px){.pwait{justify-items:start;text-align:left}}.dmain .ptabs{overflow-x:auto;scrollbar-width:none}.dmain .ptabs button{white-space:nowrap}.premb{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--accent-ink);background:var(--accent);border-radius:999px;padding:2px 8px;vertical-align:middle;white-space:nowrap;line-height:1.4;margin-left:6px}.premb.sm{padding:0 5px;font-size:10px;margin-left:4px}.tag.premb{border-color:var(--accent);margin-left:0}.dhead h2 .premb{font-family:var(--f-body,inherit);font-size:13px;vertical-align:4px}
