@import url('https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap');
:root{--paper:#fff5d9;--paper-dark:#f5e6bd;--ink:#153f35;--muted:#7c8766;--orange:#ffb23d;--outline:#2a5140;--green:#5b7f48;--shadow:#9d8a5c;--font:Arial,'PingFang TC','Microsoft JhengHei',sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#344f35;color:var(--ink);font-family:var(--font)}body{background-image:linear-gradient(#24472de6,#24472de6),url('assets/candy-town-v2.png');background-size:cover;background-attachment:fixed}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #f57f32;outline-offset:3px}button{color:var(--ink)}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.game-shell{width:min(100%,660px);height:100dvh;min-height:400px;margin:auto;display:flex;flex-direction:column;position:relative;background:var(--paper);box-shadow:0 0 80px #092d2c88;overflow:hidden}.game-header{height:74px;min-height:74px;padding:12px 18px 10px;display:flex;align-items:center;gap:12px;background:linear-gradient(100deg,#fff2cc,#fff9e7);border-bottom:2px solid #d9c58e;z-index:4}.game-header>img{image-rendering:pixelated}.wordmark{flex:1;text-align:center;white-space:nowrap}.wordmark h1{font-family:'Silkscreen',monospace;font-size:clamp(19px,4vw,31px);font-weight:700;letter-spacing:-1.5px;margin:0;line-height:1.2}.wordmark>span{display:block;color:#b46b27;font-size:9px;font-weight:bold;letter-spacing:1.7px;margin-top:3px}.date{background:#f9d581;border:2px solid var(--outline);border-radius:5px;box-shadow:0 3px 0 #bca568;padding:7px 8px;font-family:'Silkscreen',monospace;font-size:12px}.quest-hud{display:flex;align-items:center;justify-content:space-around;gap:7px;min-height:48px;padding:8px 12px;background:#fff8df;border-bottom:3px solid var(--outline);box-shadow:0 3px 0 #c9ba8e;z-index:3}.quest-hud>div{display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap;font-size:12px}.quest-hud>div+div{border-left:1px solid #cdbb88;padding-left:12px}.quest-hud>div>span[aria-hidden]{font-size:19px}.quest-hud strong{font-size:19px}.quest-hud small{font-size:11px}.time-copy{font-size:12px}.time-copy b{font-size:19px}main{flex:1;min-height:0;position:relative}.view{height:100%;min-height:0}.map-view{display:flex;flex-direction:column}.map-toolbar{display:flex;gap:10px;padding:12px;background:#d5e3a8;border-bottom:2px solid #758a55;z-index:3;min-height:66px}.search{flex:1;min-width:0;display:flex;gap:6px;align-items:center;border:2px solid #7f8d5f;background:#fff9e3;border-radius:7px;padding:7px 10px;box-shadow:0 3px 0 #91a27566}.search>span{font-size:26px;line-height:1}.search input{width:100%;min-width:0;background:none;border:0;color:var(--ink);outline:none;font-weight:600;font-size:14px;appearance:none}.search input::placeholder{color:#989c7a}.search button{padding:0;border:0;background:none;font-size:20px}.filters{display:flex;align-items:center;gap:3px;border:2px solid var(--outline);background:#fff9df;border-radius:7px;box-shadow:0 3px 0 #81925d66;padding:3px}.filters button{white-space:nowrap;padding:9px 10px;border:0;background:none;border-radius:4px;font-size:12px;font-weight:700}.filters button.active{background:#ffbd50;box-shadow:inset 0 -2px #dc9533}.map-stage{flex:1;min-height:0;position:relative;overflow:hidden;background:#b9ce87}.map-viewport{height:100%;width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#66825688 transparent;cursor:grab;touch-action:pan-x pan-y}.map-viewport.dragging{cursor:grabbing;user-select:none}.map-world{position:relative;aspect-ratio:1519/797;flex:none}#town-map{width:100%;height:100%;display:block;overflow:visible;user-select:none;-webkit-user-select:none;touch-action:pan-x pan-y}#map-image{pointer-events:none}.house-target{cursor:pointer;outline:none}.house-hit{fill:transparent;stroke:transparent;stroke-width:2;rx:4}.house-target:hover .house-hit,.house-target:focus-visible .house-hit{fill:#fff7b822;stroke:#fff2af;stroke-width:3}.house-target.selected .house-hit{fill:#fff0bb33;stroke:#fff8c5;stroke-width:4;filter:drop-shadow(0 0 4px #ff9810)}.house-tag{fill:#fff6d8;stroke:#34533f;stroke-width:2;filter:drop-shadow(0 2px 0 #263c3266)}.house-target.joining .house-tag{fill:#ffb53f;stroke:#80552c;stroke-width:2.5}.house-target.selected .house-tag{stroke:#fffbe3;stroke-width:3;filter:drop-shadow(0 0 5px #fff3ad)}.house-number{font-family:var(--font);font-size:15px;font-weight:800;fill:#1e463b;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.house-target.joining .house-number{fill:#563a18}.house-target.muted{opacity:.45}.house-target.muted:hover,.house-target.muted:focus-visible{opacity:1}.visit-mark{fill:#32694d;stroke:#ffefad;stroke-width:1.5}.visit-tick{fill:white;font-size:12px;font-family:Arial;font-weight:800;text-anchor:middle;dominant-baseline:middle}.street-labels{pointer-events:none}.street-labels rect{fill:#fff1c6df;stroke:#c5b47c;stroke-width:1}.street-labels text{fill:#586342;font-family:Arial;font-size:12px;letter-spacing:1px}.map-hint{position:absolute;top:11px;left:12px;border:1.5px solid #5c795c;background:#fff9e4e8;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:600;pointer-events:none;box-shadow:0 2px 0 #68825e44;transition:opacity .2s}.map-hint.fade{opacity:0}.zoom-controls{position:absolute;right:12px;top:12px;display:grid;gap:8px}.zoom-controls button{border:2px solid var(--outline);background:#fff8de;width:42px;height:44px;border-radius:7px;box-shadow:0 3px 0 #7d805b77;font-size:26px;font-weight:bold;line-height:1}.zoom-controls button:active{transform:translateY(2px);box-shadow:0 1px 0 #7d805b77}.zoom-controls .fit-control{font-size:21px;height:53px}.fit-control small{display:block;font-size:9px;margin-top:2px}.minimap{position:absolute;bottom:13px;right:12px;width:146px;aspect-ratio:1519/797;padding:3px;border:2px solid var(--outline);background:#fff6d8;border-radius:7px;box-shadow:0 3px 0 #6f704d66;overflow:hidden}.minimap svg{display:block;width:100%;height:100%;border-radius:3px}#mini-window{fill:#fff5b61a;stroke:#ff991f;stroke-width:22;vector-effect:non-scaling-size}.map-caption{min-height:26px;display:flex;align-items:center;gap:12px;padding:5px 12px;background:#e8edcc;font-size:9px;color:#70815e;border-top:1px solid #b7c59c}.map-caption>span:first-child{display:flex;align-items:center;gap:5px}.map-caption i{width:7px;height:7px;display:inline-block;background:#ffb53f;border:1px solid #b38139}.map-caption #search-result{margin-left:auto;color:#415f3d}.house-sheet{position:absolute;bottom:12px;left:12px;right:12px;z-index:6;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:20px 17px 17px;background:#fff7dbf5;border:3px solid var(--outline);border-radius:10px;box-shadow:0 5px 0 #7c805b,0 -5px 24px #324d3a33;backdrop-filter:blur(8px)}.sheet-close{position:absolute;top:3px;right:5px;background:none;border:0;font-size:26px;line-height:1;min-width:32px;min-height:32px}.sheet-house{width:48px;height:48px;image-rendering:pixelated}.eyebrow{font-size:8px;letter-spacing:1.5px;color:#7e946c;font-weight:bold;margin:0 0 5px}.sheet-copy h2{font-size:22px;margin:0 0 5px;letter-spacing:-.5px}.status{display:inline-block;border:1px solid #ddb058;border-radius:4px;padding:3px 7px;background:#ffe2a2;color:#7c5726;font-size:10px}.status.none{background:#e6e8d5;color:#6f7c64;border-color:#c6ccae}.sheet-copy p{font-size:13px;font-weight:bold;margin:8px 0 5px}.sheet-copy small{font-size:9px;color:#88906d;line-height:1.6;display:block}.visit-button{align-self:end;border:2px solid #a9681e;background:#ffb53f;border-radius:6px;box-shadow:0 3px 0 #a77325;color:#493a1d;padding:12px 14px;font-size:12px;font-weight:bold;min-width:115px}.visit-button.visited{background:#d2e1b8;border-color:#789660;box-shadow:0 3px 0 #789660;color:#3c5a37}.bottom-nav{display:flex;align-items:stretch;justify-content:space-around;min-height:80px;padding:7px 14px max(7px,env(safe-area-inset-bottom));background:linear-gradient(#fff8dd,#f5e5bb);border-top:3px solid var(--outline);z-index:10;box-shadow:0 -3px 0 #c5b88e}.bottom-nav button{position:relative;flex:1;background:none;border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:#7e8e6c;padding-bottom:5px}.bottom-nav button>span{font-size:27px;line-height:1}.bottom-nav b{font-size:13px;letter-spacing:1px}.bottom-nav small{font-family:'Silkscreen',monospace;font-size:8px;letter-spacing:.5px}.bottom-nav button.active{color:var(--ink)}.bottom-nav button.active:after{content:'';position:absolute;bottom:0;left:30%;right:30%;height:4px;background:#f79525;border-radius:3px}.list-view,.info-view{overflow:auto;padding:24px 20px 30px;background-color:#f3efd5;background-image:radial-gradient(#d1dabb 1px,transparent 1px);background-size:12px 12px}.view-title h2{font-size:25px;margin:8px 0}.view-title h2 span{font-family:'Silkscreen',monospace;font-size:18px;display:inline-block;color:#b87a28;background:#ffedba;border:1px solid #d5bb7e;padding:4px 8px;border-radius:5px}.view-title>p:last-child{font-size:12px;color:#8b9378;line-height:1.6;margin-bottom:23px}.home-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-card{display:flex;align-items:center;gap:10px;text-align:left;border:1.5px solid #afbd96;border-bottom:4px solid #afbd96;border-radius:7px;background:#fff9e5;padding:13px 12px}.home-card.visited{background:#e2edcc}.home-card>strong{font-family:'Silkscreen',monospace;font-size:23px;color:#ac7b35;min-width:33px}.home-card b{display:block;font-size:11px}.home-card small{display:block;margin-top:5px;font-size:9px;color:#939678}.home-card>span:last-child{margin-left:auto;color:#9a9c72;font-size:15px}.list-note{font-size:11px;line-height:1.8;color:#8f9879;margin:24px 0 0}.info-view{text-align:center;padding-top:28px}.info-illustration{font-size:44px;letter-spacing:10px;margin:15px 0 25px}.info-view>h2{font-size:29px;line-height:1.5;margin:13px 0 25px}.info-card{text-align:left;background:#fff9e6;border:1px solid #b5c39c;border-bottom:3px solid #b5c39c;border-radius:8px;padding:17px 18px;margin:12px 0}.info-card h3{margin:0 0 9px;font-size:14px}.info-card p,.source-card p{font-size:12px;line-height:1.9;color:#849073;margin:0}.text-button{font-size:11px;background:none;border:0;border-bottom:1px solid #afb68c;padding:3px 0;margin-top:13px;color:#667d4f}.source-card{padding:20px 0 0}.source-card p{font-size:10px}#toast{position:absolute;bottom:100px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#fff5ccee;color:#4c613d;border:2px solid #6e8759;border-radius:8px;padding:12px 18px;width:max-content;max-width:90%;font-size:12px;line-height:1.7;text-align:center;box-shadow:0 3px 0 #7d805b77;z-index:20;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:700px){.game-shell{border-left:3px solid #183c2c;border-right:3px solid #183c2c}.game-header{height:84px;min-height:84px}.quest-hud{min-height:52px}.quest-hud>div{font-size:14px}.quest-hud small,.time-copy{font-size:13px}.quest-hud strong{font-size:23px}.map-toolbar{padding:13px 16px}.house-sheet{padding:22px;grid-template-columns:58px 1fr auto}.sheet-house{width:58px;height:58px}.sheet-copy h2{font-size:26px}.visit-button{font-size:14px;padding:14px}.home-card{padding:17px}.minimap{width:180px}.map-caption{font-size:10px}}
@media(max-width:390px){.game-header{gap:7px;padding:10px 12px;min-height:65px;height:65px}.game-header>img{width:36px;height:36px}.wordmark h1{font-size:20px;letter-spacing:-1.3px}.wordmark>span{font-size:7px;letter-spacing:1px}.date{font-size:10px;padding:6px}.quest-hud{padding:8px;gap:4px}.quest-hud>div{gap:3px}.quest-hud>div+div{padding-left:7px}.quest-hud>div>span[aria-hidden]{font-size:15px}.quest-hud small{font-size:9px}.time-copy{font-size:10px}.quest-hud strong,.time-copy b{font-size:17px}.map-toolbar{gap:6px;padding:10px}.filters button{padding:8px;font-size:10px}.search{padding:5px 7px}.search input{font-size:12px}.map-toolbar{min-height:60px}.house-sheet{padding:18px 13px 14px;grid-template-columns:38px 1fr;gap:8px 12px}.sheet-house{width:38px;height:38px;grid-row:1 / span 2}.sheet-copy h2{font-size:21px}.visit-button{grid-column:2;font-size:12px;justify-self:stretch;padding:10px}.sheet-copy p{font-size:12px}.sheet-copy .eyebrow{font-size:7px}.sheet-close{font-size:25px}.bottom-nav{min-height:73px}.minimap{width:130px}.map-caption{font-size:8px;gap:9px}.home-card{padding:12px 9px;gap:7px}.home-card>strong{font-size:21px;min-width:29px}.home-card small{font-size:8px}.home-card b{font-size:10px}.list-view{padding:20px 14px}.zoom-controls{right:10px}.zoom-controls button{width:38px;height:40px}.zoom-controls .fit-control{height:49px}.map-hint{font-size:10px;padding:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Bilingual controls stay independent of map and personal visit state. */
.language-switch{display:flex;align-items:center;flex-shrink:0;border:1.5px solid var(--outline);padding:2px;border-radius:5px;background:#fff9df;gap:1px}.language-switch button{border:0;background:transparent;border-radius:3px;color:#71805b;min-height:30px;min-width:29px;padding:4px;font-size:11px;font-weight:700}.language-switch button.active{background:#ffbd50;color:#314b34;box-shadow:inset 0 -2px #dca15a}.wordmark{min-width:0}.game-header{gap:9px}.info-view>h2,.info-card p,.list-note{white-space:pre-line}.search input::-webkit-search-cancel-button{-webkit-appearance:none}html[lang="en"] .sheet-copy h2{letter-spacing:0}html[lang="en"] .bottom-nav small{display:none}html[lang="en"] .bottom-nav b{font-size:12px}html[lang="en"] .home-card small{line-height:1.5}html[lang="en"] .house-sheet{column-gap:10px}html[lang="en"] .sheet-copy small{font-size:9px}html[lang="en"] .map-caption{gap:9px}html[lang="en"] .sheet-copy h2{font-family:'Silkscreen',monospace;font-size:22px}
@media(max-width:520px){.game-header .date{display:none}.game-header .wordmark h1{font-size:clamp(18px,4.9vw,25px)}.language-switch button{min-width:27px;min-height:28px;font-size:10px}.wordmark>span{font-size:7px;letter-spacing:1px}html[lang="en"] .filters button{font-size:11px;padding:9px 7px}html[lang="en"] .quest-hud>div+div{padding-left:8px}html[lang="en"] .map-caption{font-size:8px}html[lang="en"] .sheet-copy p{font-size:12px}}
@media(max-width:390px){.game-header{gap:7px}.game-header>img{width:31px;height:31px}.language-switch button{min-width:25px;padding:3px}.quest-hud .time-copy{font-size:10px}html[lang="en"] .filters button{font-size:9px;padding:8px 6px}html[lang="en"] .home-card>strong{font-size:20px}html[lang="en"] .visit-button{font-size:12px}.sheet-copy{min-width:0}}
/* Gengar's colour quest uses one masked grayscale layer, never changing the map. */
.quest-banner{display:flex;align-items:center;gap:8px;padding:8px 13px;background:#f1e9ff;border-bottom:2px solid #9d89b8;min-height:80px;z-index:3}.quest-sprite{image-rendering:pixelated;object-fit:contain;width:58px;height:58px;flex-shrink:0;filter:drop-shadow(0 4px 1px #6f528b33);animation:gengar-float 3s ease-in-out infinite}.quest-copy{min-width:0;flex:1}.quest-copy h2{font-size:14px;line-height:1.35;color:#52376d;margin:0 0 4px;font-weight:800}.quest-copy p{font-size:10px;line-height:1.5;color:#8d789a;margin:0}.quest-banner.complete{background:#e8f1ce;border-bottom-color:#9db579}.quest-banner.complete h2{color:#4d7340}.quest-banner.complete .quest-sprite{animation:gengar-happy 2s ease-in-out infinite}.quest-progress{display:flex;align-items:center;gap:8px;margin-top:5px}.quest-progress-track{height:6px;border:1px solid #baa8cc;border-radius:3px;background:#e2d8eb;flex:1;max-width:170px;overflow:hidden}.quest-progress-track>div{height:100%;background:linear-gradient(90deg,#ffbe58,#e7a3da,#8ebd7e);transition:width .6s ease}.quest-progress>span{font-size:9px;color:#836c95;white-space:nowrap}.curse-region{transition:opacity .7s ease}.house-ghost{image-rendering:pixelated;opacity:0;transition:opacity .3s;pointer-events:none}.house-target.haunted .house-ghost{opacity:1;animation:tiny-ghost-float 3s ease-in-out infinite}.house-target.haunted .house-tag{fill:#d3c5df;stroke:#6e538b}.house-target.haunted .house-number{fill:#5b4270}.house-target.restored .house-tag{fill:#ffe289;stroke:#679750}.house-target.restored .house-number{fill:#486b32}.house-target.restoring .house-hit{animation:colour-return 1.1s ease-out}.house-target.restoring .house-tag{filter:drop-shadow(0 0 7px #fff4a5)}.haunted-status{background:#e5d9f1!important;color:#70548a!important;border-color:#b5a0c7!important}.gengar-sprite{image-rendering:pixelated;object-fit:contain;animation:gengar-float 3s ease-in-out infinite}.map-caption{flex-wrap:wrap;min-height:26px}.map-caption>span:first-child{flex-shrink:1}.map-caption i{flex-shrink:0}.house-sheet .sheet-copy small{line-height:1.65}#mini-window{fill:#fff5b61a}.quest-banner.playing~main .map-caption i{background:#c5b7d4;border-color:#8b759e}
@keyframes gengar-float{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}@keyframes tiny-ghost-float{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}@keyframes gengar-happy{0%,100%{transform:translateY(2px) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}@keyframes colour-return{0%{fill:#fff1a788;stroke:#fff5ac;stroke-width:7}100%{fill:transparent;stroke:transparent;stroke-width:2}}
@media(max-width:390px){.quest-banner{padding:7px 10px;gap:6px;min-height:78px}.quest-sprite{width:46px;height:46px}.quest-copy h2{font-size:12px}.quest-copy p{font-size:9px}.quest-progress{gap:5px}.quest-progress>span{font-size:8px}.quest-progress-track{max-width:110px}.map-caption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.quest-sprite,.house-ghost,.gengar-sprite,.house-target.restoring .house-hit{animation:none!important}.curse-region,.quest-progress-track>div{transition:none!important}}
/* Keep the map in view; secondary controls live in the bottom Tools drawer. */
.game-shell .game-header{height:48px;min-height:48px;padding:6px 14px;gap:8px;flex-shrink:0}
.game-shell .game-header>img{width:28px;height:28px}
.game-shell .wordmark h1{font-size:22px;letter-spacing:-1px}
.game-shell .wordmark>span{display:none}
.game-shell .quest-banner{min-height:52px;padding:5px 13px;gap:7px;flex-shrink:0}
.game-shell .quest-sprite{width:36px;height:36px}
.game-shell .quest-copy h2{font-size:12px;margin:0 0 3px}
.game-shell .quest-copy p{display:none}
.game-shell .quest-progress{margin-top:0;gap:8px}
.game-shell .quest-progress-track{height:4px;max-width:160px}
.game-shell .quest-progress>span{font-size:9px}
.game-shell .bottom-nav{min-height:64px;padding:3px 10px max(3px,env(safe-area-inset-bottom));flex-shrink:0}
.game-shell .bottom-nav button{min-height:48px;gap:3px;padding:4px 0 7px}
.game-shell .bottom-nav button>span{font-size:23px}
.game-shell .bottom-nav b{font-size:11px;letter-spacing:.5px}
.game-shell .bottom-nav small{display:none}
.tools-sheet{position:fixed;inset:auto 0 calc(72px + env(safe-area-inset-bottom));width:min(calc(100% - 20px),632px);max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));margin:0 auto;padding:16px;color:var(--ink);background:var(--paper);border:2px solid var(--outline);border-radius:18px 18px 12px 12px;box-shadow:0 5px 0 #7c805b,0 -10px 40px #163c3533;overflow:auto;overscroll-behavior:contain}
.tools-sheet::backdrop{background:#153f3570;backdrop-filter:blur(2px)}
.tools-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tools-heading h2{font-size:18px;margin:0}
.tools-heading button{width:44px;height:44px;border:1px solid #b5c39c;border-radius:8px;background:#fff9e6;font-size:26px}
.tools-sheet .map-toolbar{padding:0;border:0;background:transparent;min-height:0;display:flex;flex-direction:column;gap:12px}
.tools-sheet .search{min-height:46px;padding:7px 10px;flex:none}
.tools-sheet .search input{font-size:16px}
.tools-sheet .search button{min-width:32px;min-height:32px}
.tools-sheet .filters{align-self:flex-start}
.tools-sheet .filters button{font-size:13px;min-height:44px;padding:8px 14px}
.tools-sheet #tools-search-status{font-size:12px;color:#70815e;line-height:1.5;min-height:18px;margin:13px 0 8px}
.find-button{width:100%;min-height:44px;border:2px solid #a9681e;border-radius:7px;background:#ffbd50;color:#493a1d;font-size:14px;font-weight:bold}
.tools-sheet .quest-hud{border:0;border-top:1px solid #d3c79c;border-bottom:1px solid #d3c79c;box-shadow:none;margin:16px 0 12px;padding:12px 0;min-height:48px;background:transparent;gap:6px}
.tools-sheet .quest-hud>div{font-size:11px;gap:3px}
.tools-sheet .quest-hud>div+div{padding-left:8px}
.tools-sheet .quest-hud small,.tools-sheet .time-copy{font-size:10px}
.tools-sheet .quest-hud strong,.tools-sheet .time-copy b{font-size:17px}
.tools-footer{display:flex;gap:12px;align-items:center;font-size:12px;color:#70815e}
.tools-footer .language-switch{margin-left:auto}
.tools-footer .language-switch button{min-height:44px;min-width:44px;font-size:12px}
.tools-footer .date{font-size:11px;padding:7px}
@media(max-width:360px){.game-shell .wordmark h1{font-size:20px}.game-shell .quest-copy h2{font-size:11px}.game-shell .quest-progress-track{max-width:105px}.tools-sheet{padding:12px}.tools-sheet .quest-hud{flex-wrap:wrap;row-gap:10px}.tools-sheet .quest-hud>div>span[aria-hidden]{font-size:15px}.tools-sheet .quest-hud>div+div{padding-left:6px}.tools-footer .date{display:none}}
@media(max-height:600px){.tools-sheet{bottom:8px;max-height:calc(100dvh - 16px)}.tools-heading{margin-bottom:8px}.tools-sheet .quest-hud{margin-top:12px}}
/* Participating homes always keep a bright golden-orange number plate. */
.house-target.joining .house-tag{fill:#ffbc32;stroke:#66380c;stroke-width:3;paint-order:stroke fill;filter:drop-shadow(0 0 1.5px #fff9d8) drop-shadow(0 3px 0 #623b16);transform-box:fill-box;transform-origin:center;transform:scale(1.12)}
.house-target.joining .house-number{fill:#492b06;font-size:19px;font-weight:900;paint-order:stroke fill;stroke:#fff0b2;stroke-width:.6px}
.house-target.joining .house-hit{stroke:#ffcb47;stroke-width:2.5;stroke-dasharray:5 4;fill:#ffcf4010}
.house-target.joining.restored .house-tag{fill:#ffcc50;stroke:#386339}
.house-target.joining.selected .house-tag,.house-target.joining:focus-visible .house-tag{stroke:#fffbe3;stroke-width:4;filter:drop-shadow(0 0 3px #703a08) drop-shadow(0 0 5px #fff6be)}
.house-target.joining.selected .house-hit{stroke:#fff6be;stroke-width:4;stroke-dasharray:none;fill:#ffdc5630}
.house-target:not(.joining) .house-tag{fill:#e4e6d6;stroke:#84937c;filter:none}
.house-target:not(.joining) .house-number{fill:#68785f;font-size:13px;font-weight:600}
.quest-banner.playing~main .map-caption i{background:#ffbc32;border-color:#66380c}

/* A pumpkin silhouette identifies every participating home, even without colour. */
.house-target.joining .house-tag{transform:none;stroke-linejoin:round;fill:#ffbf3d}
.treat-frame{display:none}
.house-target.joining .treat-frame{display:inline}
.pumpkin-stem{fill:#47764b;stroke:#2a4d32;stroke-width:1.7;stroke-linejoin:round}
.pumpkin-leaf{fill:#83ac54;stroke:#365b36;stroke-width:1.5}
.pumpkin-ribs{fill:none;stroke:#d78b22;stroke-width:1.4;stroke-linecap:round;opacity:.65}
.house-target.joining .house-number{font-size:19px;fill:#482b08;stroke:#fff2bd;stroke-width:.8px}
.house-target.joining.restored .house-tag{fill:#ffcf62;stroke:#386339}
