:root{--cream: #fffaf2;--cream-dim: rgba(255, 250, 242, .78);--gold: #ffd76a;--ink: #24305e;--accent: #ff9a6a;--glass: rgba(255, 255, 255, .16);--glass-line: rgba(255, 255, 255, .4);--shadow: rgba(20, 24, 70, .35);--plate: rgba(255, 255, 255, .62);--jp: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", system-ui, sans-serif;--num: "Fredoka", "Zen Maru Gothic", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#4f9ce8;overflow:hidden}body{font-family:var(--jp);color:var(--cream);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}#app{position:fixed;inset:0}#gl{position:absolute;inset:0;width:100%;height:100%;display:block}button{font-family:inherit;color:inherit;cursor:pointer}body.notrans *,body.notrans *:before,body.notrans *:after{transition:none!important;animation:none!important}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.9em;height:1.7em;padding:0 .45em;margin:0 .25em 0 0;border-radius:.45em;border:1px solid currentColor;border-bottom-width:2px;font-family:var(--num);font-size:.72em;font-weight:600;letter-spacing:.02em;opacity:.75}.touch-only{display:none}body.touch .desk-only{display:none!important}body.touch .touch-only{display:inline}.eyebrow{margin:0 0 .5em;font-family:var(--num);font-weight:600;font-size:12px;letter-spacing:.34em;color:var(--cream);opacity:.9;text-shadow:0 1px 10px var(--shadow)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .7s var(--ease)}.screen.show{opacity:1;pointer-events:auto}#loading{background:linear-gradient(180deg,#4f9ce8,#9ccff7 62%,#ffe4c2);gap:26px}.load-logo{font-size:clamp(30px,6vw,46px);font-weight:900;line-height:1.05;letter-spacing:.06em;text-align:center;color:#fff;text-shadow:0 3px 0 rgba(36,48,94,.18),0 12px 40px rgba(36,48,94,.25)}.load-text{font-size:13px;font-weight:700;letter-spacing:.08em;max-width:86vw;text-align:center;color:#24305ebf}.load-bar{width:min(240px,64vw);height:4px;border-radius:2px;background:#ffffff73;overflow:hidden}.load-bar i{display:block;height:100%;width:0;background:#fff;transition:width .4s var(--ease)}#title{justify-content:space-between;padding:calc(9vh + var(--safe-t)) 20px calc(7vh + var(--safe-b));background:linear-gradient(180deg,rgba(36,48,94,.18),transparent 40%)}@media(min-aspect-ratio:5/4)and (min-width:900px){#title{align-items:flex-start;justify-content:center;gap:7vh;padding-left:8vw;background:linear-gradient(90deg,rgba(36,48,94,.32),transparent 55%)}#title .title-top{text-align:left}#title .logo{align-items:flex-start}#title .logo .l1{margin-right:0}#title .logo .l2{font-size:clamp(64px,8.4vw,132px)}}.title-top{text-align:center}.logo{margin:0;display:flex;flex-direction:column;align-items:center;line-height:.98;font-weight:900;color:#fff;letter-spacing:.04em}.logo .l1{font-size:clamp(26px,5vw,50px);letter-spacing:.32em;margin-right:-.32em;opacity:.95}.logo .l2{font-size:clamp(50px,11vw,116px);text-shadow:0 .04em 0 rgba(255,154,106,.95),0 .08em 0 rgba(36,48,94,.18),0 .25em .6em rgba(36,48,94,.28)}.logo span{animation:rise 1.1s var(--spring) both}.logo .l2{animation-delay:.08s}@keyframes rise{0%{transform:translateY(.4em);opacity:0}}.tagline{margin:1.1em 0 0;font-size:clamp(14px,1.9vw,18px);font-weight:700;letter-spacing:.14em;text-shadow:0 2px 14px var(--shadow);animation:rise 1.1s .25s var(--ease) both}.title-menu{display:flex;align-items:stretch;justify-content:center;gap:12px;width:100%;max-width:660px;animation:rise 1s .4s var(--ease) both}.mode-card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px 10px;border-radius:20px;border:1.5px solid var(--glass-line);background:#1c245c6b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cream);transition:transform .25s var(--spring),background .2s,color .2s}.mode-card b{font-size:clamp(12px,1.4vw,15px);font-weight:900;letter-spacing:.04em;line-height:1.25;word-break:keep-all}.mode-card small{min-height:1.3em;font-family:var(--num);font-size:12px;font-weight:600;color:var(--gold)}.mode-card.focus{transform:translateY(-4px) scale(1.03);background:#fff;color:#24305e;border-color:#fff;box-shadow:0 12px 34px #14184652}.mode-card.focus small{color:#c9792e}.mode-map,.mode-face{display:block;width:100%;height:clamp(84px,15vh,150px)}.mode-map path{fill:currentColor;stroke:#1c245c8c;stroke-width:.6;vector-effect:non-scaling-stroke}.mode-card.focus .mode-map path{stroke:#fff}.mode-map path.cleared{fill:var(--gold)}.mode-card.focus .mode-map path.cleared{fill:#ffb12e}.mode-face{flex:none;width:auto;height:clamp(84px,15vh,150px);aspect-ratio:1;max-width:100%;border-radius:50%;background:#ffffffd9 center / cover no-repeat}.mode-face.full{background-size:210%;background-position:50% 8%}@media(max-width:480px){.mode-face{height:auto;width:100%;margin:auto 0}.mode-card{padding-inline:6px}}.primary{display:inline-flex;align-items:center;gap:.2em;padding:15px 34px;border-radius:999px;border:none;background:#fff;color:var(--ink);font-size:17px;font-weight:900;letter-spacing:.1em;box-shadow:0 10px 30px #24305e38,inset 0 -3px #24305e14;transition:transform .25s var(--spring),box-shadow .25s}.primary:hover,.primary:focus-visible{transform:translateY(-2px) scale(1.02);outline:none;box-shadow:0 14px 36px #24305e47}.primary:active{transform:translateY(1px) scale(.98)}.ghost{padding:11px 24px;border-radius:999px;border:1.5px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;font-weight:700;letter-spacing:.08em;text-shadow:0 1px 8px var(--shadow);transition:background .2s,transform .25s var(--spring)}.ghost:hover{background:#ffffff47;transform:translateY(-1px)}[hidden]{display:none!important}#select{justify-content:space-between;padding:calc(7vh + var(--safe-t)) 0 calc(5vh + var(--safe-b))}.select-head{text-align:center}.select-head h2{margin:0;font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:.1em;text-shadow:0 2px 18px var(--shadow)}.select-bottom{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.select-name{font-size:26px;font-weight:900;letter-spacing:.12em;text-shadow:0 2px 14px var(--shadow)}.select-party{font-size:12px;letter-spacing:.08em;color:var(--cream-dim);text-shadow:0 1px 8px var(--shadow);min-height:1.2em}.select-strip{display:flex;gap:10px;overflow-x:auto;max-width:100%;padding:10px 24px;scrollbar-width:none}.select-strip::-webkit-scrollbar{display:none}.select-strip button{flex:none;width:62px;height:62px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#ffffff40 center/cover no-repeat;transition:transform .3s var(--spring),border-color .2s,opacity .2s}.select-strip button.full{background-size:210%;background-position:50% 8%}.select-strip button.on{transform:scale(1.2);border-color:#fff;box-shadow:0 0 0 4px #ffffff59,0 8px 24px #24305e4d}.select-strip button:not(.on){opacity:.75}.select-foot{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--cream-dim);text-shadow:0 1px 8px var(--shadow)}.play-only{display:none!important}body.playing .play-only{display:flex!important}body.cinema .play-only,body.cinema #touch,body.cinema #toast,body.cinema #hint{opacity:0!important;transition:opacity .5s}#hud{position:absolute;top:calc(14px + var(--safe-t));left:calc(14px + var(--safe-l));flex-direction:column;gap:3px;padding:12px 18px 14px 16px;border-radius:22px;background:var(--plate);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);pointer-events:none;transition:color 1.2s,background 1.2s,opacity .5s}.hud-floor{display:flex;align-items:baseline;gap:4px;font-family:var(--num)}.hud-floor b{font-size:60px;font-weight:700;line-height:.88;letter-spacing:-.02em}.hud-floor b.bump{animation:numbump .7s var(--spring)}@keyframes numbump{0%{transform:translateY(.4em) scale(.6);opacity:0}}.hud-of{font-size:20px;font-weight:700}.hud-of i{font-style:normal;font-size:14px;opacity:.55;margin-left:2px}.hud-area{font-size:15px;font-weight:900;letter-spacing:.12em}@media(max-aspect-ratio:4/5){.hud-area{display:none}}.hud-pips{display:flex;gap:6px;margin-top:8px}.hud-pips i{width:14px;height:14px;transform:rotate(45deg);border-radius:3px;border:2px solid currentColor;background:currentColor;transition:background .3s,transform .4s var(--spring),opacity .3s}.hud-pips i.off{background:transparent;opacity:.45;transform:rotate(45deg) scale(.8)}.hud-pips i.hit{animation:piphit .5s var(--spring)}@keyframes piphit{0%{transform:rotate(45deg) scale(1.8)}}.hud-score{display:flex;align-items:baseline;gap:6px;margin-top:8px;font-family:var(--num)}.hud-score b{font-size:22px;font-weight:700;letter-spacing:.01em;font-variant-numeric:tabular-nums}.hud-score em{font-style:normal;font-size:14px;font-weight:700;color:#ff8a3c;opacity:0;transition:opacity .2s}.hud-score em.on{opacity:1}.hud-sweet{position:relative;width:112px;height:10px;margin-top:4px;border-radius:5px;background:#24305e2e;overflow:hidden}.hud-sweet i{position:absolute;inset:0 auto 0 0;width:0;border-radius:5px;background:linear-gradient(90deg,#ffb84a,#ffe08a);transition:width .25s var(--ease)}.hud-sweet.on{animation:sweeton .7s ease-in-out infinite alternate}.hud-sweet.on i{width:100%!important}@keyframes sweeton{0%{box-shadow:0 0 2px #ffd76a}to{box-shadow:0 0 12px 2px #ffd76a}}#meter{position:absolute;right:calc(26px + var(--safe-r));top:50%;height:min(52vh,420px);width:18px;transform:translateY(-50%);pointer-events:none;color:var(--ink);transition:color 1.2s,opacity .5s}.meter-track{position:absolute;left:7px;top:0;bottom:0;width:4px;border-radius:2px;background:var(--plate)}.meter-fill{position:absolute;left:7px;bottom:0;width:4px;border-radius:2px;background:currentColor;height:0;transition:height .9s var(--ease)}.meter-dot{position:absolute;left:1px;width:16px;height:16px;margin-bottom:-8px;border-radius:50%;background:#fff;border:3px solid currentColor;bottom:0;transition:bottom .9s var(--ease);box-shadow:0 2px 10px #24305e40}.meter-tick{position:absolute;left:4px;width:10px;height:2px;margin-bottom:-1px;border-radius:1px;background:currentColor;opacity:.35}.meter-tick.area{width:14px;left:2px;opacity:.7}.meter-tick span{position:absolute;right:22px;top:-11px;padding:3px 9px;border-radius:999px;background:var(--plate);font-size:12px;font-weight:900;letter-spacing:.06em;white-space:nowrap}@media(max-width:720px){#meter{display:none!important}}#toast{position:absolute;left:0;right:0;top:17%;text-shadow:0 2px 4px rgba(36,48,94,.55),0 4px 26px rgba(36,48,94,.6);text-align:center;pointer-events:none;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .7s var(--ease);color:#fff;text-shadow:0 2px 20px rgba(36,48,94,.45)}#toast.show{opacity:1;transform:none}@media(min-aspect-ratio:5/4)and (min-width:900px){#toast{right:auto;left:calc(24px + var(--safe-l));top:40%;max-width:calc(50vw - 22vh - 40px);padding:18px 26px 20px;border-radius:26px;background:var(--plate);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);text-shadow:none;text-align:left}#toast h2{font-size:clamp(26px,2.8vw,42px);letter-spacing:.06em}}@media(max-aspect-ratio:4/5){#toast{top:21%}}#toast .t-eyebrow{margin:0;font-family:var(--num);font-size:13px;font-weight:600;letter-spacing:.4em}#toast h2{margin:6px 0 4px;font-size:clamp(30px,6vw,54px);font-weight:900;letter-spacing:.12em;white-space:nowrap}#toast .t-sub{margin:0;font-size:clamp(13px,2vw,16px);font-weight:700;letter-spacing:.1em;opacity:.95}#pops{position:absolute;inset:0;pointer-events:none;overflow:hidden}.pop{position:absolute;transform:translate(-50%,-50%);font-family:var(--num);font-weight:700;color:#fff;white-space:nowrap;text-shadow:0 2px 0 rgba(255,154,106,.95),0 4px 18px rgba(36,48,94,.45);animation:popup 1s var(--ease) forwards}.pop.big{font-size:34px}.pop.mid{font-size:22px}.pop.pts{font-size:20px;text-shadow:0 2px 0 rgba(36,48,94,.55),0 3px 12px rgba(36,48,94,.5)}.pop.gold{color:#ffe08a}.pop.jp{font-family:var(--jp);font-weight:900;letter-spacing:.08em}@keyframes popup{0%{opacity:0;transform:translate(-50%,-20%) scale(.5)}18%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}70%{opacity:1;transform:translate(-50%,-90%) scale(1)}to{opacity:0;transform:translate(-50%,-120%) scale(.95)}}#say{position:absolute;transform:translate(-50%,-100%) translateY(-10px) scale(.8);padding:8px 14px;border-radius:16px;background:#fff;color:#24305e;font-size:14px;font-weight:900;letter-spacing:.04em;white-space:nowrap;box-shadow:0 6px 18px #14184640;opacity:0;pointer-events:none;transition:opacity .25s,transform .35s var(--spring)}#say:after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;margin-left:-6px;background:#fff;transform:rotate(45deg);border-radius:2px}#say.show{opacity:1;transform:translate(-50%,-100%) translateY(-10px) scale(1)}body.cinema #say{opacity:0}#flashlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 30%,rgba(255,248,225,.95),rgba(255,236,190,.4) 50%,transparent 80%);opacity:0}#btn-pause{position:absolute;top:calc(16px + var(--safe-t));right:calc(16px + var(--safe-r));width:46px;height:46px;border-radius:50%;border:1.5px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;gap:5px}#btn-pause i{width:4px;height:15px;border-radius:2px;background:#fff}#hint{position:absolute;left:50%;bottom:calc(24px + var(--safe-b));transform:translate(-50%);padding:9px 18px;border-radius:999px;background:#24305e6b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:14px;font-weight:700;letter-spacing:.06em;white-space:nowrap;opacity:0;transition:opacity .5s var(--ease);pointer-events:none}#hint.show{opacity:1}body.touch #hint{bottom:calc(66px + var(--safe-b))}#hint{font-size:15px;background:#24305e9e}body.paused #hint,body.paused #touch,body.paused #btn-pause,body.paused #toast{visibility:hidden}#pause{background:#14184652;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.card{--ink: #24305e;min-width:min(420px,92vw);max-width:92vw;max-height:92vh;overflow:auto;padding:26px 28px;border-radius:28px;color:var(--ink);background:#fffcf7f5;box-shadow:0 30px 80px #14184659;text-align:center;transform:translateY(16px) scale(.97);transition:transform .6s var(--spring)}.screen.show .card{transform:none}.card .eyebrow{color:var(--accent);text-shadow:none}.card h2{margin:0 0 6px;font-size:clamp(22px,3.4vw,30px);font-weight:900;letter-spacing:.08em}.help{border-collapse:collapse;margin:0 auto 18px;font-size:14px;text-align:left}.help td{padding:6px 10px;border-bottom:1px solid rgba(36,48,94,.08)}.help td:first-child{text-align:right;font-weight:700;font-size:12.5px;opacity:.8}.help .kbd{opacity:1;font-size:.95em;height:auto;padding:.2em .6em;border-color:#24305e40}@media(max-width:480px){.card{padding:20px 16px 22px}.help{font-size:12.5px}.help td{padding:5px 6px}}.menu{display:flex;flex-direction:column;gap:10px;align-items:stretch}.menu .primary{justify-content:center;background:var(--ink);color:#fff}.menu button:not(.primary){padding:11px;border-radius:999px;border:1.5px solid rgba(36,48,94,.15);background:#fff;color:var(--ink);font-size:15px;font-weight:700}.menu button.focus{outline:3px solid var(--accent);outline-offset:2px}#result{justify-content:flex-end;padding:0 16px calc(7vh + var(--safe-b));background:linear-gradient(180deg,transparent 40%,rgba(20,24,70,.25))}.result-card{text-align:center;color:#fff;text-shadow:0 2px 20px rgba(36,48,94,.5)}.result-title{margin:0 -.2em 0 0;font-size:clamp(64px,14vw,150px);font-weight:900;letter-spacing:.2em;line-height:1}#result.show .result-title{animation:rise 1.2s var(--spring) both}.result-sub{margin:10px 0 18px;font-size:15px;font-weight:700;letter-spacing:.12em}.result-stats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}.stat{min-width:104px;padding:12px 14px;border-radius:18px;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.stat b{display:block;font-family:var(--num);font-size:26px;font-weight:700}.stat span{font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.9}.stat em{display:block;margin-top:3px;font-style:normal;font-family:var(--num);font-size:12px;font-weight:700;opacity:.95}.stat.new{border-color:var(--gold);box-shadow:0 0 0 2px #ffd76a99}.stat.new:after{content:"NEW";display:inline-block;margin-top:4px;padding:1px 7px;border-radius:6px;background:var(--gold);color:#24305e;font-family:var(--num);font-size:10px;font-weight:700;text-shadow:none}.result-goal{margin:0 0 18px;font-size:16px;font-weight:900;letter-spacing:.08em}.result-menu{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.result-badge-wrap{margin:6px 0 0;font-size:13px;font-weight:900;letter-spacing:.2em}.result-badge-wrap b{display:inline-block;margin-left:10px;padding:6px 16px;border-radius:999px;background:var(--gold);color:#24305e;font-size:20px;letter-spacing:.1em;text-shadow:none;box-shadow:0 6px 20px #ffbe5073}#result.show .result-badge-wrap b{animation:rise .9s .3s var(--spring) both}.result-note{margin:-12px 0 18px;font-size:13px;font-weight:700;letter-spacing:.08em;opacity:.9}#result.show .result-sub,#result.show .result-stats,#result.show .result-note,#result.show .result-goal,#result.show .result-menu{animation:rise .8s var(--spring) both}#result.show .result-sub{animation-delay:.5s}#result.show .result-stats{animation-delay:1s}#result.show .result-note{animation-delay:1.15s}#result.show .result-goal{animation-delay:1.3s}#result.show .result-menu{animation-delay:1.45s}@media(min-aspect-ratio:5/4)and (min-width:900px){#result{justify-content:center;align-items:flex-start;padding:0 0 0 7vw;background:linear-gradient(90deg,rgba(20,24,70,.4),transparent 55%)}#result .result-card{text-align:left;max-width:44vw}#result .result-title{margin-right:0}#result .result-stats,#result .result-menu{justify-content:flex-start}}#touch{position:absolute;inset:0;display:none;pointer-events:none}body.touch.playing #touch{display:block}#touch .tbtns{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:0 calc(14px + var(--safe-l)) calc(18px + var(--safe-b))}#touch .tbtn{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:8px;width:44%;padding:7px 0;border-radius:16px;font-size:12px;background:var(--plate);color:var(--ink);border:1.5px solid rgba(255,255,255,.7);box-shadow:0 6px 20px #1418462e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:13px;font-weight:900;letter-spacing:.12em;text-shadow:0 1px 8px var(--shadow);transition:transform .12s,background .12s}#touch .tbtn i{width:22px;height:6px;border-radius:3px;background:currentColor;opacity:.8;transform:rotate(-14deg)}#touch .tbtn.right i{transform:rotate(14deg)}#touch .tbtn.on{transform:scale(.96);background:#fff}#edge-l,#edge-r{position:absolute;top:0;bottom:0;width:18vw;pointer-events:none;opacity:0;transition:opacity .18s}#edge-l{left:0;background:linear-gradient(90deg,rgba(255,244,214,.55),transparent)}#edge-r{right:0;background:linear-gradient(270deg,rgba(255,244,214,.55),transparent)}body.touch.playing.press-left #edge-l,body.touch.playing.press-right #edge-r{opacity:1;transition:opacity .03s}body.maprun #meter{display:none!important}.map-screen{padding:calc(14px + var(--safe-t)) 16px calc(16px + var(--safe-b));gap:12px;background:#1c245c9e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-align:center}.map-head h2{margin:0;font-size:clamp(24px,4vw,36px);font-weight:900;letter-spacing:.1em}.map-rate{margin:4px 0 0;font-family:var(--num);font-size:18px;font-weight:700;color:var(--gold);letter-spacing:.04em}.map-svg{display:block;min-height:0;flex:1 1 auto;max-width:100%}.map-svg path{fill:#fffaf2e6;stroke:#24305e;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .25s,opacity .3s}.map-svg path.dim{opacity:.2}.map-svg path:hover{fill:#fff}.map-svg path.cleared{fill:var(--gold)}.map-svg path.on{stroke:#ff7a5a;stroke-width:3.5}.map-svg path.fresh{animation:mapfresh 1.4s .5s var(--ease) both}@keyframes mapfresh{0%{fill:#fffaf2e6}45%{fill:#fff3b0}to{fill:var(--gold)}}.map-svg rect{fill:none;stroke:#fffaf299;stroke-width:1.5;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.map-regions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:900px}.map-regions button{display:flex;flex-direction:column;align-items:center;min-width:76px;padding:5px 10px;border-radius:12px;border:1.5px solid var(--glass-line);background:var(--glass);font-size:13px;font-weight:900;letter-spacing:.06em;transition:background .2s}.map-regions button small{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:.02em;opacity:.85}.map-regions button:hover{background:#ffffff47}.map-regions button.done{border-color:var(--gold);color:var(--gold)}.map-regions button.on,.map-regions button.focus{background:#ffffffeb;color:#24305e;border-color:#fff}.map-panel[hidden]{display:none}.pref-shape{overflow:visible}.cookie-body{fill:#e0954a;stroke:#d08a42;stroke-width:.1;stroke-linejoin:round}.cookie-icing{fill:#fff1d6}.cookie-sprinkle{stroke-width:.04;stroke-linecap:round}.cookie-eye{fill:#4a2c1a}.cookie-mouth{fill:none;stroke:#4a2c1a;stroke-linecap:round}.map-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px}.map-panel .pref-shape{width:92px;height:92px}.map-pref{display:flex;flex-direction:column;min-width:150px;max-width:460px;flex:0 1 auto;text-align:left}.pref-note{margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.45}.pref-goods{margin:2px 0 0;font-size:13px;font-weight:700;line-height:1.45;color:var(--gold)}.map-pref b{font-size:26px;font-weight:900;letter-spacing:.08em}.map-pref span{font-size:13px;font-weight:700;letter-spacing:.12em;opacity:.85}.map-pref em{margin-top:2px;font-style:normal;font-family:var(--num);font-size:13px;font-weight:600;opacity:.9}.map-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}#mapclear .mc-pref .pref-shape{width:min(30vh,240px);height:min(30vh,240px);animation:mcshape .9s var(--spring) both;filter:drop-shadow(0 8px 24px rgba(255,215,106,.6))}@keyframes mcshape{0%{transform:scale(.3) rotate(-14deg);opacity:0}}.mc-pref h2{margin:2px 0 0;font-size:clamp(34px,7vw,56px);font-weight:900;letter-spacing:.12em}.mc-kana{margin:0;font-size:15px;font-weight:700;letter-spacing:.16em}.mc-stats{margin:6px 0 0;font-family:var(--num);font-size:16px;font-weight:600}.mc-map{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;width:100%}@media(min-aspect-ratio:5/4){#mapclear{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto}#mapclear:not(.show){display:grid}#mapclear .map-buttons{grid-column:1 / 3}.mc-map{height:100%}}#closeup{position:absolute;left:50%;top:27%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 26px 16px;border-radius:24px;background:#1c245cbd;color:var(--cream);pointer-events:none;opacity:0;transform:translate(-50%) scale(.86);transition:opacity .25s,transform .4s var(--spring)}#closeup.show{opacity:1;transform:translate(-50%) scale(1)}body.paused #closeup{opacity:0}#closeup .pref-shape{width:150px;height:150px}#closeup b{font-size:30px;font-weight:900;letter-spacing:.1em}#closeup span{font-size:13px;font-weight:700;letter-spacing:.14em}#closeup small{margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.06em;opacity:.85;white-space:nowrap}.map-tabs{display:flex;justify-content:center;gap:6px;margin-bottom:8px}.map-tabs button{padding:6px 18px;border-radius:999px;border:1.5px solid var(--glass-line);background:var(--glass);font-size:14px;font-weight:900;letter-spacing:.08em}.map-tabs button.on{background:#fff;color:#24305e;border-color:#fff}.map-screen .primary{color:#24305e}@media(max-width:480px){.map-regions button{min-width:0;flex:1 1 auto;padding:4px 6px}.map-panel{flex-wrap:nowrap;gap:10px;width:100%}.map-panel .pref-shape{width:72px;height:72px;flex:none}.map-pref{flex:1 1 auto;min-width:0}.map-pref b{font-size:22px}.pref-note{margin-top:2px;font-size:13px}.pref-goods{font-size:12px}#mapclear .mc-pref .pref-shape{width:21vh;height:21vh}.mc-pref h2{font-size:32px}}@media(max-height:700px)and (max-aspect-ratio:1/1){.map-head h2{display:none}.map-regions{gap:3px}.map-regions button{flex:1 1 auto;font-size:10px;padding:3px 4px;letter-spacing:0;white-space:nowrap}.map-regions button small{font-size:10px}.map-screen{gap:8px}}
