/* Fixed dashboard frame. Each content region owns its vertical scrollbar. */
.simple-ui.life-layout .simple-topbar-actions { display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:100%; }
.simple-ui.life-layout #btnResumeDecision[hidden] { display:none!important; }
.simple-ui.life-layout #btnGameHome { min-height:32px;padding:5px 11px;font-size:12px; }
.simple-ui.life-layout #modal>.card { position:relative; }
.simple-ui.life-layout #btnModalClose { position:absolute;top:10px;right:12px;z-index:3;min-height:34px;padding:6px 10px;font-size:11px; }
.simple-ui.life-layout #modal #mTitle { padding-right:100px; }
.simple-ui.life-layout #start { width:min(760px,100%);margin:48px auto 24px;padding:32px; }
.simple-ui.life-layout .home-heading h2 { font-size:29px;margin:4px 0 24px; }
.simple-ui.life-layout .home-saved-life { display:flex;flex-direction:column;gap:7px;padding:18px;background:var(--card2);border:1px solid var(--border);border-radius:7px;margin-bottom:20px; }
.simple-ui.life-layout .home-saved-life strong { font-size:23px; }.simple-ui.life-layout .home-saved-life>span:last-child { color:var(--muted);font-size:13px; }
.simple-ui.life-layout .home-actions { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.simple-ui.life-layout .home-actions button { min-height:64px;font-size:18px; }
.simple-ui.life-layout #homeBirthSetup { margin-top:24px;padding-top:20px;border-top:1px solid var(--border); }
.simple-ui.life-layout #homeBirthSetup[hidden] { display:none; }
.simple-ui.life-layout #homeBirthSetup .yearpick { display:block;margin:18px 0; }
.simple-ui.life-layout #homeBirthSetup select { margin-top:8px;width:100%;padding:12px; }
.simple-ui.life-layout #homeBirthSetup #btnBorn { width:100%;min-height:48px; }
.simple-ui.life-layout:has(#game:not(.hidden)) { overflow:hidden; }
.simple-ui.life-layout:has(#game:not(.hidden)) .wrap { height:100dvh;min-height:0;overflow:hidden; }
.simple-ui.life-layout .simple-game {
  min-height:0;grid-template-rows:58px minmax(0,1fr);gap:14px var(--game-gap);
}
.simple-ui.life-layout #gameTimeControls {
  grid-column:1/-1;grid-row:1;position:relative;bottom:auto;max-width:none;
  grid-template-columns:minmax(140px,1fr) auto minmax(130px,190px) 28px;
  height:58px;padding:8px 14px;
}
.simple-ui.life-layout .game-time-options { top:calc(100% + 14px);bottom:auto; }
.simple-ui.life-layout #gameRail { grid-column:1;grid-row:2;overscroll-behavior-y:contain; }
.simple-ui.life-layout #simpleWorkspace {
  grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:stretch;gap:14px;
  height:100%;padding:0;overflow:hidden;
}
.simple-ui.life-layout #simpleChapter { flex:0 0 auto;padding:0; }
.simple-ui.life-layout #simpleChapter h2 { margin:3px 0;font-size:26px; }
.simple-ui.life-layout #simpleFinance { margin-bottom:14px; }
.simple-ui.life-layout .simple-finance-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.simple-ui.life-layout .simple-finance-grid .simple-household { grid-column:1/-1; }
.simple-ui.life-layout .simple-finance-grid .card { padding:9px 12px; }
.simple-ui.life-layout .simple-finance-grid strong { margin:2px 0;font-size:18px; }
.simple-ui.life-layout #simplePanes {
  flex:1;min-height:0;min-width:0;display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr);
  grid-template-rows:minmax(0,1fr);
  grid-template-areas:"life activities assets";gap:16px;overflow:hidden;
}
.simple-ui.life-layout #simplePanel-life {
  grid-area:life;display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:8px;
}
.simple-ui.life-layout .logcard {
  flex:1;min-height:0;height:auto;padding:14px;margin:0;overflow:hidden;
}
.simple-ui.life-layout .logcard h4 { margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--border);font-size:18px; }
.simple-ui.life-layout .simple-log-head { display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--border); }
.simple-ui.life-layout .simple-log-head h4 { margin:0;padding:0;border:0;min-width:0; }
.simple-ui.life-layout #simpleUseDevices { flex:0 0 auto;min-height:40px;padding:8px 10px;font-size:12px;white-space:nowrap; }
.simple-ui.life-layout #simpleDeviceMenu { position:fixed;inset:auto;margin:0;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:16px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);box-shadow:0 12px 40px #0005;overflow-y:auto;overscroll-behavior:contain; }
.simple-ui.life-layout #simpleDeviceMenu h3 { font-size:16px;margin:0 0 12px; }
.simple-ui.life-layout #simpleDeviceMenu p { font-size:13px;line-height:1.8;margin:0 0 14px; }
.simple-ui.life-layout .simple-device-list { display:grid;gap:8px; }
.simple-ui.life-layout .simple-device-list button { width:100%;padding:12px;min-height:68px;text-align:left;display:flex;align-items:center;gap:10px; }
.simple-ui.life-layout .simple-device-list button img { flex:0 0 64px;width:64px;height:60px;object-fit:contain;border-radius:5px; }
.simple-ui.life-layout .simple-device-list b { display:block;font-size:14px;line-height:1.6; }
.simple-ui.life-layout .simple-device-list small { display:block;font-size:12px;color:var(--muted);margin-top:4px; }
.simple-ui.life-layout #simpleDeviceShop { width:100%;min-height:42px;margin-top:12px;font-size:12px; }
.simple-ui.life-layout .modal .card:has(.shop-product-card) { max-width:900px; }
.simple-ui.life-layout #mChoices:has(.shop-product-card) { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.simple-ui.life-layout #mChoices:has(.shop-product-card)>button { min-width:0;padding:12px; }
.simple-ui.life-layout #mChoices:has(.shop-product-card)>button:not(:has(.shop-product-card)) { grid-column:1/-1; }
.simple-ui.life-layout .shop-product-card { display:flex;align-items:center;gap:12px;text-align:left;min-height:112px; }
.simple-ui.life-layout .shop-product-art { display:block;width:116px;height:100px;object-fit:contain;flex:0 0 116px;border-radius:8px; }
.simple-ui.life-layout .shop-product-copy { display:block;min-width:0;font-size:14px;line-height:1.65; }
.simple-ui.life-layout .shop-product-copy small { display:block;font-size:12px;line-height:1.65;margin-top:7px; }
.simple-ui.life-layout .shop-product-hero { display:block;width:100%;height:210px;object-fit:contain;margin:6px 0 16px;border-radius:10px; }
.simple-ui.life-layout .shop-owned-row { display:flex;align-items:center;gap:12px; }
.simple-ui.life-layout .shop-owned-art { display:block;flex:0 0 70px;width:70px;height:64px;object-fit:contain;border-radius:6px; }
.simple-ui.life-layout .shop-owned-copy { min-width:0;flex:1; }
.simple-ui.life-layout .shop-photo-frame { position:relative;overflow:hidden;background:#171b20;isolation:isolate; }
.simple-ui.life-layout .shop-photo-crop { position:absolute;display:block;width:100%;aspect-ratio:1;top:50%;left:0;translate:0 -50%;overflow:hidden; }
.simple-ui.life-layout .shop-photo-crop>img.shop-photo-tile { position:absolute;display:block;width:400%;height:400%;max-width:none;max-height:none;min-width:0;left:0;top:0;margin:0;padding:0;border:0;border-radius:0;object-fit:fill;transform-origin:0 0; }
.simple-ui.life-layout .shop-product-hero.shop-photo-frame { width:min(100%,360px);height:auto;aspect-ratio:1;margin:8px auto 16px; }
.simple-ui.life-layout .shop-device-art { display:block;flex:0 0 64px;width:64px;height:60px;border-radius:5px; }
.simple-ui.life-layout .simple-log-head { flex-wrap:wrap; }
.simple-ui.life-layout #simpleUseGoods { min-height:34px;font-size:12px;white-space:nowrap; }
.simple-ui.life-layout .shop-use-button { flex:0 0 auto;min-height:36px;padding:7px 10px;font-size:12px; }
.simple-ui.life-layout #log {
  font-size:15px;line-height:1.85;
  overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;
}
.simple-ui.life-layout #log .mo { font-size:11px;min-width:36px; }
.simple-ui.life-layout #log .yr { font-size:13px; }
.simple-ui.life-layout #log p { margin:12px 0;font-size:inherit; }
.simple-ui.life-layout #simpleInfoDetail {
  margin:0 0 16px;max-height:none;overflow:visible;
}
.cash-history { margin:18px 0;padding-top:14px;border-top:1px solid var(--border);font-size:12px; }
.cash-history h4 { margin:0 0 10px; }
.cash-history h5 { font-size:12px;margin:14px 0 6px; }
.cash-history summary { cursor:pointer;padding:10px 0;font-weight:600; }
.cash-history-account { border-bottom:1px solid var(--border); }
.cash-history-row { display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 0;border-bottom:1px solid var(--border); }
.cash-history-row>div { min-width:0;overflow-wrap:anywhere; }
.cash-history-row small { display:block;color:var(--muted);margin-top:4px; }
.cash-history-row>span { text-align:right;flex:0 1 48%; }
.simple-ui.life-layout #simplePanel-activities {
  grid-area:activities;min-height:0;display:flex;flex-direction:column;padding:14px;overflow:hidden;
}
.simple-ui.life-layout .simple-actions-head { flex:0 0 auto;margin-bottom:6px; }
.simple-ui.life-layout #simpleActivityCard {
  flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;
}
.simple-ui.life-layout .simple-actions-head { padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px; }
.simple-ui.life-layout .simple-actions-head h2 { font-size:18px;font-weight:600; }
.simple-ui.life-layout .simple-actions-head .simple-eyebrow { display:none; }
.simple-ui.life-layout #simpleShopButton { min-width:80px;min-height:44px; }
.simple-ui.life-layout #simpleShopButton b { font-size:13px; }
.simple-ui.life-layout #simpleShopButton small { font-size:11px; }
.simple-ui.life-layout #actLeft { flex:0 0 auto;margin:0 0 12px;font-size:12px;line-height:1.7; }
.simple-ui.life-layout #acts {
  flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-gutter:stable;scrollbar-width:thin;padding:0 6px 18px 0;
}
.simple-ui.life-layout .workspace-action-group { margin:0 0 20px; }
.simple-ui.life-layout .workspace-action-group:last-child { margin-bottom:0; }
.simple-ui.life-layout .workspace-action-group h3 { margin:0 0 8px;font-size:12px;font-weight:600; }
.simple-ui.life-layout .workspace-action-list { grid-template-columns:minmax(0,1fr);gap:8px; }
.simple-ui.life-layout .acts button { min-height:74px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.65;border-radius:7px;touch-action:manipulation; }
.simple-ui.life-layout .acts button small { display:block;font-size:12px;font-weight:400;line-height:1.65;margin-top:4px; }
.simple-ui.life-layout .acts button:active:not(:disabled) { border-color:var(--text); }
.simple-ui.life-layout #devCard { max-height:none;margin:0 0 14px;padding:14px;border:1px solid var(--border);border-radius:6px;background:var(--card);overflow:visible; }
.simple-ui.life-layout #devCard h4 { margin:0 0 10px;font-size:15px; }
.simple-ui.life-layout #simpleSkillsDetail { max-height:none;margin:0 0 14px;overflow:visible; }
.simple-ui.life-layout #simplePanel-assets {
  grid-area:assets;display:block;min-height:0;height:100%;overflow-y:auto;
  overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding-right:4px;
}
.simple-ui.life-layout .simple-finance-title { font-size:18px;margin:0 0 14px;line-height:1.5; }
.simple-ui.life-layout .simple-finance-grid { grid-template-columns:minmax(0,1fr); }
.simple-ui.life-layout .simple-finance-grid .card { padding:12px 14px; }
.simple-ui.life-layout .simple-finance-grid .simple-eyebrow { font-size:12px; }
.simple-ui.life-layout .simple-finance-grid strong { font-size:21px; }
.simple-ui.life-layout .simple-finance-grid small { font-size:11px; }
.simple-ui.life-layout #simpleFinance .card:first-child { border-left:3px solid var(--good); }
.simple-ui.life-layout #simplePanel-assets .kv,
.simple-ui.life-layout #simplePanel-assets #family,
.simple-ui.life-layout #simplePanel-assets .holding,
.simple-ui.life-layout #simplePanel-assets .asset-origin { font-size:12px; }
.simple-ui.life-layout #simpleInfoDetail>summary,
.simple-ui.life-layout #simpleSkillsDetail>summary { font-size:12px;min-height:44px;display:flex;align-items:center;gap:8px; }
.simple-ui.life-layout #simpleInfoDetail>summary::before,
.simple-ui.life-layout #simpleSkillsDetail>summary::before { content:"▸"; }
.simple-ui.life-layout #simpleInfoDetail[open]>summary::before,
.simple-ui.life-layout #simpleSkillsDetail[open]>summary::before { content:"▾"; }
.simple-ui.life-layout .workspace-asset-detail { display:block; }
.simple-ui.life-layout .workspace-asset-detail .card { max-height:none;overflow:visible;margin-bottom:14px; }
.simple-ui.life-layout #simpleShopInventory { max-height:none;overflow:visible; }
.simple-ui.life-layout #simplePanel-assets>.card { margin-bottom:14px; }
.simple-ui.life-layout #simpleBirthCertificate { min-height:38px;padding:8px 12px;text-align:left;font-size:12px;flex:0 0 auto; }
.simple-ui.life-layout #simpleLocation { color:var(--muted);font-size:11px;line-height:1.7;margin-top:5px;overflow-wrap:anywhere; }
.simple-ui.life-layout #simpleEconomy h3 { margin:0 0 12px;font-size:15px; }
.simple-ui.life-layout #simpleEconomy { font-size:12px;line-height:1.8; }
.simple-ui.life-layout .birth-certificate { padding:12px;border:1px solid var(--border);border-radius:6px; }
.simple-ui.life-layout .birth-certificate>p:first-child { font-size:19px;color:var(--text);margin-top:0; }
.simple-ui.life-layout .birth-certificate>p:nth-child(2) { font-size:12px;color:var(--muted); }
.simple-ui.life-layout .birth-certificate .kv { padding:10px 0; }
.simple-ui.life-layout .birth-certificate .kv span:last-child { overflow-wrap:anywhere; }
.simple-ui.life-layout .birth-summary { border-left:3px solid var(--muted);padding:8px 12px;background:var(--card2);border-radius:4px; }
.simple-ui.life-layout #log:focus-visible,
.simple-ui.life-layout #acts:focus-visible,
.simple-ui.life-layout #simplePanel-assets:focus-visible { outline:1px solid var(--muted);outline-offset:-1px; }
@media(min-width:1100px) and (max-width:1599px) {
  .simple-ui.life-layout #simplePanes {
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    grid-template-rows:minmax(0,1.5fr) minmax(0,1fr);
    grid-template-areas:"life activities" "assets activities";
  }
}
/* On narrow screens, move sideways between regions; vertical gestures still
   move only the chosen region. This keeps text readable without page scrolling. */
@media(max-width:1099px) {
  .simple-ui.life-layout .simple-game { grid-template-rows:54px minmax(0,1fr);gap:10px var(--game-gap); }
  .simple-ui.life-layout #gameTimeControls { height:54px;grid-template-columns:minmax(80px,1fr) auto minmax(100px,160px) 24px;padding:7px 10px; }
  .simple-ui.life-layout #simpleWorkspace { gap:9px; }
  .simple-ui.life-layout #simpleChapter h2 { font-size:22px; }
  .simple-ui.life-layout #simplePanes {
    display:flex;gap:0;position:relative;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none;
  }
  .simple-ui.life-layout #simplePanes::-webkit-scrollbar { display:none; }
  .simple-ui.life-layout #simplePanes>.simple-panel {
    flex:0 0 100%;width:100%;height:100%;min-height:0;scroll-snap-align:start;scroll-snap-stop:always;
  }
  .simple-ui.life-layout #simplePanel-assets { padding-right:0; }
  .simple-ui.life-layout #simplePanel-activities { padding:12px; }
  .simple-ui.life-layout .logcard { height:auto; }
  .simple-ui.life-layout #log { font-size:14px; }
}
@media(max-width:699px) {
  .simple-ui.life-layout #start { padding:20px;margin-top:24px; }
  .simple-ui.life-layout .home-heading h2 { font-size:24px; }
  .simple-ui.life-layout .home-actions button { font-size:16px; }
  .simple-ui.life-layout #btnGameHome { font-size:10px;padding:5px 7px; }
  .simple-ui.life-layout #mChoices:has(.shop-product-card) { grid-template-columns:minmax(0,1fr); }
  .simple-ui.life-layout .shop-product-card { min-height:90px;gap:10px; }
  .simple-ui.life-layout .shop-product-art { width:92px;height:82px;flex-basis:92px; }
  .simple-ui.life-layout .shop-product-copy { font-size:13px; }
  .simple-ui.life-layout .shop-product-copy small { font-size:11px; }
  .simple-ui.life-layout .shop-product-hero { height:170px; }
  .simple-ui.life-layout .simple-game { grid-template-rows:50px auto minmax(0,1fr);gap:8px; }
  .simple-ui.life-layout #gameTimeControls { grid-column:1;grid-row:1;height:50px;padding:6px 8px; }
  .simple-ui.life-layout #gameRail { grid-column:1;grid-row:2;max-height:190px;overflow-y:auto; }
  .simple-ui.life-layout #simpleWorkspace { grid-column:1;grid-row:3;gap:7px; }
  .simple-ui.life-layout .simple-profile { grid-template-columns:54px minmax(0,1fr); }
  .simple-ui.life-layout .simple-profile>.scene { min-height:66px; }
  .simple-ui.life-layout #avatar .avatar { width:45px;height:45px; }
  .simple-ui.life-layout .simple-profile>.scene+.card { padding-bottom:4px; }
  .simple-ui.life-layout #stats { gap:4px 10px; }
  .simple-ui.life-layout #simpleAchievements { min-height:24px;padding:3px; }
  .simple-ui.life-layout #simpleBirthCertificate { min-height:26px;padding:3px 6px;font-size:10px; }
  .simple-ui.life-layout #simpleLocation { font-size:9px;line-height:1.5; }
  .simple-ui.life-layout #simpleNav { padding-top:4px; }
  .simple-ui.life-layout #simpleChapter h2 { font-size:20px; }
  .simple-ui.life-layout .simple-finance-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:5px; }
  .simple-ui.life-layout .simple-finance-grid .simple-household { grid-column:1/-1; }
  .simple-ui.life-layout .simple-finance-grid .card { padding:6px; }
  .simple-ui.life-layout .simple-finance-grid strong { font-size:13px; }
  .simple-ui.life-layout .simple-finance-grid small { display:none; }
  .simple-ui.life-layout .simple-finance-grid .simple-eyebrow { font-size:8px;line-height:1.3;display:block; }
  .simple-ui.life-layout .wrap>p.muted,
  .simple-ui.life-layout .wrap>details { display:none; }
}
