/* v74: clearer selection states and a more inviting balance of brand blue and white. */
body {
 background:linear-gradient(180deg,var(--lt-brand-pale) 0,#fff 620px);
}
.sim__header {
 background:
  radial-gradient(ellipse at 100% 0,rgba(255,255,255,.15),transparent 62%),
  var(--lt-brand);
 box-shadow:0 12px 32px rgba(57,119,157,.12);
}
.sim-step,.sim-included,.sim-excluded {
 border-color:rgba(57,119,157,.2);
 box-shadow:0 8px 24px rgba(57,119,157,.055);
}
.sim-step__num { box-shadow:0 0 0 5px var(--lt-brand-pale); }
.type-card,.grade-card {
 background:var(--lt-brand-paper);
 border-color:rgba(57,119,157,.24);
 transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.type-card[aria-checked="true"],.grade-card[aria-checked="true"] {
 background:var(--lt-brand);
 border-color:var(--lt-brand);
 color:#fff;
 box-shadow:0 8px 20px rgba(57,119,157,.2),inset 0 1px 0 rgba(255,255,255,.2);
}
.type-card[aria-checked="true"] :is(.type-card__name,.type-card__desc),
.grade-card[aria-checked="true"] :is(.grade-card__name,.grade-card__tag) { color:#fff; }
.type-card[aria-checked="true"] > .type-card__icon {
 background:rgba(255,255,255,.12);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.34);
}
.type-card[aria-checked="true"] .type-card__check { background:#fff; border-color:#fff; }
.type-card[aria-checked="true"] .type-card__check::after { border-color:var(--lt-brand); }
.grade-card { position:relative; }
.grade-card__name { display:block; padding-right:28px; }
.grade-card::before {
 content:""; position:absolute; right:20px; top:24px; width:18px; height:18px;
 border:1px solid rgba(57,119,157,.35); border-radius:50%;
}
.grade-card[aria-checked="true"]::before { background:#fff; border-color:#fff; }
.grade-card[aria-checked="true"]::after {
 content:""; position:absolute; right:26px; top:27px; width:5px; height:9px;
 border-right:2px solid var(--lt-brand); border-bottom:2px solid var(--lt-brand); transform:rotate(40deg);
}
.area-preset { background:var(--lt-brand-pale); color:var(--lt-brand); border-color:rgba(57,119,157,.28); }
.area-preset[aria-pressed="true"] {
 background:var(--lt-brand); color:#fff; border-color:var(--lt-brand);
 box-shadow:0 5px 12px rgba(57,119,157,.2);
}
.area-input input,.land-field__input input { background:#fff; border-color:rgba(57,119,157,.35); }
.area-input input:focus,.land-field__input input:focus { border-color:var(--lt-brand); box-shadow:0 0 0 3px rgba(57,119,157,.1); }
#sim-land-toggle {
 padding:14px 18px; border:1px solid var(--lt-brand); border-radius:10px;
 background:var(--lt-brand); color:#fff;
 box-shadow:0 5px 14px rgba(57,119,157,.15);
}
#sim-land-toggle .accordion__mark::before,#sim-land-toggle .accordion__mark::after { background:#fff; }
#sim-land-toggle[aria-expanded="true"] { box-shadow:inset 0 0 0 1px rgba(255,255,255,.32); }
.result-card {
 background:linear-gradient(180deg,var(--lt-brand-pale),#fff 300px);
 border-color:rgba(57,119,157,.3);
 box-shadow:0 12px 32px rgba(57,119,157,.11);
}
.result-detail__total {
 background:var(--lt-brand); border-radius:10px;
 padding:16px !important; margin-top:16px; border-top:0;
}
.result-detail__total dt,.result-detail__total dd { color:#fff; }
.result-detail__toggle {
 background:var(--lt-brand); color:#fff; border-color:var(--lt-brand);
}
.result-detail__toggle[aria-expanded="true"] { background:var(--lt-brand-pale); color:var(--lt-brand); }
.fees-table .kubun { background:var(--lt-brand-pale); color:var(--lt-brand); border-color:rgba(57,119,157,.25); }
.btn--primary {
 background:var(--lt-brand); color:#fff;
 box-shadow:0 7px 18px rgba(57,119,157,.22),inset 0 1px 0 rgba(255,255,255,.22);
}
.sim-notes { background:var(--lt-brand-pale); }
@media(hover:hover) {
 .type-card:not([aria-checked="true"]):hover,.grade-card:not([aria-checked="true"]):hover {
  background:var(--lt-brand-pale); border-color:var(--lt-brand); box-shadow:0 5px 16px rgba(57,119,157,.13);
 }
 .area-preset:not([aria-pressed="true"]):hover { background:#dfe9ef; }
 .btn--primary:hover,#sim-land-toggle:hover { filter:brightness(.96); opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
 .type-card,.grade-card { transition:none; }
}
