/* Static preview viewport repairs; existing artwork, colors and typography remain. */
.campaign-splash{height:100dvh;background:#071125}
.campaign-splash img{object-fit:cover;max-width:none}
.campaign-splash .splash-skip{top:calc(env(safe-area-inset-top,0px) + 16px);right:calc(env(safe-area-inset-right,0px) + 16px)}
.video-overlay{padding:0;background:#071125;z-index:10001;width:100%;height:100dvh;overflow:hidden}
.video-dialog{position:relative;width:100%;height:100%;max-width:none}
.video-dialog header{position:absolute;z-index:3;top:calc(env(safe-area-inset-top,0px) + 12px);left:16px;right:16px;margin:0}
.video-dialog header{right:16px}
.video-dialog header h2{min-width:0;font-size:12px}
.video-dialog header .back-icon{flex:none}
.video-rotate{position:absolute;z-index:5;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;white-space:nowrap;height:36px;padding:0 12px;border:1px solid #ffffff35;border-radius:20px;background:#ffffff08;color:#ffffffcf;font-size:13px}
.video-rotate svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.video-overlay.rotated .video-rotate{top:calc(env(safe-area-inset-top,0px) + 16px);left:auto;right:16px;transform:none}
.has-video-cover .cover-play{position:absolute;bottom:38px;margin:0}
.video-rotate[hidden]{display:none}
.video-dialog .portrait-player{position:absolute;inset:64px 0 120px;width:100%;height:auto;max-height:none;aspect-ratio:auto;border-radius:0;margin:0;overflow:visible}
.video-dialog .portrait-player video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.video-dialog .portrait-poster{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100%,calc((100dvh - 184px)*.75));aspect-ratio:3/4}
.video-dialog .portrait-toggle{bottom:-24px}
.video-overlay.rotated .video-dialog{position:absolute;left:50%;top:50%;width:100dvh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}
.video-overlay.rotated .portrait-player{inset:0}
.video-overlay.rotated .portrait-toggle{bottom:104px}
.video-dialog .watch-controls{position:absolute;z-index:3;left:24px;right:24px;bottom:calc(max(env(safe-area-inset-bottom,0px),24px) + 48px);margin:0}
.video-dialog .watch-hint{position:absolute;z-index:3;left:16px;right:16px;bottom:max(env(safe-area-inset-bottom,0px),24px);margin:0}
.video-dialog:after{content:'';position:absolute;inset:auto 0 0;height:200px;background:linear-gradient(transparent,#071125);pointer-events:none}
.video-dialog .portrait-toggle{z-index:4}
body:has(.quiz){overflow:hidden}
.page.quiz{height:100dvh;min-height:0;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(max(env(safe-area-inset-bottom,0px),24px) + 22px);overflow:hidden}
.quiz>.content{display:flex;flex-direction:column;height:100%;min-height:0}
.quiz .back{position:absolute;left:0;right:auto;top:0;margin:0;width:40px;height:40px;text-align:left;font-size:12px;white-space:nowrap;z-index:2}
.quiz .back:after{content:none}
.quiz .quiz-brand{display:none}
.quiz .quiz-brand i{width:25px;height:28px;font-size:8px;flex-shrink:0}
.quiz .quiz-top{flex:none;margin:52px 0 12px;min-height:44px}
.quiz .quiz-top>div:first-child{width:100%;font-size:12px}
.quiz .quiz-top>div:first-child b{font-size:22px}
.quiz .quiz-top>div:last-child{position:absolute;right:0;top:0;text-align:right;font-size:11px;line-height:1.2}
.quiz .quiz-top>div:last-child b{font-size:24px;line-height:1.25}
.quiz .meter{margin-top:8px}
.quiz .q-card{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px}
.quiz .q-card h2{font-size:22px;line-height:1.5;margin:16px 0 20px;overflow-wrap:anywhere}
.quiz .option{min-height:56px;margin:12px 0;padding:12px;font-size:17px;gap:12px;overflow-wrap:anywhere}
.quiz .option i{flex:none}
.quiz .quiz-actions{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:16px 0 0}
.quiz .quiz-actions .btn{width:100%;min-width:0;height:48px;min-height:48px;padding:0 12px;border-radius:24px;margin:0;font-size:18px;display:flex;align-items:center;justify-content:center}
.quiz .quiz-actions .btn:disabled{opacity:.55}
@media(min-width:600px){.campaign-splash img{max-width:560px}.campaign-splash .splash-skip{right:max(16px,calc(50% - 264px))}}
