@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#122522;--panel:#19312d;--line:#30463e;--text:#f3f1df;--muted:#a3b6a9;--gold:#efbd70;--ink:#173027}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.world:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{color:inherit}button:disabled{opacity:.5;cursor:default}a{color:var(--gold)}.topbar{height:96px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:12px;font:800 27px 'Manrope',sans-serif;letter-spacing:-1px}.brandlight{font-weight:400;color:var(--gold)}.brand small{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:1.75px;margin-top:5px;color:var(--muted)}.brandmark{background:var(--gold);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);color:var(--ink);width:40px;height:40px;display:grid;place-items:center;font-size:24px}.topbar nav{display:flex;align-self:stretch;gap:35px}.nav{border:0;background:none;color:var(--muted);font-size:14px;position:relative;padding:0 3px}.nav.active{color:var(--gold)}.nav.active:after{content:'';height:3px;background:var(--gold);position:absolute;bottom:0;left:0;right:0;border-radius:3px}.profile{display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--line);border-radius:30px;padding:6px 13px 6px 6px;font-size:14px}.avatar-mini{background:#d4a564;color:#263329;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-weight:700}.profile-arrow{color:var(--muted);margin-left:10px}main{max-width:1700px;margin:auto;display:grid;grid-template-columns:272px minmax(0,1fr);padding:32px 42px 20px;gap:36px}.sidebar{display:flex;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:0}.welcome{padding:7px 0 28px}.welcome h1{font:600 29px/1.35 'Manrope',sans-serif;letter-spacing:-.8px;margin:16px 0 10px}.welcome h1 span{color:var(--gold)}.welcome>p:last-child{font-size:14px;color:var(--muted);margin-bottom:0}.location-title{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:1.8px;border-top:1px solid var(--line);padding-top:23px;margin-bottom:15px}.places{display:flex;flex-direction:column;gap:5px}.places button{border:0;background:transparent;border-radius:10px;display:flex;align-items:center;gap:13px;text-align:left;padding:12px 6px;transition:background .15s}.places button:hover{background:var(--panel)}.places small{display:block;font-size:12px;margin-top:5px;color:var(--muted)}.places button>span:nth-child(2){font-size:14px;font-weight:500}.place-icon{height:37px;width:37px;display:grid;place-items:center;color:var(--gold);border:1px solid #435444;border-radius:10px;font-size:26px;background:#21392f}.key{margin-left:auto;color:#8ca294;font-size:12px;padding:3px 5px;border:1px solid #334b40;border-radius:4px}.quest{margin-top:26px;padding:20px;background:linear-gradient(140deg,#294434,#21392f);border:1px solid #456045;border-radius:13px}.quest-top{display:flex;justify-content:space-between;align-items:center;color:var(--gold);font-size:27px}.quest .eyebrow{color:#c7d1aa;letter-spacing:1.2px;font-size:10px}.quest h2{font-size:17px;line-height:1.4;margin:7px 0 8px}.quest p{font-size:13px;color:#bccab8;line-height:1.65;margin:0 0 16px}.progress-label{display:flex;justify-content:space-between;font-size:12px;color:#d4dfc6;margin-bottom:9px}.progress-track{height:5px;background:#152a23;border-radius:5px;overflow:hidden}#quest-bar{height:100%;background:var(--gold);width:0;transition:width .3s}.quest p.reward{font-size:11px;margin-top:13px;color:var(--gold)}.text-button{border:0;padding:0;background:none;color:var(--gold);font-size:13px;text-decoration:underline;text-underline-offset:4px}.sidebar-footer{display:flex;align-items:center;gap:13px;margin-top:auto;padding-top:25px;color:var(--muted)}.leaf{font-size:35px;color:#899c77}.sidebar-footer p{font-size:12px;line-height:1.8}.sidebar-footer strong{font-weight:400;color:#c4cfbb}.world-column{min-width:0}.world-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding-top:5px}.world-heading h2{font:500 24px 'Manrope',sans-serif;letter-spacing:-.65px;margin:9px 0 0}.world-heading .eyebrow{font-size:10px;color:#90a798}.demo-label{font-size:11px;background:#253f35;padding:9px 12px;border:1px solid #425340;border-radius:20px;color:#d5dfc5;white-space:nowrap}.world{position:relative;aspect-ratio:1.5;background:#254735;border-radius:17px;overflow:hidden;border:1px solid #536046;isolation:isolate;touch-action:none;box-shadow:0 18px 50px #06191244}.world>img{width:100%;height:100%;object-fit:fill;position:absolute;inset:0;user-select:none}.world-shade{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -60px 70px #0d261b50,inset 0 40px 70px #0d261b30}.map-label{position:absolute;top:20px;left:20px;display:flex;gap:10px;align-items:center;background:#183b2cdd;border:1px solid #c1d69735;padding:10px 14px;border-radius:10px;pointer-events:none;font-size:13px;backdrop-filter:blur(10px)}.map-label small{display:block;font-size:10px;color:#c0d2b8;margin-top:4px}.sun{font-size:28px;color:#ffdb8b}.help-button{position:absolute;right:18px;top:19px;width:32px;height:32px;border:1px solid #e1ddb455;border-radius:50%;background:#173b2ac9}.map-place{position:absolute;z-index:4;transform:translate(-50%,-50%);padding:8px 13px;background:#15392edf;border:1px solid #c3bd875e;border-radius:8px;box-shadow:0 4px 12px #0003;white-space:nowrap;transition:border-color .15s,background .15s;backdrop-filter:blur(5px)}.map-place:hover{background:#2f4935;border-color:var(--gold)}.map-place span{font-size:13px;color:#fff6dd}.map-place small{display:block;color:#c8d4ab;font-size:8px;letter-spacing:1.5px;margin-top:5px}.tavern{left:24%;top:35%}.gallery{left:76%;top:35%}.home{left:23%;top:80%}.board{left:79%;top:78%}.player,.npc{position:absolute;transform:translate(-50%,-75%);display:flex;align-items:center;flex-direction:column;pointer-events:none;z-index:5}.character,.npc>span{font-size:33px;filter:drop-shadow(0 4px 2px #102a2380);line-height:1.2}.player small,.npc small{font-size:10px;background:#122d26eb;padding:3px 8px;border-radius:5px;margin-top:2px;border:1px solid #aaba8244;white-space:nowrap}.player small{color:var(--gold)}.player-marker{font-size:10px;color:#ffe093;height:12px}.npc{z-index:3}.npc small{font-size:9px;color:#dde8ce}.destination{position:absolute;border:2px solid #ffe091a0;width:22px;height:12px;border-radius:50%;transform:translate(-50%,-50%);display:none;pointer-events:none}.world-bottom{position:absolute;bottom:15px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none}.location-pill,.collection-pill{border:1px solid #e4e5b42e;border-radius:7px;background:#15372bd9;padding:8px 12px;font-size:11px;color:#e6eaca}.collection-pill{color:#ffdc8c}.firefly{position:absolute;z-index:4;transform:translate(-50%,-50%);border:0;background:none;font-size:23px;color:#ffeb96;padding:12px;text-shadow:0 0 12px #ffd550,0 0 25px #ffbe42;animation:float 2.5s ease-in-out infinite;line-height:1}.firefly:after{content:'';position:absolute;width:26px;height:26px;border:1px solid #ffde7350;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.firefly.highlight:after{animation:pulse 1s infinite;border-color:#ffdb88}.nearby{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);z-index:6;white-space:nowrap}.nearby button{border:1px solid #ceb779;background:#172e25ee;border-radius:9px;padding:9px 14px;font-size:12px;color:#f2d38f}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.controls-row p{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);margin:0}.controls-row p span{margin:0 12px 0 5px}kbd{font:10px 'DM Sans',sans-serif;background:#233a32;border:1px solid #405449;border-bottom-width:2px;padding:4px 6px;border-radius:4px;color:#dbe1cc}.controls-row .text-button{font-size:11px;color:var(--muted)}.below-map{display:flex;align-items:center;gap:14px;margin-top:23px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#1a302a}.note-icon{font-size:27px;color:var(--gold)}.below-map strong{font-size:14px;font-weight:500}.below-map p{font-size:12px;color:var(--muted);margin:6px 0 0}.small-button{margin-left:auto;white-space:nowrap;border:1px solid #50644e;border-radius:7px;background:#2a4334;color:#e1debf;padding:9px 13px;font-size:12px}.prototype-note{color:#8ba494;font-size:11px;line-height:1.7;margin:15px 1px 0}dialog{background:#1b342c;color:var(--text);border:1px solid #627455;border-radius:18px;padding:25px;width:min(570px,calc(100% - 30px));max-height:88vh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#051d16b5;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dialog-top button{border:0;background:#294339;border-radius:50%;width:32px;height:32px;font-size:24px;line-height:1}.dialog-top .eyebrow{font-size:10px;color:var(--gold)}dialog h2{font:600 28px 'Manrope',sans-serif;letter-spacing:-.7px;margin:10px 0 12px}dialog p{font-size:15px;color:#c0cebe;line-height:1.7}dialog .lead{margin-bottom:20px}.modal-card{padding:17px;border:1px solid #46604c;background:#233e31;border-radius:12px;margin:12px 0}.modal-card h3{font-size:17px;margin:0 0 7px}.modal-card p{font-size:14px;margin:7px 0}.modal-card small{font-size:12px;color:var(--gold)}.primary{background:var(--gold);border:0;border-radius:8px;color:#263427;padding:12px 17px;font-weight:700;font-size:14px}.secondary{background:#2f493a;border:1px solid #68805b;border-radius:8px;padding:11px 15px;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.post-form{display:flex;flex-direction:column;gap:8px;margin-top:20px}.post-form label{font-size:14px;color:#d6dfcd;margin-top:8px}input,select{border:1px solid #587054;background:#132a22;color:var(--text);padding:12px;border-radius:8px;width:100%;font-size:16px}input::placeholder{color:#829b89}.form-error{font-size:13px;color:#ffc7a4;min-height:18px}.post-form .primary{margin-top:6px}.pill{display:inline-block;font-size:11px;color:#d4ddb9;border:1px solid #566e4f;padding:5px 8px;border-radius:20px;margin:3px 5px 5px 0}.chatline{padding:12px 15px;background:#304b37;border-radius:12px 12px 12px 2px;line-height:1.6;font-size:14px;margin:15px 0;color:#e2e6ce}.chat-choice{display:block;width:100%;text-align:left;margin:9px 0;padding:12px 15px;border:1px solid #526d4c;background:#203a2e;border-radius:8px;font-size:14px}.sample-art{height:80px;background:linear-gradient(120deg,#385d42,#6d8644);font-size:38px;display:grid;place-items:center;border-radius:7px;margin-bottom:12px}.achievement{font-size:60px;text-align:center;margin:15px}.center{text-align:center}.post-link{display:block;text-decoration:none;font-size:14px;margin-top:12px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:13px 20px;max-width:90%;border:1px solid #9ba66d;background:#27432f;color:#fff0bd;border-radius:10px;box-shadow:0 8px 30px #0005;opacity:0;pointer-events:none;transition:.2s;font-size:14px;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}.step-list{padding-left:20px;color:#c0cebe;font-size:15px;line-height:1.9}@keyframes float{50%{transform:translate(-50%,-65%)}}@keyframes pulse{50%{width:44px;height:44px;opacity:.5}}@media(min-width:1550px){.world{max-height:740px}}@media(max-width:1150px){.topbar{padding:0 24px}main{padding:25px 24px;grid-template-columns:225px minmax(0,1fr);gap:23px}.welcome h1{font-size:25px}.world-heading h2{font-size:20px}.quest{padding:15px}.world{aspect-ratio:1.3}.controls-row{flex-wrap:wrap}.map-place{padding:7px 8px}.map-place span{font-size:11px}.map-place small{font-size:7px;letter-spacing:1px}.below-map{padding:15px}.below-map p{line-height:1.5}.below-map strong{font-size:13px}}@media(max-width:800px){.topbar{height:77px;padding:0 17px;gap:10px}.brand{font-size:23px;gap:8px}.brand small{display:none}.brandmark{width:32px;height:32px;font-size:20px}.topbar nav{gap:14px}.nav{font-size:12px}.profile{border:0;padding:0}.profile>span:not(.avatar-mini){display:none}main{display:flex;flex-direction:column;padding:20px 15px;gap:20px}.world-column{order:0}.sidebar{order:1;display:grid;grid-template-columns:1fr 1fr;gap:20px}.welcome,.location-title,.sidebar-footer{display:none}.places{justify-content:center}.quest{margin:0}.world-heading{margin-bottom:16px}.world-heading h2{font-size:20px}.demo-label{font-size:10px;padding:7px 9px}.world{aspect-ratio:1.25;border-radius:12px;min-height:330px}.map-label{top:12px;left:12px;padding:7px 9px;font-size:11px}.sun{font-size:22px}.help-button{right:12px;top:12px}.map-place span{font-size:11px}.map-place small{font-size:7px}.character,.npc>span{font-size:28px}.controls-row p span{margin-right:7px}.below-map{margin-top:17px;gap:10px}.below-map p{display:none}.note-icon{font-size:22px}.prototype-note{font-size:11px}.map-place.home{top:79%}}@media(max-width:430px){.topbar nav{gap:11px}.nav{font-size:11px}.brand{font-size:20px}.brandmark{width:28px;height:28px}.world-heading h2{font-size:18px}.world-heading .eyebrow{font-size:9px}.sidebar{grid-template-columns:1fr}.places{display:grid;grid-template-columns:1fr 1fr;gap:8px}.places button{padding:8px 0;gap:8px}.places .key,.places small{display:none}.places button>span:nth-child(2){font-size:12px}.quest{padding:18px}.quest p{font-size:14px}.world{min-height:350px;aspect-ratio:1.05}.map-place{padding:6px}.map-place span{font-size:10px}.map-place small{font-size:6px}.npc small{font-size:8px}.world-heading{gap:6px}.demo-label{font-size:9px}.controls-row p{flex-wrap:wrap;line-height:1.5}.below-map strong{font-size:12px}.small-button{padding:9px;font-size:11px}.map-place.home{left:22%}.map-place.board{left:78%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Consistent reading sizes and building anchors. */
.brand small{font-size:12px;letter-spacing:.8px}.eyebrow,.location-title,.quest .eyebrow,.world-heading .eyebrow,.dialog-top .eyebrow{font-size:12px}.places small,.quest p,.progress-label,.quest p.reward,.sidebar-footer p,.demo-label,.map-label,.map-label small,.world-bottom span,.controls-row p,.controls-row .text-button,.below-map p,.prototype-note,.modal-card small,.pill{font-size:12px}.text-button,.small-button,.below-map strong,.places button>span:nth-child(2){font-size:14px}.map-place span{font-size:14px}.map-place small{font-size:12px;letter-spacing:.5px}.map-place.tavern{left:23%;top:33%}.map-place.gallery{left:82%;top:42%}.map-place.home{left:18%;top:67%}.map-place.board{left:84%;top:66%}.player small,.npc small{font-size:12px}.nearby button{font-size:14px}.world{aspect-ratio:1.5;min-height:0}.brand small{max-width:245px;font-size:10px}.world-heading{flex-wrap:wrap}.map-place{max-width:39%;white-space:normal}.map-place small{font-size:10px}.quest p.reward{font-size:12px}.brand small{font-size:12px;letter-spacing:0}.map-place small{font-size:12px}.player small,.npc small{font-size:12px}.map-label small{font-size:12px}
@media(max-width:1150px){.map-place span{font-size:12px}.map-place small{display:none}.map-label{font-size:12px}.map-place{padding:7px 9px}.brand small{display:none}.world-heading h2{font-size:20px}}
@media(max-width:800px){.world{aspect-ratio:1.5;min-height:0}.world-heading h2{font-size:20px}.map-label{padding:5px 8px;top:9px;left:9px}.map-label small{display:none}.sun{font-size:18px}.map-place{padding:6px 8px;max-width:40%}.player small,.npc small{font-size:12px;padding:2px 5px}.character,.npc>span{font-size:25px}.world-bottom{bottom:9px;left:10px;right:10px}.world-bottom span{padding:5px 7px;font-size:12px}.npc{display:none}.controls-row p{font-size:12px}.places button>span:nth-child(2){font-size:14px}.nav{font-size:14px}.nearby{bottom:36px}.nearby button{font-size:12px;padding:6px 9px}.world-heading .eyebrow{font-size:12px}.demo-label{font-size:12px}}
@media(max-width:430px){.topbar{flex-wrap:wrap;height:auto;padding-top:13px;row-gap:9px}.topbar nav{order:2;width:100%;height:42px;justify-content:space-between;gap:12px}.brand{font-size:24px}.profile{margin-left:auto}.world-heading{align-items:flex-start}.world-heading h2{font-size:19px}.demo-label{font-size:12px}.map-place.board{left:82%}.map-place.gallery{left:81%}.map-place.tavern{left:23%}.map-place.home{left:19%}.below-map{flex-wrap:wrap}.below-map strong{font-size:14px}.below-map .small-button{margin-left:36px}.controls-row kbd{font-size:12px}.places{gap:5px}.nearby{bottom:34px}.map-label{font-size:12px}.world-bottom .location-pill{max-width:60%;font-size:12px}.player-marker{height:9px}.player small{font-size:12px}.firefly{font-size:20px;padding:7px}}
.vote-budget{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid #7d8757;background:#304734;border-radius:10px;margin:20px 0 12px}.vote-budget strong{font-size:16px;color:var(--gold)}.vote-budget span{font-size:14px;color:#d7dfc2}.vote-notice{font-size:13px;line-height:1.65;color:#b9c9b7;padding:0 2px;margin-bottom:23px}.ranking-caption{font-size:12px!important;letter-spacing:.6px;color:var(--gold)!important}.creator-list{list-style:none;margin:0;padding:0}.creator-list li{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #415b46}.creator-avatar{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;background:#456045;border:1px solid #718562;border-radius:12px;color:#f3d392;font-weight:700}.creator-info{min-width:0;flex:1}.creator-info a{font-size:16px;overflow-wrap:anywhere;text-decoration:none}.creator-info a:hover{text-decoration:underline}.creator-info small{display:block;color:#b9c9b7;font-size:12px;margin-top:5px}.creator-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.creator-actions .text-button{font-size:14px}.creator-actions [data-remove-vote]{color:#c4cbb2}.vote-hint{font-size:13px!important;margin:4px 0 0!important}.post-form .actions{margin-top:0}.post-form .actions .primary{margin-top:0}#vote-cancel[hidden]{display:none}input:disabled{opacity:.45}@media(max-width:430px){.creator-list li{gap:9px}.creator-avatar{width:34px;height:34px}.creator-actions{flex-direction:column;gap:10px}.vote-budget{padding:13px}.vote-budget strong{font-size:14px}.vote-budget span{font-size:13px}}
/* Beyond the town gate: a compact action adventure. */
main[hidden],#dungeon-shell[hidden],.dungeon-overlay[hidden]{display:none!important}.dungeon-gate{left:50%;top:11%;border-color:#d6b477;background:#293927ed}.dungeon-link{margin-top:4px;border-top:1px solid #506143!important;border-radius:0!important}.dungeon-link .place-icon{color:#f3c57f;background:#4b442b}.dungeon-active .topbar nav,.dungeon-active .topbar .profile{visibility:hidden}.dungeon-active .topbar{height:72px}#dungeon-shell{max-width:1480px;margin:0 auto;padding:26px 36px 40px}.dungeon-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.dungeon-heading .eyebrow{color:#cca674}.dungeon-heading h1{font:600 30px 'Manrope',sans-serif;letter-spacing:-.7px;margin:7px 0 0}.dungeon-toolbar{display:flex;gap:10px}.dungeon-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:26px}.dungeon-play-column{min-width:0}.dungeon-arena{position:relative;aspect-ratio:1.5;border-radius:15px;overflow:hidden;border:1px solid #657053;background:#0b231e;box-shadow:0 18px 65px #0005;isolation:isolate}.dungeon-arena>img,.dungeon-arena canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.dungeon-arena canvas{touch-action:none;z-index:1;outline-offset:-4px}.dungeon-arena canvas:focus-visible{outline:2px solid #e7c883}.dungeon-hud{position:absolute;top:15px;left:15px;right:15px;display:flex;justify-content:space-between;gap:15px;pointer-events:none;z-index:2}.health-card,.wave-card{background:#102a23eb;border:1px solid #bdba7859;backdrop-filter:blur(6px);border-radius:9px;padding:11px 14px}.health-card{width:200px}.health-card>div:first-child{display:flex;justify-content:space-between;font-size:14px;gap:15px}.health-card span{color:#ffc1a3}.health-card b{font-size:14px;font-weight:500}.health-track{margin-top:9px;height:7px;overflow:hidden;background:#071c17;border-radius:9px}.health-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#b56549,#e9ab7d);transition:width .15s}.wave-card{max-width:44%;text-align:right}.wave-card>span{display:block;font-size:14px;color:#f4d9aa}.wave-card small{display:block;font-size:12px;color:#bacbb8;margin-top:5px}.dungeon-banner{position:absolute;top:28%;left:50%;transform:translateX(-50%);background:#122a23ed;border:1px solid #ceb17288;border-radius:8px;padding:11px 20px;font-size:16px;max-width:85%;width:max-content;color:#ffe3b1;text-align:center;opacity:0;pointer-events:none;z-index:3;transition:opacity .3s}.dungeon-banner.visible{opacity:1}.dungeon-overlay{position:absolute;inset:0;background:#071d16dc;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:25px;z-index:5;overflow:auto}.dungeon-overlay>div{max-width:570px;text-align:center;margin:auto}.dungeon-overlay .eyebrow{font-size:12px;color:var(--gold)}.dungeon-overlay h2{font:600 29px 'Manrope',sans-serif;margin:10px 0}.dungeon-overlay p{font-size:15px;line-height:1.65;color:#c6d2bc}.dungeon-overlay .actions{justify-content:center}.treasure-symbol{font-size:55px;margin:10px}.run-summary{display:flex;justify-content:center;gap:22px;padding:16px 0;border-top:1px solid #56724d;border-bottom:1px solid #56724d;margin:20px 0}.run-summary span{font-size:12px;color:#bcccad}.run-summary strong{display:block;font-size:23px;color:var(--gold);margin-bottom:6px}.dungeon-overlay p.local-reward-note{font-size:12px}.combat-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:16px}.combat-actions{display:flex;gap:8px;flex-wrap:wrap}.combat-actions button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;font-size:14px}.combat-actions kbd{background:#394b2c1a;color:#35412a;border-color:#394b2c44;font-size:12px}.combat-actions span{font-size:12px;opacity:.8}.dpad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,31px);gap:3px;flex-shrink:0}.dpad button{background:#294235;border:1px solid #647356;border-radius:6px;touch-action:none;font-size:18px;user-select:none}.dpad button[data-move=up]{grid-column:2;grid-row:1}.dpad button[data-move=left]{grid-column:1;grid-row:2}.dpad button[data-move=down]{grid-column:2;grid-row:2}.dpad button[data-move=right]{grid-column:3;grid-row:2}.combat-controls button{touch-action:none;user-select:none}.dungeon-instructions{font-size:13px;line-height:1.7;color:#aebfac;margin:14px 0 0}.dungeon-journal{padding:22px;border:1px solid #46523d;border-radius:13px;background:#1c3027;align-self:start}.dungeon-journal .eyebrow{font-size:12px;letter-spacing:1px;color:#c8b78a}.dungeon-journal h2{font:600 23px/1.35 'Manrope',sans-serif;margin:12px 0}.dungeon-journal>p:not(.eyebrow){font-size:14px;color:#b4c2aa;line-height:1.7}.dungeon-steps{padding:0;list-style:none;margin:24px 0}.dungeon-steps li{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:#95ab92;font-size:14px}.dungeon-steps li>span{font-size:12px;width:30px;height:30px;border:1px solid #52664b;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.dungeon-steps small{display:block;font-size:12px;margin-top:5px;line-height:1.5}.dungeon-steps .current{color:#f2d195}.dungeon-steps .current>span{border-color:#c7a86b;background:#9e834c33}.dungeon-steps .complete{color:#c5dbac}.dungeon-steps .complete>span{background:#476043;color:#f2e3b0}.dungeon-tip{padding-top:18px;border-top:1px solid #495b42}.dungeon-tip strong{color:#e0cd99;font-size:14px}.dungeon-tip p{font-size:13px;color:#b4c2aa;line-height:1.7}.dungeon-record{display:flex;flex-direction:column;gap:8px;border-top:1px solid #495b42;padding-top:18px;margin-top:18px}.dungeon-record span{font-size:12px;color:#b4c2aa}.dungeon-record strong{font-size:20px;color:var(--gold)}.dungeon-record small{font-size:12px;line-height:1.6;color:#9db091}@media(max-width:1100px){#dungeon-shell{padding:22px}.dungeon-layout{grid-template-columns:minmax(0,1fr) 215px;gap:20px}.dungeon-journal{padding:16px}.combat-controls{align-items:flex-start}.combat-actions{justify-content:flex-end;gap:6px}.combat-actions button{padding:9px 12px}.dungeon-overlay h2{font-size:24px}.dungeon-overlay p{font-size:14px}.treasure-symbol{font-size:36px;margin:0}.run-summary{margin:10px 0;padding:10px 0}.dungeon-overlay .actions{margin-top:12px}}@media(max-width:850px){#dungeon-shell{padding:20px 15px}.dungeon-layout{grid-template-columns:1fr}.dungeon-journal{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.dungeon-journal>.eyebrow,.dungeon-journal>h2,.dungeon-journal>p{grid-column:1}.dungeon-steps{grid-column:2;grid-row:1 / span 4;margin:5px 0}.dungeon-record{grid-column:2;margin:0}.dungeon-tip{grid-column:1}.health-card{width:180px}.dungeon-active .topbar{height:60px}.dungeon-active .topbar nav{display:none}.dungeon-heading h1{font-size:26px}.dungeon-heading .eyebrow{font-size:12px}.dungeon-gate{top:13%}}@media(max-width:540px){.dungeon-heading{align-items:flex-start;flex-wrap:wrap}.dungeon-toolbar{width:100%;justify-content:space-between}.dungeon-toolbar button{font-size:14px;padding:9px 12px}.dungeon-hud{top:7px;left:7px;right:7px;gap:7px}.health-card,.wave-card{padding:7px 9px;border-radius:7px}.health-card{width:138px}.health-card>div:first-child,.health-card b{font-size:12px}.wave-card>span{font-size:12px}.wave-card small{font-size:12px;margin-top:3px}.health-track{margin-top:6px;height:5px}.wave-card{max-width:49%}.dungeon-banner{font-size:13px;padding:8px 12px;top:34%}.combat-controls{gap:10px;align-items:center}.combat-actions{display:grid;grid-template-columns:1fr 1fr;flex:1}.combat-actions button{padding:9px 6px;font-size:13px;gap:5px}.combat-actions kbd{display:none}.combat-actions span{font-size:12px}.dpad{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,40px)}.dungeon-journal{display:block}.dungeon-steps{margin:20px 0}.dungeon-record{margin-top:18px}.dungeon-overlay{padding:14px}.dungeon-overlay h2{font-size:21px;margin:7px 0}.dungeon-overlay p{font-size:13px;margin:7px 0}.dungeon-overlay .primary,.dungeon-overlay .secondary{font-size:13px;padding:9px 12px}.treasure-symbol{display:none}.run-summary{gap:15px;padding:7px 0;margin:7px 0}.run-summary strong{font-size:19px;margin:0}.run-summary span{font-size:12px}.dungeon-overlay p.local-reward-note{font-size:12px}.dungeon-overlay .actions{gap:6px;margin-top:9px}.dungeon-arena:has(.dungeon-overlay:not([hidden])){aspect-ratio:auto;min-height:350px}.dungeon-arena:has(.dungeon-overlay:not([hidden])) canvas,.dungeon-arena:has(.dungeon-overlay:not([hidden]))>img{object-fit:cover}.dungeon-gate{max-width:40%;top:14%}.dungeon-gate span{font-size:12px}}
/* Community landmarks: real Hive content, campaign ledger, and local favorites. */
.featured-easel{position:absolute;left:60%;top:18%;width:12%;aspect-ratio:2/3;border:0;background:transparent;padding:0;z-index:4;cursor:pointer;filter:drop-shadow(0 5px 4px #0b211b80)}.easel-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.easel-picture{position:absolute;left:21%;top:16%;width:58%;height:47%;overflow:hidden;display:grid;place-items:center;background:#153528;color:#e4c586;font-size:12px}.easel-picture>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.easel-picture .image-fallback{font-size:12px;line-height:1.2;padding:4px}.easel-caption{position:absolute;top:75%;left:50%;transform:translateX(-50%);max-width:150%;padding:4px 7px;background:#123426ee;border:1px solid #d7b871;border-radius:5px;color:#ffebc0;font-size:12px;white-space:nowrap}.featured-easel:hover{filter:drop-shadow(0 0 8px #e6be63aa)}.founders{position:absolute;left:42%;top:78%;width:26%;display:flex;align-items:flex-end;z-index:4;gap:2px}.founders-title{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;font-size:12px;background:#142f26e6;color:#ddd8b3;padding:3px 7px;border-radius:4px}.founder-statue{position:relative;aspect-ratio:2/3;flex:1;min-width:0;padding:0;border:0;background:none}.founder-statue:nth-of-type(2){transform:translateY(-9%)}.statue-art{width:100%;height:100%;display:block;pointer-events:none;filter:drop-shadow(0 3px 3px #001e15a0)}.statue-face{position:absolute;left:50%;top:3%;transform:translateX(-50%);width:34%;aspect-ratio:1;border-radius:50%;border:2px solid #e7bd71;background:#6b6340;overflow:hidden;display:grid;place-items:center;color:#fff0c5;font-size:14px;font-weight:700;box-shadow:0 0 8px #a1764480}.statue-face>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.statue-face>img[hidden]{display:none}.statue-name{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);background:#26382bed;color:#ffe0a2;border:1px solid #bf9d63;border-radius:4px;max-width:150%;padding:3px 6px;font-size:12px;white-space:nowrap}.empty-statue .statue-art{opacity:.62;filter:saturate(.5)}.empty-statue .statue-face{background:#3b4936}.campaign-map{position:absolute;top:49%;left:81%;transform:translateX(-50%);padding:7px 11px;border:1px solid #cda564;background:#253b2ee8;border-radius:8px;color:#efd49c;z-index:4;white-space:nowrap;box-shadow:0 3px 9px #001c1844}.campaign-map span{display:block;font-size:12px;letter-spacing:.5px;margin-bottom:3px}.campaign-map strong{font-size:14px}.campaign-map.funded{border-color:#e4c961;background:#47613b}.fund-total{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:24px 0 13px}.fund-total strong{font-size:39px;font-weight:600;color:var(--gold);letter-spacing:-1px}.fund-total>span{font-size:18px;color:#b8c8aa}.fund-progress{height:12px;background:#10251c;border-radius:10px;overflow:hidden}.fund-progress i{display:block;height:100%;background:linear-gradient(90deg,#b8b866,#f3c478);transition:width .4s}.fund-status{font-size:15px!important;color:#e4d7af!important;margin:12px 0 7px!important}.fund-updated{font-size:12px;color:#b3c4ad;line-height:1.7;display:block}.fund-list-title{font-size:17px;margin:24px 0 10px}.donation-list{padding:0;list-style:none;max-height:260px;overflow:auto}.donation-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #405741}.donation-list a{font-size:14px;text-decoration:none}.donation-list small{font-size:12px;display:block;margin-top:4px;color:#b5c5ac}.donation-list strong{font-size:14px;white-space:nowrap;color:#ebd2a5}.donation-details{padding-top:14px;margin-top:20px;border-top:1px solid #4c6048}.donation-details h3{font-size:19px}.copy-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;margin:10px 0;background:#142b22;border:1px solid #4b6348;border-radius:10px}.copy-line small{display:block;color:#b6c6ac;font-size:12px;margin-bottom:6px}.copy-line code{font:14px monospace;color:#ffe2aa;user-select:all;overflow-wrap:anywhere}.copy-line .secondary{font-size:13px;padding:8px 11px}.fund-note{font-size:13px!important;color:#b7c8ae!important;line-height:1.7}.fund-source{font-size:12px;align-self:center;color:#c6cfaf}.funded-contest{margin:20px 0;padding:19px;background:#35492e;border:1px solid #beac68;border-radius:12px}.funded-contest h3{font-size:22px;color:#f1d28f;margin:12px 0}.funded-contest p{font-size:14px}.featured-preview{display:block;text-decoration:none;color:var(--text);padding:12px;background:#142d24;border:1px solid #5e704d;border-radius:12px;margin-top:15px}.featured-preview>img{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:7px}.featured-preview>h3{font-size:22px;line-height:1.4;margin:15px 0 4px}.featured-preview>p{font-size:14px;margin:5px 0}.featured-open{display:block;font-size:14px;color:var(--gold);margin-top:13px}.image-fallback{font-size:14px;color:#c9d4b9}.image-fallback[hidden],img[data-post-image][hidden]{display:none}.creator-monument{text-align:center;margin-top:15px}.creator-monument img{width:90px;height:90px;object-fit:cover;border:3px solid var(--gold);border-radius:50%}.creator-profile-link{text-decoration:none;display:inline-block}.world .map-place.gallery{top:40%}.world .map-place.board{top:66%}@media(min-width:1400px){.featured-easel{width:13%;top:18%}.founders{width:24%;left:43%;top:77%}}@media(max-width:850px){.featured-easel{width:13%;left:59%;top:19%}.campaign-map{padding:5px 7px;top:51%;left:82%}.campaign-map span{display:none}.campaign-map strong{font-size:12px}.founders{width:27%;left:39%;top:75%}.founders-title{font-size:12px;bottom:-18px}.statue-face{min-width:21px;border-width:1px}.statue-name{font-size:12px;padding:2px 4px;max-width:155%;overflow:hidden;text-overflow:ellipsis}.easel-caption{font-size:12px;max-width:145%;overflow:hidden;text-overflow:ellipsis}}@media(max-width:540px){.featured-easel{width:15%;left:57%;top:20%}.founders{left:37%;top:70%;width:31%}.founders-title{display:none}.statue-face{font-size:12px;min-width:18px}.statue-name{font-size:12px;padding:1px 3px;max-width:160%}.easel-caption{top:75%;padding:2px 4px;font-size:12px}.campaign-map{top:50%;left:81%;max-width:39%;white-space:normal;padding:4px 6px}.campaign-map strong{font-size:12px}.world .map-place.gallery{top:37%}.world .map-place.gallery small{display:none}.fund-total strong{font-size:33px}.copy-line{gap:6px;padding:11px 10px}.copy-line code{font-size:13px}.copy-line .secondary{font-size:12px;padding:8px}.world .map-place.home{top:62%}.world .map-place.board{top:64%}}
/* Entire thumbnails stay visible inside the existing frame. */
.easel-picture>img{object-fit:contain;background:#102b21}.featured-preview>img{object-fit:contain}.town-about{padding:21px;margin-top:25px;border:1px solid #456045;background:#243b2e;border-radius:13px}.town-about h2{font-size:18px;line-height:1.5;margin:10px 0}.town-about p:not(.eyebrow){font-size:14px;line-height:1.7;color:#bccbb5}.town-about .secondary{font-size:14px;width:100%;padding:11px 8px}.guide-list article{padding:17px 0;border-bottom:1px solid #466047}.guide-list h3{font-size:18px;color:#efd198;margin:0 0 8px}.guide-list p{font-size:15px;margin:5px 0 12px}.promo-list-heading{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:10px}.promo-list-heading h3{font-size:20px}.promo-card{padding:17px;background:#203a2d;border:1px solid #55694a;border-radius:12px;margin:14px 0}.promo-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}.promo-rank{display:grid;place-items:center;width:34px;height:34px;background:#d9b574;color:#253b27;font-weight:700;border-radius:50%;font-size:17px}.promo-clock{display:block;font-size:13px;color:#c0cfb5}.promo-post-link{display:block;text-decoration:none;color:var(--text)}.promo-post-link img{display:block;width:100%;max-height:180px;object-fit:contain;background:#12291f;border-radius:8px}.promo-post-link img[hidden]{display:none}.promo-post-link h3{font-size:20px;line-height:1.4;margin:13px 0 4px}.promo-post-link p{font-size:14px;margin:4px 0 12px;color:#d6c79e}.promo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.promo-actions .text-button{font-size:13px}#promo-login[hidden]{display:none}@media(max-width:800px){.town-about{margin-top:0}.town-about h2{font-size:18px}}@media(max-width:430px){.promo-actions button{width:100%;text-align:center}.promo-post-link h3{font-size:18px}}

.zombie-entry{display:flex;align-items:center;gap:13px;padding:12px 6px;text-decoration:none;color:#efbd70;border:1px solid #766544;border-radius:10px;margin-top:8px}.zombie-entry small{display:block;font-size:12px;color:#a3b6a9;margin-top:4px}.zombie-entry:hover{background:#304638}

/* More space for the crypt, with the journal kept secondary. */
#dungeon-shell{max-width:1720px;padding:18px 24px 30px}.dungeon-layout{grid-template-columns:minmax(0,1fr) 215px;gap:18px}.dungeon-heading{margin-bottom:14px}.dungeon-arena{background:#090c10;border-color:#494642}.dungeon-arena canvas{cursor:crosshair}.health-card,.wave-card{background:#151a20e8}.dungeon-journal{background:#192022;border-color:#414747;padding:18px}.dungeon-instructions{font-size:14px}
@media(max-width:1000px){.dungeon-layout{grid-template-columns:1fr}.dungeon-journal{display:none}}@media(max-width:540px){#dungeon-shell{padding:14px 10px}.dungeon-instructions{font-size:13px}}

/* Town notice board: landscape photo, full image and soft image-derived backdrop. */
.world .featured-easel{left:21%;top:71%;width:21%;aspect-ratio:3/2;filter:drop-shadow(3px 7px 3px #10251c88);transform:none;container-type:inline-size;z-index:4}
.world .featured-easel:hover{filter:drop-shadow(0 0 7px #e6be6370);transform:translateY(-2px)}
.world .featured-easel:focus-visible{outline:3px solid #f2d493;outline-offset:4px;border-radius:6px}
.world .easel-art{inset:0;width:100%;height:100%;object-fit:contain}
.world .easel-picture{left:12%;top:22%;width:76%;height:auto;aspect-ratio:16/9;background:#253527;isolation:isolate;font-size:14px}
.world .easel-picture>img.billboard-backdrop{object-fit:cover;filter:blur(9px) brightness(.55);transform:scale(1.15);background:transparent;z-index:0}
.world .easel-picture>img.billboard-photo{object-fit:contain;background:transparent;z-index:1}
.world .easel-picture>img[hidden]{display:none}
.world .easel-picture .image-fallback{position:relative;z-index:2;font-size:14px;text-align:center}
.billboard-heading{position:absolute;left:15%;right:15%;top:9%;color:#ffe7b1;text-shadow:0 1px 2px #17150e;font-size:12px;font-weight:800;letter-spacing:.08em;z-index:2}
.world .easel-caption{left:12%;top:66%;width:76%;max-width:none;transform:none;border:0;border-radius:0;padding:1px 3px;background:#30271be8;font-size:14px;line-height:1.3;color:#ffe6b1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.billboard-title{position:absolute;left:12%;top:77%;width:76%;font-size:14px;line-height:1.3;padding:1px 3px;color:#fff0d3;background:#30271be8;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:850px){.world .featured-easel{left:12%;top:70%;width:25%}.billboard-title{display:none}.world .easel-caption{font-size:12px}.billboard-heading{font-size:12px;letter-spacing:0}}
/* Align the live content to the illustrated timber opening. */
.world .easel-picture{left:14.7%;top:32.7%;width:70.4%;height:44.5%;aspect-ratio:auto}
.billboard-heading{top:27.5%;font-size:12px}
.world .easel-caption{left:14.7%;top:78%;width:70.4%;font-size:12px;background:#30271bcc}
.billboard-title{left:8%;top:91%;width:84%;font-size:14px;border-radius:3px}
