.progressivePreludePanel{
  position:relative;
  overflow:hidden;
}
.progressivePreludePanel::after{
  content:"";
  position:absolute;
  inset:auto -18% -55% 35%;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(43,169,161,.12),rgba(43,169,161,0) 70%);
  pointer-events:none;
}
.progressivePreludeBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  color:#257e79;
}
.progressivePreludeDot{
  width:8px;height:8px;border-radius:50%;background:#2fa99f;
  box-shadow:0 0 0 0 rgba(47,169,159,.34);
  animation:progressiveResultPulse 1.4s ease-out infinite;
}
.progressivePreludeTop3{
  display:grid;
  gap:10px;
  margin:18px 0 14px;
}
.progressivePreludeCity{
  display:grid;
  grid-template-columns:40px 1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 14px;
  border:1px solid rgba(47,169,159,.18);
  border-radius:16px;
  background:rgba(255,255,255,.82);
}
.progressivePreludeRank{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  font-weight:900;
  background:rgba(47,169,159,.10);
  color:#237c76;
}
.progressivePreludeCity strong{font-size:1rem}
.progressivePreludeCity small{color:#748089}
.progressivePreludeStatus{
  display:flex;
  align-items:center;
  gap:10px;
  color:#68747d;
  font-size:.88rem;
}
.progressivePreludeBar{
  position:relative;
  height:4px;
  flex:1;
  overflow:hidden;
  border-radius:999px;
  background:rgba(47,169,159,.12);
}
.progressivePreludeBar::after{
  content:"";
  position:absolute;inset:0 auto 0 -35%;
  width:35%;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(47,169,159,0),#2fa99f,rgba(47,169,159,0));
  animation:progressiveResultScan 1.25s ease-in-out infinite;
}
.resultStage{
  opacity:0;
  transform:translateY(10px);
}
.resultStage.resultStageVisible{
  opacity:1;
  transform:translateY(0);
  transition:opacity .34s ease,transform .34s ease;
}
@keyframes progressiveResultPulse{
  70%{box-shadow:0 0 0 8px rgba(47,169,159,0)}
  100%{box-shadow:0 0 0 0 rgba(47,169,159,0)}
}
@keyframes progressiveResultScan{
  from{left:-35%}
  to{left:110%}
}
@media(prefers-reduced-motion:reduce){
  .progressivePreludeDot,.progressivePreludeBar::after{animation:none!important}
  .resultStage{opacity:1!important;transform:none!important}
  .resultStage.resultStageVisible{transition:none!important}
}

/* Living-area 100-point polish: meaning first, controls second. */
.localDetailBtn.is-open{
  width:auto!important;
  min-height:40px!important;
  margin:10px 0 0 auto!important;
  padding:8px 12px!important;
  display:block!important;
  background:transparent!important;
  border:1px solid #d7e6e2!important;
  color:#55716d!important;
  font-size:13px!important;
  font-weight:850!important;
}
.livingAreaLifeOutlineHead strong.livingAreaLifeHeadline{
  font-size:20px;
  line-height:1.5;
  letter-spacing:-.01em;
}
.livingAreaLifeStory{
  margin:8px 0 0!important;
  color:#566d6f!important;
  font-size:15px!important;
  line-height:1.85!important;
}
.localAvailabilityNote{
  display:block;
  margin-top:9px;
  color:#7a8789;
  font-size:12px;
  line-height:1.65;
}
@media(max-width:600px){
  .localDetailBtn.is-open{font-size:14px!important}
  .livingAreaLifeOutlineHead strong.livingAreaLifeHeadline{font-size:20px}
  .livingAreaLifeStory{font-size:16px!important;line-height:1.85!important}
  .localAvailabilityNote{font-size:14px}
}

/* v0.10.65 living-area visual craft
   One reading surface. Fewer boxes, stronger type hierarchy, restrained accent. */
.livingAreaDisclosure{
  margin:26px 0 10px!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
}
.livingAreaDisclosure>summary{
  padding:17px 0!important;
  border-top:1px solid #e7e7ea!important;
  border-bottom:1px solid #e7e7ea!important;
  background:transparent!important;
  color:#1d1d1f!important;
  font-size:16px!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
}
.livingAreaDisclosure>summary:before{display:none!important}
.livingAreaDisclosure>summary:after{
  content:"＋"!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  background:transparent!important;
  color:#6e6e73!important;
  font-size:22px!important;
  font-weight:400!important;
}
.livingAreaDisclosure[open]>summary{border-bottom:0!important}
.livingAreaDisclosure[open]>summary:after{content:"−"!important}
.livingAreaInline{padding:30px 0 12px!important}

.livingAreaFeatureHead{
  margin:0 0 28px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaFeatureHead>span{
  margin:0 0 8px!important;
  color:#147d70!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
.livingAreaFeatureTitle{
  margin:0!important;
  color:#1d1d1f!important;
  font-size:clamp(30px,3.6vw,42px)!important;
  line-height:1.2!important;
  letter-spacing:-.035em!important;
  font-weight:820!important;
}
.livingAreaFeatureHead>p{
  max-width:760px!important;
  margin:13px 0 0!important;
  color:#6e6e73!important;
  font-size:16px!important;
  line-height:1.8!important;
}

.livingAreaSelectionIntro{
  margin:0!important;
  padding:26px 0 30px!important;
  border:0!important;
  border-top:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#1d1d1f!important;
}
.livingAreaSelectionIntro>small{
  margin-bottom:8px!important;
  color:#147d70!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
.livingAreaSelectionIntro>strong{
  max-width:760px!important;
  color:#1d1d1f!important;
  font-size:22px!important;
  line-height:1.55!important;
  letter-spacing:-.015em!important;
  font-weight:760!important;
}
.livingAreaSelectionTags{
  gap:8px!important;
  margin-top:16px!important;
}
.livingAreaSelectionTags span{
  padding:6px 10px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f5f5f7!important;
  color:#57575c!important;
  font-size:12px!important;
  font-weight:700!important;
}

.livingAreaMethodNote{
  margin-top:20px!important;
  padding-top:13px!important;
  border-top:1px solid #ededf0!important;
}
.livingAreaMethodNote>summary{
  color:#6e6e73!important;
  font-size:13px!important;
  font-weight:700!important;
}
.livingAreaMethodNote p{
  max-width:780px!important;
  color:#77777c!important;
  font-size:13px!important;
  line-height:1.75!important;
}

.livingAreaCandidateCompare{
  counter-reset:living-candidate;
  margin-top:28px!important;
  gap:0!important;
}
.livingAreaCandidateCompare>div{
  counter-increment:living-candidate;
  position:relative;
  display:grid!important;
  grid-template-columns:34px minmax(170px,.8fr) minmax(0,1.8fr)!important;
  gap:14px!important;
  align-items:start!important;
  padding:18px 0!important;
  border:0!important;
  border-top:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaCandidateCompare>div:last-child{border-bottom:1px solid #ededf0!important}
.livingAreaCandidateCompare>div:before{
  content:counter(living-candidate);
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin-top:1px;
  border-radius:999px;
  background:#f5f5f7;
  color:#6e6e73;
  font-size:12px;
  font-weight:800;
}
.livingAreaCandidateCompare>div:first-child:before{
  background:#147d70;
  color:#fff;
}
.livingAreaCandidateCompare b{
  margin:0!important;
  color:#1d1d1f!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:760!important;
}
.livingAreaCandidateCompare span{
  color:#6e6e73!important;
  font-size:14px!important;
  line-height:1.7!important;
}

.livingAreaFinalChecks{
  margin:26px 0 0!important;
  padding:14px 0 0!important;
  border-top:1px solid #ededf0!important;
}
.livingAreaFinalChecks>summary{
  color:#6e6e73!important;
  font-size:13px!important;
  font-weight:720!important;
}
.livingAreaFinalCheck{
  padding:14px 0!important;
  border:0!important;
  border-bottom:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}

.livingAreaGrid{
  gap:0!important;
  margin-top:34px!important;
}
.livingAreaCard{
  padding:32px 0!important;
  border:0!important;
  border-top:1px solid #e7e7ea!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.livingAreaCard:first-child{
  padding-top:0!important;
  border-top:0!important;
}
.livingAreaCardHead{
  align-items:baseline!important;
}
.livingAreaCardHead b{
  margin:0!important;
  color:#1d1d1f!important;
  font-size:clamp(24px,2.8vw,32px)!important;
  line-height:1.35!important;
  letter-spacing:-.025em!important;
  font-weight:800!important;
}
.livingAreaCardHead small{
  color:#147d70!important;
  font-size:12px!important;
  font-weight:800!important;
}
.livingAreaCardReason{
  max-width:760px!important;
  margin:10px 0 0!important;
  color:#6e6e73!important;
  font-size:15px!important;
  line-height:1.75!important;
}

.livingAreaAxisStrip{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  margin:24px 0 14px!important;
  padding:16px 0!important;
  border-top:1px solid #ededf0!important;
  border-bottom:1px solid #ededf0!important;
}
.livingAreaAxisStrip>div{
  padding:3px 20px!important;
  border:0!important;
  border-right:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaAxisStrip>div:first-child{padding-left:0!important}
.livingAreaAxisStrip>div:last-child{
  padding-right:0!important;
  border-right:0!important;
}
.livingAreaAxisStrip span{
  color:#86868b!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
}
.livingAreaAxisStrip strong{
  margin-top:3px!important;
  color:#1d1d1f!important;
  font-size:28px!important;
  line-height:1.1!important;
  font-weight:760!important;
  font-variant-numeric:tabular-nums;
}

.livingAreaQuickFacts{
  gap:0!important;
  margin-top:14px!important;
}
.livingAreaQuickFacts span{
  position:relative;
  padding:0 14px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#6e6e73!important;
  font-size:13px!important;
  font-weight:650!important;
}
.livingAreaQuickFacts span+span{
  padding-left:14px!important;
}
.livingAreaQuickFacts span+span:before{
  content:"·";
  position:absolute;
  left:0;
  color:#b2b2b7;
}

.localDetailBtn{
  width:auto!important;
  min-height:44px!important;
  margin-top:20px!important;
  padding:10px 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f5f5f7!important;
  color:#147d70!important;
  font-size:14px!important;
  font-weight:760!important;
}
.localDetailBtn:hover{background:#ececee!important}
.localDetailBtn.is-open{
  margin-left:0!important;
  border:0!important;
  background:transparent!important;
  color:#6e6e73!important;
  padding-left:0!important;
}

.localEnrichment{
  margin-top:22px!important;
  padding:28px 0 0!important;
  border-top:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaLifeOutline{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaLifeOutlineHead span{
  color:#147d70!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
.livingAreaLifeOutlineHead strong,
.livingAreaLifeOutlineHead strong.livingAreaLifeHeadline{
  max-width:780px!important;
  margin-top:7px!important;
  color:#1d1d1f!important;
  font-size:clamp(26px,3.2vw,36px)!important;
  line-height:1.35!important;
  letter-spacing:-.025em!important;
  font-weight:800!important;
}
.livingAreaLifeStory{
  max-width:820px!important;
  margin-top:14px!important;
  color:#56565b!important;
  font-size:16px!important;
  line-height:1.9!important;
}
.livingAreaLifeRows{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:28px!important;
  padding-top:0!important;
  border-top:1px solid #ededf0!important;
}
.livingAreaLifeRow{
  padding:20px 22px!important;
  border:0!important;
  border-right:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaLifeRow:first-child{padding-left:0!important}
.livingAreaLifeRow:last-child{
  padding-right:0!important;
  border-right:0!important;
}
.livingAreaLifeRow small{
  color:#147d70!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
}
.livingAreaLifeRow b{
  margin-top:5px!important;
  color:#1d1d1f!important;
  font-size:16px!important;
  line-height:1.5!important;
}
.livingAreaLifeRow p{
  margin-top:7px!important;
  color:#6e6e73!important;
  font-size:13px!important;
  line-height:1.75!important;
}

.localPlacesDisclosure,
.localEvidenceDisclosure{
  margin-top:24px!important;
  padding-top:14px!important;
  border-top:1px solid #ededf0!important;
}
.localPlacesDisclosure>summary,
.localEvidenceDisclosure>summary{
  padding:8px 0!important;
  color:#6e6e73!important;
  font-size:13px!important;
  font-weight:720!important;
}
.terrainMini,
.personalizedPlaces{
  padding:16px 0!important;
  border:0!important;
  border-bottom:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}

.livingAreaCompareAction{margin-top:28px!important}
.livingAreaDeepCompareBtn{
  width:auto!important;
  min-height:44px!important;
  padding:10px 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:#1d1d1f!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:760!important;
}
.livingAreaDeepCompareResult{margin-top:24px!important}
.livingAreaInsightHero{
  padding:26px 28px!important;
  border:0!important;
  border-radius:24px!important;
  background:#f5f5f7!important;
  box-shadow:none!important;
}
.livingAreaInsightEyebrow{color:#147d70!important}
.livingAreaInsightHero h4{
  color:#1d1d1f!important;
  font-size:24px!important;
  letter-spacing:-.02em!important;
}
.livingAreaInsightHero p{
  color:#5f5f64!important;
  font-size:15px!important;
  line-height:1.8!important;
}
.livingAreaDeepCompareCard{
  padding:22px 0!important;
  border:0!important;
  border-top:1px solid #ededf0!important;
  border-radius:0!important;
  background:transparent!important;
}
.livingAreaDeepCompareCard b{
  color:#1d1d1f!important;
  font-size:17px!important;
}
.livingAreaDeepCompareCard p{
  max-width:780px!important;
  color:#66666b!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.livingAreaTradeoff{
  max-width:780px!important;
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:0!important;
  color:#77777c!important;
}

@media(max-width:600px){
  .livingAreaInline{padding-top:24px!important}
  .livingAreaFeatureTitle{font-size:30px!important}
  .livingAreaFeatureHead>p{font-size:15px!important}
  .livingAreaSelectionIntro{padding:22px 0 26px!important}
  .livingAreaSelectionIntro>strong{font-size:20px!important}
  .livingAreaCandidateCompare>div{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:10px!important;
  }
  .livingAreaCandidateCompare>div span{
    grid-column:2!important;
  }
  .livingAreaCard{padding:28px 0!important}
  .livingAreaCardHead b{font-size:25px!important}
  .livingAreaAxisStrip>div{padding:2px 12px!important}
  .livingAreaAxisStrip>div:first-child{padding-left:0!important}
  .livingAreaAxisStrip strong{font-size:24px!important}
  .livingAreaAxisStrip span{font-size:11px!important}
  .livingAreaQuickFacts{row-gap:7px!important}
  .livingAreaQuickFacts span{font-size:12px!important}
  .localDetailBtn{font-size:14px!important}
  .livingAreaLifeOutlineHead strong,
  .livingAreaLifeOutlineHead strong.livingAreaLifeHeadline{font-size:27px!important}
  .livingAreaLifeStory{font-size:15px!important;line-height:1.85!important}
  .livingAreaLifeRows{
    grid-template-columns:1fr!important;
    border-top:1px solid #ededf0!important;
  }
  .livingAreaLifeRow{
    padding:16px 0!important;
    border-right:0!important;
    border-bottom:1px solid #ededf0!important;
  }
  .livingAreaInsightHero{
    padding:22px 20px!important;
    border-radius:20px!important;
  }
}

/* v0.10.66 living-area decision hierarchy
   Conclusion first: tell the user where to look before exposing evidence and controls. */
.livingAreaDecisionHero{
  padding:0 0 28px!important;
  border-bottom:1px solid #ededf0!important;
}
.livingAreaDecisionHero>small{
  display:block!important;
  margin:0 0 8px!important;
  color:#147d70!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
.livingAreaDecisionName{
  display:block!important;
  margin:0!important;
  color:#1d1d1f!important;
  font-size:clamp(32px,4.4vw,48px)!important;
  line-height:1.16!important;
  letter-spacing:-.04em!important;
  font-weight:820!important;
}
.livingAreaDecisionHero>p{
  max-width:760px!important;
  margin:12px 0 0!important;
  color:#56565b!important;
  font-size:16px!important;
  line-height:1.8!important;
}
.livingAreaPriorityBand{
  display:flex!important;
  align-items:flex-start!important;
  gap:18px!important;
  padding:20px 0!important;
  border-bottom:1px solid #ededf0!important;
}
.livingAreaPriorityLabel{
  flex:0 0 auto!important;
  padding-top:6px!important;
  color:#86868b!important;
  font-size:12px!important;
  font-weight:760!important;
}
.livingAreaPriorityBand .livingAreaSelectionTags{margin:0!important}
.livingAreaComparisonBlock{padding:26px 0 0!important}
.livingAreaComparisonLabel{
  display:block!important;
  margin-bottom:8px!important;
  color:#86868b!important;
  font-size:12px!important;
  font-weight:760!important;
}
.livingAreaComparisonBlock .livingAreaCandidateCompare{margin-top:0!important}
.livingAreaCard[data-reference-order="1"] .livingAreaCardHead b{
  font-size:clamp(28px,3.2vw,36px)!important;
}
.livingAreaCard[data-reference-order="1"] .livingAreaCardHead small{
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#eef7f5!important;
}
@media(max-width:600px){
  .livingAreaDecisionHero{padding-bottom:24px!important}
  .livingAreaDecisionName{font-size:34px!important}
  .livingAreaDecisionHero>p{font-size:15px!important;line-height:1.85!important}
  .livingAreaPriorityBand{display:block!important;padding:18px 0!important}
  .livingAreaPriorityLabel{display:block!important;padding:0!important;margin-bottom:10px!important}
  .livingAreaCard[data-reference-order="1"] .livingAreaCardHead b{font-size:28px!important}
}

/* v0.10.67 living-area decision flow
   Remove repeated comparison, ground the first choice in evidence, and make alternatives legible by difference. */
.livingAreaDecisionEvidence{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:18px!important;
}
.livingAreaDecisionEvidence span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#f5f5f7!important;
  color:#4f4f54!important;
  font-size:12px!important;
  font-weight:720!important;
  font-variant-numeric:tabular-nums!important;
}
.livingAreaCompareLead{
  margin:34px 0 2px!important;
  padding:28px 0 0!important;
  border-top:1px solid #e7e7ea!important;
}
.livingAreaCompareLead small{
  display:block!important;
  margin-bottom:7px!important;
  color:#147d70!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}
.livingAreaCompareLead strong{
  display:block!important;
  max-width:760px!important;
  color:#1d1d1f!important;
  font-size:clamp(22px,2.7vw,30px)!important;
  line-height:1.4!important;
  letter-spacing:-.02em!important;
}
.livingAreaCompareLead p{
  max-width:760px!important;
  margin:10px 0 0!important;
  color:#6e6e73!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.livingAreaCard[data-reference-order="1"]{
  padding-bottom:42px!important;
}
.livingAreaCard[data-reference-order="1"] .livingAreaCardHead small{
  letter-spacing:.02em!important;
}
.livingAreaCard:not([data-reference-order="1"]){
  padding-top:27px!important;
  padding-bottom:27px!important;
}
.livingAreaCard:not([data-reference-order="1"]) .livingAreaCardHead b{
  font-size:clamp(22px,2.5vw,28px)!important;
}
.livingAreaCardDifference{
  max-width:760px!important;
  margin:15px 0 0!important;
  padding:13px 0 0!important;
  border-top:1px solid #ededf0!important;
  color:#6e6e73!important;
  font-size:13px!important;
  line-height:1.75!important;
}
.livingAreaCardDifference span{
  display:block!important;
  margin-bottom:4px!important;
  color:#147d70!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
}
.localDetailBtn{
  transition:background-color .18s ease,color .18s ease,transform .18s ease!important;
}
.localDetailBtn:active{transform:scale(.985)}
.localDetailBtn:focus-visible,
.livingAreaDeepCompareBtn:focus-visible{
  outline:3px solid rgba(20,125,112,.28)!important;
  outline-offset:3px!important;
}
@media(prefers-reduced-motion:reduce){
  .localDetailBtn{transition:none!important}
  .localDetailBtn:active{transform:none!important}
}
@media(max-width:600px){
  .livingAreaDecisionEvidence{gap:7px!important;margin-top:16px!important}
  .livingAreaDecisionEvidence span{font-size:13px!important}
  .livingAreaCompareLead{margin-top:28px!important;padding-top:24px!important}
  .livingAreaCompareLead strong{font-size:24px!important}
  .livingAreaCompareLead p{font-size:15px!important;line-height:1.8!important}
  .livingAreaCardDifference{font-size:14px!important;line-height:1.75!important}
  .livingAreaCardDifference span{font-size:12px!important}
}

/* v0.10.68 住む前チェック */
.livingAreaDecisionLens{
  margin:0 0 34px!important;
  padding:0 0 30px!important;
  border-bottom:1px solid #e7e7ea!important;
}
.livingAreaLensHead small{
  display:block!important;
  margin-bottom:7px!important;
  color:#147d70!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.livingAreaLensHead strong{
  display:block!important;
  max-width:760px!important;
  color:#1d1d1f!important;
  font-size:clamp(27px,3.3vw,38px)!important;
  line-height:1.3!important;
  letter-spacing:-.03em!important;
}
.livingAreaLensHead>p{
  max-width:760px!important;
  margin:11px 0 0!important;
  color:#6e6e73!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.livingAreaLensGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:25px!important;
  border-top:1px solid #ededf0!important;
  border-bottom:1px solid #ededf0!important;
}
.livingAreaLensCell{
  min-height:190px!important;
  padding:22px 22px 22px 0!important;
}
.livingAreaLensCell+.livingAreaLensCell{
  padding-left:22px!important;
  border-left:1px solid #ededf0!important;
}
.livingAreaLensCell small{
  display:block!important;
  margin-bottom:11px!important;
  color:#147d70!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
}
.livingAreaLensCell p{
  margin:0!important;
  color:#303034!important;
  font-size:14px!important;
  line-height:1.78!important;
}
.livingAreaLensCell .livingAreaLensSub{
  margin-top:10px!important;
  color:#77777c!important;
  font-size:12px!important;
}
.livingAreaLens-tradeoff small{color:#9a6500!important}
.livingAreaLens-check small{color:#58585d!important}
.livingAreaLensNote{
  display:block!important;
  max-width:820px!important;
  margin-top:12px!important;
  color:#86868b!important;
  font-size:11px!important;
  line-height:1.65!important;
}
@media(max-width:760px){
  .livingAreaLensGrid{grid-template-columns:1fr!important}
  .livingAreaLensCell{min-height:0!important;padding:18px 0!important}
  .livingAreaLensCell+.livingAreaLensCell{
    padding-left:0!important;
    border-left:0!important;
    border-top:1px solid #ededf0!important;
  }
}
@media(max-width:600px){
  .livingAreaDecisionLens{margin-bottom:28px!important;padding-bottom:26px!important}
  .livingAreaLensHead strong{font-size:27px!important}
  .livingAreaLensHead>p{font-size:15px!important;line-height:1.8!important}
  .livingAreaLensCell small{font-size:12px!important}
  .livingAreaLensCell p{font-size:15px!important;line-height:1.78!important}
  .livingAreaLensCell .livingAreaLensSub{font-size:14px!important}
  .livingAreaLensNote{font-size:12px!important}
}

/* v0.10.69 progressive local preview */
.localProgressivePreview{
  margin:0 0 28px!important;
  padding:24px 0 22px!important;
  border-top:1px solid #ededf0!important;
  border-bottom:1px solid #ededf0!important;
}
.localProgressivePreviewHead small{
  display:block!important;
  margin-bottom:6px!important;
  color:#147d70!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.05em!important;
}
.localProgressivePreviewHead strong{
  display:block!important;
  color:#1d1d1f!important;
  font-size:24px!important;
  line-height:1.35!important;
  letter-spacing:-.02em!important;
}
.localProgressivePreviewHead p{
  max-width:760px!important;
  margin:9px 0 0!important;
  color:#6e6e73!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.localProgressiveFacts{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:15px!important;
}
.localProgressiveFacts span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#f5f5f7!important;
  color:#4f4f54!important;
  font-size:12px!important;
  font-weight:760!important;
}
.localProgressiveStatus{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:18px!important;
  color:#86868b!important;
  font-size:12px!important;
}
.localProgressiveStatus i{
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:#147d70!important;
  box-shadow:0 0 0 5px rgba(20,125,112,.08)!important;
}
@media(max-width:600px){
  .localProgressivePreview{padding:20px 0!important}
  .localProgressivePreviewHead strong{font-size:23px!important}
  .localProgressivePreviewHead p{font-size:15px!important}
  .localProgressiveFacts span{font-size:13px!important}
  .localProgressiveStatus{font-size:13px!important}
}

/* v0.10.69 station-side guide */
.stationSideGuide{
  margin:0 0 34px!important;
  padding:0 0 30px!important;
  border-bottom:1px solid #e7e7ea!important;
}
.stationSideHead small{
  display:block!important;
  margin-bottom:7px!important;
  color:#147d70!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.06em!important;
}
.stationSideHead strong{
  display:block!important;
  color:#1d1d1f!important;
  font-size:clamp(25px,3vw,34px)!important;
  line-height:1.35!important;
  letter-spacing:-.025em!important;
}
.stationSideHead p{
  max-width:800px!important;
  margin:10px 0 0!important;
  color:#5f5f64!important;
  font-size:15px!important;
  line-height:1.85!important;
}
.stationSideCompass{
  width:min(100%,430px)!important;
  aspect-ratio:1/1!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:repeat(3,1fr)!important;
  gap:1px!important;
  margin-top:24px!important;
  border:1px solid #ededf0!important;
  background:#ededf0!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
.stationSideCompassCell,
.stationSideCompassCenter{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:9px!important;
  background:#fafafa!important;
  text-align:center!important;
}
.stationSideCompassCell small{
  color:#b0b0b5!important;
  font-size:10px!important;
  font-weight:800!important;
}
.stationSideCompassCell span{
  max-width:100%!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:#f0f7f5!important;
  color:#147d70!important;
  font-size:11px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.stationSideCompassCell span[data-kind="terrain"]{
  background:#fff6e7!important;
  color:#8a6016!important;
}
.stationSideCompassCell.is-active{
  background:#fff!important;
}
.stationSideCompassCell.is-active small{
  color:#6e6e73!important;
}
.stationSideCompassCenter{
  background:#1d1d1f!important;
  color:#fff!important;
}
.stationSideCompassCenter span{
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1d1d1f!important;
  font-size:16px!important;
  font-weight:900!important;
}
.stationSideCompassCenter small{
  color:#c8c8cd!important;
  font-size:10px!important;
  font-weight:700!important;
}
.stationSideGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:24px!important;
  border-top:1px solid #ededf0!important;
  border-bottom:1px solid #ededf0!important;
}
.stationSideCard{
  min-height:150px!important;
  padding:20px 22px 20px 0!important;
}
.stationSideCard+.stationSideCard{
  padding-left:22px!important;
  border-left:1px solid #ededf0!important;
}
.stationSideCard small{
  display:block!important;
  margin-bottom:6px!important;
  color:#86868b!important;
  font-size:11px!important;
  font-weight:800!important;
}
.stationSideCard strong{
  display:block!important;
  color:#147d70!important;
  font-size:26px!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}
.stationSideCard span{
  display:block!important;
  margin-top:7px!important;
  color:#77777c!important;
  font-size:11px!important;
}
.stationSideCard p{
  margin:10px 0 0!important;
  color:#3a3a3c!important;
  font-size:13px!important;
  line-height:1.7!important;
}
.stationSideTerrainGrid{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 16px!important;
  margin-top:14px!important;
}
.stationSideTerrain{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:6px!important;
  color:#6e6e73!important;
  font-size:12px!important;
}
.stationSideTerrain b{
  color:#9a6500!important;
  font-size:12px!important;
}
.stationSideNote{
  display:block!important;
  max-width:820px!important;
  margin-top:13px!important;
  color:#86868b!important;
  font-size:11px!important;
  line-height:1.65!important;
}
@media(max-width:760px){
  .stationSideGrid{grid-template-columns:1fr!important}
  .stationSideCard{
    min-height:0!important;
    padding:17px 0!important;
  }
  .stationSideCard+.stationSideCard{
    padding-left:0!important;
    border-left:0!important;
    border-top:1px solid #ededf0!important;
  }
}
@media(max-width:600px){
  .stationSideGuide{margin-bottom:28px!important;padding-bottom:26px!important}
  .stationSideHead strong{font-size:27px!important}
  .stationSideCompass{width:100%!important;border-radius:20px!important}
  .stationSideCompassCell{padding:6px!important}
  .stationSideCompassCell small{font-size:11px!important}
  .stationSideCompassCell span{font-size:11px!important;padding:4px 6px!important}
  .stationSideCompassCenter span{width:44px!important;height:44px!important;font-size:15px!important}\n  .stationSideCompassCenter small{font-size:11px!important}
  .stationSideHead p{font-size:15px!important}
  .stationSideCard small,.stationSideTerrain,.stationSideTerrain b{font-size:12px!important}
  .stationSideCard strong{font-size:25px!important}
  .stationSideCard p{font-size:14px!important}
  .stationSideNote{font-size:12px!important}
}
/* v0.10.70 diagnosis result decision-screen refinement */
.livingAreaContextFold,.livingAreaCandidateDetails,.livingAreaAfterDecisionFold,.citySecondaryDetails{
  margin-top:14px;border-top:1px solid #ededf0;
}
.livingAreaContextFold>summary,.livingAreaCandidateDetails>summary,.livingAreaAfterDecisionFold>summary,.citySecondaryDetails>summary{
  min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  cursor:pointer;list-style:none;color:#356c65;font-size:13px;font-weight:850;
}
.livingAreaContextFold>summary::-webkit-details-marker,.livingAreaCandidateDetails>summary::-webkit-details-marker,
.livingAreaAfterDecisionFold>summary::-webkit-details-marker,.citySecondaryDetails>summary::-webkit-details-marker{display:none}
.livingAreaContextFold>summary:after,.livingAreaCandidateDetails>summary:after,.livingAreaAfterDecisionFold>summary:after,.citySecondaryDetails>summary:after{content:"＋";color:#6d8d88}
.livingAreaContextFold[open]>summary:after,.livingAreaCandidateDetails[open]>summary:after,.livingAreaAfterDecisionFold[open]>summary:after,.citySecondaryDetails[open]>summary:after{content:"−"}
.livingAreaContextFoldBody,.livingAreaCandidateDetailsBody,.citySecondaryDetailsBody{padding:6px 0 14px}
.livingAreaMethodCompact p{margin:8px 0 0;color:#6e6e73;font-size:12px;line-height:1.7}
.livingAreaDecisionGrid{gap:0!important;border-top:1px solid #ededf0}
.livingAreaCardCompact{border:0!important;border-bottom:1px solid #ededf0!important;border-radius:0!important;padding:22px 0!important}
.livingAreaCardCompact:first-child{padding-top:24px!important}
.livingAreaCardCompact .livingAreaCardHead{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.livingAreaCardCompact .livingAreaCardHead b{font-size:clamp(22px,2.7vw,30px)!important}
.livingAreaCardCompact .livingAreaCardHead small{flex:none}
.livingAreaCardCompact .livingAreaCardReason{max-width:760px;margin-top:8px!important}
.livingAreaCardCompact .livingAreaQuickFacts{margin-top:11px!important}
.livingAreaSectionNote{margin:12px 0 0;color:#86868b;font-size:11px;line-height:1.65}
.livingAreaStationPageLink{display:inline-flex;margin-top:12px;color:#147d70;font-size:12px;font-weight:850;text-decoration:none}
.livingAreaStationPageLink:hover{text-decoration:underline}
.livingAreaAfterDecisionFold{margin-top:10px}
.livingAreaAfterDecisionFold .livingAreaFinalChecks{margin-top:0!important;border-top:0!important}
.cityGapCompact{margin:14px 0 4px!important;padding:12px 14px!important}
.citySecondaryDetails{margin-top:18px;padding-top:4px}
.citySecondaryDetailsBody>.matchPosition{margin-top:8px}
@media(max-width:600px){
  .livingAreaCardCompact{padding:20px 0!important}
  .livingAreaCardCompact .livingAreaCardHead b{font-size:25px!important}
  .livingAreaContextFold>summary,.livingAreaCandidateDetails>summary,.livingAreaAfterDecisionFold>summary,.citySecondaryDetails>summary{font-size:14px}
  .livingAreaSectionNote{font-size:12px}
}
