@font-face{font-family:Caprasimo;src:url(assets/caprasimo.ttf) format('truetype');font-display:swap}@font-face{font-family:DogeSans;src:url(assets/sans.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:DogeSans;src:url(assets/sans-bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{--world-cream:#fff5df;--world-ink:#2b392c;--world-blue:#4876b0;--world-font:DogeSans,system-ui,sans-serif;--world-display:Caprasimo,Georgia,serif}
.world-header{box-sizing:border-box;position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:calc(20px + env(safe-area-inset-top)) clamp(20px,3vw,40px) 35px;min-height:108px;background:linear-gradient(#211a13ad,#211a1340 55%,transparent);color:var(--world-cream);pointer-events:none;font-family:var(--world-font)}.world-header>*{pointer-events:auto}.world-brand{display:flex;align-items:center;gap:20px;color:inherit;text-decoration:none;min-height:48px;font-size:13px;font-weight:700;text-shadow:0 2px 5px #251c12}.world-brand img{display:block;object-fit:contain;width:80px;height:52px;filter:drop-shadow(0 2px 5px #271b1366)}.world-title{font:24px var(--world-display);position:absolute;left:50%;transform:translateX(-50%);margin:12px 0 0;white-space:nowrap;color:inherit}.world-header .pack-menu{position:relative;margin-top:0;color:inherit;font-family:var(--world-font)}.world-header .pack-menu summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:44px;box-sizing:border-box;padding:8px 0 8px 12px;font-size:14px;font-weight:700;cursor:pointer;color:inherit;white-space:nowrap}.world-header .pack-menu summary::-webkit-details-marker{display:none}.world-header .pack-menu summary svg{width:16px;height:16px;transition:transform .18s}.world-header .pack-menu[open] summary svg{transform:rotate(180deg)}.world-header .pack-links{position:absolute;top:calc(100% + 6px);right:0;box-sizing:border-box;width:218px;max-height:calc(100svh - 100px);overflow:auto;padding:7px 16px;border-radius:12px;background:var(--world-cream);color:var(--world-ink);box-shadow:0 12px 35px #211a124d;text-shadow:none}.world-header .pack-links a,.world-header .pack-links button{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;width:100%;padding:8px 0;font:700 14px var(--world-font);color:inherit;text-decoration:none;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer;text-align:left;touch-action:manipulation}.world-header .pack-links>*+*{border-top:1px solid #dfd5bd}.world-header .pack-links a[aria-current=page]{color:#617b4b}.world-header .pack-links a[aria-current=page]:before{content:'•';font-size:17px;margin-right:-11px}.world-header .pack-links span{font-size:17px;color:#798169;margin-left:auto}.world-header .pack-links a:hover,.world-header .pack-links button:hover{color:var(--world-blue);transform:none}.world-header a:focus-visible,.world-header summary:focus-visible{outline:2px solid var(--world-cream);outline-offset:5px}.world-header .pack-links a:focus-visible,.world-header .pack-links button:focus-visible{outline:3px solid var(--world-blue);outline-offset:1px}
.about-pack{box-sizing:border-box;padding:35px;width:min(520px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;border:0;border-radius:23px;background:var(--world-cream);color:var(--world-ink);box-shadow:0 25px 90px #190e075c;font:15px/1.55 var(--world-font)}.about-pack::backdrop{background:#211b147d;backdrop-filter:blur(6px)}.world-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--world-ink);font:26px var(--world-font);cursor:pointer}.world-eyebrow{font:700 10px/1.4 var(--world-font);letter-spacing:1.4px;margin:0 0 20px}.about-faces{display:flex;align-items:center;gap:14px;margin:16px 0 25px}.about-faces img{width:82px;height:82px;object-fit:cover;border-radius:50%;background:#e5d4b6;border:4px solid #e5d4b6}.about-faces span{font:30px var(--world-display);color:#738169}.about-pack h2{font:44px/1.05 var(--world-display);letter-spacing:-1.2px;margin:0 0 22px}.about-pack p{margin:0 0 15px}.about-links{margin-top:25px;border-top:1px solid #d8ceb7}.about-links a{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid #d8ceb7;font-weight:700;color:inherit;text-decoration:none}.about-links a:hover{color:var(--world-blue)}.about-fine{font-size:12px!important;color:#6e7865;margin:20px 0 0!important}.about-pack :focus-visible{outline:3px solid var(--world-blue);outline-offset:4px}
body[data-place=shelter] .world-header{position:absolute;background:#fff5df;color:var(--world-ink);min-height:84px;padding-top:13px;padding-bottom:12px;border-bottom:1px solid #e5d8bf}body[data-place=shelter] .world-brand{text-shadow:none}body[data-place=shelter] .world-brand img{filter:brightness(0) saturate(100%)}body[data-place=shelter] .world-header a:focus-visible,body[data-place=shelter] .world-header summary:focus-visible{outline-color:var(--world-blue)}body[data-place=shelter] .about-pack .world-eyebrow{font-family:var(--world-font)}
@media(max-width:1100px){.world-title{display:none}.world-brand{gap:12px}}
@media(max-width:700px){.world-header{padding:calc(14px + env(safe-area-inset-top)) 18px 30px;min-height:92px;gap:10px}.world-brand{gap:9px;font-size:11px;min-height:42px}.world-brand img{width:61px;height:42px}.world-header .pack-menu summary{font-size:12px;gap:7px;padding-left:6px}.world-header .pack-links{width:208px}.world-header .pack-links a,.world-header .pack-links button{font-size:13px;min-height:44px}.about-pack{padding:30px 24px}.about-pack h2{font-size:39px}.about-pack p{font-size:14px}.about-faces img{width:72px;height:72px}body[data-place=shelter] .world-header{min-height:74px}}
@media(max-height:500px) and (min-aspect-ratio:1/1){.world-header{padding-top:8px;min-height:78px}.world-brand img{width:57px;height:38px}.world-header .pack-menu summary{font-size:12px}.world-header .pack-links{max-height:calc(100svh - 75px)}}
@media(prefers-reduced-motion:reduce){.world-header *{transition:none!important}}
.skip-link{position:absolute;left:18px;top:0;transform:translateY(-150%);padding:12px 18px;z-index:1000;background:#fff5df;color:#26372e;border-radius:0 0 6px 6px;font:700 14px var(--world-font);text-decoration:none}.skip-link:focus{transform:translateY(0);outline:3px solid #4876b0;outline-offset:2px}
/* Keep a clear route back to the room throughout the longer shelter story. */
body[data-place=shelter]{padding-top:0}body[data-place=shelter] .world-header{position:sticky;top:0}

/* Revision 105: a close control that stays with the introduction on small screens. */
.about-pack>.world-close{position:sticky;float:right;top:0;margin:-22px -17px -22px 0;z-index:2;background:#fff5dff2}
@media(max-width:700px){.world-header .pack-links{max-height:calc(100svh - 92px - env(safe-area-inset-bottom))}body[data-place=shelter] .world-header{padding-top:calc(13px + env(safe-area-inset-top));min-height:calc(74px + env(safe-area-inset-top))}}
.world-header{padding-left:max(clamp(18px,3vw,40px),env(safe-area-inset-left));padding-right:max(clamp(18px,3vw,40px),env(safe-area-inset-right))}

/* My Doge connects from the world; there is no separate sign-in landing page. */
.doge-access{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(410px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;padding:34px 28px 25px;border:1px solid #d7ccb6;border-radius:22px;background:var(--world-cream);color:var(--world-ink);box-shadow:0 24px 90px #100d0a50;font:15px/1.45 var(--world-font);text-align:left}.doge-access::backdrop{background:#18181170;backdrop-filter:blur(3px)}.doge-access h2{font:32px/1.12 var(--world-display);letter-spacing:-.8px;margin:0 0 10px;padding-right:8px;color:inherit}.access-close{position:absolute;right:9px;top:9px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;font:27px/1 var(--world-font);cursor:pointer}.access-close:hover{background:#e7dfcb}.access-eyebrow{font:700 10px var(--world-font);letter-spacing:1.5px;margin:0 0 22px}.access-intro{margin:0 0 24px;color:#5a6454}.access-wallet{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:52px;margin:8px 0;padding:13px 16px;border:1px solid #c9ccb8;border-radius:11px;background:#e3e9ce;color:inherit;text-align:left;font:700 15px/1.35 var(--world-font);cursor:pointer;touch-action:manipulation}.access-wallet:hover{background:#d5e1bb;border-color:#8fa27a}.access-wallet:disabled{opacity:.5;cursor:wait}.access-phone{margin-top:14px;background:#d9e7ee;border-color:#c4d4d9;min-height:67px}.access-phone:hover{background:#c8dfe9;border-color:#93b5c8}.access-phone small{display:block;margin-top:4px;font-size:12px;font-weight:400;color:#566657}.access-wallet>span:last-child{font-size:21px}.access-options:empty+.access-phone{margin-top:0}.access-progress{font:14px/1.5 var(--world-font);margin:16px 0 0;min-height:0;color:#435b41}.access-progress:empty{display:none}.access-fine{font-size:12px;color:#626958;margin:19px 0 0;line-height:1.5}.access-help{margin-top:12px;font-size:12px;color:#626958}.access-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.access-help p{margin:0 0 6px;overflow-wrap:anywhere}.doge-access :focus-visible,.access-pending :focus-visible{outline:3px solid var(--world-blue);outline-offset:3px}.access-pending{position:fixed;z-index:999;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);box-sizing:border-box;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);padding:8px 12px 8px 18px;border:1px solid #d7ccb6;border-radius:14px;background:var(--world-cream);color:var(--world-ink);box-shadow:0 8px 40px #211a1340;font:13px/1.4 var(--world-font)}.access-pending button{min-width:64px;min-height:44px;padding:10px;border:0;border-radius:8px;background:#e2e8cd;color:inherit;font:700 13px var(--world-font);cursor:pointer}.access-pending[hidden]{display:none}
@media(max-width:380px){.doge-access{padding:30px 22px 20px}.doge-access h2{font-size:28px}.access-eyebrow{margin-bottom:20px}.access-intro{font-size:14px}.access-wallet{font-size:14px;padding:12px 14px}}
#trophy-cabinet,#room-scrapbook{min-width:44px;min-height:44px}#trophy-cabinet:hover .spot-label,#trophy-cabinet:focus-visible .spot-label,#room-scrapbook:hover .spot-label,#room-scrapbook:focus-visible .spot-label{opacity:1}#trophy-cabinet:focus-visible,#room-scrapbook:focus-visible{outline:2px solid #fff2cc;outline-offset:3px;border-radius:5px}
.access-copy-link{min-height:44px;padding:9px 13px;margin:4px 0 0;border:1px solid #b5bfaa;border-radius:8px;background:#e7eadb;color:inherit;font:700 13px/1.4 var(--world-font);cursor:pointer}
.access-wallet-link{box-sizing:border-box;display:block;width:100%;min-height:44px;padding:8px 10px;margin-top:10px;border:1px solid #b5bfaa;border-radius:6px;background:#fff9eb;color:inherit;font:13px var(--world-font)}
.access-wallet-link[hidden]{display:none}

/* The same illustrated home leads from Connect into the welcome. */
.doge-access{border:2px solid #51684f;background:#fff8e5;border-radius:22px;box-shadow:0 6px 0 #27382f4d,0 24px 90px #131c214d}
.access-welcome-art{height:94px;margin:-10px -12px 24px;position:relative;overflow:hidden;border-radius:13px;background:#dfcaa0 url('/assets/welcome-world/room.webp') 63% 58%/cover no-repeat;border:1px solid #53684e30}
.access-welcome-art img{position:absolute;right:12px;bottom:-43px;width:168px;height:168px;object-fit:contain;transform:rotate(-4deg)}
.doge-access .access-close{z-index:2;background:#fff8e5;border:1px solid #51684f4d;border-radius:50%;top:14px;right:14px;width:38px;height:38px;line-height:1}
.doge-access .access-eyebrow{letter-spacing:0;font-size:12px;color:#627355;margin-bottom:12px}
.doge-access .access-intro{line-height:1.5;font-size:15px;margin-bottom:22px}
.doge-access .access-wallet{background:#edf0d9;border:1px solid #b7c0a5;border-radius:12px;color:#2d463d;min-height:54px}
.doge-access .access-wallet:hover{background:#dfebbf;border-color:#688061}
.doge-access .access-wallet:disabled{cursor:default}
.doge-access .access-phone{background:#dce7f4;border-color:#acbfd3}
.doge-access .access-phone:hover{background:#cbdff3}
@media(max-width:380px){.access-welcome-art{height:80px;margin-bottom:20px}.doge-access .access-intro{font-size:14px}.doge-access .access-close{top:9px;right:9px}}
