.region-screen{min-height:100%;padding:13px 14px calc(var(--nav-h) + var(--safe-bottom) + 14px);overflow:auto;background:var(--canvas);color:var(--ink)}.region-screen .screen-header-card{align-items:end;margin-bottom:10px}.region-screen h2{font-size:24px}.region-screen .cat-help{font-size:11.5px}.region-screen .screen-header-actions .btn{height:36px;min-height:36px;border-radius:5px}

.memory-board.view-region{display:grid;gap:0}.region-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.region-summary-text{display:grid;gap:2px}.region-summary-text b{font-size:13px}.region-summary-text span,.region-source{color:var(--muted);font-size:9.5px}.region-summary .btn{min-height:32px;padding:0 8px;font-size:9.5px}.region-country{overflow:hidden;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.region-country>summary,.region-admin>summary,.region-locality>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 0;list-style:none;cursor:pointer}.region-country>summary::-webkit-details-marker,.region-admin>summary::-webkit-details-marker,.region-locality>summary::-webkit-details-marker{display:none}.region-country-title{margin:0;font-size:14px;font-weight:730}.region-admin-title{font-size:12px;font-weight:700}.region-country .cat-count,.region-admin .cat-count,.region-locality .cat-count{margin-left:auto;color:var(--muted);font-size:10px;font-weight:620}.region-country-body{display:grid;gap:0;padding:0 0 4px 10px}.region-admin,.region-locality{overflow:hidden;border:0;border-top:1px solid #edf0f4;border-radius:0;background:transparent}.region-locality-spots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 0 7px}.region-travel-open{width:100%;margin:4px 0 6px;min-height:36px!important;background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;font-size:10.5px!important}.region-source{margin:8px 0 0}
.region-screen.journey-active{height:calc(100dvh - var(--nav-h) - var(--safe-bottom));min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden;padding-bottom:10px}.journey-active .screen-header-card{margin-bottom:7px}.journey-active #regionCards{height:auto;min-height:0;overflow:hidden}.journey-switch{display:grid;grid-template-columns:1fr 1fr;margin:0 0 7px;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow:hidden}.journey-switch button{min-height:37px;border:0;border-bottom:2px solid transparent;background:transparent;color:#53637a;font-size:11px;font-weight:690}.journey-switch button.active{border-bottom-color:var(--primary);background:transparent!important;color:var(--primary)!important}
.journey-map-screen{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#e8f6ff}.region-japan-map{display:grid;place-items:center;min-height:0;padding:3px}.region-japan-map svg{width:100%;height:100%;max-width:100%;max-height:100%;overflow:visible}.region-prefecture-shape{fill:var(--prefecture-fill,#dce5ed);stroke:#fff;stroke-width:.65;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .16s ease,stroke .16s ease}.region-prefecture-shape.selected{fill:#ff9500;stroke:#a85500;stroke-width:1.35}.journey-current{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:8px;border-top:1px solid var(--line);background:#fff}.journey-current b{font-size:13px}.journey-current small{grid-column:2;color:var(--muted);font-size:9.5px}.journey-pin,.journey-current-open{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:#eef5ff;color:var(--primary);font-size:15px}
.journey-prefecture-screen{height:100%;min-height:0;overflow:auto}.journey-prefecture-screen>header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:7px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}.journey-prefecture-screen>header button{border:0;background:transparent;color:var(--primary);font-size:10.5px;font-weight:680}.journey-prefecture-screen>header b{text-align:center;font-size:13px;font-weight:760;letter-spacing:-.02em}.journey-prefecture-screen>header>span{font-size:12px;font-weight:700;line-height:1;letter-spacing:-.01em}.journey-prefecture-screen>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:6px}.journey-list{height:100%;overflow:auto;border:0;border-radius:0;background:#fff}.journey-orange-head{position:sticky;top:0;z-index:2;min-height:36px;display:grid;place-items:center;padding:5px 8px;background:#173d70;color:#fff;text-align:center;font-size:11px;font-weight:720}.journey-prefecture-row{display:grid;grid-template-columns:38px minmax(0,1fr) 58px 8px;align-items:center;gap:6px;width:100%;min-height:54px;padding:6px 3px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left}.journey-prefecture-row:last-child{border-bottom:0}.journey-prefecture-row>svg{width:100%;height:36px}.journey-prefecture-row>svg path{fill:#a9d2e7;stroke:rgba(27,53,84,.12);stroke-width:.05;vector-effect:non-scaling-stroke}.journey-prefecture-copy{display:grid;gap:1px;min-width:0}.journey-prefecture-copy b{font-size:12px}.journey-prefecture-copy small{color:var(--muted);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-progress{display:grid;gap:3px}.journey-progress>i{display:block;height:3px;overflow:hidden;border-radius:99px;background:#e1e8ef}.journey-progress>i::after{content:"";display:block;width:var(--progress);height:100%;background:var(--primary)}.journey-progress small{text-align:center;color:var(--muted);font-size:8.5px}.journey-chevron{color:#718096;font-size:17px}

/* v44: readable regional hierarchy and interactive Japan map. */
.region-screen h2{font-size:22px}
.region-screen .cat-help{font-size:12px}
.journey-switch button{font-size:12px!important}
.region-summary-text b{font-size:14px}.region-summary-text span,.region-source{font-size:11px}
.region-country-title{font-size:15px}.region-admin-title{font-size:13px}
.region-country .cat-count,.region-admin .cat-count,.region-locality .cat-count{font-size:11px}
.journey-current b{font-size:14px}.journey-current small{font-size:11px}
.journey-orange-head{font-size:12px}
.journey-prefecture-copy b{font-size:13px}.journey-prefecture-copy small,.journey-progress small{font-size:10px}
.region-japan-map{overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.region-japan-map svg{touch-action:none;cursor:grab}.region-japan-map svg:active{cursor:grabbing}

/* v46: region hierarchy and inline Japan map action */
.region-country>summary{gap:10px}
.region-country>summary .cat-count{margin-left:auto}
.region-travel-open{flex:0 0 auto;width:auto!important;margin:0!important;min-height:32px!important;padding:0 10px!important;border:1px solid var(--primary)!important;border-radius:7px!important;background:#fff!important;color:var(--primary)!important;font-size:11px!important;font-weight:750!important}
.region-admin>summary{padding-left:12px}
.region-admin-title,.region-admin>summary>span:first-child{font-size:15px!important;font-weight:760!important}
.region-locality>summary{padding-left:28px;min-height:40px}
.region-locality>summary>span:first-child{font-size:12px!important;font-weight:600!important;color:#56657a}
.region-locality .cat-count{font-size:10px!important}


/* Japan row: title, map button, then count at the far right. */
.region-country > summary .region-country-title{margin-right:0}
.region-country > summary .region-travel-open{margin-left:10px;margin-right:0;flex:0 0 auto}
.region-country > summary .region-travel-open + .cat-count{margin-left:auto}


/* v54: keep the Japan-map button exactly between 日本 and the count. */
.region-country>summary{display:flex;align-items:center;gap:10px}
.region-country>summary .region-country-title{flex:0 1 auto;min-width:0}
.region-country>summary .region-travel-open{margin-left:12px!important;flex:0 0 auto}
.region-country>summary .cat-count{margin-left:auto!important;flex:0 0 auto}
.region-admin>summary>span:first-child{font-size:15px!important;font-weight:760!important}
.region-locality>summary>span:first-child{font-size:12px!important;font-weight:600!important;color:#56657a}
