.cmap{--ink: oklch(.97 .025 85);--ink-dim: oklch(.9 .03 80 / .78);--dusk: oklch(.2 .06 285);--sun: oklch(.85 .15 80);--sun-deep: oklch(.62 .14 58);--brown: oklch(.26 .05 45);--ease: cubic-bezier(.16, 1, .3, 1);position:fixed;inset:0;z-index:900;display:grid;grid-template-rows:auto auto 1fr auto;color:var(--ink);font-family:Figtree,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(120% 70% at 78% 0%,oklch(.9 .1 75 / .55),transparent 60%),linear-gradient(180deg,#573c7f,#c86265 46%,#efaf6f);opacity:0;transition:opacity .22s ease}.cmap[hidden]{display:none}.cmap.open{opacity:1}html.cmap-open,html.cmap-open body{overflow:hidden}.cmap-top{display:flex;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.cmap-back{display:inline-flex;align-items:center;gap:4px;height:44px;padding:0 16px 0 10px;border:0;border-radius:999px;background:#26133fb8;color:var(--ink);font:600 15px/1 inherit;cursor:pointer}.cmap-back:hover{background:#361e57d9}.cmap-title{flex:1;min-width:0}.cmap-name{margin:0;font:400 clamp(22px,4.2vw,34px)/1 "Bagel Fat One",ui-rounded,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 0 oklch(.3 .1 300 / .5)}.cmap-by{margin:4px 0 0;font-size:14px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmap-total{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:999px;background:#26133fb8;font-size:15px}.cmap-total svg{width:20px;height:20px;fill:var(--sun)}.cmap-total b{font-size:18px}.cmap-total span{color:var(--ink-dim)}.cmap-shelf{display:flex;gap:8px;padding:4px max(16px,env(safe-area-inset-left)) 8px;overflow-x:auto;scrollbar-width:none}.cmap-shelf[hidden]{display:none}.cmap-shelf::-webkit-scrollbar{display:none}.cmap-tab{flex:none;display:grid;gap:2px;text-align:left;min-height:48px;padding:7px 16px;border:0;border-radius:16px;background:#26133f8c;color:var(--ink);cursor:pointer;font:inherit}.cmap-tab.on{background:var(--ink);color:var(--brown)}.cmap-make{text-decoration:none;background:none;outline:2px dashed oklch(.95 .03 85 / .45);outline-offset:-2px}.cmap-tab-name{font-weight:700;font-size:15px}.cmap-tab-note{font-size:12px;opacity:.75}.cmap-scroll{position:relative;overflow-y:auto;overflow-x:hidden;padding:4px 12px 24px;scroll-behavior:smooth;overscroll-behavior:contain}.cmap-empty{margin:20vh auto;text-align:center;color:var(--ink-dim)}.cmap-world{position:relative;margin:0 auto 22px;width:fit-content;max-width:100%}.cmap-world-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px 0}.cmap-world-head h3{margin:0;font:400 clamp(20px,3.4vw,28px)/1.1 "Bagel Fat One",ui-rounded,system-ui,sans-serif;text-shadow:0 2px 0 oklch(.3 .1 300 / .45)}.cmap-world-note{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-dim)}.cmap-world-note svg{width:16px;height:16px;fill:currentColor}.cmap-field{position:relative;margin-top:6px;border-radius:44px;background:radial-gradient(60% 50% at 30% 20%,color-mix(in oklab,var(--glow) 55%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in oklab,var(--land) 92%,white),var(--land));box-shadow:0 10px 0 var(--deep),0 22px color-mix(in oklab,var(--deep) 70%,black),0 40px 46px #1c093473}.cmap-world.is-locked .cmap-field{filter:saturate(.35) brightness(.82)}.cmap button{text-transform:none;letter-spacing:normal}.cmap-lines{position:absolute;inset:0;overflow:visible}.cmap-decor .d-a{fill:color-mix(in oklab,var(--side) 80%,white)}.cmap-decor .d-b{fill:var(--side)}.cmap-decor .d-trunk{fill:color-mix(in oklab,var(--deep) 60%,#6a4428)}.cmap-decor .d-rock{fill:color-mix(in oklab,var(--deep) 35%,#a39c96)}.cmap-decor .d-rock-top{fill:color-mix(in oklab,var(--deep) 15%,#c9c2ba)}.cmap-decor{opacity:.9}.cmap-line{fill:none;stroke:color-mix(in oklab,var(--deep) 55%,transparent);stroke-width:9;stroke-linecap:round;stroke-dasharray:2 17}.cmap-line.on{stroke:#fff6dc;stroke-dasharray:none;stroke-width:10;filter:drop-shadow(0 3px 0 color-mix(in oklab,var(--deep) 60%,transparent))}.cmap-line.side{stroke-width:6;stroke-dasharray:2 12}.cmap-line.side.on{stroke-width:6;stroke-dasharray:8 9}.cmap-node{position:absolute;width:76px;height:76px;margin:-32px 0 0 -38px;padding:0;border:0;background:none;color:var(--brown);cursor:pointer;-webkit-tap-highlight-color:transparent}.cmap-pad{position:absolute;left:2px;top:6px;width:72px;height:54px;overflow:visible;transition:transform .18s var(--ease)}.cmap-pad .p-top{fill:var(--top);stroke:color-mix(in oklab,var(--top) 60%,white);stroke-width:1.5}.cmap-pad .p-left{fill:var(--side)}.cmap-pad .p-right{fill:var(--deep)}.cmap-node:hover .cmap-pad,.cmap-node:focus-visible .cmap-pad{transform:translateY(-4px)}.cmap-node:focus-visible{outline:none}.cmap-node:focus-visible .p-top{stroke:var(--ink);stroke-width:4}.cmap-face{position:absolute;left:0;right:0;top:14px;height:30px;display:grid;place-items:center;font:400 21px/1 Bagel Fat One,ui-rounded,system-ui,sans-serif;color:color-mix(in oklab,var(--deep) 75%,black);pointer-events:none;transition:transform .18s var(--ease)}.cmap-node:hover .cmap-face,.cmap-node:focus-visible .cmap-face{transform:translateY(-4px)}.cmap-face svg{width:22px;height:22px;fill:currentColor}.cmap-node.is-done .p-top{fill:#ffd76a;stroke:#fff1b8}.cmap-node.is-done .p-left{fill:#e0a23a}.cmap-node.is-done .p-right{fill:#b9792a}.cmap-node.is-done .cmap-face{color:#7a4a16}.cmap-node.is-locked{cursor:default}.cmap-node.is-locked .p-top{fill:color-mix(in oklab,var(--top) 30%,#9a93a8);stroke:none}.cmap-node.is-locked .p-left{fill:color-mix(in oklab,var(--side) 30%,#7b7489)}.cmap-node.is-locked .p-right{fill:color-mix(in oklab,var(--deep) 30%,#5e586c)}.cmap-node.is-locked .cmap-face{color:#352f40bf}.cmap-node.is-locked .cmap-face svg{width:18px;height:18px}.cmap-node.is-current .p-top{fill:#fffbe9}.cmap-node.is-current .cmap-pad{animation:cmapBreathe 1.8s ease-in-out infinite}@keyframes cmapBreathe{50%{filter:drop-shadow(0 0 12px #fff6c8) drop-shadow(0 0 4px #fff)}}.cmap-node.k-boss .cmap-pad{transform:scale(1.22);transform-origin:50% 70%}.cmap-node.k-boss:hover .cmap-pad,.cmap-node.k-boss:focus-visible .cmap-pad{transform:scale(1.22) translateY(-4px)}.cmap-node.k-bonus .cmap-pad{transform:scale(.74);transform-origin:50% 60%}.cmap-node.k-bonus:hover .cmap-pad,.cmap-node.k-bonus:focus-visible .cmap-pad{transform:scale(.74) translateY(-4px)}.cmap-node.k-bonus .cmap-face{font-size:18px;top:15px}.cmap-node.is-skipped .p-top{fill:color-mix(in oklab,var(--top) 70%,white);stroke-dasharray:5 4;stroke:color-mix(in oklab,var(--deep) 70%,transparent);stroke-width:2}.cmap-stars-row{position:absolute;left:0;right:0;top:60px;display:flex;justify-content:center;gap:1px;pointer-events:none}.cmap-star svg{width:14px;height:14px;fill:#33264747;display:block}.cmap-star.got svg{fill:#ffd24a;filter:drop-shadow(0 1px 0 #a8641a)}.cmap-token{position:absolute;width:38px;height:38px;margin:-46px 0 0 -19px;pointer-events:none;z-index:3;transition:left .46s var(--ease),top .46s var(--ease);filter:drop-shadow(0 8px 4px oklch(.2 .08 300 / .45))}.cmap-token svg{width:100%;height:100%;display:block;animation:cmapBob 2.2s ease-in-out infinite}.cmap-token.hop svg{animation:cmapHop .46s var(--ease)}.cmap-node.is-selected:not(.is-locked) .cmap-face{opacity:0}@keyframes cmapBob{50%{transform:translateY(-4px)}}@keyframes cmapHop{40%{transform:translateY(-26px) rotate(90deg)}to{transform:translateY(0) rotate(180deg)}}.cmap-card{display:flex;align-items:center;gap:16px;margin:0 auto;width:min(100%,760px);box-sizing:border-box;padding:14px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#190d32eb;border-radius:26px 26px 0 0;box-shadow:0 -10px 30px #12052266}.cmap-card[hidden]{display:none}.cmap-card-text{flex:1;min-width:0}.cmap-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--sun)}.cmap-level{margin:2px 0 0;font:400 clamp(20px,3.6vw,27px)/1.1 "Bagel Fat One",ui-rounded,system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmap-why,.cmap-best{margin:6px 0 0;font-size:14px;color:var(--ink-dim)}.cmap-best b{color:var(--ink);font-weight:600}.cmap-goals{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;list-style:none;font-size:13px;color:var(--ink-dim)}.cmap-goals li{display:inline-flex;align-items:center;gap:4px}.cmap-goals svg{width:15px;height:15px;fill:#f8edd840}.cmap-goals li.got{color:var(--ink)}.cmap-goals li.got svg{fill:var(--sun)}.cmap-play{flex:none;display:inline-flex;align-items:center;gap:8px;min-width:128px;height:58px;justify-content:center;padding:0 26px;border:0;border-radius:20px;background:var(--sun);color:var(--brown);font:400 22px/1 Bagel Fat One,ui-rounded,system-ui,sans-serif;cursor:pointer;box-shadow:0 5px 0 var(--sun-deep);transition:transform .14s var(--ease),box-shadow .14s var(--ease)}.cmap-play:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 var(--sun-deep)}.cmap-play:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--sun-deep)}.cmap-play:disabled{background:#585069;color:#bfbbc9;box-shadow:0 5px #31293f;cursor:default;font-size:17px}.cmap-play svg{width:18px;height:18px;fill:currentColor}.cmap :is(.cmap-back,.cmap-tab,.cmap-play):focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media(max-width:520px){.cmap-back span{display:none}.cmap-back{padding:0 12px}.cmap-card{gap:10px}.cmap-play{min-width:104px;height:54px;padding:0 18px;font-size:20px}}@media(prefers-reduced-motion:reduce){.cmap,.cmap-token,.cmap-pad,.cmap-face{transition:none}.cmap-token svg,.cmap-node.is-current .cmap-pad{animation:none}.cmap-scroll{scroll-behavior:auto}}.cmap-top{grid-row:1}.cmap-shelf{grid-row:2}.cmap-scroll{grid-row:3}.cmap-card{grid-row:4}.cmap>*{grid-column:1;position:relative;z-index:2;min-width:0}.cmap-scroll.is-3d{grid-row:1 / 5;z-index:1;padding:0;overflow:hidden;touch-action:none}.cmap-scroll.is-3d~.cmap-card{margin-bottom:max(12px,env(safe-area-inset-bottom));border-radius:26px;width:min(calc(100% - 24px),760px);padding-bottom:14px}.c3-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.c3-canvas:active{cursor:grabbing}.c3-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;--c3-scale: 1}.c3-label{position:absolute;left:0;top:0;width:0;height:0;padding:0;border:0;background:none;pointer-events:auto;cursor:pointer;color:var(--brown);-webkit-tap-highlight-color:transparent}.c3-label:before{content:"";position:absolute;left:calc(-30px * var(--c3-scale));top:calc(-34px * var(--c3-scale));width:calc(60px * var(--c3-scale));height:calc(52px * var(--c3-scale));border-radius:50%}.c3-face{position:absolute;left:calc(-17px * var(--c3-scale));top:calc(-30px * var(--c3-scale));width:calc(34px * var(--c3-scale));height:calc(34px * var(--c3-scale));display:grid;place-items:center;border-radius:50%;font:400 calc(19px * var(--c3-scale))/1 "Bagel Fat One",ui-rounded,system-ui,sans-serif;background:#fffaf0;color:#5a3a1c;box-shadow:0 3px #34234f73,0 6px 12px #1c093459;transition:transform .16s var(--ease)}.c3-face svg{width:58%;height:58%;fill:currentColor}.c3-label:hover .c3-face,.c3-label:focus-visible .c3-face{transform:translateY(-3px) scale(1.08)}.c3-label:focus-visible{outline:none}.c3-label:focus-visible .c3-face{outline:3px solid var(--ink);outline-offset:2px}.c3-label.is-done .c3-face{background:#ffd76a;color:#7a4a16}.c3-label.is-locked{cursor:default}.c3-label.is-locked .c3-face{background:#504860e6;color:#d3cedd;box-shadow:none}.c3-label.is-skipped .c3-face{background:#efe4d2;outline:2px dashed oklch(.45 .08 60 / .7);outline-offset:-2px}.c3-label.is-current .c3-face{animation:c3Pulse 1.8s ease-in-out infinite}.c3-label.k-boss .c3-face{width:calc(40px * var(--c3-scale));height:calc(40px * var(--c3-scale));left:calc(-20px * var(--c3-scale));top:calc(-36px * var(--c3-scale))}.c3-label.k-bonus .c3-face{width:calc(27px * var(--c3-scale));height:calc(27px * var(--c3-scale));left:calc(-13.5px * var(--c3-scale));top:calc(-24px * var(--c3-scale));font-size:calc(17px * var(--c3-scale))}.c3-label.is-selected .c3-face{transform:translateY(calc(-46px * var(--c3-scale)))}.c3-label.is-selected:hover .c3-face{transform:translateY(calc(-49px * var(--c3-scale))) scale(1.08)}@keyframes c3Pulse{50%{box-shadow:0 0 0 7px oklch(.95 .1 90 / .5),0 3px #34234f73}}.c3-stars{position:absolute;top:calc(8px * var(--c3-scale));left:0;transform:translate(-50%);display:flex;gap:1px;pointer-events:none}.c3-stars svg{display:block;width:calc(15px * var(--c3-scale));height:calc(15px * var(--c3-scale));fill:#1b0e2d66}.c3-stars .got svg{fill:#ffd24a;filter:drop-shadow(0 1px 0 #8a4f12)}.c3-world{position:absolute;left:0;top:0;transform-origin:0 0;display:grid;justify-items:center;gap:2px;width:max-content;margin-left:-50%;pointer-events:none;text-align:center}.c3-world b{font:400 calc(26px * var(--c3-scale))/1 "Bagel Fat One",ui-rounded,system-ui,sans-serif;color:var(--ink);text-shadow:0 2px 0 oklch(.3 .1 300 / .6),0 0 14px oklch(.3 .1 300 / .5);white-space:nowrap;translate:-50% -100%}.c3-world span{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;background:#201136b8;font-size:13px;color:var(--ink-dim);white-space:nowrap;translate:-50% -100%}.c3-world span svg{width:13px;height:13px;fill:currentColor}.c3-world.is-locked b{color:#d3cedd}@media(prefers-reduced-motion:reduce){.c3-face{transition:none}.c3-label.is-current .c3-face{animation:none}}.cmap-scroll.is-3d~.cmap-top:before,.cmap-top:has(~.cmap-scroll.is-3d):before{content:"";position:absolute;inset:0 0 -70px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,oklch(.3 .09 300 / .72) 0%,oklch(.3 .09 300 / .4) 55%,transparent 100%)}.cmap.cmap-shared{background:none;pointer-events:none}.cmap.cmap-shared .cmap-scroll{display:none}.cmap.cmap-shared :is(.cmap-top,.cmap-shelf,.cmap-card){pointer-events:auto}.cmap.cmap-shared .cmap-top:before{content:"";position:absolute;inset:0 0 -70px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,oklch(.3 .09 300 / .72) 0%,oklch(.3 .09 300 / .4) 55%,transparent 100%)}.cmap.cmap-shared .cmap-card{margin-bottom:max(12px,env(safe-area-inset-bottom));border-radius:26px;width:min(calc(100% - 24px),760px);padding-bottom:14px}.cmap.cmap-shared :is(.cmap-top,.cmap-shelf,.cmap-card){animation:cmapIn .52s var(--ease) both}.cmap.cmap-shared .cmap-card{animation-delay:.24s}@keyframes cmapIn{0%{opacity:0;transform:translateY(14px)}}.c3-labels.is-off{display:none}#tlb-map-labels{position:absolute;inset:0;pointer-events:none;z-index:1;--ink: oklch(.97 .025 85);--ink-dim: oklch(.9 .03 80 / .78);--brown: oklch(.26 .05 45);--ease: cubic-bezier(.16, 1, .3, 1);font-family:Figtree,ui-rounded,system-ui,sans-serif}#tlb-map-labels .c3-labels{animation:cmapIn .6s ease .5s both}#main-menu.tlb.tlb-map{overflow:hidden}#main-menu.tlb.tlb-map #tlb-world{pointer-events:auto;cursor:grab;touch-action:none}#main-menu.tlb.tlb-map #tlb-world:active{cursor:grabbing}#main-menu.tlb :is(.tlb-top,.tlb-stage,.tlb-foot,.tlb-veil){transition:opacity .42s ease,transform .52s cubic-bezier(.16,1,.3,1)}#main-menu.tlb.tlb-map :is(.tlb-top,.tlb-stage,.tlb-foot){opacity:0!important;pointer-events:none;transform:translate(-26px);animation:none!important}#main-menu.tlb.tlb-map .tlb-veil{opacity:0}#main-menu.tlb.tlb-map :is(.tlb-top,.tlb-stage,.tlb-foot) *{pointer-events:none!important}@media(prefers-reduced-motion:reduce){.cmap.cmap-shared :is(.cmap-top,.cmap-shelf,.cmap-card),#tlb-map-labels .c3-labels{animation:none}}
