.world[data-view=home]{min-height:100svh;display:flex;flex-direction:column}
.world[data-view=home]::before{position:absolute;background:#f0be7d url('assets/home-room-v2-opt1.webp') center/cover no-repeat;filter:none}
.world[data-view=home]::after{background:none}
.world[data-view=home] .topbar{background:linear-gradient(#fffcdfed,#fffbe3b3);box-shadow:0 2px #fff9ce77}
.world[data-view=home] .main{width:100%;max-width:1600px;padding:18px 30px 22px;flex:1;display:flex}
.pack-home{width:100%;display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:minmax(560px,1fr) auto;gap:18px 28px}
.pack-library{padding:18px 12px;border:2px solid #f9e9b6;border-radius:22px;background:linear-gradient(#fff7dcf2,#f1dfa7de);box-shadow:0 5px 0 #907a42a6,0 9px 20px #41683830;align-self:stretch}
.pack-library h1{font-size:22px;color:#4d5436;letter-spacing:3px;text-align:center;margin:0 0 20px}
.pack-list{display:flex;flex-direction:column;gap:12px;max-height:65svh;overflow:auto;padding:4px}
.pack-library .pack-list-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:13px 6px 16px;border:2px solid #af7339;border-radius:16px;background:linear-gradient(135deg,#fff4c2,#eab86a);box-shadow:0 4px #9b6c38;touch-action:none;cursor:grab;color:#583916}
.pack-list-item[aria-pressed=true]{outline:3px solid #fffce6;outline-offset:3px}
.pack-list-item img{width:92px;height:92px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 1px #fff6d7)}
.pack-list-item strong{font-size:18px}.pack-list-item small{font-size:12px;color:#7b552f}
.home-garden{position:relative;min-width:0;display:flex;flex-direction:column;padding:0 24px 10px}
.garden-heading{align-self:center;min-width:220px;text-align:center;padding:10px 24px 12px;border-radius:0 0 24px 24px;background:#fff9dbe8;box-shadow:0 3px #a99147a6;color:#435536}
.garden-heading h2{font-size:25px;letter-spacing:3px}.garden-heading span{font-size:12px;display:block;margin-top:3px;color:#6b794f}
.home-garden .pack-grid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px 18px;padding:24px 0 0;margin:0;background:none;border:0;align-items:end}
.home-garden .pack-card{position:relative;width:100%;height:160px;max-height:100%;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none;isolation:isolate;color:#254c30}
.home-garden .pack-card:hover{filter:none;transform:none}
.home-garden .nest-art{position:absolute;left:0;bottom:-17px;width:100%;height:135px;object-fit:contain;pointer-events:none;z-index:0}
.home-garden .pack-card .pet-motion{position:absolute;left:8%;bottom:36px;width:84%;height:122px;max-height:none;z-index:1}
.home-garden .pack-card .pet-visual{max-height:none!important;animation:none!important}
.home-garden .pack-card .pet-visual img{filter:drop-shadow(0 3px 1px #fff4ce88) drop-shadow(0 7px 3px #32572b44)}
.home-garden .pack-card .pet-name{position:absolute;bottom:0;left:0;right:0;font-size:15px;line-height:22px;color:#244c32;text-shadow:0 1px 2px #ffffdc,0 0 5px #ffface;font-weight:900;z-index:2;margin:0}
.home-garden .pack-card:focus-visible{outline:2px solid #fff3a4;outline-offset:0;border-radius:24px}
.home-garden .pack-card:hover .pet-name{color:#803b1a}
.pack-departure{grid-column:1/-1;display:grid;grid-template-columns:165px minmax(0,1fr) 180px;align-items:center;gap:18px;border:2px solid #f8e3a5;border-radius:22px;background:linear-gradient(#fff7dcf2,#ebd69de8);padding:14px 22px;box-shadow:0 5px #987f4899,0 8px 24px #354e3626}
.pack-departure h2{font-size:21px;color:#4d5436}.pack-departure h2 span{font-size:12px;display:block;margin-top:6px;font-weight:500}
.pack-loadout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:690px}
.pack-socket{min-width:0;position:relative;height:86px;border:2px dashed #aa9a63;border-radius:14px;background:#d7cd9b75;display:flex;align-items:center;justify-content:center}
.pack-socket.occupied{border:2px solid #ad783b;background:linear-gradient(120deg,#f8e8ac,#edc985)}
.pack-socket>button{border:0;box-shadow:none;background:none;width:100%;height:100%;padding:6px;font-size:13px;color:#807448}
.pack-socket .equipped-pack{display:flex;align-items:center;justify-content:center;gap:6px;cursor:grab;touch-action:none;width:100%;height:100%;font-size:16px;color:#60401d}
.equipped-pack img{width:58px;height:64px;object-fit:contain;pointer-events:none}
.pack-socket .pack-remove{position:absolute;right:3px;top:3px;width:22px;height:22px;padding:0;background:#fff6d8;border:1px solid #bca66b;border-radius:50%;font-size:18px;line-height:18px;color:#73512f;z-index:2}
.pack-socket[data-pack-over]{outline:3px solid #fff4a5;box-shadow:0 0 20px #fffec7;background:#fff0ac}
.pack-start-actions{display:flex;flex-direction:column;gap:10px}.pack-start-actions button{padding:9px 12px;font-size:16px;min-height:40px}.pack-start-actions .quiet{font-size:13px}
.pack-drag-ghost{position:fixed;pointer-events:none;z-index:1800;transform:translate(-50%,-60%) rotate(-7deg);display:flex;align-items:center;gap:8px;width:160px;padding:12px;border:2px solid #fff1b9;border-radius:18px;background:#efc97e;box-shadow:0 15px 20px #354a3c55;color:#5a3b20}
.pack-drag-ghost img{width:64px;height:70px;object-fit:contain}.pack-drag-ghost small,.pack-drag-ghost .pack-remove{display:none}.dragging-pack{user-select:none;cursor:grabbing}
@media(min-width:1100px) and (min-height:850px){.pack-home{grid-template-rows:minmax(620px,1fr) auto}.home-garden .pack-card{height:180px}.home-garden .pack-card .pet-motion{height:145px}.home-garden .nest-art{height:155px;bottom:-22px}}
@media(max-width:900px){.world[data-view=home] .main{padding:12px}.pack-home{grid-template-columns:115px minmax(0,1fr);gap:14px;grid-template-rows:minmax(560px,1fr) auto}.pack-library{padding:15px 7px}.pack-library h1{font-size:19px}.pack-list-item img{width:65px;height:72px}.pack-list-item strong{font-size:14px}.home-garden{padding:0 8px 6px}.home-garden .pack-grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));padding-top:16px}.home-garden .pack-card{height:126px}.home-garden .pack-card .pet-motion{height:96px;bottom:27px}.home-garden .nest-art{height:106px;bottom:-17px}.home-garden .pack-card .pet-name{font-size:12px;line-height:19px}.pack-departure{grid-template-columns:1fr 150px;padding:12px;gap:12px}.pack-departure h2{grid-column:1/-1;font-size:17px}.pack-departure h2 span{display:inline;margin-left:10px}.pack-loadout{gap:8px}.pack-socket .equipped-pack{font-size:12px;gap:0}.equipped-pack img{width:40px}.pack-socket{height:74px}}
@media(max-width:550px){.pack-home{grid-template-columns:78px minmax(0,1fr);gap:10px;grid-template-rows:minmax(530px,1fr) auto}.pack-library{padding:12px 3px;border-radius:16px}.pack-library h1{font-size:16px;margin-bottom:12px}.pack-list{padding:3px;overflow:visible}.pack-library .pack-list-item{padding:8px 2px;gap:3px;border-radius:10px}.pack-list-item img{width:48px;height:57px}.pack-list-item strong{font-size:12px}.pack-list-item small{font-size:10px}.home-garden{padding:0}.garden-heading{min-width:0;width:100%;padding:9px 6px}.garden-heading h2{font-size:19px}.garden-heading span{font-size:10px}.home-garden .pack-grid{gap:8px 2px}.home-garden .pack-card{height:108px}.home-garden .pack-card .pet-motion{height:81px;bottom:25px;left:0;width:100%}.home-garden .nest-art{width:112%;left:-6%;height:86px;bottom:-10px}.home-garden .pack-card .pet-name{font-size:11px}.pack-departure{grid-template-columns:1fr;border-radius:17px;padding:12px}.pack-departure h2{font-size:16px}.pack-start-actions{flex-direction:row;justify-content:flex-end}.pack-start-actions button{font-size:14px}.pack-loadout{max-width:none}.pack-socket{height:75px}.pack-socket .equipped-pack{flex-direction:column;font-size:11px;line-height:14px}.equipped-pack img{height:43px;width:43px}.pack-socket>button{font-size:11px}.world[data-view=home]::before{background-size:auto calc(100% + 120px);background-position:60% -120px}}

/* Console-style home shell: scenery first, restrained controls and one departure dock. */
.world[data-view=home]{--home-ink:#203c36;--home-gold:#f2d88e;min-height:780px;height:100svh}
.world[data-view=home]::after{position:absolute;background:linear-gradient(90deg,#172e2a28,transparent 25%,transparent 85%,#172e2a0a);pointer-events:none}
.world[data-view=home] .topbar{min-height:72px;padding:16px 30px 8px;background:none;box-shadow:none;border:0;color:var(--home-ink)}
.world[data-view=home] .brand{font-size:19px;letter-spacing:3px;text-shadow:0 1px 8px #fffbdbaa}
.world[data-view=home] .topbar .back{display:grid;place-items:center;width:34px;height:34px;border:1px solid #294b3a44;border-radius:50%;background:#fff8e34d;text-decoration:none;font-size:20px}
.world[data-view=home] .topbar button{border:1px solid #294b3a55;border-radius:8px;background:#fff8e399;box-shadow:none;padding:8px 18px;font-size:13px;transition:background .15s}
.world[data-view=home] .topbar button:hover{background:#fffae9;filter:none;translate:none}
.world[data-view=home] .main{min-height:0;padding:12px 30px 26px}
.pack-home{grid-template-columns:180px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 118px;gap:20px 36px}
.pack-library{border:0;border-radius:0;background:none;box-shadow:none;padding:24px 0;min-height:0}
.pack-library h1{font-size:16px;letter-spacing:4px;text-align:left;font-weight:600;color:#244739;margin:0 4px 22px;display:flex;align-items:center;gap:14px}
.pack-library h1::after{content:"";height:1px;flex:1;background:#385b4640}
.pack-list{padding:4px;gap:18px;max-height:calc(100% - 50px);scrollbar-width:thin;scrollbar-color:#9eac7c transparent}
.pack-library .pack-list-item{height:242px;overflow:hidden;justify-content:flex-end;padding:20px 6px 18px;gap:5px;border:1px solid #f4dfa0;border-radius:14px;background:radial-gradient(circle at 50% 30%,#ffd48480,transparent 48%),linear-gradient(160deg,#6c5337,#2b3831 80%);box-shadow:0 12px 24px #203b3333,inset 0 0 0 4px #f4dda016;color:#fff2cf;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.pack-library .pack-list-item::before{content:"";position:absolute;left:24%;top:26px;width:52%;aspect-ratio:1;border:1px solid #ffe4a363;border-radius:50%;box-shadow:0 0 0 10px #efcf8133,0 0 0 11px #ffe4a344;pointer-events:none}
.pack-library .pack-list-item[aria-pressed=true]::after{content:"✓";position:absolute;right:10px;top:10px;color:#f6d88e;font-size:14px}
.pack-list-item[aria-pressed=true]{outline:none;box-shadow:0 12px 24px #203b3333,inset 0 -3px #eccc81,inset 0 0 0 4px #f4dda016}
.pack-library .pack-list-item:hover{filter:none;border-color:#fff1c5;box-shadow:0 15px 26px #203b3355,inset 0 0 0 4px #f4dda030}
.pack-list-item img{position:absolute;top:25px;left:10%;width:80%;height:140px;filter:drop-shadow(0 10px 7px #17271f66)}
.pack-list-item strong{position:relative;font-size:19px;font-weight:700;letter-spacing:2px}.pack-list-item small{color:#e7cf9b;font-size:11px;letter-spacing:1px}
.home-garden{padding:6px 12px 0;min-height:0}
.garden-heading{align-self:flex-start;min-width:0;padding:6px 0 0;text-align:left;border-radius:0;background:none;box-shadow:none;color:#234535}
.garden-heading h2{font-size:34px;letter-spacing:5px;line-height:1.2;font-weight:800;text-shadow:0 2px 14px #fff5dca6}
.garden-heading span{color:#3c5f43;font-size:12px;margin-top:8px;letter-spacing:2px}
.home-garden .pack-grid{min-height:0;padding-top:10px;gap:6px 18px}
.home-garden .pack-card{height:100%;min-height:0;max-height:188px}
.home-garden .nest-art{left:6%;width:88%;height:125px;bottom:-13px;filter:drop-shadow(0 5px 3px #5b3b2122)}
.home-garden .pack-card .pet-motion{height:clamp(90px,13.5svh,135px);bottom:34px;left:10%;width:80%}
.home-garden .pack-card .pet-name{bottom:-1px;font-size:13px;line-height:21px;color:#3c4834;text-shadow:0 1px 3px #fff0cdbb;font-weight:700;letter-spacing:1px}
.home-garden .pack-card::after{content:"";position:absolute;bottom:1px;left:36%;right:36%;height:1px;background:#fff4c8;opacity:0;transition:opacity .18s;pointer-events:none}
.home-garden .pack-card:hover::after,.home-garden .pack-card:focus-visible::after{opacity:1}
.home-garden .pack-card:focus-visible{outline:1px solid #fff5bd;outline-offset:3px}
.pack-departure{position:relative;grid-template-columns:150px minmax(0,1fr) 190px;gap:22px;padding:16px 22px;border:1px solid #fcf0cb66;border-radius:16px;background:linear-gradient(115deg,#213d35f0,#2c463aed);backdrop-filter:blur(16px);box-shadow:0 16px 32px #263b3338,inset 0 1px #ffffff1f;color:#fff0d0}
.pack-departure h2{font-size:17px;color:#f6e9c7;letter-spacing:2px;font-weight:600}.pack-departure h2 span{color:#b9c5af;font-size:11px;letter-spacing:0;margin-top:9px}
.pack-loadout{gap:12px;max-width:670px}
.pack-socket{height:82px;border:1px solid #e6d9ac38;border-radius:9px;background:#132f2540;transition:background .15s,border-color .15s,box-shadow .15s}
.pack-socket.occupied{border:1px solid #e3c98999;background:radial-gradient(ellipse at 20% 50%,#c3a16644,transparent 80%),#ffffff08;box-shadow:inset 0 1px #f7dfa622}
.pack-socket>button{font-size:11px;letter-spacing:1px;color:#bcc9b5;font-weight:500}
.pack-socket:not(.occupied)>button::before{content:"+";display:block;font-size:25px;line-height:25px;color:#e0e8ce9c;font-weight:300;margin-bottom:4px}
.pack-socket:hover{background:#f6e1ac12;border-color:#f2dea788}
.pack-socket .equipped-pack{justify-content:flex-start;padding:6px 18px 6px 10px;gap:10px;font-size:14px;color:#fae7bc}
.equipped-pack img{height:67px;width:59px;filter:drop-shadow(0 4px 3px #10251c66)}
.pack-socket .pack-remove{width:24px;height:24px;right:4px;top:4px;border:0;background:#102b2277;color:#c5d0bb;font-size:18px;box-shadow:none;transition:background .15s,color .15s}
.pack-socket .pack-remove:hover{background:#f3e5bb26;color:#fff5ce;filter:none;translate:none}
.pack-socket[data-pack-over]{outline:0;border-color:#fff0b4;box-shadow:0 0 0 2px #edcc7c77,inset 0 0 25px #e9d49022;background:#efdb9c22}
.pack-start-actions{gap:8px}.pack-start-actions button{border-radius:8px;box-shadow:none;min-height:42px;font-weight:600;letter-spacing:1px;transition:background .16s,box-shadow .16s,transform .16s;translate:none}
.pack-start-actions button.primary{position:relative;border:1px solid #f7e1a1;background:linear-gradient(110deg,#f4dc9a,#e7bf6e);color:#283f33;font-size:15px;padding:10px 25px 10px 16px;box-shadow:0 4px 14px #172c2344,inset 0 1px #fff4c3}
.pack-start-actions button.primary::after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-52%);font-size:24px;font-weight:400}
.pack-start-actions button.primary:hover:not(:disabled){filter:none;background:linear-gradient(110deg,#ffe8aa,#f2ce83);box-shadow:0 4px 18px #eacb7340}
.pack-start-actions button.quiet{border:1px solid #edf0d338;background:#ffffff08;color:#dce5cc;min-height:30px;font-size:11px;padding:6px 10px}
.pack-start-actions button.quiet:hover{background:#ffffff15;filter:none}
.pack-start-actions button:active:not(:disabled){transform:scale(.98);translate:none;box-shadow:none}
.pack-start-actions button:disabled{opacity:.35;filter:saturate(.4)}
.pack-drag-ghost{border:1px solid #e6cf8e;background:linear-gradient(125deg,#6b583b,#284437);border-radius:12px;box-shadow:0 20px 35px #19372e66;color:#f7e8be}
@media(max-width:1100px){.pack-home{grid-template-columns:145px minmax(0,1fr);gap:18px 20px}.pack-library .pack-list-item{height:214px}.pack-list-item img{height:120px}.pack-list-item strong{font-size:16px}.pack-departure{grid-template-columns:115px minmax(0,1fr) 160px;gap:12px;padding:14px 16px}.pack-socket .equipped-pack{padding-left:5px;gap:3px;font-size:12px}.equipped-pack img{width:45px}.garden-heading h2{font-size:29px}}
@media(max-width:900px){.world[data-view=home]{height:auto;min-height:100svh}.world[data-view=home] .main{padding:8px 16px 18px}.world[data-view=home] .topbar{padding:12px 16px;min-height:64px}.pack-home{grid-template-columns:110px minmax(0,1fr);grid-template-rows:570px auto;gap:18px 14px}.pack-library{padding:14px 0}.pack-library h1{font-size:13px;margin-bottom:18px}.pack-library .pack-list-item{height:180px;padding-bottom:14px;border-radius:10px}.pack-list-item img{top:25px;height:95px;left:4%;width:92%}.pack-list-item strong{font-size:14px;letter-spacing:0}.pack-list-item small{font-size:10px}.pack-library .pack-list-item::before{top:27px}.home-garden{padding:6px 0 0}.garden-heading{width:auto;padding:0}.garden-heading h2{font-size:25px;letter-spacing:3px}.garden-heading span{font-size:10px;letter-spacing:1px;margin-top:7px}.home-garden .pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px 6px;padding-top:12px}.home-garden .pack-card{height:116px}.home-garden .pack-card .pet-motion{height:90px;bottom:28px;left:5%;width:90%}.home-garden .nest-art{height:100px;bottom:-13px;left:0;width:100%}.home-garden .pack-card .pet-name{font-size:11px;line-height:18px;letter-spacing:0}.pack-departure{grid-template-columns:minmax(0,1fr) 150px;gap:10px 14px;padding:14px}.pack-departure h2{grid-column:1/-1;font-size:15px}.pack-departure h2 span{display:inline;margin-left:12px;margin-top:0}.pack-socket{height:78px}.pack-socket .equipped-pack{justify-content:center;gap:1px;font-size:11px}.pack-loadout{gap:8px}}
@media(max-width:550px){.world[data-view=home] .main{padding:6px 12px 16px}.world[data-view=home] .brand{font-size:15px;letter-spacing:2px}.world[data-view=home] .topbar{padding:10px 12px;min-height:60px}.world[data-view=home] .topbar button{font-size:11px;padding:7px 13px}.pack-home{grid-template-columns:76px minmax(0,1fr);grid-template-rows:536px auto;gap:16px 12px}.pack-library h1{font-size:12px;letter-spacing:2px;margin-bottom:15px}.pack-library h1::after{display:none}.pack-library .pack-list-item{height:147px;border-radius:9px;padding:7px 1px 11px;gap:5px}.pack-list-item img{height:75px;top:21px;left:0;width:100%}.pack-list-item strong{font-size:11px}.pack-list-item small{font-size:9px;letter-spacing:0}.pack-library .pack-list-item::before{top:30px}.pack-library .pack-list-item[aria-pressed=true]::after{top:5px;right:6px;font-size:10px}.garden-heading h2{font-size:23px;letter-spacing:2px}.garden-heading span{font-size:10px;letter-spacing:0}.home-garden .pack-card{height:105px}.home-garden .pack-card .pet-motion{height:79px;bottom:25px;left:0;width:100%}.home-garden .nest-art{height:84px;bottom:-11px;width:110%;left:-5%}.pack-departure{grid-template-columns:1fr;padding:14px;border-radius:12px;gap:12px}.pack-departure h2{font-size:14px}.pack-socket{height:73px;border-radius:7px}.pack-socket .equipped-pack{flex-direction:column;padding:2px;gap:0;font-size:10px}.equipped-pack img{height:42px;width:42px}.pack-socket>button{font-size:10px;letter-spacing:0}.pack-socket .pack-remove{width:20px;height:20px;right:2px;top:2px;font-size:16px}.pack-start-actions{flex-direction:row;gap:9px;justify-content:flex-end}.pack-start-actions button.primary{font-size:13px;padding-right:28px;min-height:40px}.pack-start-actions button.quiet{font-size:10px;min-height:40px}.pack-drag-ghost{width:130px}}
@media(prefers-reduced-motion:reduce){.world[data-view=home] button,.pack-socket{transition:none!important}}
