.exploration{max-width:1180px;margin:auto}.exploration-heading,.exploration-home{display:flex;align-items:center;justify-content:space-between;gap:20px}.exploration-heading h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:.3em 0}.exploration-heading p{margin:0 0 1em}.exploration-home{background:#e6f2eb;border:1px solid #b5d5c3;border-radius:18px;padding:20px 24px;margin:20px 0}.exploration-home h2{margin:.2em 0}.exploration-home p{margin:0}.exploration-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.exploration-map-panel,.exploration-detail{border:1px solid #d3e1dc;background:#fff;border-radius:20px;overflow:hidden}.exploration-map-panel{padding:18px}.exploration-map{position:relative;aspect-ratio:620/560;background:#ecf6ee;border-radius:20px}.exploration-map>img{width:100%;height:100%;object-fit:contain}.map-region{position:absolute;transform:translate(-50%,-50%);border:2px solid #5b8075;border-radius:14px;background:#fffdf7;color:#183e36;min-width:102px;min-height:58px;padding:8px 10px;font:inherit;font-weight:800;box-shadow:0 3px 0 #163e3620;cursor:pointer}.map-region small{display:block;font-size:.7em;font-weight:600}.map-region.active{border:3px solid #126a56;background:#dff4e5;box-shadow:0 0 0 4px #fff}.map-region:focus-visible,.exploration .btn:focus-visible{outline:4px solid #db7b23;outline-offset:3px}.map-caption{font-size:.8rem;color:#435d53;margin:.6em 0}.map-region-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-region-list .btn,.common-learning .btn{display:flex;flex-direction:column;align-items:start;text-align:left;line-height:1.5}.map-region-list .btn[aria-pressed=true],.common-learning .btn[aria-pressed=true]{background:#e0f0e6;border-color:#37735b}.map-region-list small{font-size:.72em;font-weight:500}.common-learning{background:#f5eef6;border-radius:14px;padding:16px;margin-top:16px}.common-learning h2{font-size:1.15rem;margin:0}.common-learning p{font-size:.85rem}.map-source{margin-top:12px;font-size:.8rem}.region-banner{display:block;width:100%;height:190px;object-fit:cover}.exploration-detail-body{padding:22px}.exploration-detail h2{margin:.25em 0;font-size:2rem}.exploration-detail p{line-height:1.65}.exploration-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exploration-counts p{background:#f0f6f2;border-radius:12px;padding:10px;font-size:.85rem;margin:.5em 0}.exploration-counts b{display:block;font-size:1.2rem;color:#195b47}.exploration-actions{display:flex;gap:8px;flex-wrap:wrap}.exploration .btn,.exploration-home .btn{min-height:44px}.exploration-spots{list-style:none;padding:0}.exploration-spots li{margin:8px 0}.exploration-spots .btn{display:block;width:100%;text-align:left;white-space:normal}.unfound-spot{display:block;background:#f3f3ef;border-radius:10px;padding:14px;font-size:.85rem;color:#526257}
@media(max-width:850px){.exploration-layout{gap:14px;grid-template-columns:1fr 1fr}.exploration-map-panel{padding:12px}.exploration-detail-body{padding:16px}.map-region{min-width:85px;font-size:.95rem;padding:6px}.map-region small{font-size:.63em}.region-banner{height:145px}.exploration-home{flex-wrap:wrap;gap:12px}.exploration-counts{grid-template-columns:1fr}.exploration-counts p{margin:.2em 0}}@media(max-width:640px){.exploration-layout{grid-template-columns:1fr}.exploration-heading{align-items:start;gap:8px}.exploration-heading h1{font-size:1.5rem}.exploration-heading .btn{padding:10px}.exploration-home{padding:16px}.exploration-home h2{font-size:1.25rem}.exploration-counts{grid-template-columns:1fr 1fr}.map-region{font-size:1rem;min-width:94px}}
.daily-missions{border:1px solid #d5e1d7;background:#fffdf5;border-radius:18px;padding:16px 20px;margin:18px 0}.mission-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.mission-heading h2{font-size:1.1rem;margin:0 0 10px}.mission-heading small{font-size:.75rem;color:#526457}.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mission{border:1px solid #dddcc8;border-radius:12px;background:#fff;padding:12px}.mission summary{display:flex;gap:9px;font-size:.9rem;line-height:1.55;cursor:pointer;min-height:44px;align-items:center}.mission summary::marker{content:''}.mission summary small{display:block;font-weight:700;color:#53634d}.mission-check{font-size:1.2rem;color:#637856}.mission.complete{border-color:#6e9e77;background:#eef7e9}.mission.complete .mission-check{color:#22673d}.mission p{font-size:.8rem;margin-bottom:0}.mission-optional{font-size:.75rem;color:#53634d;margin:10px 0 0}.badges-entry{white-space:nowrap}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.exp-badge{border:1px solid #d8ded4;border-radius:18px;padding:24px;background:#f5f5ee}.exp-badge.earned{background:#fff8de;border-color:#d1b25d}.exp-badge .badge-icon{font-size:2rem}.exp-badge h2{font-size:1.2rem}.exp-badge p{font-size:.9rem}.badge-toast{position:fixed;right:18px;bottom:18px;z-index:50;max-width:min(440px,calc(100vw - 36px));background:#fff8de;border:2px solid #a28733;border-radius:14px;padding:14px 16px;box-shadow:0 5px 25px #2343;display:flex;align-items:center;gap:14px;color:#463b16}.badge-toast button{min-width:44px;min-height:44px;border:1px solid #a28733;border-radius:8px;background:#fff;font:inherit;cursor:pointer}.badges-screen h1{margin-top:24px}@media(max-width:850px){.mission-grid{gap:8px}.mission{padding:9px}.mission summary{font-size:.8rem}.mission-heading{flex-wrap:wrap;gap:0}.badge-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.mission-grid{grid-template-columns:1fr}.daily-missions{padding:14px}.mission{padding:8px 12px}.mission summary{min-height:44px}.mission-heading small{margin-bottom:10px}.badge-grid{grid-template-columns:1fr}.badge-toast{bottom:10px;right:10px}}
.map-region small{white-space:nowrap;font-size:10px}.exp-badge .badge-icon{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;color:#726126;background:#ebe9dd}.exp-badge.earned .badge-icon{background:#f2df9e;color:#725510}.badge-icon svg{width:44px;height:44px}.map-region-list .btn small{white-space:normal}@media(max-width:850px){.map-region{min-width:94px;font-size:18px}.map-region small{font-size:10px}}
