/* Modern Korea: five destinations, four beauty fields, short life summaries. */
#app .game-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
#app .game-tab { white-space:nowrap; }
#app .beauty-tabs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0; }
#app .beauty-tabs .sub-tab { padding-left:5px;padding-right:5px;text-align:center; }
:is(#app,#overlay-root) .body-measures { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 8px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
:is(#app,#overlay-root) .body-measures>div { min-width:0; }
:is(#app,#overlay-root) .body-measures span { display:block;font-size:12px;color:var(--muted);margin-bottom:5px; }
:is(#app,#overlay-root) .body-measures strong { font-size:24px;font-weight:750;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:#87244e; }
:is(#app,#overlay-root) .body-measures small { font-size:12px;font-weight:400;white-space:nowrap; }
:is(#app,#overlay-root) .measure-note { font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 18px; }
#app .beauty-balance { display:flex;justify-content:space-between;align-items:baseline;gap:15px;font-size:13px;color:var(--muted);margin:0 0 22px; }
#app .beauty-balance strong { font-size:17px;font-weight:700;color:#87244e;text-align:right; }
#app .beauty-section { margin:0 0 14px;border-top:1px solid #dfcbd5; }
#app .beauty-section>summary { display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-weight:700;font-size:18px;padding:16px 0;color:#4d3543; }
#app .beauty-section>summary:after { content:'+';font-size:22px;font-weight:400;color:#96305b; }
#app .beauty-section[open]>summary:after { content:'−'; }
#app .beauty-section-body { padding:3px 0 17px; }
#app .beauty-section .care-card h3 { margin-top:9px; }
#app .lesson-talents { margin-top:28px; }
#app .lesson-talents .section-head h3 { font-size:20px;font-weight:700; }
#app .lesson-talents .section-head small { color:var(--muted);font-size:12px; }
#app .management-card { padding:22px;margin-bottom:16px;border:1px solid var(--line);background:#fff;border-radius:10px; }
#app .management-card h3 { font-size:19px;font-weight:700;margin:0 0 14px;line-height:1.6; }
#app .management-card .section-head { margin:0 0 10px;align-items:center; }
#app .management-card .section-head h3 { margin:0;font-size:19px; }
#app .management-card .body-measures { margin-top:0;border-top:0;padding-top:0; }
#app .management-card p { font-size:14px;color:var(--muted);margin:6px 0 14px; }
#app .management-card small { font-size:12px;color:var(--muted);line-height:1.8; }
#app .summary-list { list-style:none;padding:0;margin:0 0 12px; }
#app .summary-list li { display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid #f0e8ec;font-size:15px; }
#app .summary-list li:last-child { border-bottom:0; }
#app .summary-list b { font-weight:650;color:#87244e;text-align:right; }
#app .family-facts { margin:20px 0 14px; }
#app .family-facts>div { display:flex;justify-content:space-between;gap:18px;margin:11px 0;font-size:14px; }
#app .family-facts dt { color:var(--muted); }
#app .family-facts dd { margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere; }
#app .relationship-card { background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin:0 0 18px; }
#app .partner-card { border-top:4px solid #a52c61; }
#app .person-role { display:block;font-size:13px;color:#8e3159;margin-bottom:7px; }
#app .relationship-card h3 { font-size:23px;font-weight:750;line-height:1.6;margin:0 0 17px; }
#app .relationship-card h3 small { font-size:13px;font-weight:400;color:var(--muted);margin-left:8px; }
#app .affection-label { display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:14px; }
#app .affection-label strong { font-size:16px;font-weight:650; }
#app .affection-label b { color:#87244e;font-weight:650;font-size:14px;white-space:nowrap; }
#app .affection-track { height:5px;background:#f4e8ee;border-radius:5px;overflow:hidden;margin:12px 0 17px; }
#app .affection-track span { display:block;height:100%;background:#b75483; }
#app .relationship-card p { font-size:14px;line-height:1.85;color:var(--muted); }
#app .relationship-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px; }
#app .relationship-actions .danger-link { grid-column:1/-1;justify-self:end;font-size:13px;color:#9d324d; }
#app .family-list { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
#app .family-list .relationship-card { margin-bottom:16px;padding:21px; }
#app .family-list .affection-label { flex-direction:column;gap:7px; }
#app .family-list .ghost { margin-top:20px;width:100%; }
#app .debt-card { background:#fff9fc; }
#app .past-relationships { padding:0 20px 16px; }
#app .past-relationships p { font-size:14px; }
#overlay-root .borrow-label { display:flex;flex-direction:column;gap:8px;font-size:14px; }
#overlay-root .borrow-label select { font-size:16px; }
#app .family-birth { margin:23px 0;padding:20px;background:#fff1f7;border:1px solid #e9cddd;border-radius:9px; }
#app .family-birth strong { font-size:23px;font-weight:750;color:#87244e; }
#app .family-birth p { font-size:15px;margin:8px 0;color:#5b4652; }
#app .family-birth>span { font-size:13px;color:var(--muted); }
#app .table-scroll { overflow-x:auto;max-width:100%; }
#app .table-scroll .history-table { min-width:390px; }
#app .table-scroll .history-table td:last-child { white-space:nowrap; }
#app .home-intro { display:grid;grid-template-columns:1fr 220px;gap:36px;align-items:center;padding:48px 0; }
#app .home-kicker { font-size:13px;color:#8c3158; }
#app .home-intro h1 { font-size:58px;line-height:1.2;letter-spacing:-3px;margin:17px 0 13px;font-weight:800; }
#app .home-intro h1 span { color:#a52c61; }
#app .home-intro h2 { font-size:23px;line-height:1.6;font-weight:650;margin:0 0 20px; }
#app .home-intro p { color:var(--muted);font-size:16px;line-height:1.9; }
#app .home-tags { display:flex;flex-wrap:wrap;gap:7px;margin-top:24px; }
#app .home-tags span { font-size:12px;border:1px solid #e5cad8;background:#fff;padding:5px 10px;border-radius:5px;color:#7a3a58; }
#app .home-portrait { padding:15px 15px 18px;background:#fceaf2;border:1px solid #e5cad8;border-radius:12px; }
#app .home-portrait svg { width:100%;display:block;image-rendering:pixelated; }
#app .home-portrait span { display:block;text-align:center;font-size:13px;color:#7d3d5a;margin-top:12px; }
#app .modern-setup { display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center; }
#app .modern-setup .primary { margin-top:20px; }
@media(max-width:640px) {
  #app .game-tab { font-size:13px;letter-spacing:-.4px;padding:11px 0; }
  #app .beauty-tabs .sub-tab { font-size:14px;padding:9px 2px 11px; }
  #app .body-measures { gap:10px; }
  :is(#app,#overlay-root) .body-measures strong { font-size:22px; }
  :is(#app,#overlay-root) .body-measures small { font-size:11px; }
  :is(#app,#overlay-root) .body-measures span { font-size:11px; }
  #app .management-card { padding:19px 16px; }
  #app .management-card .section-head h3 { font-size:17px; }
  #app .management-card .section-head .text-btn { font-size:12px; }
  #app .management-card .section-head { gap:10px; }
  #app .summary-list li { font-size:14px; }
  #app .family-facts>div { font-size:13px;gap:12px; }
  #app .family-facts dt { flex-shrink:0; }
  #app .relationship-card { padding:20px 17px; }
  #app .relationship-card h3 { font-size:22px; }
  #app .relationship-card h3 small { display:block;margin-left:0;margin-top:4px;font-size:13px; }
  #app .affection-label { flex-direction:column;gap:7px; }
  #app .affection-label strong { font-size:16px; }
  #app .family-list { grid-template-columns:1fr;gap:0; }
  #app .family-list .relationship-card { padding:20px 17px; }
  #app .relationship-actions { grid-template-columns:1fr; }
  #app .relationship-actions .ghost { font-size:14px; }
  #app .relationship-actions .danger-link { grid-column:1; }
  #app .beauty-section>summary { font-size:17px; }
  #app .beauty-balance { font-size:12px; }
  #app .beauty-balance strong { font-size:15px; }
  #app .home-intro { grid-template-columns:1fr 85px;gap:14px;padding:30px 0;align-items:start; }
  #app .home-intro h1 { font-size:40px;letter-spacing:-2.5px;line-height:1.35;margin:10px 0; }
  #app .home-intro h1 span { font-size:25px; }
  #app .home-intro h2 { font-size:18px;margin-bottom:16px; }
  #app .home-intro p { font-size:14px; }
  #app .home-kicker { font-size:11px; }
  #app .home-portrait { padding:6px;border-radius:9px;margin-top:32px; }
  #app .home-portrait span { display:none; }
  #app .home-tags { gap:6px;margin-top:18px; }
  #app .home-tags span { font-size:11px;padding:4px 7px; }
  #app .modern-setup { grid-template-columns:1fr;gap:20px;padding:23px 20px; }
  #app .modern-setup h2 { font-size:23px; }
  #app .modern-setup p { font-size:14px; }
  #app .modern-setup>div+div { border-top:1px solid var(--line);padding-top:20px; }
  #app .family-birth { padding:17px; }
  #app .family-birth>span { font-size:12px; }
}
@media(max-width:360px) {
  #app .game-tab { font-size:12px;letter-spacing:-.6px; }
  #app .beauty-tabs .sub-tab { font-size:13px; }
  #app .home-intro { grid-template-columns:1fr 70px;gap:10px; }
  #app .home-intro h1 { font-size:34px; }
  #app .home-intro h2 { font-size:16px; }
  :is(#app,#overlay-root) .body-measures strong { font-size:20px; }
}
