/* Tokyo151 rollout (2026-10-23), adapted only for opted-in national area cards.
   Original information remains in native details; original image fitting stays
   authoritative. Shinjuku's separately verified guide is outside this scope. */
body[data-national-tokyo-format]{--ntf-primary:#1269d7;--ntf-primary-dark:#0b57b8;--ntf-navy:#103a6d;--ntf-muted:#667c91;--ntf-line:#d5e6f3}
body[data-national-tokyo-format] :is([data-gym-grid],.v2-area-grid){display:grid;grid-template-columns:1fr;gap:14px}
body[data-national-tokyo-format] article.ntf-card[data-tokyo-card]{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr) minmax(154px,.24fr);grid-template-rows:auto;align-items:stretch;min-width:0;min-height:218px;margin:0;overflow:hidden;border:1px solid var(--ntf-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px #142b460e;scroll-margin-top:110px}
body[data-national-tokyo-format] article.ntf-card[data-tokyo-card][hidden]{display:none!important}
body[data-national-tokyo-format] article.ntf-card[data-tokyo-card]:focus{outline:3px solid #17bcae73;outline-offset:3px}
body[data-national-tokyo-format] article.ntf-card[data-tokyo-card].is-focus-highlight{border-color:#17bcae;box-shadow:0 0 0 5px #17bcae47}
body[data-national-tokyo-format] .ntf-card>:is(.gym-card__media,.v2-card-media){position:relative;display:grid;grid-template-rows:auto 1fr;align-content:start;align-self:start;min-width:0;min-height:156px;height:auto;padding:42px 12px 12px;aspect-ratio:16/13;border-right:1px solid var(--ntf-line);background:linear-gradient(135deg,#eaf5ff94,#eef7ff75)}
body[data-national-tokyo-format] .ntf-card>:is(.gym-card__media,.v2-card-media)>img{display:block;width:100%;max-width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;border-radius:12px;background:#ffffffb8}
body[data-national-tokyo-format] .ntf-card .v2-card-photo{margin:0;min-width:0;align-self:start}
body[data-national-tokyo-format] .ntf-card .v2-card-photo img{display:block;max-width:100%;width:100%;height:auto;object-fit:contain}
body[data-national-tokyo-format] .ntf-card .v2-card-photo figcaption{font-size:10px;line-height:1.5;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-card :is(.gym-card__number,.card-number){position:absolute;top:10px;left:12px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:2px solid #fff;border-radius:999px;background:var(--ntf-primary);color:#fff;font-size:14px;font-weight:900;line-height:1;box-shadow:0 8px 18px #1269d738}
body[data-national-tokyo-format] .ntf-card-body{display:grid;grid-template-columns:1fr;align-content:start;gap:10px;min-width:0;padding:16px}
body[data-national-tokyo-format] .ntf-card-body :is(h2,h3){min-width:0;margin:0;color:var(--ntf-navy);font-size:17.28px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-card-body :is(h2,h3) a{color:inherit;text-decoration:none}
body[data-national-tokyo-format] .ntf-card-body>.gym-card__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}
body[data-national-tokyo-format] .ntf-card-body>.gym-card__title-row :is(h2,h3){flex:0 1 auto;max-width:100%}
body[data-national-tokyo-format] .ntf-card-body .favorite-button{position:static;display:inline-flex;align-items:center;justify-content:center;flex:none;gap:5px;width:auto;height:auto;min-width:0;min-height:32px;padding:5px 9px;border:1px solid #bcd6f0;border-radius:999px;background:#fff;color:var(--ntf-primary-dark);box-shadow:0 3px 10px #103a6d14;font:inherit;font-size:11.52px;font-weight:800;line-height:1.2;white-space:normal;cursor:pointer}
body[data-national-tokyo-format] .ntf-card-body .favorite-button::before{width:19px;height:19px;margin:0}
body[data-national-tokyo-format] .ntf-card-body>.station-line{margin:0;color:var(--ntf-muted);font-size:14.08px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-card-body>.current-distance-line{margin:0;color:var(--ntf-primary-dark);font-size:13px;font-weight:800;line-height:1.5}
body[data-national-tokyo-format] .ntf-main-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;margin:0}
body[data-national-tokyo-format] .ntf-main-metrics>div{min-width:0;padding:9px 10px;border:1px solid var(--ntf-line);border-radius:12px;background:#eef7ff}
body[data-national-tokyo-format] .ntf-main-metrics dt{color:#607086;font-size:11.52px;font-weight:900;line-height:1.35}
body[data-national-tokyo-format] .ntf-main-metrics dd{min-width:0;margin:3px 0 0;color:var(--ntf-navy);font-size:14.72px;font-weight:900;line-height:1.45;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-main-metrics>div.is-highlighted{background:#eaf9f6;border-color:#bfe9e5;box-shadow:inset 4px 0 0 #17bcae}
body[data-national-tokyo-format] .ntf-details{min-width:0;margin:2px 0 0;border:0;padding:0;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-details>summary{display:list-item;min-height:34px;align-content:center;width:fit-content;color:var(--ntf-primary-dark);font-size:13.12px;font-weight:800;line-height:1.5;cursor:pointer}
body[data-national-tokyo-format] .ntf-details :is(.gym-card__info-list,.v2-card-facts){display:grid;gap:8px;margin:8px 0 0}
body[data-national-tokyo-format] .ntf-details :is(.gym-card__info-row,.v2-card-facts>div){display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;min-width:0;padding:7px 9px;border-radius:12px;background:#eaf5ff8f}
body[data-national-tokyo-format] .ntf-details :is(dt,dd){min-width:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-details dt{color:var(--ntf-muted);font-weight:800}
body[data-national-tokyo-format] .ntf-details dd{margin:0;color:var(--ntf-navy);font-weight:800}
body[data-national-tokyo-format] .ntf-details :is(.feature-line,.gym-card__introduction,.gym-card__price-condition){margin:10px 0;font-size:13px;line-height:1.7}
body[data-national-tokyo-format] .ntf-details :is(.tag-list,.v2-tags){display:flex;flex-wrap:wrap;gap:6px;min-width:0;margin:10px 0}
body[data-national-tokyo-format] .ntf-details a{overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-actions{display:flex;flex-direction:column;align-content:center;justify-content:center;gap:8px;min-width:0;margin:0;padding:14px;border-left:1px solid var(--ntf-line);border-top:0;background:#fff}
body[data-national-tokyo-format] .ntf-actions>:is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;width:100%;max-width:100%;min-height:38px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--ntf-line);border-radius:12px;background:#fff;color:var(--ntf-navy);font-size:12.48px;font-weight:800;line-height:1.35;text-align:center;text-decoration:none;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-actions>:is(.card-link-primary,.gym-official-link,.v2-button--primary){border-color:transparent;background:linear-gradient(135deg,var(--ntf-primary),var(--ntf-primary-dark));color:#fff;box-shadow:0 6px 14px #1269d724}
body[data-national-tokyo-format] .ntf-card :is(a,button,summary):focus-visible{outline:3px solid #118aca;outline-offset:3px}
@media(max-width:1120px){
 body[data-national-tokyo-format] article.ntf-card[data-tokyo-card]{grid-template-columns:190px minmax(0,1fr)}
 body[data-national-tokyo-format] .ntf-actions{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;border-left:0;border-top:1px solid var(--ntf-line)}
 body[data-national-tokyo-format] .ntf-actions>:is(a,button){flex:1 1 130px;width:auto}
}
@media(max-width:760px){
 body[data-national-tokyo-format] article.ntf-card[data-tokyo-card]{grid-template-columns:124px minmax(0,1fr);min-height:0}
 body[data-national-tokyo-format] .ntf-card>:is(.gym-card__media,.v2-card-media){grid-template-rows:auto 1fr;min-height:132px;padding:34px 8px 8px;aspect-ratio:1/1;border-radius:18px 0 0 0}
 body[data-national-tokyo-format] .ntf-card :is(.gym-card__number,.card-number){top:7px;left:8px;width:30px;height:30px;font-size:13.12px}
 body[data-national-tokyo-format] .ntf-card-body{gap:8px;padding:13px}
 body[data-national-tokyo-format] .ntf-card-body :is(h2,h3){font-size:15.36px;line-height:1.28}
 body[data-national-tokyo-format] .ntf-card-body>.station-line{font-size:12.48px;line-height:1.35}
 body[data-national-tokyo-format] .ntf-main-metrics{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:5px}
 body[data-national-tokyo-format] .ntf-main-metrics>div{padding:6px 7px;border-radius:9px}
 body[data-national-tokyo-format] .ntf-main-metrics dt{font-size:9.92px;line-height:1.2}
 body[data-national-tokyo-format] .ntf-main-metrics dd{margin-top:1px;font-size:11.52px;line-height:1.25}
 body[data-national-tokyo-format] .ntf-details{font-size:12px}
 body[data-national-tokyo-format] .ntf-details>summary{font-size:13.12px;min-height:34px}
 body[data-national-tokyo-format] .ntf-details :is(.gym-card__info-list,.v2-card-facts){gap:5px;margin-top:8px}
 body[data-national-tokyo-format] .ntf-details :is(.gym-card__info-row,.v2-card-facts>div){grid-template-columns:minmax(0,1fr);gap:2px;padding:6px 7px}
 body[data-national-tokyo-format] .ntf-details :is(dt,dd){font-size:11.52px;line-height:1.35}
 body[data-national-tokyo-format] .ntf-card-body .favorite-button{min-height:44px}
 body[data-national-tokyo-format] .ntf-actions{gap:6px;padding:10px 13px}
 body[data-national-tokyo-format] .ntf-actions>:is(a,button){flex:1 1 112px;min-height:38px;font-size:12.48px}
}
@media(max-width:360px){
 body[data-national-tokyo-format] article.ntf-card[data-tokyo-card]{grid-template-columns:96px minmax(0,1fr)}
 body[data-national-tokyo-format] .ntf-card-body{padding:12px}
}

body[data-national-tokyo-format] .ntf-condition{display:block;margin-top:2px;font-size:10px;font-weight:500;line-height:1.4;color:#62778a}
body[data-national-tokyo-format] .ntf-secondary-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:12px}
@media(max-width:1120px){body[data-national-tokyo-format] .ntf-actions>.card-link-detail{order:20;flex:1 0 100%;width:100%}}
body[data-national-tokyo-format] .ntf-card .v2-photo-save{position:static;inset:auto;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;max-width:100%;min-height:36px;height:auto;margin:7px 0 0;padding:6px;font-size:11px;line-height:1.35;white-space:normal;box-sizing:border-box;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-card .v2-card-status{position:static;inset:auto;min-width:0;max-width:100%;margin:5px 0 0;flex-wrap:wrap}
body[data-national-tokyo-format] .ntf-card .v2-card-status>span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:10px;padding:4px}
body[data-national-tokyo-format] #method{padding:12px 0;background:transparent}
body[data-national-tokyo-format] .ntf-methodology{font-size:13px;line-height:1.7}
body[data-national-tokyo-format] .ntf-methodology>summary{cursor:pointer;color:#236394;font-weight:600;min-height:36px;align-content:center}
body[data-national-tokyo-format] .hero{max-width:1480px}
body[data-national-tokyo-format] .national-area-controls{width:min(1480px,calc(100% - 48px));max-width:1480px;box-sizing:border-box}
body[data-national-tokyo-format][data-national-kind=aichi] main.v2-area-page{display:block;width:min(1480px,calc(100% - 48px));max-width:1480px;margin-inline:auto;padding:10px 0 40px}
body[data-national-tokyo-format][data-national-kind=aichi] .national-area-controls{width:100%;margin:0 0 10px}
body[data-national-tokyo-format][data-national-kind=aichi] .gp-header summary::after{content:none}
@media(max-width:760px){
 body[data-national-tokyo-format] .national-area-controls{width:auto;margin:0 14px 10px}
 body[data-national-tokyo-format][data-national-kind=aichi] main.v2-area-page{width:calc(100% - 28px)}
 body[data-national-tokyo-format][data-national-kind=aichi] .national-area-controls{width:100%;margin:0 0 10px}
}
body[data-national-tokyo-format] .ntf-card[data-tokyo-card]>.v2-card-media{width:100%;max-width:100%;box-sizing:border-box;min-width:0}
body[data-national-tokyo-format] .ntf-card .v2-card-photo{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
@media(max-width:760px){body[data-national-tokyo-format] .ntf-card[data-tokyo-card]>.v2-card-media{aspect-ratio:auto}}
body[data-national-tokyo-format] .ntf-card .v2-card-photo{position:relative;height:auto;min-height:0}
body[data-national-tokyo-format] .ntf-card .v2-card-photo figcaption{position:static;inset:auto;display:block;width:100%;max-width:100%;box-sizing:border-box;padding:2px 3px;white-space:normal;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-card .v2-card-photo figcaption a{white-space:normal;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-card .v2-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0;max-width:100%;padding:8px 0}
body[data-national-tokyo-format] .ntf-card .v2-photo-empty>img{width:29px;height:29px;max-width:100%;margin:0;flex:none}
body[data-national-tokyo-format] .ntf-card .v2-photo-empty>p{width:auto;max-width:100%;min-width:0;margin:0;padding:0;font-size:10px;line-height:1.4;text-align:center;overflow-wrap:anywhere}
body[data-national-tokyo-format] .ntf-main-metrics .v2-price-caption{display:none}
body[data-national-tokyo-format] .ntf-card[data-tokyo-card]>:is(.gym-card__media,.v2-card-media){width:100%;max-width:100%;box-sizing:border-box;min-width:0}
@media(max-width:760px){body[data-national-tokyo-format] .ntf-card[data-tokyo-card]>:is(.gym-card__media,.v2-card-media){aspect-ratio:auto}}

/* Same facts and source disclosures as the amended profile renderer. */
.ntf-details [data-r4-scope] p,.ntf-details .r4-basic-anchor p,.research4-confirmed-details p{margin:0 0 .35rem;overflow-wrap:anywhere}
.research4-confirmed-details .r4-conditions,.research4-confirmed-details .r4-sources{margin:12px 0;padding:10px 12px;border:1px solid #dce4ee;border-radius:10px}
.research4-confirmed-details summary{cursor:pointer;min-height:32px;font-weight:700}
.research4-confirmed-details .r4-applies,.research4-confirmed-details .r4-source-items,.research4-confirmed-details .r4-source-date{font-size:12px;color:#536174;line-height:1.6}
.research4-confirmed-details li{margin:10px 0}
.research4-confirmed-details [data-r4-source]{margin:10px 0}
.r4-conditions-link{font-size:12px;white-space:normal}
