/* Jenong's warm paper, sage and honey palette; all life controls remain native DOM. */
.life-panel{color:#405842}.life-panel .panel-head h2{font-size:28px;line-height:1.14;letter-spacing:-.75px}.life-panel .panel-head>p{line-height:1.6}.life-panel .panel-body{font-size:12px;line-height:1.65}.life-panel .panel-body>p{font-size:11px;line-height:1.8}.life-panel h3{margin:0;color:#476148;font-size:14px;font-weight:650;line-height:1.35}.life-panel button:focus-visible,.life-panel select:focus-visible,.life-panel input:focus-visible{outline:3px solid #c8a359;outline-offset:3px}.life-panel button[disabled]{cursor:not-allowed;opacity:.52}.life-panel svg{flex-shrink:0}.life-panel .life-button svg{width:17px;height:17px}.life-panel .life-button{font-size:11px;min-height:40px;justify-content:center;gap:7px}.life-button-row{display:flex;gap:8px;margin:15px 0;align-items:stretch}.life-button-row>.button{flex:1;min-width:0;padding-left:10px;padding-right:10px}.life-note{padding:12px 14px;background:#f2f2e7;border:1px solid #e4e7d6;border-radius:10px;color:#819172;font-size:10px;line-height:1.8;margin:17px 0 10px}.life-note strong{color:#6c815d}.life-note.warning{background:#f8f0db;border-color:#eaddb8;color:#9b8251}.life-muted{color:#929e82;font-size:10px;line-height:1.8;margin:12px 0}.life-chip{display:inline-flex;align-items:center;padding:5px 8px;font-size:8px;line-height:1.2;font-weight:650;background:#e9efdf;border:1px solid #dfe7d1;border-radius:20px;color:#829465;white-space:normal}.life-section-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#a0aa94;font-size:9px;margin:0 0 17px}.life-panel .section-label{margin-top:23px;font-size:9px;letter-spacing:1.1px}.life-empty{text-align:center;padding:35px 10px;color:#9da88d}.life-empty>svg{width:40px;height:40px;margin:0 auto 15px;color:#bdc8a9}.life-empty h3{font-family:Georgia,serif;font-weight:400;font-size:23px}.life-empty p{font-size:11px}.life-field-label{font-size:9px;color:#7d926e;display:block;text-align:left;margin-bottom:4px}.life-select{width:100%;font:inherit;font-size:11px;min-height:39px;padding:8px 26px 8px 10px;border:1px solid #dce3cf;border-radius:7px;background:#fffdf5;color:#607a53;outline:none;appearance:auto}.life-select:focus{border-color:#9cb884}.life-growth{height:6px;overflow:hidden;background:#e1e7d7;border-radius:10px}.life-growth>span{display:block;height:100%;background:#9bb67e;border-radius:10px;transition:width .5s}.life-status{display:inline-flex;font-size:8px;font-weight:650;line-height:1.2;border-radius:20px;padding:5px 8px;color:#7c9c66;background:#e7eedb}.life-status.warning{color:#b58f4c;background:#f3e9cf}.life-status.success{color:#6d9858;background:#e3ecd6}

/* Citizen card and income */
.life-citizen-card{background:linear-gradient(120deg,#eeead5,#e1e8cf);border:1px solid #d7dfc5;border-radius:15px;box-shadow:0 7px 20px #71845b0c;position:relative;overflow:hidden;padding:19px 17px 14px}.life-citizen-card:before{content:"";position:absolute;right:-33px;top:59px;width:130px;height:130px;border:1px solid #91a87d25;border-radius:50%;box-shadow:0 0 0 16px #91a87d0a,0 0 0 32px #91a87d08;pointer-events:none}.life-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#82936d;font-size:7px;font-weight:700;letter-spacing:1px}.life-card-top>span:first-child{display:flex;align-items:center;gap:6px}.life-card-top svg{height:16px;width:16px}.life-card-identity{display:flex;gap:14px;align-items:center;margin:24px 0}.life-card-monogram{width:62px;height:70px;border-radius:13px 13px 24px 24px;background:linear-gradient(145deg,#ded4b2,#d4dbb9);display:grid;place-items:center;border:2px solid #f8f6e5;font:700 34px Georgia,serif;color:#7e9064;flex-shrink:0}.life-card-identity h3{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.7px;overflow-wrap:anywhere}.life-card-identity p{font-size:8px;letter-spacing:1.2px;color:#93a17d;margin:5px 0 8px}.life-card-identity .life-chip{background:#f5f4e5b3;border-color:#e8ead7;font-size:7px}.life-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:17px 10px;margin:0 0 20px;position:relative}.life-card-facts dt{font-size:7px;color:#96a482;margin-bottom:5px;text-transform:uppercase;letter-spacing:.8px}.life-card-facts dd{font-family:Georgia,serif;font-size:13px;line-height:1.5;margin:0;color:#617654;overflow-wrap:anywhere}.life-card-bottom{border-top:1px solid #cbd5b5;padding-top:11px;font-size:7px;letter-spacing:1px;color:#869874;display:flex;justify-content:space-between;gap:5px}.life-card-bottom>span{font-family:Georgia,serif;font-style:italic;letter-spacing:0;font-size:9px}.life-skill-list{display:flex;flex-direction:column;gap:13px}.life-skill-row{display:grid;grid-template-columns:83px 1fr 30px;align-items:center;gap:8px;font-size:10px;color:#8d9c7e}.life-skill-row>strong{font-size:9px;font-weight:500;text-align:right}.life-skill-track{height:5px;border-radius:10px;background:#e6ebdd;overflow:hidden}.life-skill-track>span{height:100%;display:block;background:#abbf8e;border-radius:10px}.life-salary{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f4edd8;border:1px solid #e8dfc0;border-radius:11px;padding:15px 12px}.life-salary small{font-size:7px;letter-spacing:1px;color:#b09b67;display:block;margin-bottom:7px}.life-salary strong{display:flex;align-items:center;gap:5px;font-family:Georgia,serif;font-size:26px;font-weight:400;color:#a88b4f;line-height:1}.life-salary strong svg{width:21px;height:21px}.life-salary strong>span{font-family:inherit;font-size:13px}.life-salary .life-button{width:auto;min-width:92px;padding:10px 12px;font-size:10px}.life-energy{padding:14px 15px;background:#f1f3e7;border:1px solid #e1e7d5;border-radius:10px;margin:16px 0}.life-energy>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#91a17a;margin-bottom:10px}.life-energy>div:first-child span{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1px;font-weight:650}.life-energy svg{width:15px;height:15px;color:#b4a268}.life-energy strong{font-size:11px;color:#849b67}.life-energy p{font-size:9px;line-height:1.6;margin:8px 0 0;color:#9ca98c}

/* Garden: every plot has independent accessible status and action. */
.life-garden-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.life-plot{border:1px solid #dfe5d2;background:#f8f8ee;border-radius:12px;padding:12px 10px;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:stretch}.life-plot-label{display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:7px;letter-spacing:1.2px;color:#a0ad8d;font-weight:650}.life-plot-label svg{width:12px;height:12px;color:#9eb481}.life-plot-art{height:75px;display:flex;align-items:center;justify-content:center;margin:1px 0 4px}.life-plot-art svg{height:100%;width:100%;max-width:110px}.life-plot-art.empty>svg{height:40px;width:40px;color:#b3c29c}.life-plot h3{font-size:12px;line-height:1.4;margin-bottom:8px}.life-plot .life-status{align-self:center;margin:0 0 10px;font-size:7px;padding:5px 6px}.life-plot p{font-size:8px;line-height:1.6;color:#9ca98b;margin:7px 0}.life-plot>small{font-size:8px;line-height:1.7;color:#a2ad93;margin:5px 0 10px;min-height:27px}.life-plot .life-button{font-size:9px;padding:8px 6px;min-height:37px;margin-top:auto;white-space:normal}.life-plot .life-button svg{width:13px;height:13px}.life-plot .life-select{font-size:9px;padding:7px 2px 7px 5px;min-height:36px}.life-plot.ready{background:#f1f6e6;border-color:#cadab3}.life-plot.wet{border-color:#cfded3;background:#f3f7ee}.life-plot.dry{background:#f8f5e8;border-color:#e6dec5}.life-plot.locked{background:#f2f2e9;border-style:dashed;border-color:#dedfce}.life-plot.locked h3{color:#a4af94;font-weight:500;font-family:Georgia,serif;font-size:14px}.life-plot.locked .life-plot-art>svg{width:26px;height:26px;color:#b9c2aa}.life-plot.locked p{margin:0 0 13px}.life-plot.locked>small{font-size:7px}

/* Garage, pantry and missions */
.life-vehicle-list{display:flex;flex-direction:column;gap:13px}.life-vehicle-card{border:1px solid #e2e7d7;border-radius:12px;background:#f7f8ef;padding:16px 12px;display:flex;gap:14px;align-items:center}.life-vehicle-card.equipped{background:#edf3e4;border-color:#d5e1c6}.life-vehicle-art{height:73px;width:75px;background:#e9eede;border-radius:14px;display:grid;place-items:center;flex-shrink:0;color:#9bab83}.life-vehicle-art svg{height:47px;width:47px;stroke-width:1.2}.life-vehicle-description{flex:1;min-width:0}.life-vehicle-description h3{font-family:Georgia,serif;font-size:19px;font-weight:400}.life-vehicle-description p{font-size:9px;color:#9ba78d;margin:6px 0 11px}.life-vehicle-description .life-button{min-height:34px;font-size:9px;padding:8px 10px}.life-vehicle-description .life-chip{font-size:7px}.life-mission-list{display:flex;flex-direction:column;gap:14px}.life-mission{display:grid;grid-template-columns:37px 1fr;gap:12px;padding:16px 13px;border:1px solid #e1e7d3;background:#f7f8ee;border-radius:12px}.life-mission.claimed{background:#f1f4e8;opacity:.8}.life-mission-icon{height:37px;width:37px;display:grid;place-items:center;background:#e9eedc;border-radius:10px;color:#a7b98b}.life-mission-icon svg{height:21px;width:21px}.life-mission h3{font-size:12px}.life-mission p{font-size:9px;color:#9aaa88;margin:7px 0 10px}.life-mission .life-button{margin-top:13px;min-height:34px;font-size:9px;padding:8px 10px}.life-food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.life-food{min-width:0;border:1px solid #e3e6d4;border-radius:11px;padding:14px 10px;background:#f8f7eb;text-align:center;display:flex;flex-direction:column;align-items:stretch}.life-food-icon{height:43px;width:43px;margin:0 auto 10px;background:#f0ead4;border-radius:50%;display:grid;place-items:center;color:#b2a06d}.life-food-icon svg{height:23px;width:23px}.life-food h3{font-family:Georgia,serif;font-size:16px;line-height:1.3;font-weight:400}.life-food p{font-size:8px;color:#a5ad92;margin:8px 0 12px}.life-food .life-button{font-size:9px;padding:7px 6px;min-height:35px;margin-top:auto}.life-seed-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.life-seed-card{display:flex;align-items:center;gap:14px;padding:13px 10px;background:#f6f7ec;border:1px solid #e1e7d3;border-radius:10px}.life-seed-art{height:62px;width:71px;flex-shrink:0}.life-seed-art svg{height:100%;width:100%}.life-seed-card h3{font-size:13px}.life-seed-card p{font-size:10px;color:#9baa86;margin:5px 0}.life-seed-card small{font-size:9px;color:#a6b194}

/* Mail and NPC guest book */
.life-letter-list{display:flex;flex-direction:column;gap:15px}.life-letter{padding:17px 15px;border:1px solid #e4e5d5;background:#f8f6e9;border-radius:12px}.life-letter.unread{background:#f5f3e1;border-color:#dedcbd}.life-letter-head{display:flex;align-items:flex-start;gap:11px}.life-letter-icon{height:32px;width:32px;border-radius:9px;background:#ece9cf;display:grid;place-items:center;color:#b4a56b;flex-shrink:0}.life-letter-icon svg{height:19px;width:19px}.life-letter-author{font-size:7px;letter-spacing:1px;color:#b0a278;text-transform:uppercase}.life-letter h3{font-family:Georgia,serif;font-size:19px;font-weight:400;line-height:1.35;margin:5px 0}.life-letter-head small{font-size:8px;color:#a9af94}.life-letter>p{font-family:Georgia,serif;font-size:14px;line-height:1.9;color:#8b9479;white-space:pre-wrap;overflow-wrap:anywhere;margin:19px 0}.life-letter>.life-button{font-size:9px;min-height:34px;background:#eeeddc;border-color:#e0e2ca;color:#9ca47c}.life-neighbor-list{display:flex;flex-direction:column;gap:7px}.life-neighbor{display:flex;align-items:center;text-align:left;gap:12px;padding:11px 6px;border-bottom:1px solid #e8ecdf;background:transparent;width:100%}.life-neighbor:hover{background:#f2f5e8;border-radius:8px}.life-neighbor-avatar{height:38px;width:38px;border-radius:50%;display:grid;place-items:center;font:400 19px Georgia,serif;background:color-mix(in srgb,var(--avatar-color),transparent 83%);color:var(--avatar-color);flex-shrink:0}.life-neighbor>span:nth-child(2){flex:1;min-width:0}.life-neighbor strong{display:block;font-size:11px;font-weight:600;color:#7a8f67;overflow-wrap:anywhere}.life-neighbor small{display:block;font-size:9px;color:#a3ae94;margin-top:4px}.life-neighbor>span:last-child svg{width:17px;height:17px;color:#b0bc9f}.life-visit-hero{padding-bottom:17px;text-align:center}.life-visit-hero .life-house-illustration{max-height:190px;margin:-15px 0 0}.life-visit-hero h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:10px 0 5px}.life-visit-hero p{font-size:11px;color:#9baa89;margin:0}.life-sticker-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.life-sticker-options button{border:1px solid #e1e7d3;border-radius:10px;background:#f5f7eb;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#a5b281;padding:10px 5px}.life-sticker-options button:hover{background:#edf3df;transform:translateY(-2px)}.life-sticker-options svg{width:27px;height:27px;stroke-width:1.3}.life-sticker-options button:first-child{color:#c49a8a}.life-sticker-options button:nth-child(2){color:#c8b06d}.life-sticker-options span{font-size:8px;line-height:1.5}.life-visit-log>div{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #e9ecdf}.life-visit-log>div>span{height:29px;width:29px;display:grid;place-items:center;color:#b3ba96;background:#eef1e4;border-radius:50%}.life-visit-log svg{width:15px;height:15px}.life-visit-log p{font-size:10px;color:#91a07d;margin:0}.life-visit-log small{display:block;font-size:8px;color:#b1b89f;margin-top:3px}

/* Custom home: native selects/radios, local draft preview and an explicit save. */
.life-home-form{margin:0}.life-house-preview{margin:-12px -10px 0;min-height:210px;background:radial-gradient(ellipse at 50% 65%,#edf0dc 0,transparent 70%);border-radius:12px}.life-house-illustration{display:block;width:100%;height:auto;max-height:250px}.life-preview-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 22px;font-size:9px;color:#a5ad94}.life-preview-caption .draft{color:#b19a62}.life-home-fields{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin:17px 0}.life-home-fields>label{font-size:9px;color:#8b9e77;display:flex;flex-direction:column;gap:7px}.life-home-fields .life-select{font-size:10px;min-height:38px}.life-swatches{border:0;margin:18px 0;padding:0}.life-swatches legend{font-size:9px;color:#8b9e77;padding:0;margin-bottom:10px}.life-swatches>div{display:flex;gap:10px;flex-wrap:wrap}.life-swatch{display:block;position:relative;width:31px;height:31px;cursor:pointer}.life-swatch>input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}.life-swatch>span:first-of-type{display:block;background:var(--swatch);height:27px;width:27px;border:3px solid #fffdf3;box-shadow:0 0 0 1px #dfe5d2;border-radius:50%;margin:2px;transition:transform .15s}.life-swatch input:checked+span{box-shadow:0 0 0 2px #8fa774;transform:scale(1.07)}.life-swatch input:focus-visible+span{outline:3px solid #b49454;outline-offset:4px}.life-home-form .life-button-row{margin-top:24px}

.life-home-field{min-width:0}.life-home-field>label:first-child{font-size:9px;color:#8b9e77;display:flex;flex-direction:column;gap:7px}.life-draft-lock{display:flex;align-items:center;gap:5px;min-height:25px;margin-top:5px;font-size:7px;color:#a0ac8e;cursor:pointer}.life-draft-lock>input{height:12px;width:12px;accent-color:#91a875;margin:0}.life-draft-lock>svg{height:10px;width:10px}.life-swatches>.life-draft-lock{margin-top:9px}
@media(max-width:600px){.life-panel .panel-head h2{font-size:27px}.life-panel .panel-body{padding-left:21px;padding-right:21px}.life-garden-grid{gap:10px}.life-plot{padding:13px 11px}.life-plot .life-button{font-size:10px;min-height:41px}.life-select{font-size:12px;min-height:42px}.life-card-facts dd{font-size:14px}.life-vehicle-art{width:68px;height:70px}.life-salary{gap:8px}.life-button-row>.button{font-size:10px}.life-sticker-options button{min-height:87px}.life-swatches>div{gap:13px}.life-swatch{height:34px;width:34px}.life-swatch>span:first-of-type{height:29px;width:29px}.life-panel .life-neighbor{min-height:62px}.life-neighbor strong{font-size:12px}.life-neighbor small{font-size:10px}.life-draft-lock{min-height:30px;font-size:8px}.life-draft-lock>input{height:15px;width:15px}}
@media(prefers-reduced-motion:reduce){.life-panel *{transition:none!important}.life-sticker-options button:hover{transform:none}}
