.entry-promotion { position: fixed; z-index: 10; bottom: max(24px,env(safe-area-inset-bottom)); right: max(24px,env(safe-area-inset-right)); width: min(320px,calc(100vw - 32px)); box-sizing: border-box; padding: 10px 14px 14px; border: 1px solid #ffffff30; border-radius: 16px; color: #f6ecdc; background: #1c2232; box-shadow: 0 8px 32px #0004; font: 13px/1.5 'Apple SD Gothic Neo','Malgun Gothic',sans-serif; letter-spacing: 0; text-align: left; }
.entry-promotion > small { display: block; padding-right: 36px; margin-bottom: 6px; font-size: 10px; color: #bfc6d3; }
.entry-promotion a { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.entry-promotion img { flex: 0 0 88px; width: 88px; height: 60px; border-radius: 8px; object-fit: cover; }
.entry-promotion a > span { display: grid; gap: 5px; }
.entry-promotion b { font-size: 13px; line-height: 1.5; }
.entry-promotion a span span { font-size: 11px; color: #d6c3a2; }
.entry-promotion .entry-promotion-close { position: absolute; top: 0; right: 0; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 12px; color: #f6ecdc; background: transparent; cursor: pointer; font: 24px/1 'Apple SD Gothic Neo',sans-serif; }
.entry-promotion :focus-visible { outline: 2px solid #ffd493; outline-offset: 3px; }
body .loading[data-scene-loading],body #loading[data-scene-loading] { box-sizing: border-box; display: grid; place-items: center; padding: max(76px,calc(env(safe-area-inset-top) + 64px)) 24px max(24px,env(safe-area-inset-bottom)); background: radial-gradient(ellipse at 50% 15%,#203c50 0%,#111b2d 45%,#080e1a 100%); color: #f2ece2; font: 14px/1.6 'Apple SD Gothic Neo','Malgun Gothic',sans-serif; letter-spacing: 0; transition: opacity .2s ease; }
[data-scene-loading][hidden] { display: none !important; }
.scene-loading-layout { display: flex; flex-direction: column; gap: 22px; width: min(360px,100%); max-height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.scene-loading-preview { display: block; flex: 0 0 auto; width: 100%; height: clamp(100px,23vh,190px); object-fit: cover; border: 1px solid #ffffff20; border-radius: 18px; box-sizing: border-box; }
.scene-loading-copy { text-align: center; }
.scene-loading-brand { margin: 0 0 9px; font: 600 11px/1.5 system-ui,sans-serif; letter-spacing: .15em; color: #ecc897; }
.scene-loading-title { margin: 0 0 8px; font: 600 clamp(18px,4.5vw,23px)/1.4 'Apple SD Gothic Neo','Malgun Gothic',sans-serif; color: #fff4df; }
.scene-loading-status { margin: 0; font-size: 13px; color: #d0d8e4; }
.scene-loading-indicator { height: 3px; max-width: 180px; margin: 18px auto 12px; border-radius: 4px; overflow: hidden; background: #ffffff18; }
.scene-loading-indicator > span { display: block; width: 40%; height: 100%; border-radius: inherit; background: #e5bd84; animation: scene-loading-progress 1.6s ease-in-out infinite alternate; }
.scene-loading-note { margin: 0; min-height: 1.6em; font-size: 11px; color: #9faec1; }
.scene-loading-retry { min-height: 44px; margin-top: 12px; padding: 9px 18px; border: 1px solid #ffffff40; border-radius: 999px; color: #f7e1bb; background: #ffffff09; font: 13px/1.5 'Apple SD Gothic Neo','Malgun Gothic',sans-serif; cursor: pointer; }
.scene-loading-retry[hidden] { display: none !important; }
.scene-loading-retry:focus-visible { outline: 2px solid #ffd493; outline-offset: 3px; }
[data-loading-state=error] .scene-loading-indicator { display: none; }
body[data-loading-state=error] .err,body[data-loading-state=error] #error { display: none !important; }
.scene-loading-ad-slot:empty { display: none; }
.scene-loading-ad-slot .entry-promotion { position: relative; inset: auto; width: 100%; margin: 0; max-width: none; box-shadow: none; border-color: #ffffff20; background: #ffffff06; }
body:not(.ready) .bar,body:not(.ready) nav.controls,body:not(.ready) .place-community,body:not(.ready) #place-actions .place-share-trigger { display: none !important; }
body:not(.ready) .title,body:not(.ready) > header,body:not(.ready) .hint,body:not(.ready) .tip,body:not(.ready) #caption { visibility: hidden; pointer-events: none; }
@keyframes scene-loading-progress { from { transform: translateX(-25%); } to { transform: translateX(175%); } }
body.ready .entry-promotion,body[data-hud=off] .entry-promotion { display: none; }
@media (max-width: 700px) { .entry-promotion { right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); } }
@media (max-height: 600px) { .scene-loading-preview { max-height: 110px; } .scene-loading-layout { gap: 16px; } }
@media (max-height: 480px) { .entry-promotion,.scene-loading-preview { display: none; } .scene-loading-layout { gap: 12px; } }
@media (prefers-reduced-motion: reduce) { .scene-loading-indicator > span { animation: none; width: 100%; opacity: .6; } body .loading[data-scene-loading],body #loading[data-scene-loading] { transition: none; } }
