*{box-sizing:border-box}body{margin:0;background:#f5f2eb;color:#29251f;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}.topbar{height:60px;background:#211e1a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(16px,calc((100vw - 1000px)/2));position:sticky;top:0;z-index:10}.logo{font-weight:800;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:14px}.topbar nav a{color:#ddd;text-decoration:none;font-size:13px}.container{max-width:1000px;margin:auto;padding:24px 16px 60px}.hero{padding:24px 0 30px}.hero h1,.page-title h1,.store-header h1{margin:4px 0 10px;font-size:clamp(28px,6vw,42px)}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8b6b36;font-weight:800}.card{background:#fff;border:1px solid #e5dfd3;border-radius:16px;padding:20px;margin:0 0 16px;box-shadow:0 4px 14px #00000008}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat span{display:block;color:#777;font-size:13px}.stat strong{display:block;font-size:30px;margin-top:5px}.stat small{color:#8b6b36}.button{display:inline-block;border:0;border-radius:999px;padding:12px 18px;background:#e7e0d2;color:#29251f;text-decoration:none;font-weight:700;cursor:pointer}.button.primary{background:#211e1a;color:#fff}.activity,.rank-row,.store-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee}.activity:last-child,.rank-row:last-child{border-bottom:0}.activity small,.store-row small{display:block;color:#888;margin-top:3px}.rank-row span{width:28px;text-align:center;color:#8b6b36;font-weight:800}.rank-row strong{flex:1}.rank-row b{font-size:14px}.link-card{display:block;text-decoration:none;color:inherit}.link-card h3{margin:0 0 5px}.muted{color:#777}.notice{padding:14px;background:#fff5d9;border:1px solid #ead7a1;border-radius:12px;margin-bottom:16px}.store-dot{width:38px;height:38px;border-radius:50%;background:#211e1a;color:#fff;display:grid;place-items:center}.store-row{text-decoration:none;color:inherit}.store-list{background:#fff;border-radius:16px;padding:8px 16px}.map-marker{font-size:25px;cursor:pointer;filter:drop-shadow(0 2px 2px #0005)}#map{height:60vh;min-height:420px;border-radius:16px;margin-bottom:16px;overflow:hidden}.visit-card{text-align:center;background:#211e1a;color:#fff;border-radius:22px;padding:50px 24px;margin-top:20px}.visit-card h1{font-size:30px}.visit-card #state{font-size:18px;color:#d9c7a5;margin-top:30px}.timer{font-variant-numeric:tabular-nums;font-size:72px;font-weight:800;letter-spacing:.04em;margin:20px 0}.progress{height:8px;background:#4a443d;border-radius:99px;overflow:hidden}.progress div{height:100%;width:0;background:#d9b56b;transition:width .4s}.active{border:2px solid #c89f52}.title-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.title-item{border:1px solid #e7e0d2;border-radius:12px;padding:14px}.title-item span{font-size:24px}.title-item strong,.title-item small{display:block}.title-item small{color:#777;margin-top:4px}.badge{background:#ddd;padding:5px 10px;border-radius:999px;font-size:12px}@media(max-width:650px){.grid2{grid-template-columns:1fr}.topbar{padding:0 12px}.topbar nav{gap:8px}.topbar nav a{font-size:12px}.container{padding-top:18px}.timer{font-size:58px}.title-grid{grid-template-columns:1fr}#map{height:55vh;min-height:360px}}