.xp-snow-client { position:absolute; left:4px; top:30px; width:592px; height:370px; display:flex; flex-direction:column; background:#ece9d8; font:11px Tahoma,SimSun,"Songti SC",sans-serif; color:#111; overflow:hidden; }
.xp-snow-toolbar { display:flex; align-items:center; gap:2px; height:26px; flex-shrink:0; padding:2px 4px; border-bottom:1px solid #aca899; box-sizing:border-box; }
.xp-snow-toolbar button { font:inherit; color:inherit; border:1px solid transparent; background:transparent; height:22px; padding:2px 8px; border-radius:0; }
.xp-snow-toolbar button:hover,.xp-snow-toolbar button:focus-visible { border-color:#fff #aca899 #aca899 #fff; background:#f6f4eb; outline:none; }
.xp-snow-toolbar button:active,.xp-snow-toolbar button[aria-pressed="true"] { border-color:#aca899 #fff #fff #aca899; background:#dedbcd; }
.xp-snow-toolbar span { flex:1; text-align:right; color:#666; padding-right:4px; }
.xp-snow-viewport { position:relative; flex:1; min-height:0; display:flex; align-items:center; justify-content:center; background:#080a0c; overflow:hidden; }
.xp-snow-canvas,.xp-snow-photo { display:block; position:absolute; width:100%; height:100%; object-fit:contain; outline:none; touch-action:none; image-rendering:auto; }
.xp-snow-photo[hidden] { display:none; }
.xp-snow-hint { position:absolute; bottom:13px; left:0; right:0; text-align:center; color:#a7aeb4; font-size:11px; pointer-events:none; text-shadow:0 1px 2px #000; transition:opacity .22s; }
.xp-snow-client.is-playing .xp-snow-hint { opacity:0; }
.xp-snow-status { display:flex; align-items:center; height:20px; flex-shrink:0; padding:0 6px; border-top:1px solid #aca899; box-sizing:border-box; color:#333; }
.xp-snow-status span:first-child { flex:1; }
.xp-snow-status span:last-child { border-left:1px solid #aca899; padding-left:9px; color:#555; }
.xp-snow-error { position:absolute; padding:20px; text-align:center; color:#c9cdd0; line-height:1.7; }
.xp-snow-error button { display:block; margin:12px auto; padding:4px 12px; }
.xp-snow-help { position:absolute; inset:0; background:rgba(8,11,14,.92); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; color:#c2c6c9; z-index:3; line-height:1.7; text-align:center; }
.xp-snow-help[hidden] { display:none; }
.xp-snow-help button { font:inherit; padding:3px 16px; }
.xp-window.is-snow-fullscreen { left:0!important; top:0!important; width:800px!important; height:600px!important; z-index:99999!important; }
.is-snow-fullscreen > .xp-window-shell,.is-snow-fullscreen > .xp-window-title,.is-snow-fullscreen > .xp-window-title-text,.is-snow-fullscreen > .xp-window-button { display:none; }
.is-snow-fullscreen .xp-snow-client { top:0; left:0; width:800px!important; height:600px!important; }
.is-snow-fullscreen .xp-snow-viewport { flex:none; position:absolute; inset:0; }
.is-snow-fullscreen .xp-snow-toolbar { position:absolute; left:8px; top:8px; z-index:4; background:#ece9d8; border:1px solid #aca899; box-shadow:1px 1px 2px #0006; }
.is-snow-fullscreen .xp-snow-toolbar span,.is-snow-fullscreen .xp-snow-status { display:none; }
.is-snow-fullscreen .is-playing .xp-snow-toolbar { visibility:hidden; }
.xp-stage.snow-pointer-locked .xp-synthetic-cursor { visibility:hidden!important; }
.xp-snow-touch { position:absolute; bottom:16px; left:16px; display:none; grid-template-columns:repeat(3,38px); grid-template-rows:repeat(2,34px); gap:3px; }
.xp-snow-touch button { background:#24292b99; color:#bbb; border:1px solid #62676a55; font:16px sans-serif; touch-action:none; }
.xp-snow-touch button:first-child { grid-column:2; }
.xp-snow-touch button:nth-child(2) { grid-column:1; }
@media (pointer:coarse) { .xp-snow-touch { display:grid; } .xp-snow-hint { bottom:100px; } }
.xp-snow-breakout { position:fixed; inset:0; z-index:2147483646; background:#000; cursor:none; overflow:hidden; }
.xp-snow-breakout .xp-snow-canvas { left:0; top:0; }
.xp-snow-ending { position:fixed; inset:0; z-index:2147483647; background:#000; cursor:none; display:flex; align-items:center; justify-content:center; user-select:none; transition:opacity 2s linear; }
.xp-snow-ending.is-fading { opacity:0; pointer-events:none; }
.xp-snow-ending.is-screen { background:transparent; }
.xp-snow-ending-screen { position:absolute; inset:0; z-index:2147483645; background:#000; pointer-events:none; transition:opacity 2s linear; }
.xp-snow-ending-screen.is-fading { opacity:0; }
.xp-snow-ending.is-credits { z-index:2147483646; }
.xp-stage:has(.xp-snow-ending.is-credits) .xp-synthetic-cursor { z-index:2147483647; }
.xp-ending-credits { position:relative; flex:none; width:800px; height:600px; overflow:hidden; transform-origin:50% 50%; --xp-cursor-kind:arrow; user-select:none; }
.xp-geo-page { position:absolute; left:0; top:0; width:800px; box-sizing:border-box; padding:8px; line-height:normal; will-change:transform; }
.xp-geo-page p { margin:16px 0; }
.xp-geo-page p:first-child { margin-top:0; }
.xp-geo-big { font-size:32px; }
.xp-geo-huge { font-size:48px; }
.xp-geo-marquee { position:relative; display:block; width:600px; height:56px; margin:0 auto; overflow:hidden; text-align:left; }
.xp-geo-marquee > font { position:absolute; left:0; top:0; white-space:nowrap; }
.xp-geo-page a { color:#FFFFCC; text-decoration:underline; --xp-cursor-kind:link; }
.xp-geo-page a:active { color:#FF6666; }
.xp-geo-page a.xp-geo-hop-link { text-decoration:none; border-bottom:2px solid currentColor; }
.xp-geo-hop { position:relative; display:inline-block; }
.xp-geo-art { display:inline; vertical-align:middle; border:0; box-sizing:content-box; image-rendering:auto; }
.xp-geo-popup { z-index:5; --xp-cursor-kind:arrow; }
.xp-geo-popup img, .xp-geo-popup video { display:block; }
.xp-geo-popup-title { font:bold 12px Tahoma, SimSun, "Songti SC", sans-serif; line-height:16px; color:#FFFFFF; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xp-geo-popup-close { background-position:0 0; }
.xp-geo-popup-close:hover { background-position:0 -21px; }
.xp-geo-popup-close.is-pressed { background-position:0 -42px; }
.xp-geo-popup-video { background:#000000; object-fit:fill; }
.xp-geo-popup-note { color:#FFFFFF; font:12px WQY12, SimSun, "Songti SC", serif; line-height:12px; text-align:left; white-space:nowrap; text-shadow:1px 1px 0 #000000; pointer-events:none; -webkit-font-smoothing:none; }
.xp-geo-veil { position:absolute; inset:0; z-index:10; }
.xp-geo-ask { box-sizing:border-box; overflow:hidden; background:#FFFFFF; color:#000000; font:12px/22px WQY12,SimSun,"Songti SC",serif; -webkit-font-smoothing:none; }
.xp-geo-letter { box-sizing:border-box; height:100%; padding:16px 24px; }
.xp-geo-ask h2 { margin:0; padding:0 0 10px; border-bottom:1px solid #C0C0C0; color:#000080; font:16px/24px WQY16,SimSun,"Songti SC",serif; }
.xp-geo-ask p { margin:0; }
.xp-geo-restart-main { display:flex; align-items:center; height:142px; }
.xp-geo-ask-art { display:block; flex:none; border:0; object-fit:contain; }
.xp-geo-ask-text { flex:1; }
.xp-geo-ask .xp-geo-question { margin-bottom:10px; font:16px/24px WQY16,SimSun,"Songti SC",serif; }
.xp-geo-ask-actions { display:flex; align-items:center; gap:28px; padding-top:8px; border-top:1px solid #C0C0C0; }
.xp-geo-text-link { border:0; border-radius:0; padding:0; background:none; box-shadow:none; color:#0000FF; font:inherit; text-decoration:underline; --xp-cursor-kind:link; }
.xp-geo-text-link:hover,.xp-geo-text-link:active { color:#FF0000; }
.xp-geo-text-link:focus-visible { outline:1px dotted #000000; outline-offset:3px; }
.xp-geo-support-intro { padding-top:16px; min-height:89px; }
.xp-geo-support-intro > img { float:right; border:0; }
.xp-geo-support-intro p + p { margin-top:10px; }
.xp-geo-follow { margin:0 0 12px; }
.xp-geo-follow-row { display:flex; line-height:24px; }
.xp-geo-follow dt { width:60px; }
.xp-geo-follow dd { margin:0; color:#000080; font:12px/24px Tahoma,SimSun,serif; user-select:text; --xp-cursor-kind:ibeam; }
.xp-geo-signature { text-align:right; font-family:Tahoma,SimSun,serif; }
.xp-geo-sheet-footer { margin-top:8px; padding-top:6px; border-top:1px solid #C0C0C0; text-align:center; }
.xp-geo-sponsor-main { display:flex; align-items:center; gap:20px; height:150px; padding:0 8px; }
.xp-geo-sponsor-main > img { display:block; flex:none; border:0; }
.xp-geo-ask .xp-geo-sponsor-main .xp-geo-question { margin:0; }
.xp-geo-bts-lock p + p { margin-top:4px; }
.xp-geo-bts-field { display:flex; align-items:center; margin-top:14px; }
.xp-geo-bts-input { box-sizing:border-box; width:120px; height:23px; margin:0; padding:2px 4px; border:1px solid #7F9DB9; border-radius:0; outline:none; background:#FFFFFF; color:#000000; font:14px Tahoma,SimSun,serif; letter-spacing:2px; caret-color:#000000; }
.xp-geo-bts-input::selection { background:#316AC5; color:#FFFFFF; }
.xp-geo-ask .xp-geo-bts-wrong { height:22px; margin-top:6px; color:#FF0000; }
.xp-geo-bts-lock .xp-geo-ask-actions { margin-top:12px; }
.xp-geo-bts-album { padding:8px 8px 0; }
.xp-geo-bts-photo { display:block; width:400px; height:300px; border:0; --xp-cursor-kind:link; }
.xp-geo-bts-nav { display:flex; align-items:center; gap:18px; margin-top:7px; line-height:18px; }
.xp-geo-bts-count { color:#808080; }
.xp-geo-bts-nav [data-bts=close] { margin-left:auto; }
.xp-ending-promo { flex:none; width:800px; height:600px; background:#000; transform-origin:50% 50%; }
.xp-ending-promo-hint { position:absolute; left:0; right:0; top:286px; text-align:center; font:12px WQY12,SimSun,"Songti SC",serif; color:#fff; -webkit-font-smoothing:none; --xp-cursor-kind:link; }
