.life-shell { position:fixed; inset:0; z-index:40; overflow:auto; background:#f3edde; color:#3d342b; padding:clamp(16px,3vw,42px); font-family:var(--kai); box-sizing:border-box; }
.life-shell * { box-sizing:border-box; }
.life-header { display:flex; justify-content:space-between; gap:20px; border-bottom:2px solid #8b775a; padding-bottom:18px; }
.life-header h1 { font-size:clamp(30px,4vw,48px); margin:5px 0; font-weight:500; }
.life-header p { margin:0; color:#76634e; }
.life-header small { letter-spacing:2px; }
.life-tools { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.life-shell button,.life-shell select { position:static; min-height:44px; width:auto; margin:0; padding:9px 17px; border:1px solid #8b775a; border-radius:3px 7px 4px 6px; background:#faf5e8; color:#3d342b; font:inherit; cursor:pointer; }
.life-shell button:hover:not(:disabled) { background:#e9dfc8; }
.life-shell button:focus-visible,.life-shell input:focus-visible,.life-shell select:focus-visible { outline:3px solid #9c4435; outline-offset:3px; }
.life-shell button:disabled { opacity:.5; cursor:not-allowed; }
.life-status { min-height:24px; margin:8px 0; color:#8b3f32; }
.life-stats { display:grid; grid-template-columns:repeat(6,1fr); border-bottom:1px solid #c6b799; padding:10px 0 18px; gap:12px; }
.life-stats small,.life-stats strong { display:block; }
.life-stats strong { font-size:clamp(20px,2vw,30px); font-weight:500; margin-top:5px; }
.life-tabs { display:flex; gap:8px; margin:20px 0; flex-wrap:wrap; }
.life-tabs button[aria-pressed="true"] { background:#594c3e; color:#fff7e6; }
.life-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:30px; max-width:1450px; margin:auto; }
.life-main { min-width:0; }
.life-main h2 { font-weight:500; font-size:28px; }
.life-side { border-left:1px solid #c6b799; padding-left:25px; }
.life-side p,.life-main p { line-height:1.65; }
.life-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.life-action { margin:8px 0; }
.life-action small { display:block; color:#77634d; margin-top:5px; line-height:1.4; }
.life-action button { width:100%; }
.life-help { font-size:14px; color:#77634d; margin:7px 0; }
.life-map { width:100%; height:auto; border-bottom:1px solid #c6b799; }
.life-market-row { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; align-items:center; gap:16px; border-top:1px solid #c6b799; }
.life-intro { max-width:720px; margin:45px auto; padding:30px; border:1px solid #c6b799; line-height:1.8; }
.life-intro button,.life-intro select { margin:8px; }
.life-import { display:block; margin:14px 0; }
.life-import input { display:block; max-width:100%; margin-top:8px; }
.life-main li { padding:8px 0; border-bottom:1px solid #dfd2b9; }
@media(max-width:760px) { .life-layout { grid-template-columns:1fr; } .life-side { border-left:0; border-top:1px solid #c6b799; padding:15px 0; } .life-stats { grid-template-columns:repeat(3,1fr); } .life-header { flex-direction:column; } .life-market-row { grid-template-columns:1fr 1fr; gap:4px 14px; } .life-shell { padding:16px; } .life-intro { margin:20px auto; padding:16px; } }

.life-shell .life-tabs button[aria-pressed="true"],.life-shell .life-tabs button[aria-pressed="true"]:hover { background:#594c3e; color:#fff7e6; }
.life-town-art { display:block; width:100%; height:auto; max-height:160px; object-fit:contain; }
.life-prices { width:100%; border-collapse:collapse; text-align:left; }
.life-prices th,.life-prices td { padding:10px 6px; border-bottom:1px solid #c6b799; font-weight:400; }

.life-equipment {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.life-item {padding:18px;border:1px solid #c6b799;border-radius:3px 8px 4px 6px;background:#f7f0e0;}
.life-item strong {color:#8b3f32;font-weight:400;}

.life-town-scene {display:block;width:100%;height:clamp(360px,44vw,560px);margin:16px 0;background:#f3edde;border:1px solid #c6b799;border-radius:4px 8px 3px 5px;touch-action:pan-y;}
.life-town-scene:focus-visible {outline:3px solid #9c4435;outline-offset:3px;}
.life-destinations {display:flex;flex-wrap:wrap;gap:10px;}
.life-room {padding:20px;border:1px solid #c6b799;background:#f8f1e2;margin-top:16px;}
.life-world-preview:empty {display:none;}
.life-world-preview {border-left:3px solid #9c4435;padding:12px 20px;margin:12px 0;}
