:root{--bg:#f5f3ec;--paper:#fffdf8;--ink:#243337;--muted:#66757f;--teal:#2d8b7e;--line:#dedbd3;--coral:#e97963}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:820px;margin:auto;padding:22px 16px 100px} .hero{padding:26px;border-radius:24px;background:linear-gradient(135deg,#214f4a,#2d8b7e);color:#fff;margin-bottom:18px}
.hero h1{margin:6px 0 10px;font-size:clamp(28px,6vw,44px)} .hero p{line-height:1.7;margin:0;opacity:.94}
.preview-note{background:#fff4df;border:1px solid #ecd4a5;padding:12px 14px;border-radius:14px;margin:14px 0;line-height:1.55}
.progress-wrap{position:sticky;top:0;z-index:5;background:rgba(245,243,236,.94);backdrop-filter:blur(8px);padding:10px 0 12px}
body.result-mode .progress-wrap{position:static;top:auto;z-index:auto;backdrop-filter:none}
.progress{height:8px;background:#e5e2db;border-radius:99px;overflow:hidden} .bar{height:100%;background:var(--teal);width:0}

.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:7px}
.liveRankingPreview{
  position:fixed;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  z-index:60;
  width:min(940px,calc(100vw - 24px));
  padding:15px 18px 13px;
  border:1px solid #cfe2de;
  border-top:4px solid #39a69a;
  border-radius:18px;
  background:rgba(255,255,255,.985);
  box-shadow:0 12px 32px rgba(38,73,68,.15);
  backdrop-filter:blur(14px);
}
.liveRankingPreview[hidden]{display:none!important}
.liveRankingPreview{max-height:calc(100dvh - 24px);overflow-y:auto}
.liveRankingDetails{margin-top:8px;border-top:1px solid #e4efec}
.liveRankingDetails>summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#326e66;font-size:13px;font-weight:700;list-style:none}
.liveRankingDetails>summary::-webkit-details-marker{display:none}
.liveRankingDetails>summary::after{content:"＋";margin-left:10px}
.liveRankingDetails[open]>summary::after{content:"−"}
.liveRankingScope,.questionIntro{font-size:13px;line-height:1.7;color:#526a68}
.liveRankingDetails .liveStabilityLabel{white-space:normal;font-size:12px;line-height:1.6}
.liveRankingDetails .liveRankingMeta span{white-space:normal;font-size:12px;overflow:visible}
.liveRankingDetails .liveRankingWhy{font-size:12px;text-align:left}
.liveTop10Open{min-height:44px!important;font-size:12px!important}
.liveTop10Evidence{display:block;margin-top:5px;font-size:12px;line-height:1.6;color:#526a68}
body.result-mode .questionIntro{display:none}
:root{--live-preview-space:240px}
body.live-ranking-visible:not(.live-ranking-docked) #questionList,
body.live-ranking-visible:not(.live-ranking-docked) #finish,
body.live-ranking-visible:not(.live-ranking-docked) #phaseGate{
  padding-bottom:var(--live-preview-space);
}
.liveRankingPreview.is-docked{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  z-index:4;
  width:100%;
  margin:18px 0;
  box-sizing:border-box;
}
body.live-ranking-docked #questionList,
body.live-ranking-docked #finish,
body.live-ranking-docked #phaseGate{padding-bottom:0}
.liveRankingHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.liveRankingHead strong{font-size:19px;color:#245f58;letter-spacing:-.01em}
.liveRankingHeadActions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.liveRankingHeadActions span{padding:0;color:#6d827e;font-size:11px;font-weight:800;white-space:nowrap}
.liveTop10Open{
  border:1px solid #9acfc7;border-radius:999px;background:#fff;color:#2a7068;
  padding:5px 10px;font:inherit;font-size:11px;font-weight:850;cursor:pointer;
}
.liveTop10Open:hover{background:#eef8f5}
.liveRankingMeta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:-2px 0 9px;
  padding-top:8px;
  border-top:1px solid #edf2f0;
}
.liveRankingMeta span{
  min-width:0;padding:0;
  color:#667b77;font-size:10px;font-weight:800;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.liveRankingMeta span:last-child{color:#856436}
.liveStability{
  margin:0 0 10px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;
}
.liveStabilityLabel,.liveStabilityValue{font-size:10px;font-weight:800;color:#69807c;white-space:nowrap}
.liveStabilityTrack{height:6px;border-radius:99px;background:#e9efed;overflow:hidden}
.liveStabilityBar{height:100%;width:0;border-radius:99px;background:#53ad9f;transition:width .25s ease}
.liveRankingItems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.liveRankItem{
  min-width:0;
  position:relative;
  padding:12px 12px 12px 50px;
  border:1px solid #d9e9e5;
  border-radius:14px;
  background:#f7fbfa;
  line-height:1.18;
}
.liveRankItem:first-child{background:#eaf7f4;border-color:#8fcfc4}
.liveRankItem b{
  position:absolute;left:10px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;
  background:#dff2ed;color:#26766d;font-size:14px;font-weight:900;
}
.liveRankItem:first-child b{background:#39a69a;color:#fff}
.liveRankItem small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7e8d90;font-size:11px;margin-bottom:3px}
.liveRankItem strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;color:var(--ink)}
.liveRankMove{
  display:inline-flex;align-items:center;gap:3px;
  margin-top:5px;padding:3px 7px;border-radius:999px;
  background:#eef3f2;color:#637477;font-size:10px;font-weight:850;
}
.liveRankMove.up,.liveRankMove.new{background:#def4ee;color:#176e62}
.liveRankMove.down{background:#f8eeee;color:#9a5555}
.liveRankMove.same{background:#f1f4f3;color:#6d7d7f}
.liveRankingWhy{
  margin:10px 0 0;
  padding:8px 2px 0;
  border-top:1px solid #e4efec;
  color:#3e6a64;
  font-size:11px;font-weight:800;line-height:1.5;text-align:center;
}
.liveRankingNote{margin:7px 0 0;color:#5f7376;font-size:11px;line-height:1.5;text-align:center}
.liveRankingPreview.is-changing{box-shadow:0 18px 52px rgba(57,166,154,.34)}
body.result-mode .liveRankingPreview{display:none!important}
.liveTop10Sheet[hidden]{display:none!important}
.liveTop10Sheet{
  position:fixed;inset:0;z-index:90;
  display:grid;place-items:center;padding:18px;
  background:rgba(22,35,34,.46);
  backdrop-filter:blur(6px);
}
.liveTop10Panel{
  width:min(680px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;
  background:#fff;border-radius:22px;padding:20px;
  box-shadow:0 24px 70px rgba(24,47,44,.28);
}
.liveTop10PanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.liveTop10PanelHead h3{margin:0;font-size:22px}
.liveTop10PanelHead p{margin:5px 0 0;color:#738083;font-size:11px}
.liveTop10Close{border:1px solid #d9e3e0;border-radius:999px;background:#fff;padding:7px 10px;cursor:pointer;font:inherit;font-weight:800}
.liveTop10List{display:grid;gap:7px}
.liveTop10Row{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;
  padding:10px 11px;border:1px solid #e2ebe8;border-radius:12px;background:#fafcfb;
}
.liveTop10Row:first-child{background:#ebf8f5;border-color:#9bd2c9}
.liveTop10Rank{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e3f2ee;color:#28746b;font-weight:900}
.liveTop10Row:first-child .liveTop10Rank{background:#39a69a;color:#fff}
.liveTop10Place small{display:block;color:#7c8b8e;font-size:10px;margin-bottom:2px}
.liveTop10Place strong{display:block;font-size:15px}
.liveTop10Score{text-align:right;font-size:11px;color:#718083}
.liveTop10Score b{display:block;font-size:16px;color:#2d6d66}
body.live-top10-open{overflow:hidden}

@media(max-width:600px){
  .liveTop10Sheet{padding:8px}
  .liveTop10Panel{max-height:calc(100vh - 16px);padding:15px;border-radius:18px}
  .liveTop10PanelHead h3{font-size:19px}
  .liveTop10Row{grid-template-columns:34px minmax(0,1fr) auto;padding:9px 8px;gap:7px}
  .liveTop10Place strong{font-size:14px}
  .liveTop10Score b{font-size:14px}
}

@media(max-width:600px){
  .liveRankingPreview{
    bottom:7px;
    width:calc(100vw - 12px);
    padding:13px 10px 10px;
    border-radius:18px;
    border-top-width:5px;
  }
  .liveRankingPreview.is-docked{
    width:100%;
    margin:12px 0 14px;
  }
  .liveRankingHead{margin-bottom:9px}
  .liveRankingHead strong{font-size:17px}
  .liveRankingHeadActions span{font-size:10px;padding:4px 7px}
  .liveTop10Open{font-size:9px;padding:4px 7px}
  .liveRankingMeta{gap:5px;margin-bottom:8px}
  .liveRankingMeta span{padding:4px 6px;font-size:9px}
  .liveStability{gap:5px;margin-bottom:8px}
  .liveStabilityLabel,.liveStabilityValue{font-size:9px}
  .liveRankingItems{gap:6px}
  .liveRankItem{padding:9px 5px 9px 35px}
  .liveRankItem b{left:6px;width:25px;height:25px;font-size:12px}
  .liveRankItem small{font-size:9px}
  .liveRankItem strong{font-size:15px}
  .liveRankMove{margin-top:4px;padding:2px 5px;font-size:9px}
  .liveRankingWhy{margin-top:8px;padding:7px 8px;font-size:10px}
  .liveRankingNote{margin-top:5px;font-size:9px}
}

.question-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;margin:14px 0;box-shadow:0 10px 28px rgba(0,0,0,.04);opacity:0;transform:translateY(12px);transition:.28s ease}
.question-card.visible{opacity:1;transform:translateY(0)} .question-card.answered{border-color:#b8d7d1}
.question-card.adaptive-picked{
  border-color:#84c9bf;
  box-shadow:0 12px 30px rgba(57,166,154,.10);
}
.question-card.adaptive-picked .kicker{color:#2c8076}
.phaseGate{
  margin:24px auto 32px;
  padding:24px 4px 22px;
  border:0;
  border-top:1px solid #a9d7cf;
  border-bottom:1px solid #dceae7;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.phaseGate[hidden]{display:none!important}
.phaseGateBadge{
  display:inline-flex;padding:0;
  background:transparent;color:#2a756b;font-size:11px;font-weight:850;
  letter-spacing:.04em;
}
.phaseGate h2{margin:11px 0 8px;font-size:clamp(22px,3.8vw,30px);color:#244e49}
.phaseGate p{margin:0;color:#5e7370;line-height:1.7}
.phaseGateActions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
.phaseGatePrimary{margin:0}
.phaseGateSecondary{
  border:1px solid #b8d8d2;border-radius:999px;background:#fff;color:#3c6f68;
  padding:11px 16px;font:inherit;font-weight:800;cursor:pointer;
}
.phaseGate small{display:block;color:#70817e;line-height:1.55}
@media(max-width:600px){
  .phaseGate{margin:18px 4px 26px;padding:20px 2px 18px;border-radius:0}
  .phaseGateActions{display:grid;grid-template-columns:1fr}
  .phaseGatePrimary,.phaseGateSecondary{width:100%}
}
.kicker{color:var(--muted);font-size:13px;font-weight:700} .q{font-size:clamp(21px,4.6vw,31px);line-height:1.45;margin:12px 0 10px;font-weight:800}
.questionImpact{
  display:inline-flex;align-items:center;gap:5px;
  margin:0 0 18px;padding:5px 9px;border-radius:999px;
  background:#eef7f4;color:#39756d;font-size:11px;font-weight:800;
}
.questionImpact.indirect{background:#f3f2ef;color:#78746b}
.scale{display:flex;align-items:center;justify-content:space-between;gap:8px} .opt{border:2px solid #aab8b5;border-radius:50%;background:white;cursor:pointer;transition:.15s;flex:0 0 auto}
.opt:hover,.opt.sel{background:var(--teal);border-color:var(--teal);transform:scale(1.05)} .opt.neg:hover,.opt.neg.sel{background:var(--coral);border-color:var(--coral)}
.s1{width:34px;height:34px} .s2{width:42px;height:42px} .s3{width:52px;height:52px} .neutral{width:30px;height:30px}
.labels{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:12px}
.finish{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 4px 10px;margin-top:22px;display:none}
.result{display:none} .badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#e5f4f0;color:#1d655d;font-size:12px;font-weight:800}
.result h2{font-size:30px;margin:12px 0} .insight{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.65}
.city{padding:16px;border:1px solid var(--line);border-radius:16px;margin:12px 0;background:white} .city h3{margin:0 0 8px}
.small{font-size:13px;color:var(--muted);line-height:1.55} .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn{border:0;border-radius:14px;padding:13px 18px;cursor:pointer;font-weight:800;background:var(--teal);color:white;font:inherit} .btn:disabled{opacity:.35}
.restartAction{margin:22px 0 4px;text-align:center}.restartBtn{border:1px solid var(--line);border-radius:14px;padding:12px 18px;background:#fff;color:var(--ink);font:inherit;font-weight:750;cursor:pointer}.restartBtn:hover{background:#f7faf9}
.edit-note{color:var(--muted);font-size:13px;line-height:1.55;margin:4px 0 0}
@media(max-width:560px){
  .question-card{padding:18px;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}
  .scale{gap:4px}
  .s3{width:44px;height:44px}.s2{width:37px;height:37px}.s1{width:31px;height:31px}
}

.realityCandidateMeter{
  margin:20px 0 18px;
  padding:0 0 16px;
  border:0;
  border-bottom:1px solid #dce9e6;
  border-radius:0;
  background:transparent;
}
.realityCandidateHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.realityCandidateHead span{font-size:11px;font-weight:850;color:#5b7772}
.realityCandidateHead strong{font-size:24px;color:#246b62;line-height:1}
.realityCandidateTrack{height:9px;margin:10px 0 8px;border-radius:99px;background:#e5efec;overflow:hidden}
.realityCandidateBar{height:100%;width:100%;border-radius:99px;background:#49aa9c;transition:width .3s ease}
.realityCandidateMessage{margin:0;color:#617471;font-size:12px;line-height:1.55}
.realityCandidateDelta{font-weight:850;color:#2f796f}
@media(max-width:600px){
  .realityCandidateMeter{margin:16px 0 14px;padding:0 0 14px}
  .realityCandidateHead strong{font-size:21px}
  .realityCandidateMessage{font-size:12px}
}
.reality-q{padding:20px 0;border-top:1px solid var(--line)}
.reality-q h3{font-size:20px;line-height:1.5;margin:0 0 14px}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.choice-grid.choice-grid-long{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice{min-height:52px;border:1px solid #d7dfdc;border-radius:999px;background:#fff;padding:11px 14px;text-align:center;cursor:pointer;font:inherit;font-weight:750;color:var(--ink);transition:border-color .15s ease,background .15s ease,transform .12s ease,box-shadow .15s ease}
.choice:hover{border-color:#8fcac0;background:#f7fbfa}
.choice:active{transform:scale(.985)}
.choice strong{font-size:15px;line-height:1.35}
.choice span{font-size:11px!important;line-height:1.35}
.choice.sel{border:2px solid var(--teal);background:#eaf7f4;box-shadow:0 0 0 3px rgba(57,166,154,.08);color:#215f58}
@media(max-width:560px){
  .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .choice span{font-size:12px!important;line-height:1.4}
  .choice-grid.choice-grid-long{grid-template-columns:1fr}
  .finish{padding:20px 12px}
  .reality-q{padding:20px 0}
  .reality-q h3{font-size:19px;margin-bottom:13px}
  .choice{min-height:50px;padding:11px 10px;font-size:14px}
  #resultBtn{width:100%;margin-top:8px;padding:15px 18px;font-size:17px}
}

.resultCard{max-width:780px;margin:30px auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:22px}
.resultCard h2{margin:8px 0 18px}.resultCard h3{margin:22px 0 8px}.resultErrorCard{text-align:center}.resultErrorCard p{max-width:560px;margin:0 auto 18px;line-height:1.8}.resultRetryBtn{min-width:180px;min-height:50px}
.resultCard ul{padding-left:1.3em}.resultCard li{margin:8px 0;line-height:1.7}
.cityResult{padding:18px 0;border-top:1px solid var(--line)}.cityResult .rank{font-weight:700;color:var(--teal)}
.muted{color:var(--muted)}.currentPlace{margin:20px 0;padding:14px;border-radius:14px;background:#f5f7f6}

.optional{font-size:12px;font-weight:600;color:var(--muted);margin-left:6px}
.small{font-size:13px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.location-grid select{width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}
.location-field{display:grid;gap:6px;min-width:0}
.location-field label{font-size:13px;font-weight:700;color:var(--ink)}
.resultShell{max-width:820px;margin:32px auto 80px}
.resultHero,.resultPanel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;margin:18px 0}
.resultHero h1,.resultHero .resultTypeHeadline{font-size:clamp(30px,7vw,52px);letter-spacing:-.03em;margin:5px 0 18px}
.resultHero h2,.resultPanel h2{font-size:24px;margin:22px 0 12px}
.eyebrow,.sectionEyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--teal);text-transform:uppercase}
.priorityWrap{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}
.priorityChip{padding:7px 11px;border-radius:999px;background:#f1f6f4;font-size:13px}
.insightList{padding-left:1.25em}.insightList li,.dilemmaBox li{line-height:1.8;margin:8px 0}
.dilemmaBox{margin-top:22px;padding:18px;border-radius:16px;background:#f8f6f1}
.currentPanel{position:relative}.currentSummary{font-size:17px;line-height:1.7;max-width:620px}
.bigScore{font-size:44px;font-weight:800;letter-spacing:-.04em;margin-top:12px}.bigScore small{font-size:14px;margin-left:4px;color:var(--muted)}
.flagBox,.guardNote{margin-top:16px;padding:14px 16px;border-radius:14px;background:#fbf6ed;line-height:1.6}
.topCard{display:flex;gap:16px;padding:26px 0;border-top:1px solid var(--line)}
.topBody{min-width:0;flex:1}.whyTitle,.factTitle{font-size:12px;font-weight:900;letter-spacing:.06em;color:var(--muted);margin-top:14px}.whyText{font-size:15px;line-height:1.8;margin:6px 0 0}.factGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}.miniFact{border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fbfcfb}.miniFact span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.miniFact strong{display:block;font-size:15px}.miniFact small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.4}.rankingBridge{padding:17px 18px;border-radius:16px;background:#eef7f4;margin:18px 0;line-height:1.8}.rankingBridge strong{display:block;margin-bottom:5px}.fitTags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.fitTags span{padding:6px 9px;border-radius:999px;background:#edf5f2;font-size:12px;font-weight:700}.precisionList{display:grid;gap:10px}.precisionItem{padding:13px 14px;border:1px solid var(--line);border-radius:13px}.precisionItem p{margin:5px 0 0;line-height:1.6}
.topRank{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f1f6f4;font-size:18px;font-weight:800;flex:none}
.topBody{min-width:0;flex:1}.placeLine{display:flex;gap:12px;align-items:center;justify-content:space-between}
.placeLine h3{font-size:22px;margin:2px 0 8px}.scorePill{font-weight:800;white-space:nowrap}
.caution{color:var(--muted)}.factLine{font-size:13px;color:var(--muted);margin-top:10px}
.rankingDetails summary{font-size:18px;font-weight:750;cursor:pointer;padding:4px 0 14px}
.rankingHead,.rankRow{display:grid;grid-template-columns:52px 1fr 54px;gap:10px;align-items:center}
.rankingHead{font-size:11px;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}
.rankRow{padding:12px 8px;border-bottom:1px solid var(--line)}.rankNo,.rankScore{font-weight:700}
.rankScore{text-align:right}.rankPlace b{display:inline-block;margin-left:8px;font-size:10px;padding:3px 6px;border-radius:999px;background:#edf6f2}
.rankRow.isCurrent{background:#f4faf7;border-radius:10px}.outsideCurrent{display:grid;grid-template-columns:60px 1fr auto;gap:8px;padding:14px 8px;margin-top:12px;background:#f7f7f6;border-radius:12px}.outsideCurrent small{grid-column:2/4;color:var(--muted);line-height:1.5}.currentRankNote{margin-top:12px;padding:12px 14px;background:#f7f9f8;border-radius:12px}.currentRankNote p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.copyNote{text-align:center;color:var(--muted);font-size:12px;margin:18px}
.noticePanel{border-style:dashed}
@media(max-width:600px){
  .resultHero,.resultPanel{padding:21px;border-radius:20px}
  .location-grid{grid-template-columns:1fr}
  .topCard{gap:10px}.topRank{width:38px;height:38px}
  .placeLine{align-items:flex-start}.placeLine h3{font-size:19px}
}

.coreInsight{font-size:clamp(18px,3.8vw,24px);line-height:1.75;max-width:700px;margin:16px 0 28px}
.discoveryGrid{display:grid;gap:10px}
.discoveryCard{padding:16px 18px;border:1px solid var(--line);border-radius:15px}
.discoveryCard span{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.05em}
.discoveryCard p{margin:6px 0 0;line-height:1.7}
.commonBox,.commonCaution{padding:16px 18px;border-radius:15px;margin:12px 0 18px}
.commonBox{background:#f2f7f5}.commonCaution{background:#fbf6ed}
.commonBox p,.commonCaution p{margin:7px 0 0;line-height:1.65}

.similarityNote{padding:14px 16px;margin-top:14px;border-radius:14px;background:#f6f6f5;color:var(--muted);line-height:1.65}
.precisionList{display:grid;gap:10px;margin-top:14px}
.precisionItem{padding:14px 16px;border:1px solid var(--line);border-radius:14px}
.precisionItem p{margin:6px 0 0;line-height:1.65;color:var(--muted)}

.provisionalNote{margin:10px 0 16px;padding:12px 14px;border-radius:13px;background:#f7f7f5;color:var(--muted);font-size:13px;line-height:1.6}

.coverageBox{margin-top:24px;padding:16px 18px;border-radius:16px;background:#f7f9f8}
.coverageHead{display:flex;justify-content:space-between;gap:12px;align-items:center}
.coverageHead span{font-weight:800}
.coverageTrack{height:8px;background:#e5eae7;border-radius:999px;overflow:hidden;margin:10px 0}
.coverageTrack i{display:block;height:100%;background:var(--teal);border-radius:999px}
.coverageBox p{margin:0;color:var(--muted);font-size:13px}
.axisChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.axisChips span{padding:7px 10px;border-radius:999px;background:#f1f6f4;font-size:12px}
.nextStepPanel p{line-height:1.7}

.scoreTrustNote{margin:8px 0 14px;color:var(--muted);font-size:12px;line-height:1.6}

.balanceProfile{margin-top:24px;padding:22px 22px 18px;border:1px solid #e7e8ef;border-radius:22px;background:rgba(255,255,255,.84);box-shadow:0 12px 28px rgba(39,50,65,.06)}
.balanceProfileHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}
.balanceProfileHead h3{margin:0;font-size:20px;letter-spacing:.01em}
.balanceProfileHead p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.balanceRows{display:grid;gap:19px}
.balanceMeta{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:8px}
.balanceMeta strong{font-size:15px}
.balanceScore{font-size:16px;color:var(--muted);white-space:nowrap}
.balanceScore b{font-size:20px;color:var(--ink);margin-left:5px}
.balanceTrack{position:relative;height:9px;border-radius:999px;background:#edf0f3;overflow:visible}
.balanceFill{height:100%;width:var(--score);border-radius:999px;background:var(--axis-color)}
.balanceDot{position:absolute;top:50%;left:var(--score);width:17px;height:17px;border-radius:50%;background:#fff;border:4px solid var(--axis-color);transform:translate(-50%,-50%);box-shadow:0 3px 10px rgba(39,50,65,.14)}
.balanceHint{display:flex;justify-content:space-between;margin-top:7px;color:#66757f;font-size:11px}

.cityBalanceProfile{margin:18px 0 16px;background:rgba(255,255,255,.72)}
.cityBalanceProfile .balanceProfileHead h3{font-size:18px}
.cityBalanceProfile .balanceRows{gap:16px}
.cityBalanceProfile .balanceTrack{height:8px}

@media(max-width:680px){
  .balanceProfile{padding:18px 16px 16px}
  .balanceProfileHead{display:block}
  .balanceRows{gap:17px}
}

.lifeScene{margin:14px 0;padding:14px 16px;border-radius:14px;background:#f7faf8;line-height:1.75}
.currentDetail{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.currentDetail h3{margin:0 0 8px;font-size:15px}
.readingGuide{margin:14px 0 18px;padding:14px 16px;border-radius:14px;background:#f8f6f1;line-height:1.7}
.cityNarrative{margin-top:10px}


/* v0.10.15: light, pop, approachable visual system. Content stays serious; the surface feels lighter. */
:root{
  --bg:#f8f9fb;--paper:#ffffff;--ink:#2d3748;--muted:#66757f;--teal:#39a69a;--line:#e7e9ef;--coral:#f27d72;
  --sky:#eaf7fb;--sun:#fff3cf;--lilac:#f1eafe;--mint:#e9f8f1;--peach:#fff0e9;--blue:#4ba6c6;--purple:#8b6fb2;--yellow:#e8ad35;
}
body{background:linear-gradient(180deg,#fafbfc 0%,#f7f8fb 100%)}
.wrap{max-width:900px}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#e9f8f1 0%,#eaf7fb 45%,#f4edff 100%);color:var(--ink);border:1px solid #e2ece9;box-shadow:0 14px 36px rgba(54,72,89,.07)}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;opacity:.78;pointer-events:none}
.hero:before{width:150px;height:150px;background:#ffe7a6;right:-42px;top:-62px}
.hero:after{width:95px;height:95px;background:#f6c8c0;right:72px;bottom:-50px}
.hero>div,.hero h1,.hero p{position:relative;z-index:1}
.hero>div{color:#56706d}.hero h1{letter-spacing:-.035em}.hero p{color:#52616a}
.preview-note{background:#fff9e9;border-color:#f2ddb1;color:#5f594c}
.progress-wrap{background:rgba(248,249,251,.94)}
.bar{background:linear-gradient(90deg,#39a69a,#55a9cb,#8f79b8)}
.question-card{background:#fff;border-color:#e6e8ee;box-shadow:0 10px 32px rgba(54,72,89,.055)}
.question-card:nth-child(4n+1){border-top:4px solid #62b7aa}.question-card:nth-child(4n+2){border-top:4px solid #e8b447}.question-card:nth-child(4n+3){border-top:4px solid #9b82c4}.question-card:nth-child(4n+4){border-top:4px solid #ef8d7f}
.kicker{color:#66757f}.choice.sel{background:#eef9f6}.btn{background:linear-gradient(135deg,#2f998c,#4ba6c6);box-shadow:0 8px 18px rgba(58,145,143,.16)}

.resultShell{max-width:860px}
.resultHero,.resultPanel{border-color:#e6e8ef;box-shadow:0 12px 34px rgba(54,72,89,.06)}
.resultHero{position:relative;overflow:hidden;background:linear-gradient(140deg,#ffffff 0%,#fbffff 58%,#f3efff 100%);border-top:7px solid #55a9cb}
.resultHero:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-55px;top:-65px;background:#fff0b8;opacity:.7}
.resultHero>*{position:relative;z-index:1}
.eyebrow,.sectionEyebrow{color:#4b8ea7;letter-spacing:.11em}
.resultHero h1{color:#2d3748}
.coreInsight{font-weight:650;color:#40505d}
.ahaCard{margin:4px 0 24px;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,#fff7dc,#fff1e8);border:1px solid #f1dfb8;line-height:1.85}
.ahaCard span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:900;color:#9b6c16;letter-spacing:.04em;margin-bottom:7px}
.ahaCard p{margin:0;font-size:17px;font-weight:650;color:#4a4650}
.discoveryGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.discoveryCard{border:0;box-shadow:inset 0 0 0 1px rgba(99,112,126,.09);background:#f8fbfd}
.discoveryCard:nth-child(3n+1){background:var(--sky)}.discoveryCard:nth-child(3n+2){background:var(--mint)}.discoveryCard:nth-child(3n){background:var(--lilac)}
.discoveryCard span{color:#607382}
.coverageBox{background:#f6faf9;border:1px solid #e2eeeb}.coverageTrack i{background:linear-gradient(90deg,#39a69a,#55a9cb)}
.rankingBridge{background:linear-gradient(135deg,#eef8fb,#f4effc);border:1px solid #dfe9f2}
.rankingBridge strong{font-size:17px;color:#3b5868}
.currentPanel{background:linear-gradient(145deg,#ffffff,#f0f8fb);border-top:6px solid #55a9cb}
.currentPanel .bigScore{color:#367e9b}
.currentDetail,.lifeScene,.cityGap,.cityCharacter{border-radius:16px}
.lifeScene{background:#f0faf5;border:1px solid #dff0e7}
.currentDetail{border-top:1px solid #dfe8ec}

.topCard{margin:16px 0;padding:24px;border:1px solid #e7e8ef;border-radius:22px;box-shadow:0 9px 24px rgba(54,72,89,.045)}
.topCard:nth-of-type(1){background:linear-gradient(145deg,#fffdf6,#fff7d9);border-color:#efdfaa}
.topCard:nth-of-type(2){background:linear-gradient(145deg,#ffffff,#eefaf5);border-color:#d5ece2}
.topCard:nth-of-type(3){background:linear-gradient(145deg,#ffffff,#f3effb);border-color:#e1d9ef}
.topCard .topRank{background:#fff;box-shadow:0 4px 12px rgba(54,72,89,.08)}
.topCard:nth-of-type(1) .topRank{color:#9b6c16}.topCard:nth-of-type(2) .topRank{color:#2d8b72}.topCard:nth-of-type(3) .topRank{color:#7c65a2}
.scorePill{padding:7px 11px;border-radius:999px;background:#fff;box-shadow:0 3px 10px rgba(54,72,89,.07)}
.fitTags span{background:rgba(255,255,255,.75);border:1px solid rgba(90,110,120,.08)}
.whyTitle,.factTitle{color:#667683}.cityCharacter{margin:12px 0;padding:14px 16px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(240,247,255,.72));line-height:1.72;border:1px solid rgba(72,106,132,.08)}.cityCharacter p{margin:6px 0 0}.cityCharacter strong{font-size:14px}.moveDelta{margin-top:16px;padding:17px 18px;border-radius:18px;background:linear-gradient(135deg,#fff8e7,#f4f0ff);border:1px solid rgba(132,102,180,.10);line-height:1.75}.moveDelta strong{display:block;margin-bottom:6px;color:#4f4666}.moveDelta p{margin:0}
.cityGap{margin:13px 0;padding:13px 15px;background:#fff3ee;border:1px solid #f5ddd3;line-height:1.65}.cityGap p{margin:5px 0 0}
.miniFact{background:rgba(255,255,255,.72)}
.readingGuide{background:#f7f2fb;border:1px solid #e6dff1}.commonBox{background:#eef8fb}.commonCaution{background:#fff4e8}
.axisChips span{background:#eef6fb}.precisionItem{background:#fff}
.rankingDetails summary{color:#41515d}
@media(max-width:600px){.topCard{padding:18px 16px}.ahaCard{padding:17px 18px}.discoveryGrid{grid-template-columns:1fr}}

/* v0.10.22: keep the six-axis visual language while making the move trade-off visible. */
.moveCompare{margin-top:22px;padding:22px;border:1px solid #e6e8ef;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 10px 28px rgba(39,50,65,.05)}
.moveCompareHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:18px}
.moveCompareHead h3{margin:0;font-size:20px}.moveCompareHead p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.compareLegend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.compareLegend span{display:flex;align-items:center;gap:6px}.compareLegend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.moveAxisRows{display:grid;gap:17px}.moveAxisLabel{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}
.moveAxisLabel strong{font-size:14px}.moveAxisLabel span{font-size:12px;color:var(--muted)}
.pairedTracks{display:grid;grid-template-columns:1fr;gap:10px}.pairedTrackWrap small{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pairedTrack{height:8px;border-radius:999px;background:#edf0f3;position:relative}.pairedTrack b{display:block;height:100%;width:var(--score);border-radius:999px;background:var(--axis-color)}
.pairedTrack i{position:absolute;top:50%;left:var(--score);width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--axis-color);transform:translate(-50%,-50%);box-shadow:0 2px 7px rgba(39,50,65,.14)}
.metricCompare{margin-top:22px}.metricCompare h4{margin:0 0 10px;font-size:15px}.metricCompareGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.metricCompareCard{padding:13px 14px;border:1px solid #e6e8ef;border-radius:14px;background:#fff}.metricCompareCard>span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.metricValues{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metricValues small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.metricValues strong{display:block;font-size:13px}.metricCompareCard em{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-style:normal;line-height:1.4}
.livingAreaDisclosureOpen{margin-top:18px}.livingAreaDisclosureOpen>.factTitle{margin-bottom:6px}.livingAreaFeatureTitle{margin:0 0 12px;font-size:18px;line-height:1.45}.factDisclosure{margin-top:16px;border-top:1px solid #e7e9ef;padding-top:14px}.factDisclosure>summary{cursor:pointer;min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;background:#f7faf9;font-size:13px;font-weight:900;color:#45615e;letter-spacing:.02em;list-style:none}.factDisclosure>summary::-webkit-details-marker{display:none}.factDisclosure>summary:after{content:"＋";flex:none;color:var(--teal);font-size:18px;line-height:1}.factDisclosure[open]>summary:after{content:"−"}.factDisclosure .factGrid{margin-top:12px}
.livingAction{margin-top:18px}.livingAction .btn{padding:14px 20px}.livingAreaResult{margin-top:16px}.livingCityGroup{margin-top:16px}.livingCityGroup h3{font-size:17px;margin:0 0 9px}.livingAreaGrid{display:grid;grid-template-columns:1fr;gap:9px}.livingAreaCard{padding:14px;border:1px solid #e4e7ed;border-radius:15px;background:#fff}.livingAreaCard b{display:block;margin-bottom:6px}.livingAreaCard p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}.livingAreaSelectionIntro{margin:0 0 13px;padding:13px 14px;border-radius:14px;background:linear-gradient(135deg,#f2faf7,#f8fbff);border:1px solid #dbeae6;color:#405b59}.livingAreaSelectionIntro small{display:block;margin-bottom:5px;color:#2d766c;font-size:10px;font-weight:900;letter-spacing:.05em}.livingAreaSelectionIntro strong{display:block;font-size:14px;line-height:1.6;color:#294d48}.livingAreaSelectionIntro p{margin:6px 0 0!important;font-size:12px!important;line-height:1.75!important;color:#5d7073!important}.livingAreaSelectionTags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.livingAreaSelectionTags span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #dce9e6;color:#3f6661;font-size:11px;font-weight:800}.livingAreaCandidateCompare{margin-top:11px;display:grid;gap:7px}.livingAreaCandidateCompare>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,2fr);gap:10px;align-items:start;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e2ece9}.livingAreaCandidateCompare b{font-size:12px;line-height:1.5;color:#2f5b55}.livingAreaCandidateCompare span{font-size:11px;line-height:1.55;color:#627579}@media(max-width:600px){.livingAreaCandidateCompare>div{grid-template-columns:1fr;gap:2px}}.livingAreaDeepCompareBtn{width:100%;margin-top:11px;min-height:44px;border:1px solid #9ecfc4;border-radius:12px;background:#fff;color:#237667;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.livingAreaDeepCompareBtn:disabled{opacity:.72;cursor:default}.livingAreaDeepCompareResult{margin-top:10px;display:grid;gap:8px}.livingAreaInsightHero{padding:17px 18px;border-radius:16px;background:linear-gradient(135deg,#eef9f6,#f8fbfa);border:1px solid #cfe5df;box-shadow:0 8px 24px rgba(36,88,78,.06)}.livingAreaInsightEyebrow{display:block;margin-bottom:6px;color:#2c7b70;font-size:12px;font-weight:950;letter-spacing:.07em}.livingAreaInsightHero h4{margin:0;color:#274d48;font-size:20px;line-height:1.45}.livingAreaInsightHero p{margin:8px 0 0!important;color:#52696d!important;font-size:15px!important;line-height:1.8!important}.livingAreaInsightChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.livingAreaInsightChip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #d9e9e5;color:#356d65;font-size:12px;font-weight:850}.livingAreaInsightNote{display:block;margin-top:10px;color:#748286;font-size:12px;line-height:1.6}.livingAreaCardReason{margin:8px 0 0!important;color:#52696d!important;font-size:14px!important;line-height:1.72!important}.livingAreaQuickFacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.livingAreaQuickFacts span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:8px;background:#f7faf9;border:1px solid #e1ebe8;color:#546b6f;font-size:12px;font-weight:800}.livingAreaInsightLabel{display:block;margin-bottom:5px;color:#2f7c71;font-size:12px;font-weight:950;letter-spacing:.05em}.livingAreaInsightPlaces{display:block;margin-top:8px;color:#6c7c80;font-size:12px;line-height:1.6}.livingAreaTradeoff{display:block;margin-top:9px;padding-top:9px;border-top:1px solid #e6ecea;color:#62767a;font-size:12px;line-height:1.65}.matchPosition{margin:12px 0 2px;padding:13px 14px;border-radius:13px;background:#f7faf9;border:1px solid #e0e9e6}.candidateUniverse{display:flex;align-items:baseline;gap:8px;margin:8px 0 16px;padding:10px 12px;border-radius:12px;background:#f7faf9;border:1px solid #e2ebe8;color:#607477}.top3SimilarityNote{margin:-4px 0 14px;padding:10px 12px;border-left:3px solid #8abbb2;background:#f7fbfa;color:#5f7472;font-size:12px;line-height:1.7}@media(max-width:600px){.top3SimilarityNote{font-size:14px;line-height:1.75}}.candidateUniverse b{color:#2f746a;font-size:17px}.candidateUniverse span{font-size:12px;line-height:1.6}.purchaseReality{margin:12px 0;padding:13px 14px;border-radius:13px;background:#fffaf0;border:1px solid #eee1c7}.purchaseRealityTitle{display:block;margin-bottom:8px;color:#76613e;font-size:12px;font-weight:950}.purchaseRealityGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.purchaseRealityItem{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #efe5d2}.purchaseRealityItem small{display:block;color:#8a7b61;font-size:10px;margin-bottom:3px}.purchaseRealityItem b{display:block;color:#67583f;font-size:15px}.purchaseReality p{margin:8px 0 0!important;color:#766b59!important;font-size:11px!important;line-height:1.65!important}@media(max-width:600px){.candidateUniverse{display:block}.candidateUniverse b{display:block;font-size:18px;margin-bottom:3px}.candidateUniverse span{font-size:14px}.purchaseRealityTitle{font-size:14px}.purchaseRealityGrid{grid-template-columns:1fr}.purchaseRealityItem small{font-size:13px}.purchaseRealityItem b{font-size:17px}.purchaseReality p{font-size:14px!important;line-height:1.7!important}}.matchPositionTitle{display:block;margin-bottom:8px;color:#496d67;font-size:12px;font-weight:950}.matchPositionGrid{display:flex;flex-wrap:wrap;gap:7px}.matchPositionItem{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #dce8e5;color:#546a6d;font-size:12px;font-weight:800}.matchPositionItem b{color:#2d756a;font-size:12px}.matchPositionNote{display:block;margin-top:8px;color:#758487;font-size:10px;line-height:1.55}.livingAreaFinalChecks{margin:12px 0 0;padding:11px 0 0;border-top:1px solid #dce9e5}.livingAreaFinalChecks>summary{cursor:pointer;list-style:none;color:#55716d;font-size:12px;font-weight:900}.livingAreaFinalChecks>summary::-webkit-details-marker{display:none}.livingAreaFinalChecks>summary:after{content:"＋";float:right;color:#4e8c82}.livingAreaFinalChecks[open]>summary:after{content:"−"}.livingAreaFinalChecksList{display:grid;gap:7px;margin-top:9px}.livingAreaFinalCheck{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e3ebe9}.livingAreaFinalCheckHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.livingAreaFinalCheck b{color:#3f6862;font-size:12px}.livingAreaFinalCheck small{color:#7a898b;font-size:10px}.livingAreaFinalCheck p{margin:0!important;color:#65777a!important;font-size:12px!important;line-height:1.65!important}@media(max-width:600px){.livingAreaFinalChecks>summary{font-size:14px}.livingAreaFinalCheck b{font-size:14px}.livingAreaFinalCheck small{font-size:12px}.livingAreaFinalCheck p{font-size:14px!important;line-height:1.7!important}}@media(max-width:600px){.matchPositionTitle,.matchPositionItem,.matchPositionItem b{font-size:14px}.matchPositionNote{font-size:13px}}.livingAreaTradeoff b{display:inline;color:#426b65;font-size:12px}@media(max-width:600px){.livingAreaTradeoff,.livingAreaTradeoff b{font-size:14px;line-height:1.7}}.livingAreaMethodNote{margin:10px 0 0;border-top:1px solid #dce9e5;padding-top:9px}.livingAreaMethodNote>summary{cursor:pointer;list-style:none;color:#55716d;font-size:12px;font-weight:850}.livingAreaMethodNote>summary::-webkit-details-marker{display:none}.livingAreaMethodNote>summary:after{content:"＋";float:right;color:#4e8c82}.livingAreaMethodNote[open]>summary:after{content:"−"}.livingAreaMethodNote p{margin:7px 0 0!important;color:#667b7d!important;font-size:12px!important;line-height:1.7!important}.livingAreaLifeOutline{margin:0 0 14px;padding:16px;border-radius:15px;background:linear-gradient(135deg,#f7fbfa,#fff);border:1px solid #dce9e5}.livingAreaLifeOutlineHead span{display:block;color:#2f7c71;font-size:12px;font-weight:950;letter-spacing:.06em}.livingAreaLifeOutlineHead strong{display:block;margin-top:3px;color:#2c514c;font-size:18px;line-height:1.45}.livingAreaLifeOutlineHead p{margin:7px 0 0!important;color:#617477!important;font-size:14px!important;line-height:1.75!important}.livingAreaLifeRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.livingAreaLifeRow{padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #e2ebe8}.livingAreaLifeRow small{display:block;margin-bottom:4px;color:#3d8278;font-size:11px;font-weight:950;letter-spacing:.04em}.livingAreaLifeRow b{display:block;color:#354f4c;font-size:14px;line-height:1.45}.livingAreaLifeRow p{margin:5px 0 0!important;color:#637579!important;font-size:12px!important;line-height:1.65!important}.localPlacesDisclosure{margin-top:11px;border-top:1px solid #e1e9e7}.localPlacesDisclosure>summary{cursor:pointer;list-style:none;padding:11px 0 3px;color:#526f6b;font-size:13px;font-weight:900}.localPlacesDisclosure>summary::-webkit-details-marker{display:none}.localPlacesDisclosure>summary:after{content:"＋";float:right;color:#4e8c82}.localPlacesDisclosure[open]>summary:after{content:"−"}.localPlacesBody{padding-top:4px}@media(max-width:600px){.livingAreaMethodNote>summary,.livingAreaMethodNote p{font-size:14px!important}.livingAreaLifeOutline{padding:15px}.livingAreaLifeOutlineHead span{font-size:14px}.livingAreaLifeOutlineHead strong{font-size:20px}.livingAreaLifeOutlineHead p{font-size:16px!important;line-height:1.75!important}.livingAreaLifeRows{grid-template-columns:1fr}.livingAreaLifeRow small{font-size:14px!important}.livingAreaLifeRow b{font-size:16px}.livingAreaLifeRow p{font-size:15px!important;line-height:1.7!important}.localPlacesDisclosure>summary{font-size:15px}}@media(max-width:600px){.livingAreaInsightHero{padding:16px}.livingAreaInsightEyebrow{font-size:14px}.livingAreaInsightHero h4{font-size:20px}.livingAreaInsightHero p{font-size:16px!important;line-height:1.8!important}.livingAreaInsightChip{font-size:14px;min-height:30px}.livingAreaInsightNote{font-size:14px;line-height:1.65}.livingAreaCardReason{font-size:16px!important;line-height:1.75!important}.livingAreaQuickFacts span{font-size:14px;padding:6px 9px}.livingAreaInsightLabel,.livingAreaInsightPlaces{font-size:14px}}.livingAreaDeepCompareCard{padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #dde8e5}.livingAreaDeepCompareCard b{display:block;margin-bottom:4px;font-size:13px;color:#315d56}.livingAreaDeepCompareCard p{margin:0!important;font-size:11px!important;line-height:1.65!important;color:#607277!important}.localDetailBtn{margin-top:10px;border:0;border-radius:999px;padding:8px 11px;background:#eef8f6;color:#287f75;font-weight:700;font-size:11px;cursor:pointer}.localDetailBtn:disabled{opacity:.55;cursor:default}.localEnrichment{margin-top:10px;padding:11px;border-radius:12px;background:#f8fafb;font-size:11px;line-height:1.65}.localEnrichment strong{font-size:12px}.localObservation{padding:8px 0;border-bottom:1px solid #e9edef}.localObservation:last-child{border-bottom:0}.localFitHighlights{margin:0 0 12px;padding:12px;border-radius:13px;background:#fff;border:1px solid #dce8e5}.localFitHighlights>strong{display:block;margin-bottom:8px;color:#2f625b;font-size:13px}.localFitPoint{padding:9px 0;border-top:1px solid #edf1f0}.localFitPoint:first-of-type{border-top:0;padding-top:0}.localFitPoint b{display:block;margin-bottom:3px;font-size:12px;color:#425a61}.localFitPoint p{margin:0!important;font-size:12px!important;line-height:1.65!important;color:#5e7075!important}.localGroupMeta{display:block;margin:4px 0 7px;color:#748389;font-size:10px;line-height:1.5}.localHours{display:block;margin-top:2px;color:#77878c;font-size:10px;font-weight:500}.localNameChips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.localNameChips .lifeName{display:inline-flex;padding:5px 8px;border:1px solid #e0e8e6;border-radius:999px;background:#fff;color:#476862;font-size:11px;font-weight:750;text-decoration:none}.localEvidenceDisclosure{margin-top:10px;border-top:1px solid #e7edeb}.localEvidenceDisclosure>summary{list-style:none;cursor:pointer;padding:11px 0 4px;color:#6b7b80;font-size:11px;font-weight:850}.localEvidenceDisclosure>summary::-webkit-details-marker{display:none}.localEvidenceDisclosure>summary:after{content:"＋";float:right}.localEvidenceDisclosure[open]>summary:after{content:"−"}.localEvidenceBody{padding:5px 0 0}.localSources{margin-top:8px;color:var(--muted)}.localSources a{color:#397a78;text-decoration:none}.terrainMini{margin-top:7px;padding:8px 9px;border-radius:10px;background:#fff}.livingDisclaimer{padding:13px 15px;border-radius:13px;background:#fff8e8;color:#675d49;font-size:12px;line-height:1.6;margin-top:13px}
@media(max-width:680px){.moveCompare{padding:18px 15px}.moveCompareHead{display:block}.compareLegend{margin-top:10px}.pairedTracks{grid-template-columns:1fr}.metricCompareGrid,.livingAreaGrid{grid-template-columns:1fr}.pairedTrackWrap small{white-space:normal}}


/* v0.10.36 readability pass.
   UI-only override. Keep ranking logic, six-axis colors, horizontal bars, and round markers intact. */
.resultShell{max-width:980px}
.resultHero,.resultPanel{padding:34px 38px}
.resultHero h2,.resultPanel h2{font-size:28px;line-height:1.4}
.resultShell p{line-height:1.8}
.coreInsight{font-size:clamp(20px,2.6vw,27px);line-height:1.85;max-width:780px}
.currentSummary{font-size:18px;line-height:1.85;max-width:720px}
.whyText{font-size:16.5px;line-height:1.9}
.lifeScene,.cityCharacter,.moveDelta,.rankingBridge,.readingGuide{line-height:1.85}

/* Long reflective copy is reading content, not comparison content. */
.discoveryGrid{grid-template-columns:1fr;gap:15px;max-width:820px}
.discoveryCard{padding:23px 26px;border-radius:19px}
.discoveryCard span{font-size:13px;line-height:1.5}
.discoveryCard p{font-size:18px;line-height:1.9;margin-top:8px}

/* Give the fixed six-axis language more breathing room without changing its visual identity. */
.balanceProfile{padding:26px 28px 23px}
.balanceRows{gap:23px}
.balanceMeta{margin-bottom:10px}
.balanceMeta strong{font-size:17px;line-height:1.45}
.balanceScore{font-size:14px}
.balanceScore b{font-size:24px;margin-left:7px}
.balanceTrack{height:10px}
.balanceDot{width:19px;height:19px}
.balanceHint{font-size:12px;margin-top:8px}
.cityBalanceProfile .balanceRows{gap:20px}
.cityBalanceProfile .balanceTrack{height:9px}

@media(max-width:600px){
  /* Keep a modest page margin, but stop spending width on nested padding. */
  .wrap{padding-left:10px;padding-right:10px}
  .resultShell{width:100%;max-width:none;margin:24px auto 64px}
  .resultHero,.resultPanel{padding:24px 16px;border-radius:19px;margin:14px 0}
  .resultHero h1,.resultHero .resultTypeHeadline{font-size:clamp(31px,10vw,42px);line-height:1.25}
  .resultHero h2,.resultPanel h2{font-size:25px;line-height:1.45}
  .coreInsight{font-size:20px;line-height:1.85;margin-bottom:24px}
  .ahaCard{padding:19px 17px;border-radius:18px}
  .ahaCard p{font-size:17px;line-height:1.85}

  .discoveryGrid{gap:12px}
  .discoveryCard{padding:20px 17px;border-radius:17px}
  .discoveryCard span{font-size:12px}
  .discoveryCard p{font-size:17px;line-height:1.85}

  .balanceProfile{padding:20px 12px 18px;border-radius:18px}
  .balanceProfileHead{margin-bottom:20px}
  .balanceProfileHead h3{font-size:21px;line-height:1.45}
  .balanceProfileHead p{font-size:14px;line-height:1.75}
  .balanceRows{gap:24px}
  .balanceMeta{display:block;margin-bottom:10px}
  .balanceMeta strong{display:block;font-size:19px;line-height:1.45;word-break:keep-all}
  .balanceScore{display:flex;justify-content:flex-end;align-items:baseline;gap:6px;margin-top:3px;font-size:15px;white-space:normal}
  .balanceScore b{font-size:28px;margin-left:0;line-height:1}
  .balanceTrack{height:11px}
  .balanceDot{width:21px;height:21px;border-width:4px}
  .balanceHint{font-size:12px;margin-top:9px}
  .cityBalanceProfile .balanceProfileHead h3{font-size:20px}
  .cityBalanceProfile .balanceRows{gap:22px}
  .cityBalanceProfile .balanceTrack{height:10px}

  /* Dense result blocks should stack instead of shrinking type to fit. */
  .factGrid{grid-template-columns:1fr}
  .miniFact{padding:14px 15px}
  .miniFact span{font-size:12px}.miniFact strong{font-size:16px}.miniFact small{font-size:11px}
  .topCard{padding:21px 14px;gap:10px}
  .placeLine{display:block}
  .placeLine h3{font-size:22px;line-height:1.45;margin-bottom:6px}
  .scorePill{display:inline-block;margin-bottom:4px}
  .whyText{font-size:16px;line-height:1.85}
  .precisionItem{padding:15px 14px}.precisionItem p{line-height:1.75}
}



/* v0.10.37 mobile width + type floor.
   UI-only: flatten TOP3 nesting on phones and prohibit tiny result text. */
@media(max-width:600px){
  /* TOP3: preserve grouping, but stop paying for a nested rank column. */
  .top3Panel{padding-left:9px;padding-right:9px}
  .top3Panel>.sectionEyebrow,.top3Panel>h2,.top3Panel>.muted,.top3Panel>.scoreTrustNote,
  .top3Panel>.readingGuide,.top3Panel>.provisionalNote,.top3Panel>.commonBox,
  .top3Panel>.commonCaution,.top3Panel>.rankingBridge,.top3Panel>.moveCompare,
  .top3Panel>.similarityNote,.top3Panel>.guardNote{margin-left:0;margin-right:0}
  .top3Panel .topCard{display:block;margin:14px 0;padding:20px 14px;border-radius:19px}
  .top3Panel .topRank{display:inline-flex;width:auto;height:auto;min-width:0;padding:5px 10px;margin:0 0 10px;
    border-radius:999px;font-size:16px;line-height:1.2}
  .top3Panel .topBody{width:100%}
  .top3Panel .placeLine{gap:8px}
  .top3Panel .placeLine h3{font-size:22px;line-height:1.4}

  /* Living-area cards are decision content, not footnotes. */
  .livingCityGroup h3{font-size:20px;line-height:1.45;margin-bottom:11px}
  .livingAreaCard{padding:17px 15px;border-radius:17px}
  .livingAreaCard>b{font-size:19px;line-height:1.45;margin-bottom:8px}
  .livingAreaCard p{font-size:16px;line-height:1.75;color:#607080}
  .localDetailBtn{font-size:16px;line-height:1.35;padding:10px 14px;margin-top:12px}
  .localEnrichment{font-size:16px;line-height:1.75;padding:14px;border-radius:14px}
  .localEnrichment strong{font-size:16px;line-height:1.5}
  .localObservation{padding:11px 0}
  .localObservation small,.localSources,.livingDisclaimer{font-size:14px;line-height:1.7}
  .terrainMini{padding:11px 12px}

  /* Result-screen type floor: never solve density by shrinking meaningful text. */
  .resultShell{font-size:16px}
  .resultShell small{font-size:14px!important}
  .resultShell .small,.resultShell .eyebrow,.resultShell .sectionEyebrow,
  .resultShell .whyTitle,.resultShell .factTitle,.resultShell .factLine,
  .resultShell .rankingHead,.resultShell .copyNote,.resultShell .optional,
  .resultShell .coverageBox p,.resultShell .axisChips span,.resultShell .scoreTrustNote,
  .resultShell .balanceHint,.resultShell .compareLegend,.resultShell .moveAxisLabel span,
  .resultShell .metricCompareCard>span,.resultShell .metricCompareCard em,
  .resultShell .fitTags span,.resultShell .provisionalNote,.resultShell .priorityChip,
  .resultShell .discoveryCard span,.resultShell .ahaCard span,.resultShell .currentRankNote p,
  .resultShell .moveCompareHead p{font-size:14px}
  .resultShell .miniFact span,.resultShell .miniFact small,.resultShell .metricValues small,
  .resultShell .pairedTrackWrap small,.resultShell .rankPlace b{font-size:14px!important}
  .resultShell .miniFact strong,.resultShell .metricValues strong{font-size:16px}

  /* The questionnaire chrome should not regress into tiny mobile text either. */
  .progress-meta,.kicker,.labels,.badge,.edit-note,.optional{font-size:14px}
}


/* v0.10.39 desktop width pass.
   UI-only. Use desktop space for cards and comparisons while keeping prose line length readable. */
/* v0.10.57 section wayfinding icons: small, consistent markers for scanability only. */
.sectionTitleWithIcon{display:inline-flex;align-items:center;gap:8px}
.inlineSectionIcon{width:18px;height:18px;flex:0 0 18px;color:#5f7f87;opacity:.9}
.inlineSectionIcon.iconCity{color:#5f8491}
.placeLineTitle{display:flex;align-items:center;gap:8px;min-width:0}
.placeLineTitle h3{min-width:0}
.placeMiniIcon{width:15px;height:15px;flex:0 0 15px;color:#78909a;opacity:.82}
@media(max-width:600px){
  .inlineSectionIcon{width:17px;height:17px;flex-basis:17px}
  .placeMiniIcon{width:14px;height:14px;flex-basis:14px}
}

/* v0.10.56 mobile result shell: remove the redundant outer card so result content can use the screen width.
   Inner result sections keep their own grouping, spacing, and borders. */
@media(max-width:600px){
  #result.question-card{
    width:calc(100% + 12px);
    margin-left:-6px;
    margin-right:-6px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  #result .resultShell{
    width:100%;
    max-width:none;
    margin-top:18px;
  }
  #result .resultHero,
  #result .resultPanel{
    width:100%;
    box-sizing:border-box;
  }
}

@media(min-width:900px){
  /* v0.10.40 split width: keep the questionnaire compact for short pointer travel. */
  .wrap{max-width:900px;padding-left:22px;padding-right:22px}
  /* v0.10.70 desktop question scale: final tighter seven-choice spacing without changing result width. */
  #questionList .question-card .scale,
  #questionList .question-card .labels{
    width:100%;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
  }
  .hero{padding:32px 36px}
  .hero p{max-width:760px}
  .preview-note{padding:14px 18px}
  .question-card{padding:28px 30px}
  .question-card .q{max-width:780px}
  .finish{padding:28px 30px}

  /* Results may use desktop width independently from the questionnaire shell. */
  #result{
    width:min(1180px,calc(100vw - 44px));
    max-width:none;
    margin-left:50%;
    transform:translateX(-50%);
  }
  #result .resultShell{max-width:1180px}
  .resultCard{max-width:1080px}
  .resultHero,.resultPanel{padding-left:42px;padding-right:42px}

  /* Wide result shell, bounded reading measure. */
  .coreInsight{max-width:860px}
  .currentSummary{max-width:800px}
  .discoveryGrid{max-width:900px}
  .discoveryCard p{max-width:840px}
  .whyText{max-width:920px}.lifeScene,.cityCharacter,.rankingBridge,.readingGuide{width:100%;max-width:none}
}
@media(min-width:1440px){
  #result{width:min(1200px,calc(100vw - 56px))}
  #result .resultShell{max-width:1200px}
}

.personalizedPlaces ul{margin:8px 0 0;padding-left:20px;line-height:1.8}.personalizedPlaces li{margin:2px 0}.personalizedPlaces li strong{font-size:16px}.personalizedPlaces li small{font-size:14px;color:var(--muted)}.lifeName{font-weight:700}.localDataAttribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}


/* v0.10.61: zero-request client-side TOP20 simulator. */
.lifeFitSimulator{
  margin:24px 0 4px;
  padding:22px 20px 18px;
  border:1px solid #d8e7e3;
  border-radius:18px;
  background:#fbfdfc;
}
.lifeFitSimulatorHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.lifeFitSimulatorHead h3{margin:2px 0 4px;font-size:20px;line-height:1.45}
.lifeFitSimulatorHead p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.lifeFitSimulatorBadge{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#e9f7f3;color:#2b776d;font-size:11px;font-weight:850;white-space:nowrap}
.lifeFitSimulatorTop3{display:grid;gap:8px;margin:17px 0 18px}
.lifeFitSimulatorRow{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:49px;padding:9px 11px;border:1px solid #e4e9e8;border-radius:14px;background:#fff}
.lifeFitSimulatorRank{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf6f4;color:#28766d;font-size:13px;font-weight:900}
.lifeFitSimulatorCity{min-width:0;font-size:15px;font-weight:850;line-height:1.35}
.lifeFitSimulatorScore{font-size:15px;font-weight:900;white-space:nowrap}
.lifeFitSimulatorMove{min-width:50px;text-align:right;color:#66787b;font-size:11px;font-weight:800;white-space:nowrap}
.lifeFitSimulatorMove.up{color:#2b8377}
.lifeFitSimulatorMove.down{color:#a56c62}
.lifeFitWhatIf{
  margin:19px 0 16px;
  padding:15px 0 0;
  border:0;
  border-top:1px solid #dfe9e6;
  border-radius:0;
  background:transparent;
}
.lifeFitWhatIfHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.lifeFitWhatIfHead strong{font-size:14px}
.lifeFitWhatIfHead span{font-size:10px;color:#7b8b8d}
.lifeFitWhatIfChips{display:flex;gap:7px;flex-wrap:wrap}
.lifeFitWhatIfChip{
  border:1px solid #cddeda;border-radius:999px;background:#f9fcfb;color:#496f69;
  padding:8px 11px;font:inherit;font-size:11px;font-weight:850;cursor:pointer;
}
.lifeFitWhatIfChip.active{background:#2f8f82;border-color:#2f8f82;color:#fff}
.lifeFitWhatIfChip:disabled{opacity:.35;cursor:not-allowed}
.lifeFitSimulatorTop20Block{margin:17px 0 4px;padding-top:14px;border-top:1px solid #e0e9e7}
.lifeFitSimulatorTop20Head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:9px}
.lifeFitSimulatorTop20Head strong{font-size:15px}
.lifeFitSimulatorTop20Head span{font-size:10px;color:#7d8c8e}
.lifeFitSimulatorTop20{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:0}
.lifeFitSimulatorTop20Row{
  display:grid;grid-template-columns:29px minmax(0,1fr) auto auto;align-items:center;gap:7px;
  min-height:43px;padding:7px 2px;
  border:0;
  border-bottom:1px solid #e7eeec;
  border-radius:0;
  background:transparent;
}
.lifeFitSimulatorTop20Row:nth-child(-n+3){background:linear-gradient(90deg,#eef8f5 0%,rgba(238,248,245,0) 90%);border-color:#d9e9e5}
.lifeFitSimulatorTop20Rank{font-size:11px;font-weight:900;color:#39786f;text-align:center}
.lifeFitSimulatorTop20City{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}
.lifeFitSimulatorTop20Score{font-size:11px;font-weight:900;white-space:nowrap}
.lifeFitSimulatorTop20Move{font-size:9px;font-weight:800;color:#718184;white-space:nowrap}
.lifeFitSimulatorTop20Move.up,.lifeFitSimulatorTop20Move.new{color:#238071}
.lifeFitSimulatorTop20Move.down{color:#aa655c}
.lifeFitSimulatorTop20Reason{
  grid-column:2/-1;
  margin-top:-2px;
  padding-bottom:2px;
  color:#6d7f7c;
  font-size:9px;
  line-height:1.45;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}
.lifeFitSimulatorTop20Row:nth-child(-n+3) .lifeFitSimulatorTop20Reason{color:#4d746d}
.lifeFitSimulatorSliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 13px}
.lifeFitSimulatorControl{padding:12px 4px 10px;border:0;border-bottom:1px solid #e5ecea;border-radius:0;background:transparent}
.lifeFitSimulatorControlHead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.lifeFitSimulatorControlHead strong{display:flex;align-items:center;gap:7px;font-size:13px;line-height:1.35}
.lifeFitSimulatorControlHead strong:before{content:"";width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--sim-color,#39a69a)}
@supports (color:color-mix(in srgb,#000 50%,#fff)){.lifeFitSimulatorControlHead strong:before{box-shadow:0 0 0 3px color-mix(in srgb,var(--sim-color,#39a69a) 14%,transparent)}}
.lifeFitSimulatorControlHead span{font-size:11px;color:var(--sim-color,#4e716c);font-weight:850;white-space:nowrap}
.lifeFitSimulatorControl input[type="range"]{width:100%;accent-color:var(--sim-color,#39a69a);cursor:pointer}
.lifeFitSimulatorScale{display:flex;justify-content:space-between;gap:8px;margin-top:3px;color:#889597;font-size:10px}
.lifeFitSimulatorFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #e4e9e8}
.lifeFitSimulatorReset{border:1px solid #cfdcda;background:#fff;color:#3b6660;border-radius:999px;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.lifeFitSimulatorStatus{margin:0;min-height:1.5em;color:#5d7073;font-size:12px;line-height:1.55;text-align:right}
.lifeFitSimulatorNote{display:block;margin-top:9px;color:#829093;font-size:11px;line-height:1.6}
@media(max-width:600px){
  .lifeFitSimulator{margin-top:18px;padding:17px 12px 15px;border-radius:16px}
  .lifeFitSimulatorHead{display:block}
  .lifeFitSimulatorBadge{display:inline-block;margin-top:8px}
  .lifeFitSimulatorHead h3{font-size:19px}
  .lifeFitSimulatorHead p{font-size:14px}
  .lifeFitSimulatorRow{grid-template-columns:38px minmax(0,1fr) auto;gap:7px;padding:9px 10px}
  .lifeFitSimulatorMove{grid-column:2/4;min-width:0;text-align:left;margin-top:-5px;font-size:12px}
  .lifeFitSimulatorCity,.lifeFitSimulatorScore{font-size:15px}
  .lifeFitWhatIf{padding:13px 0 0}
  .lifeFitWhatIfChip{font-size:10px;padding:7px 9px}
  .lifeFitSimulatorTop20{grid-template-columns:1fr}
  .lifeFitSimulatorTop20Row{grid-template-columns:27px minmax(0,1fr) auto auto}
  .lifeFitSimulatorTop20City{font-size:12px}
  .lifeFitSimulatorTop20Reason{font-size:9px}
  .lifeFitSimulatorSliders{grid-template-columns:1fr}
  .lifeFitSimulatorControlHead strong{font-size:14px}
  .lifeFitSimulatorControlHead span{font-size:12px}
  .lifeFitSimulatorScale{font-size:11px}
  .lifeFitSimulatorFooter{align-items:flex-start;flex-direction:column}
  .lifeFitSimulatorStatus{text-align:left;font-size:13px}
  .lifeFitSimulatorNote{font-size:12px}
}

/* Direct PWA result card: keep the invitation visible even if the optional editorial CSS is stale. */
.pwaInstallCard{display:none}
@media(max-width:900px){
  .pwaInstallCard.pwaInstallEligible{
    position:relative;display:grid;grid-template-columns:auto 1fr;gap:12px 13px;align-items:center;
    margin:18px 0;padding:17px 16px 16px;border:1px solid #dcebe6;border-radius:18px;
    background:linear-gradient(145deg,#f5fbf8,#f5f8fd);box-shadow:0 8px 22px rgba(54,72,89,.05)
  }
  .pwaInstallMark{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;
    background:#dff3ec;color:#307068;font-weight:900;letter-spacing:-.04em;font-size:17px}
  .pwaInstallCopy{min-width:0;padding-right:22px}
  .pwaInstallCopy strong{display:block;font-size:16px;line-height:1.45}
  .pwaInstallCopy p{margin:3px 0 0;font-size:13px;line-height:1.65;color:var(--muted)}
  .pwaInstallButton{grid-column:1/-1;width:100%;border:0;border-radius:13px;padding:11px 14px;
    background:#3d9f91;color:#fff;font:inherit;font-weight:800;cursor:pointer}
  .pwaInstallDismiss{position:absolute;right:8px;top:7px;width:30px;height:30px;border:0;background:transparent;
    color:#8a9699;font-size:22px;line-height:1;cursor:pointer}
  .pwaInstallGuide{grid-column:1/-1;margin-top:2px;padding:12px 12px;border-radius:12px;background:rgba(255,255,255,.82);
    color:#5f7074;font-size:13px;line-height:1.7}
  .pwaInstallGuide strong{display:block;margin-bottom:6px;color:#344f4b;font-size:14px}
  .pwaInstallGuide ol{margin:6px 0 7px;padding-left:1.35em}
  .pwaInstallGuide li{margin:4px 0}
  .pwaInstallGuide p{margin:4px 0}
  .pwaInstallGuide small{display:block;margin-top:6px;color:#78888b;font-size:12px;line-height:1.6}
}
@media(display-mode:standalone){.pwaInstallCard{display:none!important}}

/* Core audit: end the result by returning from city data to the user's own decision rules. */
.choicePrinciplesPanel{background:linear-gradient(145deg,#fff,#f4faf8);border-top:6px solid #c98f9a}
.choicePrinciplesLead{font-size:17px;line-height:1.85;max-width:760px;color:#4b5b62}
.choicePrinciplesGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.choicePrinciple{padding:17px 18px;border:1px solid #e2e9e6;border-radius:16px;background:rgba(255,255,255,.84)}
.choicePrinciple span{display:block;font-size:11px;font-weight:900;color:#5c827b;letter-spacing:.05em;margin-bottom:6px}
.choicePrinciple strong{display:block;font-size:16px;line-height:1.55;margin-bottom:7px}
.choicePrinciple p{margin:0;font-size:13px;line-height:1.75;color:var(--muted)}
.choicePrinciplesClosing{margin:18px 0 0;padding:15px 17px;border-radius:14px;background:#edf7f4;line-height:1.8}
@media(max-width:680px){.choicePrinciplesGrid{grid-template-columns:1fr}.choicePrinciple{padding:15px 16px}}

/* Share v1: make the result easy to show to someone else without turning the page into an ad. */
.sharePanel{background:linear-gradient(145deg,#fff,#f7fbfd);border-top:6px solid #69abc3}
.sharePanel h2{margin-bottom:8px}
.shareLead{margin:0;color:#5b6970;line-height:1.8}
.shareResultCard{position:relative;overflow:hidden;margin:18px auto 0;max-width:560px;padding:20px;border:1px solid #dbe8e5;border-radius:20px;background:linear-gradient(145deg,#153f43 0%,#22695f 100%);color:#fff;text-align:left;box-shadow:0 12px 28px rgba(31,74,69,.12)}
.shareResultCard:after{content:"";position:absolute;width:180px;height:180px;right:-88px;top:-90px;border-radius:50%;border:1px solid rgba(255,255,255,.15);pointer-events:none}
.shareCardBrand{font-size:10px;font-weight:900;letter-spacing:.16em;color:#bce9e2}
.shareCardType{margin-top:8px;font-size:15px;line-height:1.55;color:#dff5f1;font-weight:800}
.shareCardPreference{margin-top:7px;font-size:12px;line-height:1.55;color:#bce2dc;font-weight:800}
.shareCardPreference b{color:#fff;font-weight:900}
.shareCardWinner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:end;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18)}
.shareCardWinner span{grid-column:1/-1;font-size:11px;color:#bce2dc;font-weight:850}
.shareCardWinner strong{font-size:clamp(22px,4vw,30px);line-height:1.25;color:#fff}
.shareCardWinner b{font-size:18px;color:#dff5f1;white-space:nowrap}
.shareCardTop3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}
.shareCardRank{padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.1);min-width:0}
.shareCardRank span{display:block;font-size:9px;color:#bce2dc;font-weight:850}
.shareCardRank strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#fff}
.shareCardQuestion{margin-top:14px;font-size:13px;font-weight:850;color:#d8f1ed}
.shareCardPrivacy{margin:9px auto 0;max-width:560px;color:#76858a;font-size:11px;line-height:1.6}
@media(max-width:420px){.shareResultCard{padding:17px 14px}.shareCardTop3{gap:5px}.shareCardRank{padding:8px 7px}.shareCardRank strong{font-size:11px}}
.shareButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.shareBtn{min-height:48px;border:0;border-radius:14px;padding:12px 14px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.shareBtn:hover{transform:translateY(-1px)}
.shareBtnX{background:#171717;color:#fff}
.shareBtnLine{background:#18b95b;color:#fff}
.shareBtnCopy{background:#eef6f8;color:#315d69;border:1px solid #d7e8ec}
.shareBtnImage{background:#f5f6f8;color:#48545b;border:1px solid #e2e5e8}
.shareBtnLink{background:#f5f6f8;color:#48545b;border:1px solid #e2e5e8}
.shareExample{position:relative;margin-top:14px;padding:15px 16px;border:1px solid #e2e7ea;border-radius:15px;background:rgba(255,255,255,.88)}
.shareExample strong{display:block;font-size:12px;color:#65737a;margin-bottom:8px}
.shareExampleText{margin:0;padding-right:54px;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.75;color:#435159}
.shareExampleCopy{position:absolute;right:10px;top:10px;border:1px solid #dfe5e8;border-radius:10px;padding:7px 9px;background:#fff;color:#536269;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.shareStatus{min-height:20px;margin-top:9px;color:#4c7770;font-size:12px;font-weight:700}
@media(max-width:760px){
  .shareButtons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .shareBtn{font-size:13px;padding:11px 9px}
  .shareExampleText{padding-right:0;padding-top:30px}
}

.top3Snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 18px}
.top3SnapshotItem{padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.top3SnapshotItem span{display:block;font-size:10px;font-weight:850;color:var(--muted);margin-bottom:3px}
.top3SnapshotItem strong{display:block;font-size:16px}
.top3SnapshotItem p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#52616a;font-weight:700}
.moveQuickDelta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0 18px}
.moveQuickDelta>div{padding:12px 14px;border-radius:14px;background:#f7faf9;border:1px solid #e4ece8}
.moveQuickDelta small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
.moveQuickDelta strong{font-size:14px;line-height:1.45}
.livingAreaCardHead{display:flex;justify-content:space-between;gap:10px;align-items:center}
.livingAreaCardHead>b{font-size:18px}.livingAreaCardHead small{font-size:10px;color:var(--muted)}.livingAreaAxisStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.livingAreaAxisStrip>div{padding:9px 8px;border:1px solid #e1e9e7;border-radius:10px;background:#f9fbfb;text-align:center}.livingAreaAxisStrip span{display:block;font-size:10px;color:#708087;font-weight:800}.livingAreaAxisStrip strong{display:block;margin-top:2px;font-size:16px;color:#334d53}.livingAreaCompareAction{margin-top:12px}

.feedbackPanel{text-align:center}
.feedbackPanel h2{margin-bottom:6px}.feedbackLead{margin:0 0 14px;color:var(--muted)}
.feedbackButtons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.feedbackButtons button{border:1px solid #dfe5e3;background:#fff;border-radius:999px;padding:9px 13px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.feedbackButtons button:hover,.feedbackButtons button.selected{background:#eef8f5;border-color:#80bdb2}
.feedbackButtons button:disabled{opacity:.7;cursor:default}
.feedbackStatus{min-height:18px;margin-top:9px;font-size:12px;color:var(--muted)}
@media(max-width:600px){
  .feedbackPanel h2{font-size:20px;white-space:nowrap;letter-spacing:-.02em}
  .sharePanel h2{font-size:20px;white-space:nowrap;letter-spacing:-.02em}
  .top3Snapshot{grid-template-columns:1fr}
  .top3SnapshotItem{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center}
  .top3SnapshotItem span{grid-row:1/3;margin:0}.top3SnapshotItem p{margin:2px 0 0}
  .moveQuickDelta{grid-template-columns:1fr}
  .feedbackButtons{display:grid;grid-template-columns:1fr}
}

/* v0.10.48: result page information architecture - conclusion first, details on demand. */
.resultSummaryPanel{position:relative;overflow:hidden}
.top3SummaryPanel{border-top:7px solid #55a9cb;background:linear-gradient(140deg,#fff 0%,#fbffff 68%,#f5f1ff 100%)}
.summaryTypeLine{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;padding-top:16px;border-top:1px solid #e7e9ef}
.summaryTypeLine span{font-size:12px;font-weight:800;color:var(--muted)}
.summaryTypeLine strong{font-size:17px}
.summaryGuide{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}
.liveToFinalBridge{
  margin:14px 0 4px;padding:12px 14px;border-radius:14px;
  background:#f2f8f6;border:1px solid #d8e9e5;color:#426c66;
  font-size:12px;line-height:1.6;
}
.liveToFinalBridge strong{display:block;margin-bottom:4px;color:#285f58;font-size:13px}
.liveToFinalRoute{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:6px}
.liveToFinalRoute span{padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #dbe8e5;font-weight:800}
.liveToFinalArrow{color:#6b8d87;font-weight:900}
.typeSummaryPanel{margin-bottom:18px}
.typeSummaryPanel .coreInsight{margin-bottom:0}
.typeResultBody{margin-top:18px}
.typeResultBody>.balanceProfile:first-child{margin-top:0}
.typeResultBody>.ahaCard{margin-top:22px}
@media(max-width:600px){
  .typeResultBody{margin-top:14px}
  .typeResultBody>.ahaCard{margin-top:18px}
}
.typeInlineAccordion{margin-top:18px;border-top:1px solid #e3e8e7;background:transparent}
.typeInlineAccordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:7px;min-height:44px;padding:13px 2px 2px;color:#61757a;font-size:14px;font-weight:800;background:transparent}
.typeInlineAccordion>summary::-webkit-details-marker{display:none}
.typeInlineAccordion>summary:after{content:"⌄";font-size:17px;line-height:1;color:#61757a;transition:transform .18s ease}
.typeInlineAccordion[open]>summary:after{transform:rotate(180deg)}
.typeInlineAccordion[open]>summary{border-bottom:0}
.typeInlineBody{padding:12px 0 4px}
.typeInlineBody>.balanceProfile:first-child{margin-top:8px}
@media(max-width:600px){
  .typeInlineAccordion{margin-top:16px}
  .typeInlineAccordion>summary{padding:12px 0 1px;font-size:14px}
  .typeInlineBody{padding:10px 0 2px}
}
.currentSummaryPanel .currentRankNote{margin-bottom:0}
.currentDifferenceSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0 13px}
.currentDifferenceSummary>div{position:relative;padding:16px 17px 16px 20px;border:1px solid #e0e9e7;border-radius:15px;background:#fbfdfc}
.currentDifferenceSummary>div:before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:4px;border-radius:999px;background:#39a69a}
.currentDifferenceSummary>div:nth-child(2):before{background:#8fa1ad}
.currentDifferenceSummary small{display:block;margin-bottom:5px;color:#71807d;font-size:11px;font-weight:850}
.currentDifferenceSummary strong{display:block;color:#344f4b;font-size:15px;line-height:1.65}
.currentScoreMeta{display:flex;flex-wrap:wrap;gap:7px 18px;margin:12px 0 2px;color:#71807d;font-size:12px;line-height:1.6}
.currentScoreMeta span{display:inline-flex;gap:5px;align-items:baseline}
.currentScoreMeta strong{color:#456963;font-size:13px}
.currentInlineAccordion{margin-top:18px;border-top:1px solid #e3e8e7;background:transparent}
.currentInlineAccordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;gap:7px;min-height:44px;padding:13px 2px 2px;color:#61757a;font-size:14px;font-weight:800;background:transparent}
.currentInlineAccordion>summary::-webkit-details-marker{display:none}
.currentInlineAccordion>summary:after{content:"⌄";font-size:17px;line-height:1;color:#61757a;transition:transform .18s ease}
.currentInlineAccordion[open]>summary:after{transform:rotate(180deg)}
.currentInlineAccordion[open]>summary{border-bottom:0}
.currentInlineBody{padding:12px 0 4px}
.currentInlineBody>.balanceProfile:first-child{margin-top:8px}
.rankingSummaryPanel{border-top:6px solid #55a9cb;background:linear-gradient(145deg,#fff,#f7fbfd)}
.rankingSummaryPanel h2{margin:6px 0 14px}
.rankingPreview .rankRow:last-child{border-bottom:0}
.rankingMoreDisclosure{margin-top:12px;border-top:1px solid #e3e7eb}
.rankingMoreDisclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px 6px;color:#3f6f7c;font-size:15px;font-weight:850}
.rankingMoreDisclosure>summary::-webkit-details-marker{display:none}
.rankingMoreCloseLabel{display:none}
.rankingMoreDisclosure[open] .rankingMoreOpenLabel{display:none}
.rankingMoreDisclosure[open] .rankingMoreCloseLabel{display:inline}
.rankingMoreDisclosure>summary:after{content:"⌄";font-size:18px;line-height:1;transition:transform .18s ease}
.rankingMoreDisclosure[open]>summary:after{transform:rotate(180deg)}
.rankingMoreBody{padding-top:6px}
.rankingMoreDisclosure[open]>summary{padding-bottom:10px}
@media(max-width:600px){
  .currentDifferenceSummary{grid-template-columns:1fr;gap:8px}
  .currentDifferenceSummary>div{padding:14px 14px 14px 17px}
  .currentDifferenceSummary small{font-size:12px}
  .currentDifferenceSummary strong{font-size:15px}
  .currentScoreMeta{display:grid;gap:4px;font-size:12px}
  .currentInlineAccordion{margin-top:16px}
  .currentInlineAccordion>summary{padding:12px 0 1px;font-size:14px}
  .currentInlineBody{padding:10px 0 2px}
}
.resultAccordion{padding:0;overflow:hidden;border-top:5px solid #f04f87}
.resultAccordion>summary{list-style:none;cursor:pointer;padding:18px 22px;font-size:18px;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;color:#e83e78;transition:color .18s ease,background .18s ease}
.resultAccordion>summary:hover{background:#fff8fb;color:#d92f6b}
.resultAccordion>summary::-webkit-details-marker{display:none}
.resultAccordion>summary:after{content:'＋';width:30px;height:30px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;font-size:21px;line-height:1;color:#e83e78;font-weight:700;background:#fff;border:1px solid #f3b4ca;box-shadow:0 3px 10px rgba(232,62,120,.08)}
.resultAccordion[open]>summary:after{content:'−'}
.resultAccordion[open]>summary{border-bottom:1px solid #f2d2dd;background:#fff}
.moveImpactAccordion{border-top-color:#55a9cb}
.moveImpactAccordion>summary{color:#3f6f7c;background:#fff}
.moveImpactAccordion>summary:hover{background:#f7fbfd;color:#315f6c}
.moveImpactAccordion>summary:after{color:#3f6f7c;border-color:#c9dfe6;box-shadow:0 3px 10px rgba(63,111,124,.08)}
.moveImpactAccordion[open]>summary{border-bottom-color:#d9e7ec}
.candidateDeepDiveAccordion{border-top-color:#55a9cb}
.candidateDeepDiveAccordion>summary{color:#3f6f7c;background:#fff}
.candidateDeepDiveAccordion>summary:hover{background:#f7fbfd;color:#315f6c}
.candidateDeepDiveAccordion>summary:after{color:#3f6f7c;border-color:#c9dfe6;box-shadow:0 3px 10px rgba(63,111,124,.08)}
.candidateDeepDiveAccordion[open]>summary{border-bottom-color:#d9e7ec}
.accordionBody{padding:8px 22px 22px}
.accordionBody>.resultPanel,.accordionBody>.resultHero{margin:0;padding:16px 0 0;border:0;border-radius:0;box-shadow:none;background:transparent}
.accordionBody .topCard:first-of-type{margin-top:12px}
.detailsCloseAction{display:flex;justify-content:center;margin:22px 0 2px;padding-top:16px;border-top:1px solid #e7e9ef}
.detailsCloseAction button{min-width:150px;border:1px solid #d9e1e4;border-radius:999px;padding:11px 18px;background:#fff;color:#4e626b;font:inherit;font-size:14px;font-weight:850;cursor:pointer}
.detailsCloseAction button:hover{background:#f7faf9}
.detailsCloseActionCompact{margin:4px 14px 14px;padding-top:12px}
.detailsCloseActionCompact button{min-width:132px;font-size:13px;padding:9px 15px}
@media(max-width:600px){
  .resultAccordion>summary{padding:16px 17px;font-size:17px}
  .accordionBody{padding:6px 17px 18px}
}

/* v0.10.49: TOP3 detail rows are independently collapsible. */
.top3QuickList{display:grid;gap:0;margin:16px 0 14px;border-top:1px solid #e1e8e6}
.top3QuickRow{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid #e1e8e6}
.top3QuickRank{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf6f4;color:#2b766d;font-weight:900}
.top3QuickRow:first-child .top3QuickRank{background:#39a69a;color:#fff}
.top3QuickPlace{min-width:0}.top3QuickPlace strong{display:block;font-size:18px;line-height:1.35}.top3QuickPlace small{display:block;margin-top:3px;color:#6d7c80;font-size:12px;line-height:1.45}
.top3QuickScore{font-size:14px;font-weight:900;white-space:nowrap;color:#335f59}
.top3DetailPanel{border-top:5px solid #55a9cb}
.top3DetailPanel>h2{margin-bottom:6px}.resultSectionLead{margin:0 0 14px;color:var(--muted);line-height:1.7}
.resultReadingPanel{border-top:5px solid #d7a85f}
.resultReadingPanel>h2{margin-bottom:6px}
.resultReadingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.resultReadingCard{min-width:0;display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid #e6e1d7;border-radius:15px;background:#fffdf8;color:inherit;text-decoration:none}
.resultReadingCard:hover{border-color:#d1b980;background:#fffaf0}
.resultReadingCard:focus-visible{outline:3px solid #1b5f57;outline-offset:2px}
.resultReadingCard small{color:#8a7143;font-size:10px;font-weight:900;letter-spacing:.04em}
.resultReadingCard strong{font-size:16px;line-height:1.5;color:#2e4140}
.resultReadingCard span{font-size:12px;line-height:1.65;color:#667773}
.resultReadingCard b{margin-top:auto;color:#2e756c;font-size:12px}
@media(max-width:700px){.resultReadingGrid{grid-template-columns:1fr}.resultReadingCard{padding:15px}}
.typeSummaryTitle{font-size:clamp(24px,4vw,34px);line-height:1.42;margin:8px 0 12px}
.currentMoveInlineAccordion{margin-top:8px}
.resultUtilityGrid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:10px}
.resultUtilityBlock{min-width:0;padding:8px 24px 4px;text-align:center;background:transparent!important;border:0!important;border-top:0!important}
.resultUtilityBlock+ .resultUtilityBlock{border-left:1px solid #e2e9e7!important}
.resultUtilityPanel .sharePanel{background:transparent!important;border-top:0!important}
.resultUtilityPanel .shareButtons{grid-template-columns:1fr 1fr;max-width:none}
.resultUtilityPanel .shareBtnPrimary{grid-column:1/-1}
@media(max-width:700px){
  .top3QuickRow{grid-template-columns:34px minmax(0,1fr) auto;gap:9px;padding:12px 0}
  .top3QuickPlace strong{font-size:16px}.top3QuickPlace small{font-size:11px}
  .top3QuickScore{font-size:12px}
  .resultUtilityGrid{grid-template-columns:1fr}
  .resultUtilityBlock{padding:10px 0 14px}
  .resultUtilityBlock+ .resultUtilityBlock{border-left:0!important;border-top:1px solid #e2e9e7!important;padding-top:20px}
  .resultUtilityPanel .shareButtons{grid-template-columns:1fr}
}
.top3UnifiedList{display:grid;gap:12px;margin:18px 0}
.top3CityDisclosure{border:1px solid #e3e6ed;border-radius:16px;background:#fff;overflow:hidden;margin:0}
.top3CityDisclosure>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:50px minmax(0,1fr) auto auto 28px;gap:10px;align-items:center;padding:16px 18px;font-size:16px}
.top3CityDisclosure>summary::-webkit-details-marker{display:none}
.top3CityDisclosure>summary:after{content:"＋";grid-column:5;color:#4b8ea7;font-size:22px;line-height:1;text-align:center}
.top3CityDisclosure[open]>summary:after{content:"−"}
.top3CityDisclosure[open]>summary{border-bottom:1px solid #e8eaef;background:#fbfcfd}
.top3CityRank{font-weight:900;color:#4b8ea7}
.top3CityMain{min-width:0;display:flex;flex-direction:column;gap:3px}
.top3CityMain small{font-size:13px;line-height:1.45;color:#66757d;font-weight:700}
.top3CityName{font-size:20px;line-height:1.4}
.top3CityScore{font-weight:850;white-space:nowrap}.top3CityAction{font-size:12px;font-weight:850;color:#4b8ea7;white-space:nowrap}
.top3CityBody{padding:8px 18px 22px}
.top3CityBody .cityBalanceProfile{margin-top:6px}
@media(max-width:600px){
  .top3UnifiedList{gap:10px;margin:16px 0}
  .top3CityDisclosure>summary{grid-template-columns:40px minmax(0,1fr) auto auto 24px;gap:7px;padding:14px 12px;font-size:14px}
  .top3CityDisclosure>summary:after{grid-column:5;font-size:20px}
  .top3CityName{font-size:18px}
  .top3CityMain small{font-size:12px}
  .top3CityScore{font-size:13px}.top3CityAction{font-size:11px}
  .top3CityBody{padding:6px 12px 18px}
}

/* v0.10.50: living-area candidates belong to each TOP3 city and stay collapsed by default. */
.livingAreaDisclosure{margin:18px 0 6px;border:1px solid #cfe4df;border-radius:14px;overflow:hidden;background:#fff}
.livingAreaDisclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;font-size:16px;font-weight:850;color:#247866;background:linear-gradient(135deg,#f7fcfa,#eef8f5)}
.livingAreaDisclosure>summary:before{content:"🚉";font-size:18px;line-height:1;flex:0 0 auto}
.livingAreaDisclosure>summary::-webkit-details-marker{display:none}
.livingAreaDisclosure>summary:after{content:"＋";width:28px;height:28px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;font-size:19px;color:#247866;line-height:1;background:#fff;border:1px solid #acd5cb}
.livingAreaDisclosure[open]>summary:after{content:"−"}
.livingAreaDisclosure[open]>summary{border-bottom:1px solid #d8ebe6}
.livingAreaInline{padding:10px 14px 18px}
.livingAreaInline .livingAreaGrid{margin-top:4px}
@media(max-width:600px){
  .livingAreaDisclosure>summary{font-size:16px;padding:14px 13px}
  .livingAreaDisclosure>summary:before{font-size:17px}
  .livingAreaInline{padding:8px 12px 15px}
}

/* v0.10.51: tighten result hierarchy and keep type heading in balance with other cards. */
.typeSummaryPanel h1{font-size:clamp(26px,4vw,36px);line-height:1.4;margin:8px 0 14px}
@media(max-width:600px){
  .typeSummaryPanel h1{font-size:25px;line-height:1.45}
}

/* Result UX refresh: meaning first, evidence second, action last. */
.scoreRoundingNote{margin:-6px 0 14px;font-size:12px;line-height:1.65;color:#78868d}
.cityCharacterLead{margin-top:4px;padding:17px 18px;border-radius:16px;background:#f5faf8}
.cityCharacterLead>strong{display:block;margin-bottom:6px;color:#315f58}
.cityCharacterLead p{margin:0;line-height:1.8}
.currentDetailLead{margin-top:4px;padding-top:0;border-top:0}
.preferenceHighlights{margin:8px 0 18px;padding:14px 0 16px;border-top:1px solid #e7eceb;border-bottom:1px solid #e7eceb}.preferenceHighlights>small{display:block;margin-bottom:9px;color:#718096;font-size:12px;font-weight:850}.preferenceHighlights>div{display:flex;flex-wrap:wrap;gap:8px}.preferenceHighlights span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#f5f8f7;border:1px solid #e2e9e7}.preferenceHighlights b{font-size:13px;color:#365e59}.preferenceHighlights em{font-size:11px;font-style:normal;color:#748388}@media(max-width:600px){.preferenceHighlights span{width:100%;justify-content:space-between}.preferenceHighlights b{font-size:14px}.preferenceHighlights em{font-size:12px}} .typeInlineBody>.ahaCard:first-child{margin-top:8px}
.typeInlineBody>.balanceProfile{margin-top:22px}
.inlineMoreClose{display:none}
.typeInlineAccordion[open] .inlineMoreOpen,.currentInlineAccordion[open] .inlineMoreOpen{display:none}
.typeInlineAccordion[open] .inlineMoreClose,.currentInlineAccordion[open] .inlineMoreClose{display:inline}
.cityLeadEvidence{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:end;margin:12px 0 16px;padding:13px 15px;border:1px solid #e0e9e6;border-radius:14px;background:#fff}
.cityLeadEvidence span{grid-column:1/-1;font-size:12px;font-weight:850;color:#718096}
.cityLeadEvidence strong{font-size:14px;line-height:1.45}
.cityLeadEvidence b{font-size:20px;line-height:1.25;text-align:right;color:#2f6f68}
.cityLeadEvidence small{grid-column:1/-1;font-size:12px;line-height:1.5;color:#7a878d}
.evidenceInlineDisclosure{margin-top:20px;border:1px solid #e4e8ea;border-radius:14px;overflow:hidden;background:#fafbfb}
.evidenceInlineDisclosure>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:12px 14px;font-size:14px;font-weight:800;color:#617078}
.evidenceInlineDisclosure>summary::-webkit-details-marker{display:none}
.evidenceInlineDisclosure>summary:after{content:"＋";font-size:18px}
.evidenceInlineDisclosure[open]>summary:after{content:"−"}
.evidenceInlineBody{padding:0 14px 14px}
.evidenceInlineBody .coverageBox{margin-top:0}
.resultEditActions{margin:24px 0 8px;padding:20px;border:1px solid #dfe8e5;border-radius:20px;background:linear-gradient(145deg,#fff,#f5faf8);text-align:center}
.resultEditActions>strong{display:block;font-size:18px}
.resultEditActions>p{margin:6px auto 16px;max-width:620px;color:#68777d;font-size:13px;line-height:1.7}
.resultEditButtons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.resultEditButtons button{min-height:46px;border-radius:13px;padding:12px 16px;font:inherit;font-weight:850;cursor:pointer}
.resultEditPrimary{border:0;background:#3d9f91;color:#fff}
.resultEditSecondary{border:1px solid #cfdcda;background:#fff;color:#365f5a}
.restartLink{margin-top:13px;border:0;background:transparent;color:#7a858a;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;cursor:pointer}
.shareButtons{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
.shareBtnPrimary{background:#3d9f91;color:#fff}
.shareBtnCopy{background:#eef6f8;color:#315d69;border:1px solid #d7e8ec}

/* Small text is useful only if it is still comfortably readable. */
.miniFact span{font-size:12px}.miniFact small{font-size:12px;line-height:1.55}
.metricCompareCard>span{font-size:12px}.metricValues small{font-size:12px}.metricCompareCard em{font-size:12px;line-height:1.55}
.livingAreaCard p{font-size:13px}.livingAreaCardHead small{font-size:12px}
.localDetailBtn{min-height:44px;font-size:13px;padding:10px 13px}.localEnrichment{font-size:13px}.localEnrichment strong{font-size:13px}
.rankPlace b{font-size:12px}
.detailsCloseAction button{min-height:44px}

/* Result readability v2: reduce tiny type and nested-detail fatigue. */
.top3CityDisclosure>summary{font-size:17px;padding:17px 18px}
.top3CityMain small{font-size:14px;line-height:1.5}
.top3ReasonChips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.top3ReasonChips i{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#eef7f5;color:#356f68;font-size:12px;font-style:normal;font-weight:850;line-height:1.35}
.top3CityName{font-size:21px}
.top3CityScore{font-size:15px}
.top3CityAction{font-size:14px}
.livingAreaFeatureHead{margin:0 0 14px;padding:15px 16px 14px;border-radius:14px;background:linear-gradient(135deg,#f2faf7,#f7fbfd);border:1px solid #d9ebe6}
.livingAreaFeatureHead>span{display:block;margin-bottom:5px;color:#2f8377;font-size:12px;font-weight:900;letter-spacing:.04em}
.livingAreaFeatureHead>p{margin:6px 0 0;color:#64767b;font-size:14px;line-height:1.7}
.livingAreaFeatureTitle{font-size:20px;line-height:1.45;margin:0}
.livingAreaSelectionIntro{padding:16px 16px;margin-bottom:16px}
.livingAreaSelectionIntro small{font-size:13px;letter-spacing:.02em;margin-bottom:7px}
.livingAreaSelectionIntro strong{font-size:16px;line-height:1.55}
.livingAreaSelectionTags{gap:8px;margin-top:11px}
.livingAreaSelectionTags span{font-size:13px;padding:7px 10px}
.livingAreaCandidateCompare{gap:9px;margin-top:13px}
.livingAreaCandidateCompare>div{padding:11px 12px}
.livingAreaCandidateCompare b{font-size:14px;line-height:1.5}
.livingAreaCandidateCompare span{font-size:14px;line-height:1.6}
.livingAreaGrid{gap:12px}
.livingAreaCard{padding:16px;border-radius:16px}
.livingAreaCardHead b{font-size:19px;line-height:1.45}
.livingAreaCardHead small{font-size:13px}
.livingAreaAxisStrip{gap:8px;margin:13px 0}
.livingAreaAxisStrip>div{padding:10px 8px}
.livingAreaAxisStrip span{font-size:13px}
.livingAreaAxisStrip strong{font-size:18px}
.axisReferenceMark{display:inline-block;margin-left:4px;padding:1px 4px;border-radius:999px;background:#eef3f5;color:#61737a;font-size:11px;font-weight:850;vertical-align:1px}
.livingAreaConfidenceNote{margin:-5px 0 11px!important;color:#6f7f85;font-size:12px!important;line-height:1.6!important}
.localDetailBtn{min-height:46px;width:100%;margin-top:11px;padding:11px 14px;font-size:14px;border-radius:12px}
.livingAreaDeepCompareBtn{min-height:48px;font-size:14px;padding:12px 14px;border-radius:12px}
.livingAreaDeepCompareCard{padding:13px 14px}
.livingAreaDeepCompareCard b{font-size:15px}
.livingAreaDeepCompareCard p{font-size:14px!important;line-height:1.7!important}
.localEnrichment{padding:14px;font-size:14px;line-height:1.7}
.localEnrichment strong{font-size:15px}
.localFitHighlights{padding:14px;margin-bottom:14px}
.localFitHighlights>strong{font-size:16px;margin-bottom:10px}
.localFitPoint{padding:10px 0}
.localFitPoint b{font-size:14px}
.localFitPoint p{font-size:14px!important;line-height:1.7!important}
.localGroupMeta,.localHours{font-size:12px;line-height:1.55}
.localNameChips .lifeName{font-size:13px;padding:6px 9px}
.localEvidenceDisclosure>summary{min-height:44px;padding:12px 0 5px;font-size:13px}
.terrainMini{padding:10px 11px}
.factDisclosure>summary{font-size:14px;padding:12px 13px}
.typeInlineAccordion>summary,.currentInlineAccordion>summary{font-size:15px;min-height:46px}
@media(max-width:600px){
  .top3CityDisclosure>summary{grid-template-columns:38px minmax(0,1fr) auto 24px;gap:8px;padding:15px 12px;font-size:15px}
  .top3CityDisclosure>summary:after{grid-column:4}
  .top3CityAction{display:none}
  .top3CityName{font-size:19px}
  .top3CityMain small{font-size:13px}
  .top3ReasonChips{gap:5px;margin-top:3px}
  .top3ReasonChips i{min-height:22px;padding:3px 7px;font-size:11px}
  .top3CityScore{font-size:14px}
  .livingAreaFeatureHead{padding:14px;margin-bottom:12px}
  .livingAreaFeatureHead>span{font-size:12px}
  .livingAreaFeatureHead>p{font-size:14px;line-height:1.65}
  .livingAreaFeatureTitle{font-size:19px}
  .livingAreaSelectionIntro{padding:14px}
  .livingAreaSelectionIntro strong{font-size:15px}
  .livingAreaSelectionTags span{font-size:13px}
  .livingAreaCandidateCompare>div{grid-template-columns:1fr;gap:3px;padding:11px}
  .livingAreaCandidateCompare b,.livingAreaCandidateCompare span{font-size:14px}
  .livingAreaCard{padding:14px}
  .livingAreaCardHead b{font-size:18px}
  .livingAreaAxisStrip span{font-size:12px}
  .livingAreaAxisStrip strong{font-size:17px}
  .axisReferenceMark{font-size:11px}
  .livingAreaConfidenceNote{font-size:12px!important}
  .localEnrichment{padding:13px}
  .localFitHighlights>strong{font-size:15px}
  .localFitPoint p{font-size:14px!important}
}

/* Result typography floor: use hierarchy, not tiny text. */
.result-mode .whyTitle,
.result-mode .factTitle,
.result-mode .miniFact span,
.result-mode .miniFact small,
.result-mode .currentRankNote p,
.result-mode .scoreTrustNote,
.result-mode .metricCompareCard>span,
.result-mode .metricValues small,
.result-mode .metricCompareCard em,
.result-mode .cityLeadEvidence span,
.result-mode .cityLeadEvidence small,
.result-mode .scoreRoundingNote,
.result-mode .summaryTypeLine span,
.result-mode .feedbackStatus,
.result-mode .shareExample strong,
.result-mode .shareStatus{
  font-size:13px!important;
  line-height:1.6!important;
}
.result-mode .miniFact strong{font-size:16px}
.result-mode .metricValues strong{font-size:15px}
.result-mode .rankPlace b{font-size:12px}
.result-mode .lifeFitSimulatorTop20Rank,
.result-mode .lifeFitSimulatorTop20Score{font-size:13px}
.result-mode .lifeFitSimulatorTop20City{font-size:14px}
.result-mode .shareExampleCopy{font-size:13px}
@media(max-width:600px){
  .result-mode .whyTitle,
  .result-mode .factTitle,
  .result-mode .miniFact span,
  .result-mode .miniFact small,
  .result-mode .currentRankNote p,
  .result-mode .scoreTrustNote,
  .result-mode .metricCompareCard>span,
  .result-mode .metricValues small,
  .result-mode .metricCompareCard em,
  .result-mode .cityLeadEvidence span,
  .result-mode .cityLeadEvidence small,
  .result-mode .scoreRoundingNote,
  .result-mode .summaryTypeLine span{
    font-size:14px!important;
  }
}

/* Keyboard, touch and motion accessibility. */
button:focus-visible,summary:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid rgba(61,159,145,.38);outline-offset:3px}
.top3CityDisclosure>summary,.livingAreaDisclosure>summary,.resultAccordion>summary,.rankingMoreDisclosure>summary,.typeInlineAccordion>summary,.currentInlineAccordion>summary{min-height:44px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(max-width:600px){
  .feedbackPanel h2,.sharePanel h2{white-space:normal}
  .shareButtons{grid-template-columns:1fr;max-width:none}
  .resultEditButtons{display:grid;grid-template-columns:1fr}
  .resultEditActions{padding:18px 14px}
  .top3CityDisclosure>summary{
    grid-template-columns:38px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:5px 8px;
    padding:14px 12px;
  }
  .top3CityRank{grid-column:1;grid-row:1/3;align-self:center}
  .top3CityMain{grid-column:2;grid-row:1}
  .top3CityScore{grid-column:3;grid-row:1;font-size:13px}
  .top3CityAction{grid-column:2;grid-row:2;font-size:13px;color:#4b8ea7}
  .top3CityDisclosure>summary:after{grid-column:3;grid-row:2;font-size:20px;justify-self:end}
  .top3CityName{font-size:18px}
  .top3CityMain small{font-size:13px}
  .top3CityBody{padding:10px 12px 18px}
  .cityLeadEvidence{grid-template-columns:1fr auto;padding:12px}
  .cityLeadEvidence b{font-size:18px}
}
.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* v0.10.61: mobile nesting flattening.
   Keep one outer gutter, but stop nested disclosures/cards from repeatedly consuming width. */
@media(max-width:600px){
  .wrap{padding-left:7px;padding-right:7px}
  #result.question-card{width:calc(100% + 6px);margin-left:-3px;margin-right:-3px}

  #result .resultHero,
  #result .resultPanel{padding-left:12px;padding-right:12px}

  .top3CityBody{padding-left:5px;padding-right:5px}
  .typeInlineBody,.currentInlineBody{padding-left:0;padding-right:0}

  .accordionBody{padding-left:6px;padding-right:6px}
  .accordionBody .moveCompare{margin-left:0;margin-right:0;padding-left:7px;padding-right:7px}

  .balanceProfile,
  .cityBalanceProfile{padding-left:9px;padding-right:9px}

  .livingAreaDisclosureOpen{margin-left:0;margin-right:0}
  .livingAreaInline{padding-left:2px;padding-right:2px}
  .livingAreaCard{padding-left:9px;padding-right:9px}

  .factDisclosure .factGrid{margin-left:0;margin-right:0}
  .miniFact{padding-left:10px;padding-right:10px}

  .ahaCard,.discoveryCard{margin-left:0;margin-right:0}
  .localEnrichment{padding-left:9px;padding-right:9px}
}


/* 2026-09-24 system consistency pass: typography, controls, focus, spacing. */
:root{
  --focus-ring:rgba(45,139,126,.28);
  --control-radius:12px;
}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:is(a,button,input,select,summary,[tabindex]):focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:3px;
}
.production-hero-start,
.phaseGatePrimary,.phaseGateSecondary,
.btn,.restartBtn,
.resultEditButtons button,
.shareButtons button{
  min-height:46px;
  border-radius:var(--control-radius);
}
.resultHero,.resultPanel{box-shadow:none}
@media(max-width:600px){
  .production-hero{padding-top:38px!important;padding-bottom:34px!important}
  .production-hero h1{font-size:clamp(38px,11vw,50px);line-height:1.08}
  .production-hero-description{font-size:16px}
  .production-hero-trust{font-size:13px}
  .resultHero,.resultPanel{border-radius:18px}
  .resultEditButtons{display:grid;grid-template-columns:1fr;width:100%}
  .resultEditButtons button{width:100%;min-height:48px}
  .liveTop10Open,.liveTop10Close{min-height:44px}
}


/* 2026-09-24 mobile microcopy readability pass. */
@media(max-width:600px){
  :root{--live-preview-space:276px}
  .liveRankingPreview{max-height:min(54dvh,430px)}
  .liveRankingHeadActions span{font-size:11px}
  .liveTop10Open{font-size:11px;padding:7px 10px}
  .liveRankingMeta span{font-size:11px;line-height:1.45}
  .liveStabilityLabel,.liveStabilityValue{font-size:11px}
  .liveRankItem small{font-size:11px}
  .liveRankMove{font-size:11px}
  .liveRankingWhy{font-size:12px;line-height:1.55}
  .liveRankingNote{font-size:11px;line-height:1.55}
  .lifeFitSimulatorTop20Move,
  .lifeFitSimulatorTop20Reason{font-size:11px;line-height:1.5}
  .lifeFitWhatIfChip{font-size:11px}
}


/* 2026-09-24 result hierarchy pass: make rank 1 unmistakable without adding noise. */
@media(min-width:701px){
  .top3CompareGrid{grid-template-columns:minmax(0,1.14fr) repeat(2,minmax(0,.93fr))}
  .top3CompareCard:first-child{
    border-color:#8fc9bf;
    border-top:4px solid #39a69a;
    padding-top:11px;
    background:#f1faf7;
  }
  .top3CompareCard:first-child .top3ComparePlace strong{font-size:17px}
  .top3CompareCard:first-child .top3CompareScore b{font-size:31px}
}
.top3CompareLine small{font-size:11px}
.top3CompareLine p{font-size:13px;line-height:1.6}
.top3CompareScore span{font-size:12px}

/* Production presentation styles formerly injected by config.js.
   Static CSS avoids post-load visual overrides and runtime style mutation. */
.preview-note,.copyNote{display:none!important}
.top3Snapshot{position:relative}
.top3SnapshotLead{
  margin:15px 0 7px;
  color:#617276;
  font-size:12px;
  font-weight:800;
}
.top3SnapshotItem[data-rank="1"]{
  box-shadow:inset 0 3px 0 #39a69a;
}
.top3SnapshotItem[data-rank="1"]>span{
  color:#247d73;
  font-weight:900;
}
.moveQuickDelta>div{
  position:relative;
  padding:14px 15px 14px 18px!important;
  background:#fff!important;
}
.moveQuickDelta>div:before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:999px;
  background:#39a69a;
}
.moveQuickDelta>div:nth-child(2):before{background:#8fa1ad}
.moveQuickDelta small{
  font-size:11px!important;
  font-weight:850;
  letter-spacing:.01em;
}
.moveQuickDelta strong{
  display:block;
  margin-top:3px;
  font-size:15px!important;
  line-height:1.55!important;
}
@media(max-width:600px){
  .top3SnapshotLead{margin-top:13px}
  .moveQuickDelta{gap:8px!important}
  .moveQuickDelta>div{padding:13px 13px 13px 16px!important}
}
.propertyBridge{
  margin:24px 0 4px;
  padding:24px;
  border:1px solid #d8e7e3;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#f4faf8 100%);
  box-shadow:0 10px 26px rgba(43,86,79,.05);
}
.propertyBridgeEyebrow{margin:0 0 6px;color:#2f8378;font-size:12px;font-weight:950;letter-spacing:.08em}
.propertyBridge h2{margin:0;font-size:clamp(23px,3vw,30px);line-height:1.45;color:#2d4543}
.propertyBridgeLead{margin:8px 0 0;color:#617276;font-size:14px;line-height:1.75}
.propertyBridgeFacts{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.propertyBridgeFact{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #dce8e5;border-radius:999px;background:#fff;color:#46655f;font-size:12px;font-weight:850}
.propertyBridgeActions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.propertyBridgeBtn,.propertyBridgeOffer{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 16px;
  border-radius:13px;font:inherit;font-size:14px;font-weight:900;text-decoration:none;cursor:pointer
}
.propertyBridgeBtn{border:1px solid #b9d8d1;background:#fff;color:#2e6e65}
.propertyBridgeOffer{border:0;background:#2f9185;color:#fff}
.propertyBridgeNote{margin:13px 0 0;color:#788589;font-size:11px;line-height:1.65}
.propertyBridgeStatus{min-height:18px;margin-top:8px;color:#3f756c;font-size:12px;font-weight:800}
@media(max-width:600px){
  .propertyBridge{padding:20px 15px;border-radius:18px}
  .propertyBridgeActions{display:grid;grid-template-columns:1fr}
  .propertyBridgeBtn,.propertyBridgeOffer{width:100%;min-height:50px;font-size:15px}
  .propertyBridgeFact{font-size:13px}
  .propertyBridgeNote{font-size:13px;line-height:1.7}
}
