html,body.yaes-fullscreen{margin:0!important;padding:0!important;background:#000!important;overflow:hidden!important}.yaes-fullscreen *{box-sizing:border-box}.yaes-app{position:fixed;inset:0;width:100vw;height:100svh;background:#000;color:#fff;font-family:Arial,sans-serif;overflow:hidden}.admin-bar .yaes-app{top:32px;height:calc(100svh - 32px)}.yaes-screen{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:.55s}.yaes-screen.active{opacity:1;visibility:visible;pointer-events:auto}.yaes-bg,.yaes-shade{position:absolute;inset:0}.yaes-bg{background-size:cover;background-position:center;transform:scale(1.01)}.yaes-shade{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.2))}.yaes-shade.soft{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.65))}.yaes-brand{position:absolute;z-index:3;top:32px;left:42px;font-size:12px;font-weight:900;letter-spacing:.14em}.yaes-copy,.yaes-result{position:absolute;z-index:3;left:8vw;top:50%;transform:translateY(-50%);width:min(900px,84vw)}.yaes-copy small,.yaes-result small,.yaes-drive-title small{letter-spacing:.15em;color:#ddd;font-weight:700}.yaes-copy h1{font-size:clamp(55px,7.5vw,125px);line-height:.94;letter-spacing:-.05em;margin:12px 0 20px}.yaes-copy h2,.yaes-result h2,.yaes-drive-title h2{font-size:clamp(42px,6vw,84px);line-height:.96;margin:12px 0 22px}.yaes-copy p{font-size:18px;color:#ddd;max-width:620px}.yaes-app button{background:var(--accent);color:#fff;border:0;padding:17px 28px;font-weight:900;cursor:pointer}.yaes-steps{position:absolute;z-index:3;left:42px;bottom:30px;font-size:11px;letter-spacing:.1em;color:#aaa}.yaes-steps b{color:#fff}.yaes-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.yaes-card{min-height:180px!important;text-align:left!important;background:rgba(10,12,15,.5)!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:12px!important;backdrop-filter:blur(12px)}.yaes-card b{display:block;font-size:28px}.yaes-card span{display:block;margin-top:10px;color:#ccc}.yaes-drive-title{position:absolute;z-index:3;left:5%;bottom:70px}.yaes-hotspot{position:absolute;z-index:4;width:52px;height:52px;border:2px solid #fff!important;border-radius:50%!important;padding:0!important;background:rgba(0,0,0,.5)!important;font-size:26px}.yaes-hotspot span{position:absolute;top:56px;left:50%;transform:translateX(-50%);font-size:10px}.yaes-hotspot.h1{left:60%;top:40%}.yaes-hotspot.h2{left:77%;top:55%}.yaes-next{position:absolute;z-index:4;right:5%;bottom:55px}.yaes-result{left:50%;transform:translate(-50%,-50%);padding:42px;background:rgba(7,10,13,.72);border:1px solid rgba(255,255,255,.17);border-radius:16px;backdrop-filter:blur(18px)}.yaes-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.yaes-stats div{background:rgba(255,255,255,.08);padding:18px;border-radius:8px}.yaes-stats b{display:block;font-size:34px}.yaes-stats span{font-size:10px;color:#bbb}.yaes-form{display:grid;gap:12px}.yaes-form input{padding:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:5px}.yaes-modal{display:none;position:absolute;z-index:20;inset:0;background:rgba(0,0,0,.72);place-items:center}.yaes-modal.open{display:grid}.yaes-modal>div{position:relative;width:min(560px,86vw);background:#11161b;padding:36px;border-radius:14px}.yaes-close{position:absolute;right:10px;top:5px;background:transparent!important;font-size:30px}.yaes-modal h3{font-size:34px;margin:12px 0}.yaes-modal p{color:#ddd;line-height:1.55}@media(max-width:782px){.admin-bar .yaes-app{top:46px;height:calc(100svh - 46px)}.yaes-cards{grid-template-columns:1fr}.yaes-copy h1{font-size:14vw}.yaes-result{padding:25px}.yaes-stats{grid-template-columns:1fr}}
.yaes-video{width:100%;height:100%;object-fit:cover;background:#000}
.yaes-shade{background:linear-gradient(90deg,rgba(0,0,0,var(--shade,.55)),rgba(0,0,0,calc(var(--shade,.55)*.35)))}
.yaes-brand{display:flex;align-items:center;gap:14px}.yaes-brand img{max-width:110px;max-height:42px;object-fit:contain}

.yaes-video-wrap{
  overflow:hidden;
  background-size:cover;
  background-repeat:no-repeat;
}
.yaes-embed-video{
  position:absolute;
  top:50%;
  left:50%;
  width:177.77777778vh;
  height:56.25vw;
  min-width:100%;
  min-height:100%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
@media (max-aspect-ratio:16/9){
  .yaes-embed-video{
    width:177.77777778vh;
    height:100vh;
  }
}
@media (min-aspect-ratio:16/9){
  .yaes-embed-video{
    width:100vw;
    height:56.25vw;
  }
}

.yaes-drive-head{
  position:absolute;z-index:5;left:5%;right:5%;top:5%;
  display:flex;justify-content:space-between;align-items:flex-start;gap:30px
}
.yaes-drive-head small,.yaes-drive-bottom small{font-size:11px;letter-spacing:.14em;color:#ddd;font-weight:800}
.yaes-drive-head h2{
  margin:8px 0 0;color:#fff;font-size:clamp(30px,4vw,58px);line-height:.95
}
.yaes-drive-progress-wrap{width:min(330px,32vw);padding-top:8px}
.yaes-drive-progress-label{display:block;text-align:right;font-weight:900;margin-bottom:8px}
.yaes-drive-progress{height:4px;background:rgba(255,255,255,.28);overflow:hidden}
.yaes-drive-progress i{display:block;width:0;height:100%;background:var(--accent);transition:width .35s ease}

.yaes-hotspot{
  transform:translate(-50%,-50%);
  width:58px!important;height:58px!important;
  display:flex!important;align-items:center;justify-content:center;
  transition:transform .22s ease,background .22s ease,border-color .22s ease!important
}
.yaes-hotspot:hover{transform:translate(-50%,-50%) scale(1.08)}
.yaes-hotspot.visited{background:var(--accent)!important;border-color:var(--accent)!important}
.yaes-hotspot-plus{font-size:27px;line-height:1}
.yaes-hotspot.visited .yaes-hotspot-plus{font-size:0}
.yaes-hotspot.visited .yaes-hotspot-plus:after{content:'✓';font-size:22px}
.yaes-hotspot-label{
  position:absolute!important;top:64px!important;left:50%!important;
  transform:translateX(-50%)!important;white-space:nowrap;
  font-size:10px!important;font-weight:900!important;color:#fff!important
}

.yaes-drive-bottom{
  position:absolute;z-index:5;left:5%;right:5%;bottom:5%;
  display:flex;justify-content:space-between;align-items:end;gap:30px
}
.yaes-drive-bottom strong{display:block;margin-top:6px;font-size:18px;letter-spacing:.04em}
.yaes-next{position:static!important}
.yaes-next-locked{opacity:.38;cursor:not-allowed!important;filter:grayscale(.6)}

@media(max-width:720px){
  .yaes-drive-head{top:4%;left:6%;right:6%;display:block}
  .yaes-drive-progress-wrap{width:100%;margin-top:18px}
  .yaes-drive-bottom{left:6%;right:6%;bottom:4%;align-items:center}
  .yaes-drive-bottom strong{font-size:14px}
  .yaes-hotspot{width:48px!important;height:48px!important}
  .yaes-hotspot-label{top:54px!important;font-size:9px!important}
}

/* V0.9 cinematic hotspots */
.yaes-hotspot:before{
  content:"";position:absolute;inset:-12px;border:1px solid rgba(255,255,255,.42);
  border-radius:50%;animation:yaesPulse 2s infinite
}
.yaes-hotspot.visited:before{animation:none;opacity:.15}
@keyframes yaesPulse{
  0%{transform:scale(.72);opacity:.8}
  70%{transform:scale(1.25);opacity:0}
  100%{transform:scale(1.25);opacity:0}
}
.yaes-modal{
  backdrop-filter:blur(0px);transition:backdrop-filter .35s ease,background .35s ease
}
.yaes-modal.open{background:rgba(0,0,0,.62)}
.yaes-modal.reveal{backdrop-filter:blur(7px)}
.yaes-modal-card{
  width:min(620px,88vw)!important;padding:42px!important;
  transform:translateY(25px) scale(.97);opacity:0;
  transition:transform .35s ease,opacity .35s ease;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(145deg,rgba(14,16,19,.97),rgba(32,34,38,.95))!important;
  box-shadow:0 30px 100px rgba(0,0,0,.45)
}
.yaes-modal.reveal .yaes-modal-card{transform:none;opacity:1}
.yaes-modal-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--accent);margin-bottom:28px}
.yaes-modal-count{font-size:11px;font-weight:900;letter-spacing:.12em;color:#aaa;margin-bottom:12px}
.yaes-modal-title{font-size:clamp(30px,4vw,52px)!important;line-height:.95!important;margin:0 0 18px!important}
.yaes-modal-text{font-size:16px!important;line-height:1.6!important;color:#ddd!important;max-width:520px}
.yaes-modal-complete{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:11px;font-weight:900;letter-spacing:.12em}
@media(max-width:720px){
  .yaes-modal-card{padding:30px 24px!important}
  .yaes-drive-head h2{font-size:32px!important;max-width:85vw}
  .yaes-drive-bottom{display:block}
  .yaes-drive-bottom .yaes-next{width:100%;margin-top:16px}
  .yaes-hotspot-label{max-width:90px;overflow:hidden;text-overflow:ellipsis}
}

/* V1.0 route-specific drive */
.yaes-route-drive-bg{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease}
.yaes-route-drive-bg.active{opacity:1;visibility:visible}
.yaes-route-hotspot{display:none!important}
.yaes-route-hotspot.route-active{display:flex!important}

.yaes-back{position:absolute;z-index:60;top:28px;left:38px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.32);color:#fff;padding:10px 15px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em;cursor:pointer;backdrop-filter:blur(8px);transition:.2s}
.yaes-back:hover{background:rgba(0,0,0,.62);transform:translateX(-2px)}
@media(max-width:700px){.yaes-back{top:18px;left:18px;padding:9px 12px;font-size:10px}}

/* v1.0.4 configurable text colors */
.yaes-app{color:var(--yaes-text,#fff)}
.yaes-app h1,.yaes-app h2,.yaes-app h3,.yaes-app .yaes-drive-route,.yaes-app .yaes-result-route,.yaes-app .yaes-card b,.yaes-app .yaes-modal-title{color:var(--yaes-heading,#fff)!important}
.yaes-app p,.yaes-app .yaes-card span,.yaes-app .yaes-modal-text,.yaes-app .yaes-status{color:var(--yaes-text,#fff)!important}
.yaes-app small,.yaes-app .yaes-steps,.yaes-app .yaes-drive-status,.yaes-app .yaes-drive-progress-label,.yaes-app .yaes-modal-count{color:var(--yaes-muted,#fff)!important}
.yaes-app button:not(.yaes-hotspot):not(.yaes-route-hotspot),.yaes-app input[type=submit]{color:var(--yaes-button-text,#fff)!important}
.yaes-app .yaes-hotspot,.yaes-app .yaes-route-hotspot,.yaes-app .yaes-hotspot-label,.yaes-app .yaes-hotspot-plus{color:var(--yaes-hotspot-text,#fff)!important}

.yaes-brand-lockup{position:absolute;z-index:35;top:24px;left:28px;display:flex;align-items:center;gap:10px;min-height:34px}
.yaes-brand-lockup img{width:var(--logo-w,110px);max-height:42px;object-fit:contain;display:block}
.yaes-brand-lockup .yaes-media-wordmark,.yaes-brand-lockup .yaes-client-wordmark{color:#fff;font-size:12px;font-weight:900;letter-spacing:.12em}
.yaes-brand-separator{color:rgba(255,255,255,.72);font-size:16px;font-weight:700}
.yaes-brand-extra{color:rgba(255,255,255,.82);font-size:10px;font-weight:900;letter-spacing:.14em}
@media(max-width:700px){.yaes-brand-lockup{top:16px;left:16px;gap:7px}.yaes-brand-lockup img{max-height:30px;width:min(var(--logo-w,100px),105px)}.yaes-brand-extra{display:none}}

.yaes-result .yaes-stats{display:none!important}
.yaes-result-status{display:inline-flex;align-items:center;gap:8px;margin:8px 0 16px;padding:9px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.yaes-result-description{max-width:620px;margin:0 0 10px;font-size:17px;line-height:1.5}
.yaes-result-next{max-width:620px;margin:0 0 22px;font-size:18px;line-height:1.4;font-weight:800}

/* v1.1.7 meaningful result screen */
.yaes-result-complete .yaes-stats{display:none!important}
.yaes-result-complete{
  max-width:760px;
}
.yaes-result-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:5px 0 18px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.yaes-result-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--brand,#e32119);
  color:#fff;
}
.yaes-result-description{
  max-width:630px;
  margin:0 0 10px!important;
  font-size:17px!important;
  line-height:1.55!important;
}
.yaes-result-next{
  max-width:630px;
  margin:0 0 24px!important;
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
@media(max-width:700px){
  .yaes-result-description{font-size:15px!important}
  .yaes-result-next{font-size:17px!important}
}
