/* The camp is a static art plate; only the departure label has a slow CSS motion. */
.at-home .bottom-bar,.at-home .control-footer,.at-home .scene-label,.at-home .version-tag,.at-home .scene-vignette{display:none}
.at-home .game-shell{margin-bottom:18px}
.home-menu{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#8a8950}
.home-background{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 18%;user-select:none;pointer-events:none}
.home-menu::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 65px #252a2040;pointer-events:none;z-index:6}
.home-heading{position:absolute;z-index:2;left:4%;top:5%;color:#fff0bf;text-shadow:2px 3px 0 #2d2b1e,-1px -1px 0 #2d2b1e}
.home-heading>span{font-size:12px;font-weight:700;letter-spacing:3px}
.home-heading h1{font:900 clamp(25px,3.2vw,45px)/1.25 var(--serif);margin:12px 0 8px;letter-spacing:3px}
.home-heading p{font-size:12px;letter-spacing:2px;margin:0}
.home-sign{position:absolute;z-index:4;left:11%;bottom:7%;width:clamp(210px,23%,320px);aspect-ratio:2/3;filter:drop-shadow(7px 10px 3px #322f2745)}
.home-sign>img{display:block;width:100%;height:100%;pointer-events:none;user-select:none}
.home-sign button{position:absolute;left:9%;width:82%;height:16%;padding:0;color:#34261b;font:900 clamp(19px,2.1vw,29px)/1 var(--serif);letter-spacing:4px;text-shadow:0 1px #efc780;transform:rotate(-1deg);border-radius:6px;transition:color .15s,background .15s}
.home-sign .sign-exit{top:14.5%}.home-sign .sign-collection{top:38.5%}.home-sign .sign-market{top:62%}
.home-sign button:hover{color:#fff2c9;background:#fff0bd12;text-shadow:2px 2px #513620}
.home-sign button:focus-visible,.home-truck:focus-visible{outline:3px solid #fff0a3;outline-offset:3px}
.home-truck{position:absolute;right:8%;bottom:11%;z-index:4;width:clamp(290px,34%,470px);padding:0;filter:drop-shadow(7px 10px 3px #322f2745);transition:filter .2s}
.home-truck>img{width:100%;display:block;pointer-events:none;user-select:none}
.home-truck:hover{filter:drop-shadow(7px 10px 3px #322f2745) brightness(1.1)}
.depart-label{position:absolute;left:50%;bottom:94%;transform:translateX(-50%);white-space:nowrap;background:#f3d78a;color:#3c3020;border:3px solid #312b1e;border-radius:9px;box-shadow:3px 4px 0 #30281d88;padding:12px 18px;font:900 clamp(15px,1.7vw,22px)/1.3 var(--serif);letter-spacing:2px;animation:departure-bob 4s ease-in-out infinite}
.depart-label::after{content:"";position:absolute;bottom:-9px;left:48%;width:13px;height:13px;transform:rotate(45deg);background:#f3d78a;border-right:3px solid #312b1e;border-bottom:3px solid #312b1e}
.depart-label b{margin-left:8px}.home-fisher{position:absolute;z-index:3;width:9%;max-width:130px;height:auto;left:47%;bottom:27%;pointer-events:none;filter:drop-shadow(2px 4px 1px #362f2755)}
.home-caption{position:absolute;bottom:3%;left:0;right:0;z-index:5;text-align:center;color:#fff1c3;font-size:12px;letter-spacing:3px;text-shadow:1px 2px 2px #2b2f20}
@keyframes departure-bob{50%{transform:translate(-50%,-5px)}}
dialog[data-view=maps]{width:min(1040px,calc(100vw - 32px))}
dialog[data-view=maps] .modal-head{padding-top:20px}
dialog[data-view=maps] .modal-body{padding-bottom:18px}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.destination-card{position:relative;text-align:left;padding:0;border:3px solid #6a704a;border-radius:8px;overflow:hidden;background:#e2dcaf;box-shadow:2px 3px 0 #3a41263b;min-width:0}
.destination-card.selected{border-color:#47592b;box-shadow:0 0 0 2px #d5ac42,3px 4px 0 #303a2280;background:#d9dfa9}
.destination-card:hover:not(:disabled){filter:brightness(1.05)}
.destination-art{display:block;position:relative;background:#101711;overflow:hidden;aspect-ratio:1.85}
.destination-art>img{width:100%;height:100%;object-fit:cover;display:block}
.destination-number{position:absolute;top:8px;left:10px;font:700 15px Georgia,serif;color:#fff0be;text-shadow:1px 2px #243020}
.destination-status{position:absolute;right:8px;bottom:8px;border:1px solid #33391e;background:#f0e4b5e8;color:#3d482a;padding:4px 8px;font-size:11px;border-radius:4px}
.selected .destination-status{background:#465e32;color:#fff0b4}
.destination-info{display:grid;gap:6px;padding:11px 13px 12px}
.destination-info strong{font:700 19px var(--serif);color:#364326}
.destination-info small{font-size:11px;color:#6c7350;white-space:nowrap}
.destination-info>span{font-size:11px;color:#7a6034}.destination-info i{font-style:normal;margin:0 8px}
.destination-card.destination-locked{background:#20251f;border-color:#363d30;opacity:1;cursor:not-allowed}
.destination-locked .destination-art>img{filter:grayscale(1) brightness(.12);opacity:.7}
.destination-locked .destination-info strong{color:#a1a38d}.destination-locked .destination-info small,.destination-locked .destination-info>span{color:#747e6a}
.destination-locked .destination-number{color:#737d68}
.destination-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#c4c4ae;font-size:14px;letter-spacing:3px}
.destination-lock svg{width:28px;height:32px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.departure-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px}
.departure-footer>div{display:grid;gap:5px}.departure-footer strong{font:700 20px var(--serif)}.departure-footer small{font-size:11px;color:#777a52}
.departure-footer button{min-width:215px;font-size:16px}.departure-note{font-size:10px;color:#7e805b;margin:13px 0 0}.departure-warning{color:#944e29;font-size:12px;margin-bottom:0}
.market-notice{text-align:center;padding:20px 8px;border:2px dashed #a69a68;background:#e4dab0;border-radius:8px}
.market-stamp{display:inline-block;border:2px solid #9a673e;transform:rotate(-5deg);padding:5px 15px;color:#905b35;letter-spacing:5px;font-weight:bold}
.market-notice h3{font:700 23px var(--serif);margin:20px 0 12px}.market-notice p{font-size:13px;line-height:1.9;color:#74714d;margin:0}
.exit-screen{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:radial-gradient(ellipse at top,#394e32,#18251e);color:#efdfab;text-align:center;padding:24px}
.exit-mark{font:900 85px var(--serif);color:#bdc57d}.exit-screen h1{font:700 32px var(--serif);margin:0}.exit-screen p{font-size:14px;color:#b5b991;margin:0 0 20px}
.game-exited>.topbar,.game-exited>.game-shell,.game-exited>.bottom-bar,.game-exited>.control-footer{display:none}
@media(max-width:760px){
  .at-home .game-shell{margin-bottom:8px}
  .home-background{object-position:50% 42%}
  .home-heading{top:5%;left:6%}.home-heading>span{font-size:10px;letter-spacing:2px}.home-heading h1{font-size:28px;letter-spacing:1px;margin:8px 0}.home-heading p{font-size:11px}
  .home-sign{left:2%;bottom:6%;width:43%;min-width:140px;max-width:240px}
  .home-sign button{font-size:clamp(16px,4.3vw,25px);letter-spacing:2px}
  .home-truck{right:1%;bottom:15%;width:53%;min-width:0;max-width:360px}
  .depart-label{padding:10px 9px;font-size:15px;letter-spacing:1px;border-width:2px}.depart-label b{margin-left:2px}
  .home-fisher{left:46%;bottom:39%;width:17%}.home-caption{font-size:9px;letter-spacing:1px;bottom:3%}
  dialog[data-view=maps]{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}
  dialog[data-view=maps] .modal-head{padding:16px 14px 13px}.modal-head h2{font-size:23px}
  dialog[data-view=maps] .modal-body{padding:0 14px 16px}
  .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.destination-card{border-width:2px}.destination-art{aspect-ratio:1.6}
  .destination-info{padding:9px 8px;gap:5px}.destination-info strong{font-size:17px}.destination-info small{font-size:9px;white-space:normal}.destination-info>span{font-size:10px}.destination-info i{margin:0 3px}
  .destination-number{font-size:12px;top:6px;left:7px}.destination-status{font-size:9px;padding:3px 5px;bottom:5px;right:5px}.destination-lock{font-size:12px;gap:6px}.destination-lock svg{width:22px;height:25px}
  .departure-footer{gap:10px;padding-top:16px}.departure-footer strong{font-size:16px}.departure-footer small{font-size:9px;line-height:1.5}.departure-footer button{min-width:135px;padding:12px 8px;font-size:14px;letter-spacing:0}.departure-note{font-size:9px;line-height:1.6}
  .market-notice h3{font-size:21px}.market-notice p{font-size:12px}
}
@media(max-height:530px) and (orientation:landscape){
  .home-background{object-position:50% 0}.home-heading{display:none}
  .home-sign{width:22%;min-width:0;max-width:180px;bottom:2%;left:12%}.home-sign button{font-size:18px;letter-spacing:2px}
  .home-truck{width:32%;max-width:280px;right:10%;bottom:5%}.depart-label{font-size:15px;padding:7px 12px}
  .home-heading{top:6%;left:3%}.home-heading h1{font-size:23px}.home-heading>span,.home-heading p{font-size:9px}
  .home-fisher{width:9%;left:47%;bottom:18%}.home-caption{display:none}
  .destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.depart-label{animation:none}.home-sign button,.home-truck{transition:none}}
