.life-dialog{width:min(960px,94vw);max-height:90vh;border:1px solid #d5c7aa;border-radius:22px;padding:0;background:#fbf5e9;color:#354c40;box-shadow:0 20px 80px #172d4266;font-family:Quicksand,sans-serif}.life-dialog::backdrop{background:#18342d66;backdrop-filter:blur(3px)}.life-dialog header{display:flex;justify-content:space-between;gap:16px;padding:22px 24px 14px;align-items:center}.life-dialog header small{letter-spacing:.18em;font-size:10px;color:#8c6e52}.life-dialog h2{font:30px Georgia;margin:5px 0}.life-dialog nav{display:flex;gap:8px;padding:8px 24px;flex-wrap:wrap;border-bottom:1px solid #dfd4bf}.life-dialog button{border:1px solid #abbba4;border-radius:16px;background:#fdfaf2;color:#375744;padding:10px 15px;cursor:pointer;font:600 13px Quicksand,sans-serif;margin:4px 5px 4px 0}.life-dialog button:hover:not(:disabled),.life-dialog button[aria-pressed=true]{background:#52765a;color:#fff}.life-dialog button:disabled{opacity:.45;cursor:default}.life-dialog button:focus-visible{outline:3px solid #bd8a48;outline-offset:2px}.life-message{margin:0;padding:10px 24px;color:#795836;min-height:40px}.life-body{padding:4px 24px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:60vh;overflow:auto}.life-card{border:1px solid #e2d8c3;background:#fffdf7;padding:18px;border-radius:14px}.life-card h3{font:22px Georgia;margin:0 0 8px}.life-card p{font-size:13px;line-height:1.65;margin:8px 0}.life-card small{display:block;color:#7b7868;margin:6px 0}.life-dialog progress{display:block;width:100%;height:14px;accent-color:#749575;margin:12px 0}.life-challenge{grid-column:1/-1;border-radius:18px;background:#fffdf7;padding:24px}.life-challenge h3{font:28px Georgia;margin:0 0 10px}.life-challenge p{line-height:1.7}.life-playfield{padding:30px 20px;border-radius:14px;min-height:180px;background:#eee5d5}.life-track{height:44px;position:relative;background:#d9cbb8;border-radius:10px;overflow:hidden}.life-target{position:absolute;top:0;height:100%;background:#81a786}.life-needle{position:absolute;top:0;height:100%;width:5px;background:#47352c;transform:translateX(-50%)}.life-fabric{display:flex;height:75px;gap:4px;padding-top:15px}.life-fabric span{flex:1;background:repeating-linear-gradient(0deg,#c4a5b2 0 4px,#ecd5dc 4px 8px);border:2px solid #b994a3;border-radius:3px}.life-fabric span.fine{border-color:#c6a24c}.life-fabric span.loose{opacity:.4}.life-water{background:linear-gradient(155deg,#bcdad5,#7fadb3);position:relative}.life-float{font-size:32px;text-align:center;color:#bc704f;animation:life-bob 2s ease-in-out infinite}.life-float.biting{animation:life-bob .22s ease-in-out infinite}.life-water label{font-size:12px;font-weight:bold}.life-feedback{min-height:28px;font-weight:600}#life-nearby,#life-route{position:absolute;z-index:12;bottom:94px;left:50%;transform:translateX(-50%);border:1px solid #eee4c9;border-radius:24px;background:#365747ed;color:#fff8e7;padding:12px 20px;font:600 13px Quicksand,sans-serif;cursor:pointer;max-width:90vw}#life-route{bottom:145px;background:#faf4e7ed;color:#375744;font-size:12px}[hidden]{display:none!important}@keyframes life-bob{50%{transform:translateY(7px)}}@media(max-width:600px){.life-body{grid-template-columns:1fr;padding:10px;max-height:60vh}.life-dialog header{padding:15px}.life-dialog h2{font-size:23px}.life-dialog nav{padding:8px}.life-challenge{padding:12px}}@media(prefers-reduced-motion:reduce){.life-float{animation:none}}
.life-dialog{margin:auto}.life-dialog .life-playfield{touch-action:manipulation}

#journey-card{top:var(--life-journey-top,130px)}
/* One journal: clear pages, focused decisions, and a real inventory. */
.life-dialog{width:min(1000px,94vw);height:min(760px,90vh);max-height:90vh;overflow:hidden;border-radius:20px;background:#f8f3e8;box-shadow:0 28px 100px #152c3b66;color:#2f463b}
.life-dialog header{height:102px;padding:20px 30px;background:#fffaf0;border-bottom:1px solid #dfd7c7}.life-dialog header small{color:#73816d;letter-spacing:.2em}.life-dialog h2{font:32px Georgia;margin:3px 0}.life-balance{font-size:12px;color:#86683e}.life-dialog nav{position:absolute;left:0;top:102px;bottom:0;width:180px;padding:22px 14px;display:flex;flex-direction:column;justify-content:flex-start;flex-wrap:nowrap;gap:8px;background:#eceedd;border:0;border-right:1px solid #dce0cb}.life-dialog nav button{margin:0;text-align:left;padding:13px 16px;border:0;border-radius:9px;background:transparent;font-size:14px;color:#5a6b57}.life-dialog nav button[aria-pressed=true]{background:#365d49;color:white;box-shadow:0 3px 8px #365d4922}.life-message{position:absolute;left:180px;top:102px;right:0;padding:12px 28px;height:48px;font-size:12px;background:#f8f3e8;overflow:auto}.life-message:empty{display:none}.life-body{position:absolute;left:180px;right:0;top:150px;bottom:0;max-height:none;padding:0 28px 24px;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px}.life-section{grid-column:1/-1;margin:4px 0 8px}.life-section h3{font:26px Georgia;margin:0 0 8px}.life-section p{font-size:13px;line-height:1.6;color:#6e7665;max-width:570px}.life-card{padding:19px;border-radius:12px;background:#fffcf5;border:1px solid #e2dbc9;box-shadow:0 2px 3px #4f583305}.life-card h3{font:21px Georgia;line-height:1.25}.life-card p{color:#59624f;margin:10px 0;font-size:13px;line-height:1.65}.life-card small{font-size:11px;line-height:1.5;color:#7a765e}.life-card>small:first-child{font-weight:700;letter-spacing:.07em;color:#67806a;margin:0 0 9px}.life-card button{font-size:12px;padding:9px 13px;border-radius:8px}.life-card button:first-of-type{background:#3e6650;color:#fffaf0;border-color:#3e6650}.life-feature{grid-column:1/-1;background:#eaf0e1;border-color:#a9b99a;border-left:4px solid #52765a}.life-feature h3{font-size:25px}.life-feature>p{font-size:14px;max-width:600px}.life-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #e2dbc9;padding-bottom:10px}.life-filters button{font-size:12px;border:0;background:transparent;margin:0;padding:8px 12px;border-radius:7px}.life-card details{font-size:12px;margin-top:12px;line-height:1.6}.life-card summary{cursor:pointer;color:#637660}.life-body[data-page=quests]{grid-template-columns:1fr}.life-body[data-page=quests] .life-card:not(.life-feature){box-shadow:none}.life-inventory{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.life-inventory .life-slot{display:flex;flex-direction:column;align-items:center;position:relative;padding:13px 7px 11px;gap:8px;border-radius:12px;border:1px solid #ddd5c2;background:#fffcf6;margin:0;min-height:120px;color:#344f40}.life-slot strong{font-size:11px;text-align:center;line-height:1.35}.life-slot .life-quantity{position:absolute;right:8px;top:7px;font-size:12px;font-weight:bold}.life-inventory .life-slot[aria-pressed=true]{background:#e4ecdc;border:2px solid #668361;color:#344f40}.life-item-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;font:19px Georgia;color:#65815b;background:#e8edda;margin-top:5px}.life-item-icon[data-kind=Material]{background:repeating-linear-gradient(45deg,#e7d7dc 0 4px,#efe2e4 4px 8px);color:#8a5a6e;border-radius:8px}.life-item-icon[data-kind=Ingredient]{background:#f3e2c4;color:#947246}.life-item-icon[data-kind=Fish],.life-item-icon[data-kind=Fishing]{background:#d8e9e7;color:#4b8283}.life-item-icon[data-kind="Finished goods"]{background:#e9dcbd;color:#866633}.life-item-detail{grid-column:1/-1;border-color:#bdc8ae;background:#f1f3e8}.life-challenge{padding:20px}.life-dialog button{transition:background .15s,color .15s}.life-dialog button:disabled{opacity:.55}
#destination-marker{position:static!important;left:auto!important;top:auto!important;bottom:auto;transform:none;width:max-content;max-width:min(470px,90vw);padding:12px 18px!important;border-radius:14px!important;display:flex;gap:14px;align-items:center;background:#faf6eaf5!important;border:1px solid #aebca6!important;color:#354e40!important;box-shadow:0 4px 18px #172d4226}.nav-arrow{display:block;font:32px sans-serif;width:32px;text-align:center;flex-shrink:0}.nav-copy{display:flex;flex-direction:column;gap:4px}.nav-copy strong{font-size:13px}.nav-copy small{font-size:10px;color:#6b7664}#destination-marker.arrived .nav-arrow{color:#4e855c}#life-nearby{bottom:102px;font-size:12px;padding:9px 16px}#life-route{display:none!important}
@media(max-width:700px){.life-dialog{width:96vw;height:92vh;max-height:92vh}.life-dialog header{height:94px;padding:14px 18px}.life-dialog h2{font-size:26px}.life-dialog header button{font-size:11px;padding:8px}.life-dialog nav{position:absolute;top:94px;bottom:auto;width:100%;height:55px;flex-direction:row;justify-content:space-evenly;padding:6px;border-right:0}.life-dialog nav button{font-size:12px;padding:8px 12px}.life-message{left:0;top:149px;height:45px;padding:8px 16px}.life-body{left:0;top:194px;padding:0 16px 18px;grid-template-columns:1fr}.life-inventory{grid-template-columns:repeat(3,minmax(0,1fr))}.life-section h3{font-size:23px}#guide-controls{bottom:12px}#destination-marker{max-width:90vw}#life-nearby{bottom:90px}}
.life-dialog nav button:hover:not([aria-pressed=true]){background:#dce3d0;color:#344f40}.life-item-icon svg{width:39px;height:39px}.quest-conversation nav,.quest-conversation .journal-intro,.quest-conversation #journal-summary{display:none}.quest-conversation #journal-content{grid-template-columns:1fr}.quest-conversation #journal-title{font-size:26px}
.life-body[data-page=bag] .life-inventory{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));align-self:start}.life-body[data-page=bag] .life-item-detail{grid-column:2;grid-row:2;align-self:start;position:sticky;top:0;min-height:220px}.life-body[data-page=bag] .life-slot{min-height:103px;padding:9px 5px;gap:5px}.life-body[data-page=bag] .life-item-icon{width:40px;height:40px}.life-body[data-page=bag] .life-item-icon svg{width:33px;height:33px}
@media(max-width:700px){.life-body[data-page=bag] .life-inventory{grid-column:1/-1}.life-body[data-page=bag] .life-item-detail{grid-column:1/-1;grid-row:auto;position:static;min-height:0}}

/* Live activities keep the world visible; only controls occupy the screen edge. */
.activity-hud{position:fixed;z-index:80;bottom:30px;left:32px;width:min(360px,calc(100vw - 64px));padding:20px 24px;color:#fff9e8;background:linear-gradient(110deg,rgba(25,43,36,.94),rgba(25,43,36,.72));border-left:3px solid #dfc68c;border-radius:3px;box-shadow:0 12px 45px #0002;font:14px/1.5 Quicksand,sans-serif}
.activity-hud small{font-size:10px;letter-spacing:.22em;color:#dfc68c}.activity-hud h3{font:26px Georgia;margin:3px 0 10px}.activity-hud p{margin:8px 0}.activity-hud button{background:transparent;color:#fff9e8;border:1px solid #ffffff50;padding:7px 12px;margin:6px 6px 0 0;border-radius:3px;cursor:pointer}.activity-hud button:hover{background:#ffffff18}.activity-hud .life-feedback{font-weight:700;color:#efcf85}.activity-fishing-meters label{display:block;font-size:12px}.activity-fishing-meters progress{display:block;width:100%;height:5px;accent-color:#dfc68c;margin:4px 0 10px}.playing-activity #game-ui,.playing-activity #journey-card,.playing-activity #guide-controls,.playing-activity #life-nearby,.playing-activity #dev-hud,.playing-activity #dev-sounds{visibility:hidden}.activity-result{position:fixed;z-index:100;bottom:100px;left:50%;transform:translateX(-50%);max-width:560px;padding:18px 26px;background:#263f35ed;color:#fff8e8;border-bottom:2px solid #dfc68c;font:16px/1.5 Quicksand,sans-serif;pointer-events:none}
.fish-float{position:fixed;z-index:85;left:-999px;top:0;width:230px;padding:14px 16px 16px;color:#fff9e8;--ink:0 0 1px #10201a,0 0 2px #10201a,0 1px 3px #10201acc;text-shadow:var(--ink);font:700 13px/1.4 Quicksand,sans-serif}.fish-float[hidden]{display:none}.fish-float label{display:block;font-size:13px}.fish-float progress{display:block;width:100%;height:6px;filter:drop-shadow(0 1px 3px #0008);accent-color:#dfc68c;margin:4px 0 10px}.fish-status{margin:4px 0 10px;min-height:2.8em;font-size:15px;font-weight:700;color:#ffe29a}.fish-tension{font-size:13px;margin-bottom:6px}.fish-tension-bar{position:relative;height:10px;margin:4px 0;border-radius:5px;background:linear-gradient(90deg,#1d332a99 0 75%,#c9473dcc 75%);box-shadow:0 1px 4px #0005;overflow:hidden}.fish-tension-bar i{display:block;height:100%;width:0;background:#dfc68c;border-radius:5px;transition:width .08s linear}.fish-tension-bar[data-danger=true] i{background:#e0574a}.fish-float .fish-reel{display:block;width:100%;padding:10px 12px;color:#fff9e8;background:#1d332acc;border:1px solid #ffffff70;border-radius:8px;box-shadow:0 2px 8px #0004;font:700 14px Quicksand,sans-serif;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.fish-float .fish-reel[data-phase=wait]{opacity:.75}.fish-float .fish-reel[data-phase=bite]{background:#dfc68c;color:#1d332a;text-shadow:none;border-color:#dfc68c;animation:fish-bite .35s ease-in-out infinite alternate}.fish-float .fish-reel[aria-pressed=true]{background:#365d49ee}@keyframes fish-bite{to{transform:scale(1.05)}}.activity-hud .life-feedback:empty,.activity-hud #life-playfield:empty,.activity-hud #life-actions:empty{display:none}

/* A shop that is shut, or work that is not open to you yet. */
.life-locked{background:#f4f1ea;border-style:dashed}.life-locked>small:first-child{color:#8a6443}
/* A place opened from the world: a compact panel with that place's actions and no journal pages. */
.life-dialog.life-focused{width:min(720px,94vw);height:fit-content;max-height:86vh}.life-focused nav{display:none}.life-focused .life-message{position:static;height:auto;padding:12px 30px}.life-focused .life-body{position:static;max-height:calc(86vh - 150px);padding:18px 30px 28px}
@media(max-width:700px){.life-dialog.life-focused{height:fit-content;max-height:90vh}.life-focused .life-body{padding:14px 16px 18px;max-height:calc(90vh - 140px)}}
.life-note{grid-column:1/-1;margin:0;font-size:13px;line-height:1.6;color:#6e7665}.life-focused .life-section{margin:6px 0 0}.life-focused .life-section h3{font:19px Georgia;margin:0 0 4px}.life-focused .life-section p{margin:0}

.henna-portrait{max-width:320px;margin:12px auto;background:#f7ecd7;border-radius:20px;padding:12px}.henna-portrait svg{display:block;width:100%;height:auto}

.henna-appointment{grid-column:1/-1}.henna-appointment .henna-portrait{max-width:240px}.henna-appointment .life-feedback{min-height:42px}
.henna-builder .henna-builder-canvas{max-width:360px;touch-action:manipulation;cursor:crosshair}.henna-tools{display:flex;flex-wrap:wrap;gap:4px}.henna-tools button{margin:0}.henna-tools button[aria-pressed=true]{background:#52765a;color:white}.henna-builder>button:last-child{margin-top:16px}.henna-builder-canvas:focus-within{outline:3px solid #bd8a48;border-radius:20px}

.henna-builder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.henna-builder>.henna-tools:first-child{grid-column:1/-1}.henna-builder .henna-builder-canvas{grid-column:1;grid-row:2/5;margin:0;width:100%;box-sizing:border-box}.henna-builder>p,.henna-builder>.henna-tools:not(:first-child),.henna-builder>button:last-child{grid-column:2;margin:0}.henna-builder .henna-tools button{padding:8px 10px}@media(max-width:550px){.henna-builder{grid-template-columns:1fr}.henna-builder .henna-builder-canvas{grid-row:auto;max-width:270px;margin:auto}.henna-builder>p,.henna-builder>.henna-tools:not(:first-child),.henna-builder>button:last-child{grid-column:1}}
