#game.chapter-snow #landscape{object-fit:contain;transition:opacity .4s}
#game.chapter-snow #rotate,#game.chapter-snow .crosshair{display:none}
#game.chapter-snow .immersive-inspect{visibility:visible}
#game.chapter-snow .shade{pointer-events:none;background:linear-gradient(0deg,#0a1219a8,transparent 30%,transparent 75%,#0a121977)}
.snow-interaction{position:absolute;inset:0;pointer-events:none;touch-action:none;overflow:hidden}
#hotspots .snow-interaction button,.snow-interaction canvas{pointer-events:auto;touch-action:none;user-select:none}
#hotspots .snow-interaction button{font-size:12px;color:#f1f3ef;text-shadow:0 1px 5px #051018;border:1px solid #e1eef277;background:#11232e22;min-height:44px;min-width:44px}
.snow-route-regions{position:absolute;inset:3% 1% 13%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2%;pointer-events:auto}
#hotspots .snow-route-regions button{position:relative;align-self:stretch;display:flex;align-items:flex-start;justify-content:center;padding-top:8%;background:transparent;border-radius:45%;border:1px solid transparent;box-shadow:none;opacity:.65}
#hotspots .snow-route-regions button.selected{border-color:#e3edf466;background:linear-gradient(#f0f6ff11,transparent 65%);opacity:1}
.snow-interaction.gust:after{content:'';position:absolute;inset:0;background:#e3f1fb44;animation:snow-gust .8s ease;pointer-events:none}
@keyframes snow-gust{50%{opacity:.2;transform:translateX(-3px)}}
#hotspots .snow-diary-spot{position:absolute;left:58%;top:69%;transform:translate(-50%,-50%);width:18%;height:25%;border-radius:40%;color:transparent;background:transparent}
.snow-sweep{position:absolute;left:48%;top:54%;width:21%;height:30%;border-radius:40%;cursor:crosshair;outline-offset:4px}
.snow-search-progress{font-size:12px;color:#d9e6ee;letter-spacing:2px}
#hotspots .snow-rope-grab{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);width:18%;height:17%;border-radius:35%;background:#10222d55}
.snow-rope-meter{position:absolute;top:8%;left:30%;width:40%;height:4px;background:#d4e4ec44;pointer-events:none}
.snow-rope-meter .safe-zone{position:absolute;left:35%;width:30%;height:6px;top:-1px;background:#bfd3bb88}
.snow-rope-meter i{position:absolute;left:68%;top:-5px;width:5px;height:14px;background:#f0e7cc;box-shadow:0 0 9px #d4e4ec66}
.snow-rope-meter small{position:absolute;width:100%;top:16px;left:0;text-align:center;font-size:11px;color:#eef4f8;text-shadow:0 1px 5px #000}
.snow-rope-meter.danger i{background:#dba08a}
.snow-rope-control{width:min(360px,80vw);padding:14px 6px;border-block:1px solid #d4e4ec55;color:#e1ebef;font-size:12px;letter-spacing:2px;text-align:center;touch-action:none;user-select:none;cursor:ew-resize;outline-offset:3px}
.snow-rope-progress{height:3px;width:min(360px,80vw);background:#e1ebef33;position:relative;margin-bottom:23px}
.snow-rope-progress>span{display:block;height:100%;background:#e1ebef}
.snow-rope-progress>small{position:absolute;width:100%;top:8px;left:0;text-align:center;font-size:11px;color:#d4e4ec}
#game.chapter-snow #controls{flex-wrap:wrap;max-width:90vw;row-gap:12px}
@media(orientation:portrait){#game.chapter-snow #objective{top:83px}#game.chapter-snow #subtitle{bottom:160px}#game.chapter-snow #controls{bottom:66px;gap:10px}#game.chapter-snow #controls button{font-size:12px;padding:8px 10px}.snow-rope-control{width:75vw;padding:12px 4px}.snow-route-regions{inset:0 0 8%}}
@media(max-height:450px){#game.chapter-snow #objective{top:54px;font-size:12px}#game.chapter-snow #subtitle{bottom:96px;font-size:14px}#game.chapter-snow #controls{bottom:29px;gap:7px}#game.chapter-snow #controls button{font-size:11px;padding:7px 9px}.snow-rope-control{padding:8px;font-size:11px}.snow-rope-progress{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.snow-interaction.gust:after{animation:none}}

.snow-route-quick,.snow-rope-buttons{display:flex;gap:12px;justify-content:center;width:100%}
#game.chapter-snow .snow-route-quick button{min-width:72px}
#hotspots .snow-route-regions button{align-items:flex-end;padding-bottom:13%;padding-top:0;font-size:14px;background:linear-gradient(transparent 65%,#10233144);opacity:1}
.snow-rope-control{position:relative;min-height:48px;padding:8px 4px 0;box-sizing:border-box;border:1px solid #d4e4ec55;border-radius:3px}
.snow-rope-control small{display:block;font-size:10px;letter-spacing:1px;margin-top:17px;color:#bcccd6}
.snow-rope-thumb{position:absolute;left:calc(50% + var(--input,0)*43%);top:4px;width:14px;height:17px;transform:translateX(-50%);background:#dfebef;border-radius:3px;box-shadow:0 0 9px #d4e4ec55}
#game.chapter-snow .snow-rope-buttons button{min-width:120px;min-height:46px;border:1px solid #d4e4ec55;background:#15252e77}
#game.chapter-snow .snow-rope-buttons button.suggested{border-color:#f1dfb4;box-shadow:inset 0 0 12px #f1dfb422;color:#f6e3ba}
#game.chapter-snow .snow-rope-buttons button.pressing{background:#e4edf233;color:#fff}
.snow-rope-mode:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#dbeef533,transparent 18%,transparent 82%,#dbeef533);opacity:calc(.12 + var(--lean,0)*var(--lean,0)*.5)}
.snow-bag-view::backdrop{background:#0d1925ed}
@media(orientation:portrait){#game.chapter-snow:has(.snow-rope-mode) #subtitle{bottom:218px}#game.chapter-snow:has(.snow-rope-mode) #controls{bottom:64px;gap:9px}#game.chapter-snow .snow-rope-buttons button{min-width:120px;padding:9px}.snow-rope-progress{margin-bottom:18px}}
@media(max-height:450px){#game.chapter-snow:has(.snow-rope-mode) #subtitle{bottom:155px}#game.chapter-snow:has(.snow-rope-mode) #controls{bottom:20px;gap:7px}.snow-rope-control{min-height:39px;max-width:280px}.snow-rope-buttons{width:auto}#game.chapter-snow .snow-rope-buttons button{min-width:95px;min-height:40px}}
@media(prefers-reduced-motion:reduce){#game.chapter-snow #landscape{transform:none!important}.snow-rope-mode:after{display:none}}
/* Captions and controls share normal flow so multiline UI cannot collide. */
#game.chapter-snow #snow-dock{position:absolute;left:5%;right:5%;bottom:48px;display:grid;gap:14px;padding:16px 0 4px;z-index:5;background:linear-gradient(transparent,#10191ce8 26%);isolation:isolate}
#game.chapter-snow #snow-dock #subtitle{position:static;inset:auto;margin:0 auto;width:min(100%,660px);font-size:16px;line-height:1.6;letter-spacing:.5px;min-height:0;max-width:100%;text-wrap:pretty}
#game.chapter-snow #snow-dock #subtitle small{font-size:10px;line-height:1.5;letter-spacing:1.5px;margin-bottom:4px}
#game.chapter-snow #snow-dock #controls{position:static;inset:auto;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:100%;margin:0}
#game.chapter-snow #snow-dock #controls button{min-height:42px;padding:10px 16px;font-size:12px;line-height:1.45;letter-spacing:1px;max-width:100%;white-space:normal}
#game.chapter-snow #snow-dock .snow-route-quick{gap:10px}
#game.chapter-snow #snow-dock .snow-route-quick button{flex:1;max-width:130px;border:1px solid #d5dfdf44;background:#19262a66}
#game.chapter-snow .snow-rope-grab{display:none}
#game.chapter-snow .snow-rope-status{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:28px;width:min(100%,340px);height:34px;padding-top:7px}
#game.chapter-snow .snow-rope-status .snow-rope-meter{position:relative;inset:auto;width:100%;height:4px;margin:0}
#game.chapter-snow .snow-rope-status .snow-rope-meter small{top:12px;font-size:10px;letter-spacing:1px}
#game.chapter-snow .snow-rope-status .snow-rope-progress{position:relative;height:4px;width:100%;margin:0}
#game.chapter-snow .snow-rope-status .snow-rope-progress small{position:absolute;top:12px;left:0;width:100%;font-size:10px;line-height:1.4;letter-spacing:1px}
#game.chapter-snow #snow-dock .snow-rope-control{width:min(100%,340px);max-width:none;min-height:43px;height:43px;margin:0;padding:3px 0;border:1px solid #cbdce033;border-radius:2px;background:#0b141666}
#game.chapter-snow .snow-rope-control small{font-size:10px;margin-top:20px;line-height:1.4;letter-spacing:.8px}
#game.chapter-snow .snow-rope-thumb{top:4px;height:13px;width:11px;border-radius:2px}
#game.chapter-snow #snow-dock .snow-rope-buttons{width:min(100%,340px);gap:12px}
#game.chapter-snow #snow-dock .snow-rope-buttons button{flex:1;min-width:0;min-height:44px;background:#1b292c88;border:1px solid #d5dfdf44;border-radius:2px}
#game.chapter-snow #snow-dock .snow-rope-buttons button.suggested{border-color:#e2c993;color:#f1dfb4;background:#3c35242e;box-shadow:none}
#game.chapter-snow #objective{right:5%;max-width:600px}
#game.chapter-snow #objective small{max-width:100%;line-height:1.65;margin-top:4px}
#debug-chapters{font-size:10px;letter-spacing:.5px;min-height:28px;max-width:155px;padding:4px 6px;background:#142024d9;border:1px solid #cbdce033;border-radius:2px;bottom:7px;right:10px;opacity:.65}
#debug-chapters:hover,#debug-chapters:focus{opacity:1}
@media(orientation:portrait){
 #game.chapter-snow #scene{top:var(--snow-scene-top,148px);bottom:calc(var(--snow-dock-height,170px) + 56px)}
 #game.chapter-snow #objective{top:78px;font-size:13px;line-height:1.6;left:5%;padding-left:12px}
 #game.chapter-snow #objective small{font-size:10px;letter-spacing:.5px}
 #game.chapter-snow #snow-dock{left:6%;right:6%;bottom:48px;gap:12px;padding-top:12px}
 #game.chapter-snow #snow-dock #subtitle{font-size:15px;line-height:1.65}
 #game.chapter-snow #snow-dock #controls{gap:10px}
 #game.chapter-snow header{padding:18px 4%}
 #game.chapter-snow .bottomline{bottom:15px;max-width:calc(100% - 170px);font-size:7px;line-height:1.4;letter-spacing:1px}
}
@media(orientation:landscape) and (max-height:550px){
 #game.chapter-snow #snow-dock{bottom:34px;left:4%;right:4%;grid-template-columns:minmax(180px,1fr) minmax(320px,1.6fr);gap:24px;align-items:center;padding-top:10px}
 #game.chapter-snow #snow-dock #subtitle{font-size:13px;line-height:1.6;text-align:left}
 #game.chapter-snow #snow-dock #controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;justify-items:stretch}
 #game.chapter-snow #snow-dock .snow-rope-status{grid-column:1/-1;width:100%;height:26px}
 #game.chapter-snow #snow-dock .snow-rope-control{width:100%}
 #game.chapter-snow #snow-dock .snow-rope-buttons{width:100%;gap:7px}
 #game.chapter-snow #snow-dock #controls>button:only-child{grid-column:1/-1;justify-self:center}
 #game.chapter-snow #snow-dock .snow-route-quick{grid-column:1/-1}
 #game.chapter-snow #objective{top:58px;font-size:12px}
 #game.chapter-snow #objective small{font-size:10px}
}
