.phone-ui #rotate-prompt:not([hidden]){position:relative;isolation:isolate;display:flex;align-items:flex-start;gap:15px;flex-shrink:0;padding:20px 46px 20px 18px;border:1px solid #ffcdc0;border-radius:22px;background:radial-gradient(ellipse at 0 0,#ff9e8150,transparent 64%),linear-gradient(120deg,#ad123e 0%,#bc1848 55%,#d74558 100%);color:#fff;box-shadow:0 9px 23px #a2183627,inset 0 1px 0 #ffffff63;overflow:hidden;animation:rotate-card-in .3s ease-out}
#rotate-prompt::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:160px;height:160px;right:-85px;bottom:-80px;border:26px solid #ffdec023;border-radius:50%}
.rotate-art{display:grid;place-items:center;flex:0 0 58px;width:58px;height:66px;margin-top:12px;border:1px solid #fff5;border-radius:18px;background:linear-gradient(145deg,#fff3,#ffffff0d);color:#ffe4a6;box-shadow:inset 0 1px 0 #fff5;transform:rotate(-5deg)}
.rotate-art svg{width:48px;height:48px}
.rotate-copy{flex:1;min-width:0}
#rotate-prompt .rotate-kicker{display:block;margin-bottom:6px;color:#ffe2a0;font-size:9px;font-weight:800;letter-spacing:1.2px;line-height:1.5}
#rotate-prompt h2{font-size:19px;font-weight:800;line-height:1.25;letter-spacing:-.3px;color:#fff;text-wrap:balance}
#rotate-prompt p{max-width:290px;font-size:12px;line-height:1.6;color:#fff0ed;margin:8px 0 12px}
#open-landscape{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;max-width:100%;padding:10px 13px;border:1px solid #fff1bf;border-radius:12px;background:linear-gradient(135deg,#fff2b8,#ffce73);color:#681c2e;font-size:12px;font-weight:800;line-height:1.3;box-shadow:0 4px 0 #74152c55,0 7px 15px #5c0d2830;cursor:pointer}
#open-landscape svg{width:22px;height:22px;flex-shrink:0}
#open-landscape:hover{background:#fff3bd}
#open-landscape:active{transform:translateY(2px);box-shadow:0 2px 0 #74152c55}
@keyframes rotate-card-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:360px){.phone-ui #rotate-prompt:not([hidden]){gap:10px;padding:17px 38px 17px 13px;border-radius:19px}.rotate-art{flex-basis:42px;width:42px;height:52px;border-radius:14px;margin-top:22px}.rotate-art svg{width:37px;height:37px}#rotate-prompt .rotate-kicker{font-size:8px;letter-spacing:.65px}#rotate-prompt h2{font-size:17px}#open-landscape{gap:6px;padding:10px 9px;font-size:11px}#open-landscape svg{width:18px;height:18px}}
#close-rotate-prompt{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff14;color:#fff;font-size:25px;line-height:1;border:1px solid #ffffff40}
.phone-ui #landscape-view-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-height:44px;min-width:128px;width:auto;padding:7px 10px;border:1px solid #fff1bf;border-radius:24px;background:linear-gradient(135deg,#fff2b8,#ffce73);color:#681c2e;font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap;box-shadow:0 2px 6px #65112725;cursor:pointer}
#landscape-view-toggle .orientation-icon{display:block;flex-shrink:0;width:30px;height:30px}
.phone-ui #landscape-view-toggle:hover{background:#fff3bd}
.phone-ui #landscape-view-toggle:active{transform:translateY(1px)}
#open-landscape:focus-visible,#close-rotate-prompt:focus-visible,#landscape-view-toggle:focus-visible{outline:3px solid #d9ad48;outline-offset:2px}
html.virtual-landscape-root{height:100%;overflow:hidden}
body.phone-ui.virtual-landscape{position:fixed;left:100dvw;top:0;width:100dvh;height:100dvw;min-height:0;max-width:none;margin:0;transform-origin:0 0;transform:rotate(90deg);overflow:hidden}
body.virtual-landscape main{max-width:none}
body.virtual-landscape .site-title{display:none}
body.virtual-landscape .masthead #group-nav{flex:1;min-width:0}
body.virtual-landscape .cf-dialog{max-width:calc(100% - 24px);max-height:calc(100% - 24px)}
body.phone-ui.virtual-portrait{position:fixed;left:0;top:100dvh;width:100dvh;height:100dvw;min-height:0;max-width:none;margin:0;transform-origin:0 0;transform:rotate(-90deg);overflow:hidden}
body.virtual-portrait main{max-width:none}
body.virtual-portrait .site-title{display:none}
.masthead {
  background: linear-gradient(115deg,#c81745,#a40f32) !important;
  border-bottom: 1px solid #e8bd7d;
  color: #fff;
}
.masthead .brand,
.masthead .site-title { color: #fff; }
.masthead .site-title span { color: #ffead0; }
.masthead .brand { flex: 0 0 auto; }
.masthead .brand > .brand-badge:last-child,
.continuous-test .masthead .brand > .brand-badge:last-child {
  position: relative;
  display: block;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 2px #e7cd92,0 0 0 3px #ffffff26;
}
.masthead .brand-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 125%;
  height: auto;
  max-width: none;
  clip-path: inset(5% 26% 40% 26%);
  transform: translate(-50%,-32.1%);
}
#group-nav .compact-lesson-nav select,
#group-nav .continuous-selectors select {
  border: 1px solid #e8bbc9;
  border-radius: 11px;
  min-height: 42px;
  background-color: #fff6f7;
  color: #971633;
  font-weight: 750;
}
#group-nav a[aria-current] { background-color: #aa1539; color: #fff; }
body.phone-ui #landscape-view-toggle:not([hidden]) {
  min-width: 44px;
  width: 44px;
  padding: 4px;
}
#landscape-view-toggle span { display: none; }
body.phone-ui:not(.phone-landscape) .masthead .site-title { display: flex; white-space: normal; }
body.phone-ui:not(.phone-landscape) .masthead .site-title b {
  font-size: 13px;
  line-height: 1.1;
}
body.phone-ui #feedback-open { width: 44px; min-height: 44px; }
body.phone-ui #group-nav .compact-lesson-nav,
body.phone-ui #group-nav .continuous-selectors { min-width: 0; }
body.phone-ui #group-nav .compact-lesson-nav select,
body.phone-ui #group-nav .continuous-selectors select { max-width: 100%; }
body.continuous-test.virtual-landscape > main,
body.continuous-test.virtual-portrait > main {
  height: calc(100% - 56px);
  overflow: auto;
}
