@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{color-scheme:dark;--bg:#0b2124;--panel:#153033;--line:#31514e;--text:#eef2e6;--muted:#aac0b6;--mint:#a5d8b0;--gold:#e2c78b;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#24463d,transparent 70%),var(--bg);font:16px/1.5 var(--sans);color:var(--text)}button,input{font:inherit}button{cursor:pointer;color:inherit;transition:background .16s,border-color .16s,transform .16s}button:disabled{cursor:not-allowed;opacity:.44}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,h4,p{margin:0}a{color:var(--gold)}.shell{max-width:1460px;padding:0 36px;margin:auto}.header{display:flex;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid #b7ccac22}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--text);flex:1}.brand-symbol{font-size:46px;color:var(--gold)}h1{font:500 29px/1.2 var(--serif);letter-spacing:-.6px}.brand p{font-size:10px;letter-spacing:2.3px;color:var(--muted);margin-top:5px}.day{display:flex;gap:16px;font-size:14px;align-items:center}.day strong{color:var(--gold);font-weight:500}.day span{border-left:1px solid var(--line);padding-left:16px;color:var(--muted)}.header-controls{display:flex;align-items:center;gap:9px}.icon{background:#ffffff09;border:1px solid #b5c8b533;width:35px;height:35px;border-radius:7px}.sleep{padding:10px 16px;background:#dbe8c8;color:#244030;border:0;border-radius:8px;font-size:14px}.sleep:hover{background:#edf4de}.sanctuary-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 0 20px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--gold);font-weight:600;display:block}.sanctuary-top h2{font:400 27px var(--serif);margin-top:4px}.supplies{display:flex;gap:10px}.supply{background:#102b2dbb;border:1px solid #405849;border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.supply b{color:var(--text);font-size:15px}.supply .glyph{color:var(--gold);font-size:18px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.map-panel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#163035}.map-heading{padding:15px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center}.map-heading strong{display:block;font-size:14px;font-weight:500}.map-heading span:not(.time){display:block;font-size:12px;color:var(--muted);margin-top:2px}.time{border:1px solid #74877450;color:var(--gold);border-radius:20px;padding:4px 10px;font-size:12px;white-space:nowrap}.map-wrap{background:#172f28;padding:15px 22px 8px;border-block:1px solid #465940;position:relative}.map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;max-width:740px;margin:auto}.tile{aspect-ratio:1.3;position:relative;padding:0;border:1px solid #71996d44;background:#375c43;border-radius:4px;overflow:visible;min-width:0;isolation:isolate}.tile>img.terrain{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:4px;z-index:-2;filter:saturate(.86) brightness(.83);transition:.2s}.tile:after{content:'';position:absolute;inset:0;border-radius:4px;background:linear-gradient(transparent 60%,#061e2277);z-index:-1}.tile:hover>img.terrain{filter:saturate(1.05) brightness(1.12)}.tile.selected{outline:2px solid var(--gold);outline-offset:1px;z-index:2}.tile.buildable{border:1px dashed #cef1ab;opacity:.9}.tile.blocked{opacity:.5}.tile-coordinate{position:absolute;top:4px;left:5px;font-size:10px;color:#f1f6e7b0;text-shadow:0 1px 3px #000}.tile-label{position:absolute;bottom:3px;left:4px;right:4px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 4px #000;color:#f1f5e3}.tile.clear .tile-label{opacity:.7}.tile-pet{width:65%;height:90%;position:absolute;left:20%;top:-6%;object-fit:contain;filter:drop-shadow(0 5px 4px #051a24aa);pointer-events:none}.home-badge{position:absolute;right:4px;top:4px;background:#e2c78b;color:#233f31;padding:0 4px;border-radius:3px;font-size:9px;line-height:1.6}.tile.mist>img{filter:hue-rotate(42deg) brightness(.8)}.tile.mist:before{content:'≋';position:absolute;top:18%;left:35%;font-size:28px;color:#d5f6efb0}.map-caption{display:block;text-align:center;font-size:8px;color:#9cae93;letter-spacing:2px;padding-top:8px}.tile-details{min-height:79px;display:flex;align-items:center;gap:15px;padding:12px 20px;border-bottom:1px solid var(--line)}.tile-details .coordinate{font:400 23px var(--serif);color:var(--gold);border:1px solid var(--line);border-radius:8px;padding:9px;min-width:45px;text-align:center}.tile-details strong{font-size:14px;font-weight:500}.tile-details p{font-size:12px;color:var(--muted);margin-top:3px}.tile-details .detail-text{flex:1}.tile-details button{font-size:12px;background:#ffffff07;border:1px solid #657c63;padding:7px 9px;border-radius:6px}.builder{padding:15px 20px}.builder-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.builder-heading .eyebrow{font-size:9px}.text-button{font:inherit;font-size:12px;background:transparent;border:0;padding:0;color:#c0d5b5;text-align:left}.text-button:hover{color:#fff}.build-palette{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.build-option{padding:5px 3px 7px;background:#0b252bcc;border:1px solid #40584c;border-radius:6px;text-align:center;position:relative}.build-option[aria-pressed=true]{border-color:var(--gold);background:#536044}.build-option.poor{opacity:.58}.build-option img{width:39px;height:31px;object-fit:cover;border-radius:3px;display:block;margin:0 auto 5px}.build-option span{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-tip{font-size:12px;line-height:1.4;margin-top:10px;color:var(--muted);min-height:34px}.pet-panel{background:linear-gradient(160deg,#27453c,#112d32);border:1px solid #57725b;border-radius:14px;padding:18px}.pet-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-bottom:15px;border-bottom:1px solid #7b916433;margin-bottom:15px}.pet-selector button{border:1px solid transparent;background:#09232860;border-radius:7px;position:relative;padding:4px 2px;font-size:11px;color:var(--muted)}.pet-selector button[aria-pressed=true]{background:#446047;border-color:#91b585;color:var(--text)}.pet-selector img{display:block;width:100%;height:42px;object-fit:contain}.pet-selector button.locked img{opacity:.32;filter:grayscale(1)}.pet-selector .lock{position:absolute;right:3px;top:1px;font-size:13px;color:var(--gold)}.pet-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.pet-title h2{font:400 30px var(--serif);margin-top:4px}.pet-title .eyebrow{font-size:9px}.badge{font-size:10px;color:#d4e8bd;border:1px solid #91ae7c66;border-radius:20px;padding:4px 9px;white-space:nowrap}.portrait-scene{height:171px;position:relative;margin:5px 0 13px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#4d75694a,transparent 70%)}.portrait-scene>img{width:75%;height:100%;object-fit:contain;animation:breathe 5s infinite ease-in-out}.mood{position:absolute;bottom:-2px;left:0;right:0;text-align:center;font-size:12px;color:#bad0bd;background:linear-gradient(transparent,#193a38cc);padding-top:15px}.needs{display:grid;gap:9px}.bar-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:4px}.bar-label strong{font-size:12px;color:var(--muted);font-weight:500}progress{appearance:none;-webkit-appearance:none;border:0;width:100%;height:5px;border-radius:5px;overflow:hidden;background:#ffffff10;display:block}progress::-webkit-progress-bar{background:#ffffff10}progress::-webkit-progress-value{background:var(--bar,#a5d8b0);border-radius:5px;transition:width .3s}progress::-moz-progress-bar{background:var(--bar,#a5d8b0)}.need:nth-child(2){--bar:#e1bb85}.need:nth-child(3){--bar:#8bc7cd}.need:nth-child(4){--bar:#c5acdf}.growth{margin:16px 0}.growth progress{--bar:var(--gold);height:3px}.growth .bar-label{font-size:12px}.care-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.care-action{border:1px solid #627e65;border-radius:7px;background:#284b40;padding:10px 8px;text-align:left}.care-action strong{font-size:14px;display:block;font-weight:500}.care-action span{font-size:11px;display:block;color:#bad2bd;margin-top:3px}.care-action:hover:not(:disabled){background:#3a6050}.home-status{display:flex;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid #607e5c55;margin-top:15px;padding-top:12px;font-size:12px;color:var(--muted)}.home-status strong{font-weight:500;color:var(--gold)}.status-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:21px 0}.secrecy-panel,.quest{background:#112b30;border:1px solid var(--line);border-radius:11px;padding:18px 20px}.section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-title h3{font:400 19px var(--serif)}.section-title .text-button{font-size:11px}.secrecy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:21px;margin-top:17px}.secret-metric strong{font:400 24px var(--serif);color:var(--mint);display:block}.secret-metric>span{font-size:12px;color:var(--muted);display:block;margin-top:2px}.secret-metric progress{margin-top:8px;height:3px}.secret-metric.interest strong{color:var(--gold)}.secret-metric.interest progress{--bar:var(--gold)}.secret-metric.evidence strong{color:#dba5a0}.secret-metric.evidence progress{--bar:#dba5a0}.quest .eyebrow{font-size:9px}.quest h3{font:400 21px var(--serif);margin:5px 0}.quest p{font-size:14px;color:var(--muted);line-height:1.5}.quest-row{display:flex;align-items:center;gap:15px;margin-top:11px}.quest-row progress{height:3px;flex:1;--bar:var(--gold)}.quest-row span{font-size:11px;color:var(--gold);white-space:nowrap}.field-panel{border:1px solid var(--line);border-radius:12px;background:#122e33;overflow:hidden}.field-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:0 21px}.field-nav nav{display:flex;gap:27px}.field-nav button{border:0;background:none;padding:17px 0;color:var(--muted);font-size:14px;position:relative}.field-nav button[aria-selected=true]{color:var(--mint)}.field-nav button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;background:var(--mint);height:2px}.food-supplies{display:flex;gap:16px;font-size:12px;color:var(--muted)}.food-supplies b{color:var(--text);margin-left:4px}#field-content{padding:20px}.residents-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.resident-card{border:1px solid #3e5b50;border-radius:9px;background:#0e272d;padding:16px}.resident-top{display:flex;gap:10px;align-items:center}.resident-top img{height:78px;width:75px;object-fit:contain}.resident-top h3{font:400 23px var(--serif)}.resident-top p{font-size:11px;color:var(--gold);margin-top:4px}.resident-card>p{font-size:14px;color:var(--muted);min-height:66px;margin-top:9px}.resident-card button,.small-button{padding:9px 13px;border:1px solid #77966a;background:#335842;color:#eef2e2;border-radius:6px;font-size:14px;width:100%;margin-top:13px}.resident-card button:hover:not(:disabled),.small-button:hover:not(:disabled){background:#527348}.resident-card .requirements{font-size:12px;min-height:36px;color:var(--gold);margin-top:8px}.panel-bottom{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:17px}.panel-bottom p{font-size:13px;color:var(--muted)}.panel-bottom button{width:auto;white-space:nowrap;margin:0}.expedition-panel{display:grid;grid-template-columns:1fr 1.4fr;gap:26px}.expedition-panel h3{font:400 28px var(--serif);margin:8px 0}.expedition-panel p{font-size:14px;color:var(--muted);margin-top:9px}.trip-options{display:grid;gap:9px}.trip-option{padding:13px 16px;display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#183d3c;text-align:left}.trip-option strong{display:block;font-size:14px;font-weight:500}.trip-option span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.protect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.protect-card{border:1px solid var(--line);border-radius:9px;padding:17px;background:#0f282e}.protect-card h3{font:400 22px var(--serif);margin-bottom:8px}.protect-card p{font-size:14px;color:var(--muted);min-height:64px}.protect-note{font-size:13px;color:var(--muted);margin-top:15px}.journal-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px}.journal-grid h3{font:400 23px var(--serif);margin-bottom:10px}.journal-grid p{font-size:14px;color:var(--muted)}.keepsakes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}.keepsake{padding:10px;border:1px dashed #486555;border-radius:7px;text-align:center;color:var(--muted);font-size:13px}.keepsake.found{color:var(--gold);border-style:solid;border-color:#aa9961}.journal-log{max-height:340px;overflow:auto;list-style:none;padding:0;margin:0}.journal-log li{border-bottom:1px solid #3d594844;padding:10px 0;font-size:14px;color:#c2d2c4}.journal-log small{font-size:10px;color:var(--gold);margin-right:10px}footer{display:flex;justify-content:space-between;gap:20px;padding:21px 0 24px;font-size:11px;color:#94afa0}footer button{border:0;background:none;color:#c4d4bc;padding:0;font-size:11px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e6efcf;border:1px solid #baca98;color:#21402c;border-radius:9px;max-width:min(660px,92vw);width:max-content;padding:14px 22px;box-shadow:0 10px 45px #0007;transition:.25s;z-index:30;font-size:14px;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#ffe1c8}dialog{border:1px solid #638467;padding:0;border-radius:17px;background:#173337;color:var(--text);width:min(620px,calc(100vw - 26px));max-height:91dvh;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#061d24c4;backdrop-filter:blur(5px)}#dialog-content{padding:30px}dialog h2{font:400 31px/1.2 var(--serif);margin:9px 0 16px}dialog h3{font:400 22px var(--serif);margin:14px 0 9px}dialog p{font-size:15px;color:#c5d4c7;margin:0 0 16px}dialog .fineprint{font-size:12px;color:var(--muted)}.close{float:right;border:0;background:#ffffff0c;color:var(--text);border-radius:50%;width:30px;height:30px;line-height:1}.dialog-button{display:block;width:100%;padding:12px 15px;margin-top:10px;background:#254e43;border:1px solid #658365;border-radius:8px;font-size:14px;text-align:left}.dialog-button:hover:not(:disabled){background:#3b6750}.dialog-button span{display:block;font-size:12px;color:#bcd2b8;margin-top:4px}.dialog-button.primary{background:#c5daa6;color:#274329;text-align:center}.dialog-button.primary span{color:#42613c}.dialog-pet{height:145px;width:160px;object-fit:contain;float:right;margin-left:14px}.clue{background:#0c252d;border-left:3px solid var(--gold);padding:15px 17px;border-radius:6px;font-style:italic}.encounter-progress{margin:15px 0}.encounter-progress progress{height:7px}.activity-symbols{display:flex;justify-content:center;gap:15px;padding:22px 12px;background:#0d282d;border-radius:10px;margin:15px 0}.activity-symbols span{font-size:35px;color:var(--gold)}.ripple-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.ripple-keys button{font-size:32px;background:#28544e;border:1px solid #8ab18a;border-radius:10px;padding:20px 10px;color:var(--gold)}.ripple-keys small{font-size:12px;display:block;color:var(--muted);margin-top:4px}.activity-steps{display:flex;gap:8px;margin:17px 0}.activity-steps span{height:6px;flex:1;background:#ffffff12;border-radius:3px}.hop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.hop-grid button{border:1px solid #506e4d;background:#183b35;border-radius:7px;padding:12px;font-size:23px}.hop-grid button.active{border:2px solid var(--gold)}.hop-grid button.past{opacity:.45}.hop-grid button span{display:block;font-size:10px;color:var(--muted)}.star-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:18px 0}.star-grid button{height:88px;background:#24334c;border:1px solid #697490;border-radius:10px;color:#d7caec;font-size:33px}.star-grid button.matched{background:#314e47;border-color:#97c693}.activity-steps .done{background:var(--mint)}.activity-note{font-size:13px!important;color:var(--gold)!important}.guide-list{padding-left:21px;color:#bed0bf;font-size:14px}.guide-list li{margin:10px 0}.cost{font-size:11px;color:var(--gold)}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.button-link{display:block;border:1px solid var(--line);padding:11px 14px;border-radius:7px;text-align:center;text-decoration:none;margin-top:11px;font-size:14px}@keyframes breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@media(max-width:1150px){.shell{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 295px;gap:16px}.map-wrap{padding:12px 13px 7px}.tile{aspect-ratio:1.03}.tile-label{font-size:9px}.builder{padding:13px}.build-palette{grid-template-columns:repeat(5,1fr);gap:5px}.build-option{display:flex;align-items:center;text-align:left;gap:5px;padding:4px}.build-option img{height:25px;width:26px;margin:0}.build-option span{font-size:10px}.pet-panel{padding:15px}.portrait-scene{height:155px}.pet-title h2{font-size:27px}.resident-top{display:block}.resident-top img{height:80px;width:100%}.resident-card>p{min-height:85px}.food-supplies{gap:10px}.supplies{gap:6px}.supply{padding:7px 10px}.section-title{display:block}.section-title .text-button{margin-top:5px}.secrecy-stats{margin-top:10px}.field-nav nav{gap:21px}}
@media(max-width:820px){.shell{padding:0 14px}.header{gap:12px;padding:16px 0}.brand-symbol{font-size:34px}.brand{gap:8px}h1{font-size:24px}.brand p{font-size:8px;letter-spacing:1.3px}.day{display:block;text-align:right;font-size:12px}.day span{display:block;border:0;padding:0;font-size:10px}.header-controls{gap:6px}.sleep{font-size:12px;padding:8px}.sleep span{display:none}.icon{height:31px;width:31px}.sanctuary-top{padding:18px 0;align-items:flex-start;flex-direction:column;gap:13px}.sanctuary-top h2{font-size:25px}.supplies{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.supply{padding:7px 10px;justify-content:center}.workspace{display:flex;flex-direction:column;gap:16px}.map-panel,.pet-panel{width:100%}.map-wrap{padding:12px 14px 8px}.tile{aspect-ratio:1.25}.tile-label{font-size:9px}.map-caption{font-size:7px}.map-heading{padding:13px 16px}.build-palette{grid-template-columns:repeat(5,1fr)}.build-option{padding:6px}.build-option img{width:30px;height:27px}.build-option span{font-size:10px}.pet-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;padding:18px}.pet-selector{grid-column:1/-1;margin:0;padding-bottom:12px}.pet-selector button{display:flex;justify-content:center;align-items:center;font-size:12px;gap:7px;padding:5px}.pet-selector img{width:40px;height:37px}.pet-title{grid-column:1;grid-row:2}.portrait-scene{grid-column:1;grid-row:3/6;margin:0;height:187px}.pet-title h2{font-size:27px}.pet-title .badge{font-size:9px}.needs{grid-column:2;grid-row:2/4;gap:8px}.growth{grid-column:2;grid-row:4;margin:0}.care-actions{grid-column:2;grid-row:5/7;gap:7px}.home-status{grid-column:1;grid-row:6;border:0;margin:0;padding:0;display:block;text-align:center}.care-action{padding:8px}.care-action strong{font-size:12px}.care-action span{font-size:11px}.status-row{gap:13px;margin:16px 0;grid-template-columns:1fr}.section-title{display:flex}.section-title .text-button{margin:0}.secrecy-panel,.quest{padding:16px}.secrecy-stats{margin-top:13px}.field-nav{flex-wrap:wrap;gap:0;padding:0 15px}.field-nav nav{gap:22px;width:100%;justify-content:space-between}.field-nav button{padding:14px 0;font-size:13px}.food-supplies{padding:9px 0;gap:20px;font-size:12px}.residents-grid{grid-template-columns:repeat(2,1fr);gap:12px}.resident-card>p{min-height:72px}.resident-top{display:flex}.resident-top img{width:60px;height:72px}.resident-top h3{font-size:21px}.resident-card{padding:13px}.panel-bottom{display:block}.panel-bottom button{margin-top:12px;width:100%}.expedition-panel{grid-template-columns:1fr;gap:15px}.protect-grid{grid-template-columns:1fr}.protect-card p{min-height:0}.journal-grid{grid-template-columns:1fr;gap:20px}#field-content{padding:15px}footer{font-size:10px;gap:12px}footer span:nth-child(2){display:none}}
@media(max-width:440px){.shell{padding:0 10px}.brand-symbol{display:none}.header{gap:8px}.brand p{font-size:7px}.day span{display:none}h1{font-size:22px}.header-controls{gap:4px}.icon{width:29px;height:29px}.supply{padding:6px 7px;gap:5px;font-size:10px}.supply .glyph{font-size:13px}.supply b{font-size:13px}.map-wrap{padding:8px 9px 5px}.map{gap:3px}.tile{aspect-ratio:1}.tile-label{font-size:8px}.tile-coordinate{font-size:8px;left:3px;top:2px}.home-badge{font-size:8px}.map-caption{font-size:6px;letter-spacing:1.4px}.map-heading{padding:10px 12px}.map-heading strong{font-size:13px}.map-heading span:not(.time){font-size:11px}.tile-details{gap:10px;padding:11px}.tile-details p{font-size:11px}.tile-details button{font-size:11px}.build-palette{grid-template-columns:repeat(3,1fr)}.build-option{padding:5px}.build-option span{font-size:11px}.builder-heading .eyebrow{font-size:8px}.build-tip{font-size:12px}.pet-panel{gap:10px 13px;padding:13px}.pet-selector button{font-size:10px;gap:2px}.pet-selector img{width:33px;height:34px}.pet-title{display:block}.pet-title .badge{display:inline-block;margin-top:5px}.pet-title h2{font-size:26px}.pet-title .eyebrow{font-size:8px}.portrait-scene{height:170px}.mood{font-size:11px}.need .bar-label{font-size:12px}.care-action strong{font-size:12px}.care-action span{font-size:10px}.growth .bar-label{font-size:11px}.home-status{font-size:11px}.resident-top{display:block}.resident-top img{width:100%;height:88px}.resident-card>p{min-height:103px}.resident-card button{font-size:13px}.food-supplies{font-size:11px;gap:15px}.field-nav nav{gap:13px}.field-nav button{font-size:12px}.secrecy-stats{gap:15px}.secret-metric>span{font-size:11px}.section-title h3{font-size:18px}.section-title .text-button{font-size:10px}#dialog-content{padding:23px}dialog h2{font-size:28px}.dialog-pet{height:115px;width:115px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Residents share the map with their homes; movement never advances game time. */
.map{position:relative}.resident-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.roaming-pet{position:absolute;width:13%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);transition:left 3s ease-in-out,top 3s ease-in-out;border:0;background:none;padding:0;pointer-events:auto;isolation:isolate}.roaming-pet img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #041a1bcc);animation:breathe 3s infinite}.roaming-pet span{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);white-space:nowrap;font-size:9px;color:#f1efd8;background:#15372eee;border-radius:4px;padding:2px 5px;opacity:0;transition:opacity .2s}.roaming-pet:hover span,.roaming-pet:focus span{opacity:1}.roaming-pet.resting img{animation-duration:6s;opacity:.85}.mood{line-height:1.35}
.social-panel{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.social-panel h3{font:24px var(--serif);margin:8px 0}.social-panel p{font-size:14px;color:var(--muted)}.friend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:15px}.friend-card{border:1px solid var(--line);padding:14px;border-radius:9px}.friend-card span{display:block;font-size:12px;color:var(--muted);margin:5px 0 10px}
.rescue-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:16px 0}.rescue-cell{position:relative;aspect-ratio:1.4;padding:0;overflow:hidden;border:2px solid #607c65;border-radius:7px;background:#143a36}.rescue-cell img{width:100%;height:100%;object-fit:cover;opacity:.7}.rescue-cell span{position:absolute;bottom:0;left:0;right:0;padding:3px;background:#09262ade;font-size:12px}.rescue-cell.current{border-color:var(--gold);box-shadow:0 0 0 2px #dfcd82}.rescue-cell:disabled{opacity:.55}.rescue-cell.current:disabled,.rescue-cell.visited:disabled{opacity:1}
.search-map{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.search-map .rescue-cell{aspect-ratio:1}.search-map .exposed{box-shadow:inset 0 0 0 4px #e27064}.search-map .exposed img{opacity:.45}.search-map .next-sweep{border-color:#e7c467}.search-map .current{outline:3px solid #b9e8d0;outline-offset:-3px}.search-map .route-pet{position:absolute;inset:8%;width:84%;height:76%;object-fit:contain;opacity:1!important}.search-key{display:flex;gap:13px;flex-wrap:wrap;color:var(--gold);font-size:12px}.search-map .rescue-cell:disabled{opacity:.78}
.search-map .exposed{border-bottom:4px solid #e27064}.search-map .next-sweep{border-top:3px solid #e7c467}
.world-panel h3{font:25px var(--serif);margin:9px 0}.world-panel p{font-size:15px;color:var(--muted);margin:8px 0 16px}.neighbor-story{max-width:720px;margin:24px auto;padding:22px;border:1px solid var(--line);border-radius:12px;background:#0d292c}.world-panel details{font-size:14px}.field-nav nav{gap:20px;flex-wrap:wrap}
@media(max-width:440px){.field-nav nav{gap:12px;justify-content:flex-start}.field-nav button{font-size:12px}}
.region-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.region-picker button{border:1px solid var(--line);background:#143537;padding:12px 14px;border-radius:9px;text-align:left;font-size:16px}.region-picker button span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.region-picker button[aria-pressed=true]{border-color:var(--gold);background:#274c43}.pet-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.map[data-region]:not([data-region=mistwood]) .clear .terrain{opacity:.35}.residents-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}@media(max-width:600px){.region-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.region-picker button{padding:9px 12px;font-size:14px}.pet-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.residents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.routine-panel h3{font:24px var(--serif);margin:8px 0}.routine-panel>p{font-size:15px;color:var(--muted);max-width:850px}.routine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:20px}.routine-card{padding:18px;border:1px solid var(--line);border-radius:10px;background:#102a30}.routine-card p{font-size:14px;color:var(--muted);margin:10px 0}.routine-card .fineprint{font-size:12px}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;margin:18px 0}.check-label input{width:20px;height:20px;accent-color:#bed5a1}.plan-label{display:block;font-size:14px}.plan-label select{display:block;width:100%;margin-top:8px;padding:10px;background:#24483e;color:var(--text);border:1px solid #658366;border-radius:6px;font:inherit}.field-nav nav{gap:18px}.field-nav{flex-wrap:wrap}.food-supplies{padding:10px 0}.routine-card .resident-top img{width:70px;height:80px}
/* Keep planning readable and free of accidental construction, on every screen. */
.next-task{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 20px;margin-bottom:14px;border:1px solid #658366;border-radius:12px;background:linear-gradient(115deg,#284c3f,#17363a)}
.next-task strong{display:block;font:21px var(--serif);margin:4px 0}.next-task p{color:#c2d5c4;font-size:14px;max-width:820px}.next-task button{flex-shrink:0;max-width:270px;background:#d2e3b7;color:#223d2f;border:0;border-radius:7px;padding:12px 16px;font-size:14px;min-height:44px;text-align:left}
.quick-nav{display:flex;gap:9px;margin-bottom:15px}.quick-nav button{min-height:44px;background:#173b36;border:1px solid #54765c;border-radius:7px;padding:9px 14px;font-size:13px;color:#d6e7cf}
.build-categories{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.build-categories button{min-height:44px;padding:8px 12px;border:1px solid #486b57;border-radius:7px;background:#0e2a2c;font-size:13px;color:#c5d9c6}.build-categories button[aria-pressed=true]{background:#d1dfa8;color:#253c2c;border-color:#d1dfa8}
.build-palette{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.build-option{display:flex;align-items:center;gap:9px;min-height:65px;padding:8px;text-align:left;min-width:0}.build-option img{width:43px;height:40px;flex-shrink:0;margin:0}.build-option span{font-size:13px;white-space:normal;overflow:visible;line-height:1.3;min-width:0}.build-option small{display:block;font-size:11px;line-height:1.45;margin-top:4px;color:#c2d3b5}.build-option.poor{opacity:.72}.build-tip{min-height:0;line-height:1.6}
.placement-ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;pointer-events:none;border-radius:4px}.preview-tile{outline:3px dashed #e9e5aa!important;outline-offset:1px;z-index:4}.preview-badge{position:absolute;top:3px;right:3px;background:#ead597;color:#24432f;border-radius:3px;font-size:8px;padding:1px 3px;z-index:2}
.map.is-building .roaming-pet{pointer-events:none}.placement-details{align-items:flex-start;background:#123538}.preview-cost{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:10px;font-size:13px;color:#d1e2c1}.preview-cost span{padding:6px 9px;border:1px solid #648163;border-radius:5px}.preview-cost small{font-size:11px}.preview-cost .missing-cost{border-color:#df9f83;color:#ffd1b8}.preview-effects{list-style:none;margin:8px 0;padding:0;font-size:13px;color:#c9e6bb}.preview-effects li{margin-top:4px}.preview-effects li:before{content:'＋ ';color:#e2c78b}.placement-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.placement-actions button{min-height:44px;padding:10px 12px;font-size:13px}.placement-actions button:first-child{background:#c9dca9;color:#234330;border-color:#c9dca9}.placement-message{color:#e7d8a5!important}.tile-details .detail-text{min-width:0}.coordinate{white-space:nowrap}
.routine-toolbar{display:flex;align-items:center;gap:20px;margin-top:17px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#143b36}.routine-toolbar .small-button{width:auto;min-width:210px;margin:0;min-height:44px}.routine-toolbar p{font-size:13px;color:var(--muted)}.event-backup{display:block;min-height:44px;padding:10px 0;margin-top:8px}.icon,.close{width:44px;height:44px;flex-shrink:0}.sleep{min-height:44px}.text-button,footer button{min-height:44px}.map-panel,.pet-panel,.field-panel{scroll-margin-top:12px}.check-label{min-height:44px}.plan-label select{min-height:44px}.field-nav nav button{min-height:44px}
@media(max-width:820px){.next-task{gap:16px;align-items:flex-start}.next-task button{max-width:200px}.quick-nav button{flex:1}.build-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.supplies{grid-template-columns:repeat(4,minmax(0,1fr))}.supply{min-width:0;flex-wrap:wrap;gap:3px 6px}.supply b{overflow-wrap:anywhere}.tile-details{flex-wrap:wrap}.tile-details .detail-text{flex:1;min-width:180px}.coordinate{font-size:18px!important}.routine-toolbar{flex-direction:column;align-items:stretch}.routine-toolbar .small-button{width:100%}}
@media(max-width:600px){.header{flex-wrap:wrap;gap:10px;padding:12px 0}.brand{min-width:180px}.day{margin-left:auto}.header-controls{width:100%;justify-content:flex-end}.sleep{margin-left:auto;padding:9px 14px}.sleep span{display:inline}.next-task{flex-direction:column;gap:12px;padding:16px}.next-task button{max-width:none;width:100%}.next-task strong{font-size:22px}.quick-nav{gap:6px}.quick-nav button{padding:8px 6px;font-size:12px}.supplies{grid-template-columns:repeat(2,minmax(0,1fr))}.supply{font-size:12px;justify-content:space-between;padding:8px 12px}.supply b{font-size:14px}.supply .glyph{display:none}.build-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.build-option{min-height:75px;gap:7px}.build-option img{width:34px;height:34px}.build-option span{font-size:12px}.build-option small{font-size:11px}.build-categories button{flex:1 0 auto;font-size:12px;padding:8px}.builder-heading .eyebrow{font-size:9px;max-width:160px}.tile-details .detail-text{min-width:0;flex-basis:calc(100% - 75px)}.placement-details>.coordinate{font-size:14px!important;white-space:normal;min-width:55px;max-width:65px}.placement-actions button{flex:1 0 100%}.pet-panel{display:block;padding:16px}.pet-selector{margin-bottom:14px}.pet-selector button{display:block;font-size:12px}.pet-selector img{margin:auto;width:42px;height:40px}.pet-title{display:flex}.pet-title .eyebrow{font-size:9px}.pet-title .badge{font-size:11px}.portrait-scene{height:180px;margin:10px 0 16px}.need .bar-label{font-size:14px}.needs{gap:11px}.growth{margin:17px 0}.care-action{min-height:72px;padding:12px}.care-action strong{font-size:14px}.care-action span{font-size:12px}.home-status{display:flex;margin-top:16px;padding-top:12px;border-top:1px solid #607e5c55;font-size:12px}.routine-grid{grid-template-columns:minmax(0,1fr)}.region-picker button{min-height:60px}.rescue-cell{min-height:44px}.search-map{gap:3px}.search-map .rescue-cell span{font-size:10px}.search-map .rescue-cell{min-width:0}.resident-card,.friend-card{min-width:0}.residents-grid{grid-template-columns:minmax(0,1fr)}.resident-top{display:flex}.resident-top img{height:72px;width:70px}.resident-card>p,.resident-card .requirements{min-height:0}.field-nav nav{gap:3px 14px}.field-nav button{font-size:13px}.section-title{flex-wrap:wrap}.section-title .text-button{font-size:12px}.bar-label{flex-wrap:wrap}.mood{font-size:12px}.toast{font-size:13px;padding:12px 15px}#dialog-content{padding:18px}.close{margin-left:7px}}
@media(max-width:380px){.map-wrap{padding:7px 4px 5px}.map{gap:2px}.tile{min-height:44px}.tile-label{display:none}.tile-coordinate{font-size:9px}.home-badge{font-size:7px;right:2px;top:15px}.preview-badge{font-size:6px;top:16px}.region-picker button span{font-size:11px}.quick-nav button{font-size:11px}}

@media(max-width:380px){.search-map{margin-inline:-13px}}

/* Hiding uses the player's own region and keeps destinations readable. */
.search-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 12px}.search-status span{font-size:12px;color:var(--muted)}.search-status progress{width:100%;height:7px}.search-location{font-size:13px;color:var(--gold);margin:0 0 10px}.search-rules{margin:12px 0 18px;font-size:13px;line-height:1.6}.search-rules summary{cursor:pointer;color:var(--gold);padding:10px 0}.search-rules p{font-size:13px;margin:8px 0}.search-map .safe-goal span{background:#204d3e;color:#d6f4d3;font-weight:800;letter-spacing:.04em}.search-map .cover-dot{position:absolute;left:3px;top:0;color:#b8f1bc;font-size:14px;text-shadow:0 1px 3px #072920;z-index:2}.search-map .search-watcher{position:absolute;right:2px;top:2px;padding:0 3px;background:#342120e8;color:#ffcab0;font-size:10px;line-height:15px;border-radius:3px}.search-map .water-blocked{border-style:dashed}.search-map button:not(:disabled){cursor:pointer}.search-map button:focus-visible{outline:3px solid #fff;outline-offset:1px;z-index:3}

.regional-rescue{grid-template-columns:repeat(var(--rescue-cols),minmax(0,1fr));gap:4px}.regional-rescue .rescue-cell{aspect-ratio:1;min-height:44px}.regional-rescue .rescue-cell span{font-size:11px}.rescue-gate{border-style:dashed;border-color:#d6ba74}.rescue-status{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:var(--gold)}.rescue-map .rescue-friend{position:absolute;inset:5%;width:90%;height:80%;object-fit:contain;opacity:1}.rescue-solutions{display:grid;gap:6px}@media(max-width:380px){.regional-rescue{margin-inline:-13px;gap:3px}.regional-rescue .rescue-cell span{font-size:9px}}

.chapter-story{font-style:italic;color:#d2dfc9;line-height:1.65}.finale-guardians{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finale-guardians figure{margin:0;display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #55725b;border-radius:8px}.finale-guardians img{width:60px;height:70px;object-fit:contain}.finale-guardians figcaption{font-size:13px;line-height:1.5}@media(max-width:600px){.finale-guardians{grid-template-columns:1fr}}

.pet-cycle{display:none;width:100%;height:100%;background-repeat:no-repeat;background-size:600% 100%;background-position:0 0;transform:scaleX(var(--facing,1)) scale(var(--pet-scale,1));filter:drop-shadow(0 3px 3px #041a1b99)}.roaming-pet.has-cycle .pet-cycle{display:block}.roaming-pet.has-cycle .roamer-static{display:none}.roaming-pet.moving .pet-cycle{animation:pet-frames 1s steps(4,end) infinite}.roaming-pet[data-gait="swim"] .pet-cycle{animation-duration:1.6s}.roaming-pet[data-gait="hop"] .pet-cycle{animation-duration:.8s}.roaming-pet[data-gait="fly"] .pet-cycle{animation-duration:1.1s}.roaming-pet.feeding .pet-cycle,.portrait-reaction.active{animation:pet-feast .8s steps(1,end) infinite}.portrait-reaction.active{display:block}.portrait-reaction{position:absolute;left:50%;top:0;width:auto;height:100%;aspect-ratio:1;translate:-50% 0;--pet-scale:1}.audio-controls{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:16px}.audio-controls legend{padding:0 8px;color:var(--gold)}.audio-toggle{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px}.audio-toggle input{width:20px;height:20px;accent-color:var(--mint)}.audio-status{font-size:13px!important;color:var(--muted);margin:8px 0!important}.audio-channel{border-top:1px solid var(--line);padding:12px 0}.audio-channel>span{font-size:13px;color:var(--muted)}.volume-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;min-height:44px}.volume-control input{flex:1;min-width:90px;max-width:100%;accent-color:var(--mint);min-height:36px}.volume-control output{min-width:40px}.event-controls{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between}.calm-motion .roaming-pet,.calm-motion .roaming-pet img,.calm-motion .pet-cycle,.calm-motion #pet-portrait{animation:none!important;transition:none!important}.calm-motion .feeding .pet-cycle,.calm-motion .portrait-reaction.active{background-position:100% 0}.game-paused *{animation-play-state:paused!important}@keyframes pet-frames{from{background-position:0 0}to{background-position:80% 0}}@keyframes pet-feast{0%,49%{background-position:80% 0}50%,100%{background-position:100% 0}}@media(prefers-reduced-motion:reduce){.feeding .pet-cycle,.portrait-reaction.active{background-position:100% 0}}
