.prefecture-shell{max-width:920px}.prefecture-gauge,.prefecture-start-card,.prefecture-play-card{margin-bottom:14px}.prefecture-gauge{padding:14px 16px;border:1px solid #e3e8ef;border-radius:16px;background:#fff}.prefecture-gauge>div{display:flex;justify-content:space-between;gap:12px;font-weight:900}.prefecture-gauge i{display:block;height:13px;margin-top:9px;overflow:hidden;border-radius:999px;background:#edf0f5}.prefecture-gauge b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#315fe8,#49a1ff)}.prefecture-start-card h1{margin:12px 0 6px}.prefecture-start-card p{color:#667085}.prefecture-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0}.prefecture-type-grid button{min-height:66px;border:1px solid #dce2eb;border-radius:15px;background:#fff;color:#172033;font-size:18px;font-weight:900}.prefecture-type-grid button.is-selected{border:3px solid #315fe8;background:#eef3ff}.prefecture-start{width:100%;min-height:58px;border:0;border-radius:15px;background:#071a4f;color:#fff;font-size:20px;font-weight:900}.prefecture-start:disabled{opacity:.35}.prefecture-play-nav{display:flex;justify-content:space-between;margin-bottom:15px}.prefecture-play-nav a{font-weight:800;text-decoration:none}.prefecture-play-card h1{margin:6px 0 18px;text-align:center;font-size:clamp(22px,4vw,34px)}.prefecture-map-wrap{max-width:760px;margin:0 auto 18px;text-align:center}.prefecture-map-wrap object{display:block;width:100%;height:min(58vh,560px);border:1px solid #e5e9f0;border-radius:16px;background:#fff}.prefecture-map-wrap small{display:block;margin-top:6px;color:#8a94a3;font-size:10px}.prefecture-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:640px;margin:0 auto}.prefecture-choices button{min-height:58px;border:1px solid #dce2eb;border-radius:14px;background:#fff;color:#172033;font-size:18px;font-weight:900}.prefecture-choices button:active{transform:scale(.98)}.prefecture-feedback{min-height:42px;margin:12px 0 4px;text-align:center;font-size:20px;font-weight:900}.prefecture-feedback.ok{color:#17823b}.prefecture-feedback.ng{color:#d23b3b}.prefecture-pass{display:block;min-width:130px;min-height:44px;margin:6px auto 0;border:0;border-radius:12px;background:#fff3dd;color:#7a5315;font-weight:900}.prefecture-choice-shake{animation:prefectureShake .38s ease-in-out}@keyframes prefectureShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@media(max-width:640px){.prefecture-type-grid{grid-template-columns:1fr}.prefecture-choices{grid-template-columns:1fr 1fr}.prefecture-map-wrap object{height:52vh}}
.prefecture-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.prefecture-action-button{min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172033;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}
.prefecture-action-button:hover{background:#f8fafc}
.prefecture-action-row .prefecture-pass{margin:0;width:auto}
@media(max-width:520px){.prefecture-action-row{gap:7px}.prefecture-action-button{padding:9px 6px;font-size:14px}}

/* Shape questions use a single prefecture path enlarged in the SVG; fill is applied by JS. */

/* Integrated v7 action controls */
.prefecture-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.prefecture-action-button{min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172033;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}
.prefecture-action-button:hover{background:#f8fafc}
.prefecture-action-row .prefecture-pass{margin:0;width:auto}
@media(max-width:520px){.prefecture-action-row{gap:7px}.prefecture-action-button{padding:9px 6px;font-size:14px}}

/* Match geometry app bottom action colors. */
.prefecture-action-button--choose{background:#e9eef7;border-color:#e9eef7;color:#172033}
.prefecture-action-button--pass{background:#fff3dd;border-color:#fff3dd;color:#172033}
.prefecture-action-button--finish{background:#071a4f;border-color:#071a4f;color:#fff}
.prefecture-action-button--choose:hover{background:#e9eef7}
.prefecture-action-button--pass:hover{background:#fff3dd}
.prefecture-action-button--finish:hover{background:#071a4f}

.prefecture-feature-clues{max-width:640px;margin:-4px auto 18px;padding:14px 18px;border:1px solid #dce2eb;border-radius:14px;background:#f8fafc;font-size:18px;font-weight:800;line-height:1.8}.prefecture-feature-clues[hidden]{display:none!important}

.prefecture-feature-result{max-width:560px;margin:14px auto 0;padding:14px 16px;border:1px solid #dce2eb;border-radius:14px;background:#f8fafc}
.prefecture-feature-result>strong{display:block;margin-bottom:8px;text-align:center;font-size:18px}
.prefecture-feature-result ul{margin:0;padding-left:1.4em;display:grid;gap:6px}
.prefecture-feature-result p{margin:10px 0 0;font-size:14px;color:#586174}
.prefecture-next{display:block;width:min(100%,560px);min-height:52px;margin:14px auto 0;border:0;border-radius:13px;background:#071a4f;color:#fff;font:inherit;font-size:17px;font-weight:900;cursor:pointer}
.prefecture-feature-result[hidden],.prefecture-next[hidden]{display:none!important}
.prefecture-choices button:disabled{cursor:default;opacity:.72}

/* Integrated prefecture: no option-selection screen; population/land and climate questions share one app. */
.prefecture-action-row--integrated{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;margin-left:auto;margin-right:auto}
.prefecture-detail{max-width:640px;min-height:24px;margin:4px auto 0;text-align:center;color:#475467;font-weight:800}
.prefecture-detail[hidden],.prefecture-source[hidden],#prefectureCharts[hidden]{display:none!important}
.prefecture-source{display:block;max-width:720px;margin:10px auto 0;text-align:center;color:#8a94a3;font-size:10px;line-height:1.5}
#prefectureCharts{margin-top:8px;margin-bottom:16px}
#prefectureTop3{max-width:520px}
@media(max-width:640px){.prefecture-action-row--integrated{grid-template-columns:repeat(2,minmax(0,1fr))}}
