.game-page .site-header{max-width:none;min-height:86px;padding-inline:clamp(18px,4vw,64px)}
.game-page .top-ribbon{min-height:29px;font-size:9px;padding-block:5px}
.game-page .brand-star{font-size:39px}.game-page .wordmark b{font-size:29px}.game-page .wordmark small{font-size:8px}
.game-page .back-link{display:flex;align-items:center;min-height:44px}
.game-wrap{width:min(1800px,100%);margin:auto;padding:26px clamp(12px,3vw,50px) 35px}
.game-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 4px 23px}
.game-intro .eyebrow{color:var(--red);font-size:9px;letter-spacing:1.7px}
.game-intro h1{font-size:clamp(38px,4vw,56px);letter-spacing:-1.6px;margin-top:7px}.game-intro h1 em{color:var(--red)}
.game-intro>p{font-size:13px;color:#536251;line-height:1.8;max-width:450px}
.game-card{padding:12px 17px 19px;border:1px solid #b9a47b;background:#fff9ea;box-shadow:5px 6px 0 #ddd0b4;position:relative;border-radius:3px}
.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;min-height:44px}
.how-to{font-size:13px;font-weight:700}.how-to span{font-weight:400;color:#596453;margin-left:5px}
.zoom-controls{display:flex;align-items:center;gap:5px;flex-shrink:0}
.game-card button{color:var(--ink);background:#fffdf5;border:1px solid #b5a481;border-radius:3px;min-height:44px;padding:8px 14px;font-size:12px;line-height:1.3;touch-action:manipulation}
.game-card button:hover:not(:disabled){background:#ebeeda;border-color:#7b8c6b}
.game-card button:disabled{opacity:.48;cursor:default}
.zoom-controls button{min-width:44px;font-size:23px;padding:5px 11px;line-height:1}.zoom-controls #zoom-fit{font-size:12px}
.zoom-controls output{min-width:38px;text-align:right;font-size:11px;color:#596453}
.scene-frame{border:3px solid #6d6343;outline:1px solid #b6a077;outline-offset:2px;border-radius:2px;overflow:hidden;background:#e8e7da}
.scene-edge{display:flex;justify-content:center;align-items:center;gap:18px;background:var(--ink);color:#f7dfaa;font-size:9px;letter-spacing:2px;min-height:28px;padding:4px 8px}.scene-edge span{font-size:16px;line-height:1}
.snowy-scene{position:relative;height:min(68vh,900px);height:min(68svh,900px);min-height:350px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;background:#e7e9df;scroll-behavior:auto;scrollbar-color:#8d9a80 #e7e9df;cursor:crosshair}
.snowy-scene:focus-visible{outline:4px solid #8f352d;outline-offset:-4px;z-index:1}.snowy-scene.is-dragging{cursor:grabbing}
.scene-surface{display:flex;align-items:center;justify-content:center;position:relative;min-width:100%;min-height:100%}
.scene-stage{position:relative;flex:none;isolation:isolate;user-select:none;-webkit-user-select:none}
.scene-stage>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none}
.scene-loading,.scene-error{min-height:350px;height:100%;padding:35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#3c533f;gap:13px;font-size:14px;cursor:default}.scene-loading>span{font-size:45px;color:#986b32}.scene-error button{margin-top:8px}
.game-page [hidden]{display:none!important}
.found-marker{position:absolute;min-width:31px;min-height:31px;border:3px solid #fff8d4;outline:2px solid #204832;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #efc56475;pointer-events:none;display:flex;align-items:flex-start;justify-content:flex-end}
.found-marker span{background:#204832;border:2px solid #fff9da;color:white;border-radius:50%;font-size:15px;line-height:22px;width:26px;height:26px;text-align:center;transform:translate(35%,-35%)}
.hint-region{position:absolute;border:4px dashed #fff7c6;outline:3px solid #6d421e;background:#f9d5651a;pointer-events:none}
.search-ring,.tap-ring{position:absolute;width:32px;height:32px;border:3px solid #fffbe5;outline:2px solid #213f32;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3;box-shadow:0 0 0 5px #f6d77955}
.search-ring:before,.search-ring:after{content:'';position:absolute;background:#213f32}.search-ring:before{width:8px;height:2px;left:9px;top:12px}.search-ring:after{width:2px;height:8px;left:12px;top:9px}.tap-ring{border-style:dashed;outline:none;width:38px;height:38px;box-shadow:0 0 0 2px #6b4a28}
.game-message{display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 2px;font-size:13px;border-bottom:1px solid var(--line)}.message-star{font-family:var(--serif);font-size:26px;line-height:1;color:#94682b;flex-shrink:0}.game-message.found .message-star{color:var(--red)}
.hunt-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px}.hunt-list-wrap{flex:1}.hunt-list-wrap>.eyebrow{font-size:8px;letter-spacing:1.3px}.hunt-list-wrap>.eyebrow span{font-size:11px;text-transform:none;letter-spacing:0;font-weight:400;margin-left:7px;color:#586352}
.hunt-list{display:flex;flex-wrap:wrap;gap:7px 17px;list-style:none;padding:0;margin:8px 0 0;font-size:12px}.hunt-list li{display:flex;gap:7px;align-items:center}.hunt-check{display:grid;place-items:center;width:19px;height:19px;border:1px solid #ad9c79;border-radius:50%;font-size:12px;color:transparent;flex:none}.hunt-list li.is-found .hunt-check{background:var(--ink);border-color:var(--ink);color:#fff4d4}.hunt-list li.is-found .hunt-name{text-decoration:line-through;text-decoration-thickness:1px;color:#5f675a}
.hunt-actions{display:flex;align-items:flex-end;gap:8px}.target-label{font-size:10px;display:flex;flex-direction:column;gap:3px}.target-label select{font:inherit;font-size:12px;color:var(--ink);background:#fffdf5;border:1px solid #b5a481;border-radius:3px;min-height:44px;padding:7px 28px 7px 10px;max-width:190px}.target-label select:focus-visible{outline:3px solid #ae7132;outline-offset:4px}.game-card .hint-button{background:#244f38;color:#fff5d9;border-color:#244f38}.game-card .hint-button:hover:not(:disabled){background:#183d2a;color:#fff5d9}.restart-button{white-space:nowrap}
.clue-box{max-width:none;margin-top:20px;font-size:12px;border-top:1px solid var(--line);padding-top:6px}.clue-box summary{min-height:44px;padding:10px 0}.clue-box summary>span{font-size:11px;color:#596453;margin-left:9px}.clue-box .clue-content{border:0;padding:8px 0 5px;max-width:780px}.clue-content>p{font-size:12px;margin-bottom:12px}.clue-content #clue-text{font-weight:700;font-size:14px}.region-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border:0;padding:0;max-width:500px}.game-card .region-choices button{font-size:12px;padding:8px 6px;min-height:46px}
.keyboard-help{font-size:11px;line-height:1.8;color:#596453;margin-top:8px;max-width:1000px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.game-signoff{text-align:center;font-family:var(--serif);font-style:italic;font-size:18px;color:#5c6756;margin-top:26px}.no-script{padding:25px;font-size:14px}.game-page .desk-footer{font-size:16px}
@media(min-width:1700px){.snowy-scene{height:min(73svh,1000px)}}
@media(max-width:1050px){.hunt-footer{align-items:flex-start;flex-direction:column;gap:14px}.hunt-actions{width:100%}.target-label{margin-right:auto}.target-label select{max-width:240px}.game-intro>p{font-size:12px;max-width:340px}.how-to span{display:block;margin-left:0;font-size:11px}}
@media(max-width:650px){.game-page .site-header{min-height:76px;padding-inline:17px}.game-page .wordmark{gap:8px}.game-page .wordmark b{font-size:25px}.game-page .wordmark small{font-size:7px;letter-spacing:2px}.game-page .brand-star{font-size:34px}.game-page .back-link{font-size:10px;max-width:103px;text-align:right;line-height:1.4}.game-page .top-ribbon{font-size:7px;letter-spacing:1.2px;min-height:27px}.game-wrap{padding-top:20px}.game-intro{display:block;margin:0 3px 17px}.game-intro .eyebrow{font-size:8px;letter-spacing:1.3px}.game-intro h1{font-size:43px;margin-top:7px}.game-intro>p{font-size:12px;line-height:1.65;margin-top:10px;max-width:100%}.game-intro>p br{display:none}.game-card{padding:9px 8px 15px;box-shadow:3px 4px 0 #ddd0b4}.game-toolbar{gap:9px;align-items:center;margin-bottom:11px}.how-to{font-size:11px;line-height:1.5;max-width:180px}.how-to span{font-size:10px;margin-top:3px}.zoom-controls{gap:3px}.zoom-controls button{padding:5px 8px}.zoom-controls output{display:none}.scene-edge{font-size:7px;letter-spacing:1px;gap:8px;min-height:26px;padding-inline:3px}.snowy-scene{height:min(65svh,600px);min-height:330px}.game-message{font-size:12px;line-height:1.6;min-height:71px}.hunt-footer{padding:12px 3px 0}.hunt-list-wrap>.eyebrow span{display:block;margin:3px 0 0;font-size:10px}.hunt-list{gap:8px 14px;font-size:11px}.hunt-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.target-label{margin:0;min-width:0}.target-label select{width:100%;max-width:none}.hunt-actions .restart-button{grid-column:1/-1;justify-self:start;background:transparent;padding-inline:0;border-color:transparent;text-decoration:underline;text-underline-offset:4px}.clue-box{margin-top:10px;padding-inline:3px}.clue-box summary>span{display:block;margin:2px 0 0 15px;font-size:10px}.clue-content #clue-text{font-size:13px}.game-card .region-choices button{font-size:11px}.keyboard-help{font-size:10px;padding-inline:3px}.game-signoff{font-size:16px}.game-page .desk-footer{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.game-page *{scroll-behavior:auto!important}.game-card *{animation:none!important;transition:none!important}}
