#landing-panel{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;background:#000;overflow:hidden;contain:layout paint}#landing-panel.active{pointer-events:auto}#landing-panel.hidden{display:none}.landing-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.landing-video-dim{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.55) 100%),linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 30%);pointer-events:none}.landing-letterbox{position:absolute;left:0;right:0;height:7vh;background:#000;z-index:2;transition:transform .8s cubic-bezier(.4,0,.2,1);pointer-events:none;transform:scaleY(0)}.landing-letterbox-top{top:0;transform-origin:top center}.landing-letterbox-bot{bottom:0;transform-origin:bottom center}#landing-panel.cinematic .landing-letterbox{transform:scaleY(1)}.landing-content{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:center;top:57%;left:52%;transform:translate(-50%,-50%) translateY(10px);opacity:0;transition:opacity .8s ease,transform .8s ease;pointer-events:none}.landing-content.visible{opacity:1;transform:translate(-50%,-50%)}.landing-content.visible.ready .landing-enter-text{pointer-events:auto}.landing-skip{position:absolute;bottom:9vh;right:2.5rem;z-index:6;font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:#ffffff80;cursor:pointer;pointer-events:auto;padding:6px 14px;border:1px solid rgba(255,255,255,.15);border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000040;opacity:0;transition:opacity .6s ease}.landing-skip.visible{opacity:1}.landing-scroll-hint{position:absolute;bottom:6vh;left:52%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;pointer-events:auto;opacity:1;transition:opacity .5s ease,transform .5s ease;animation:landingScrollHintFloat 2.2s ease-in-out infinite}.landing-scroll-hint.hidden{opacity:0;pointer-events:none;transform:translate(-50%,20px)}.landing-content.visible~.landing-scroll-hint{display:none!important}#landing-panel.active:not(.video-playing) .landing-content:not(.visible)~.landing-scroll-hint:not(.hidden):not(.dismissed){display:flex!important;opacity:1!important}.landing-scroll-hint.loading .lsh-mouse{animation:lshBufferPulse 1s ease-in-out infinite}.landing-scroll-hint.loading .lsh-text:after{content:"LOADING\2026";display:inline-block;color:var(--gold);margin-left:6px;letter-spacing:2px}.landing-scroll-hint.loading .lsh-text{font-size:0}@keyframes lshBufferPulse{0%,to{box-shadow:0 0 18px #ffd70059,inset 0 0 8px #0006}50%{box-shadow:0 0 32px #ffd700bf,inset 0 0 8px #0006}}.landing-scroll-hint .lsh-mouse{width:38px;height:60px;border:2.5px solid rgba(255,255,255,.95);border-radius:20px;position:relative;background:#00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 0 18px #ffd70059,inset 0 0 8px #0006}.landing-scroll-hint .lsh-wheel{position:absolute;top:10px;left:50%;width:4px;height:10px;margin-left:-2px;background:var(--gold);border-radius:2px;animation:landingScrollWheel 1.6s ease-in-out infinite;box-shadow:0 0 6px #ffd700cc}.landing-scroll-hint .lsh-text{font-family:Inter,system-ui,sans-serif;color:#ffffffe6;font-size:.72rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.6)}@keyframes landingScrollWheel{0%{transform:translateY(0);opacity:1}60%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:0}}@keyframes landingScrollHintFloat{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-6px)}}.landing-skip:hover{color:#ffffffe6;border-color:#d4a01780}.landing-skip span{display:inline-block;margin-left:2px}#landing-panel.video-playing .landing-bg-particles,#landing-panel.video-playing .landing-video-dim{display:none}#landing-panel.auth-backdrop .landing-video{filter:blur(8px) brightness(.5);transition:filter .8s ease}#landing-panel.auth-backdrop .landing-content,#landing-panel.auth-backdrop .landing-skip,#landing-panel.auth-backdrop .landing-bg-particles,#landing-panel.auth-backdrop .landing-letterbox{opacity:0!important;pointer-events:none!important;transition:opacity .5s ease}#login-panel.overlay-panel.active,#profile-panel.overlay-panel.active,#enrollment-panel.overlay-panel.active,#reset-pw-panel.overlay-panel.active,#forgot-password-panel.overlay-panel.active,#reset-password-panel.overlay-panel.active{z-index:200}#landing-panel.entering .landing-content{animation:fadeOutDown .6s ease forwards}#landing-panel.entering .landing-bg-particles{animation:fadeOutDown 1s ease .3s forwards}@keyframes fadeOutDown{to{opacity:0;transform:translate(-50%,-50%) translateY(30px)}}.landing-bg-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.landing-bg-particles span{position:absolute;width:3px;height:3px;background:#d4a01799;border-radius:50%;animation:floatParticle linear infinite;box-shadow:0 0 6px #d4a01766}.landing-bg-particles span:nth-child(1){left:5%;animation-duration:8s;animation-delay:0s;top:100%}.landing-bg-particles span:nth-child(2){left:12%;animation-duration:12s;animation-delay:1s;top:100%;width:2px;height:2px}.landing-bg-particles span:nth-child(3){left:22%;animation-duration:10s;animation-delay:.5s;top:100%}.landing-bg-particles span:nth-child(4){left:30%;animation-duration:14s;animation-delay:2s;top:100%;width:4px;height:4px}.landing-bg-particles span:nth-child(5){left:38%;animation-duration:9s;animation-delay:.8s;top:100%}.landing-bg-particles span:nth-child(6){left:45%;animation-duration:11s;animation-delay:3s;top:100%;width:2px;height:2px}.landing-bg-particles span:nth-child(7){left:52%;animation-duration:13s;animation-delay:1.5s;top:100%}.landing-bg-particles span:nth-child(8){left:60%;animation-duration:8s;animation-delay:.3s;top:100%;width:4px;height:4px}.landing-bg-particles span:nth-child(9){left:68%;animation-duration:10s;animation-delay:2.5s;top:100%}.landing-bg-particles span:nth-child(10){left:75%;animation-duration:12s;animation-delay:.7s;top:100%;width:2px;height:2px}.landing-bg-particles span:nth-child(11){left:82%;animation-duration:9s;animation-delay:1.2s;top:100%}.landing-bg-particles span:nth-child(12){left:88%;animation-duration:14s;animation-delay:3.5s;top:100%;width:3px;height:3px}.landing-bg-particles span:nth-child(13){left:92%;animation-duration:11s;animation-delay:.4s;top:100%}.landing-bg-particles span:nth-child(14){left:18%;animation-duration:15s;animation-delay:4s;top:100%;width:2px;height:2px}.landing-bg-particles span:nth-child(15){left:35%;animation-duration:10s;animation-delay:1.8s;top:100%}.landing-bg-particles span:nth-child(16){left:55%;animation-duration:13s;animation-delay:2.2s;top:100%;width:4px;height:4px}.landing-bg-particles span:nth-child(17){left:65%;animation-duration:9s;animation-delay:.6s;top:100%}.landing-bg-particles span:nth-child(18){left:78%;animation-duration:11s;animation-delay:3.2s;top:100%;width:2px;height:2px}.landing-bg-particles span:nth-child(19){left:42%;animation-duration:12s;animation-delay:1.1s;top:100%}.landing-bg-particles span:nth-child(20){left:8%;animation-duration:14s;animation-delay:2.8s;top:100%}@keyframes floatParticle{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(30px);opacity:0}}#orientation-rail{position:fixed;top:50%;right:24px;transform:translateY(-50%);z-index:8500;display:none;flex-direction:column;align-items:center;gap:14px;padding:16px 10px;width:52px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:26px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--glass-shadow);font-family:Inter,system-ui,sans-serif}#orientation-rail .or-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--gold);font-size:1.05rem;font-weight:700;cursor:pointer;border-radius:50%;transition:background .2s ease,transform .2s ease,color .2s ease}#orientation-rail .or-arrow:hover{background:#ffd70026;transform:scale(1.1)}#orientation-rail .or-num{font-family:Playfair Display,serif;color:var(--gold);font-size:1.05rem;font-weight:700;letter-spacing:1.2px;opacity:.9}#orientation-rail .or-track{display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 0;position:relative}#orientation-rail .or-track:before{content:"";position:absolute;top:6px;bottom:6px;left:50%;width:1px;background:#ffd70040;transform:translate(-.5px);z-index:0}#orientation-rail .or-dot{position:relative;z-index:1;width:10px;height:10px;padding:0;border-radius:50%;background:#0a0a1fe6;border:1.5px solid rgba(255,215,0,.45);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}#orientation-rail .or-dot:hover{background:#ffd70059;border-color:var(--gold);transform:scale(1.25)}#orientation-rail .or-dot.active{background:var(--gold);border-color:var(--gold);transform:scale(1.4);box-shadow:0 0 10px #ffd70099,0 0 20px #ffd7004d}#orientation-rail .or-tooltip{position:absolute;top:50%;right:calc(100% + 14px);transform:translateY(-50%);background:#0a0a1feb;border:1px solid var(--glass-border);color:var(--gold);font-family:Inter,system-ui,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.5px;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#orientation-rail .or-dot:hover .or-tooltip{opacity:1;transform:translate(-4px,-50%)}.dev-test-panel{position:fixed;top:184px;right:0;z-index:9999;pointer-events:none;font-family:Inter,system-ui,sans-serif;color:#fff}.dev-test-toggle{position:absolute;top:0;right:0;width:42px;height:42px;background:#0a0a1fd9;border:1px solid rgba(255,215,0,.35);border-right:none;border-radius:10px 0 0 10px;color:gold;font-size:1.1rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:-2px 2px 10px #0006;transition:background .2s ease,transform .3s ease;pointer-events:auto;display:flex;align-items:center;justify-content:center}.dev-test-toggle:hover{background:#1e1e3cf2;transform:scale(1.05)}.dev-test-toggle-icon{display:inline-block;transition:transform .4s ease}.dev-test-panel.open .dev-test-toggle-icon{transform:rotate(90deg)}.dev-test-body{position:absolute;top:0;right:42px;width:260px;max-height:78vh;overflow-y:auto;background:#0a0a1feb;border:1px solid rgba(255,215,0,.3);border-radius:12px 0 12px 12px;padding:14px 14px 10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:-4px 4px 20px #00000080;opacity:0;transform:translate(20px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.dev-test-panel.open .dev-test-body{opacity:1;transform:translate(0);pointer-events:auto}.dev-test-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,215,0,.15)}.dev-test-title{color:gold;font-weight:700;font-size:.82rem;letter-spacing:.5px;text-transform:uppercase}.dev-test-state{color:#ffffff80;font-size:.65rem;font-family:Courier New,monospace}.dev-test-section{margin-bottom:10px}.dev-test-section-title{color:#ffd700b3;font-size:.68rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.dev-test-btn{display:block;width:100%;margin-bottom:5px;padding:7px 10px;background:#ffffff0a;border:1px solid rgba(255,215,0,.2);border-radius:6px;color:#ffffffe6;font-size:.76rem;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease;font-family:inherit}.dev-test-btn:hover{background:#ffd7001f;border-color:#ffd70080}.dev-test-btn:active{transform:scale(.98)}.dev-test-footer{margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,215,0,.12);color:#fff6;font-size:.65rem;text-align:center}.dev-test-footer kbd{background:#ffd70026;padding:1px 6px;border-radius:3px;font-family:Courier New,monospace;color:gold}.landing-portal-gate{position:relative;width:0;height:0;margin:0;overflow:visible;cursor:pointer}.landing-gate-ring,.landing-gate-ring-outer,.landing-gate-preview,.landing-gate-glow,.landing-gate-shimmer{display:none}.landing-gate-ring{position:absolute;inset:0;border:2px solid rgba(212,160,23,.5);border-radius:50%;box-shadow:0 0 40px #d4a01726,0 0 80px #d4a0170d,inset 0 0 30px #d4a01714;animation:landingGatePulse 3s ease-in-out infinite alternate;transition:all .4s ease}.landing-gate-ring-outer{inset:-8px;border:1px solid rgba(212,160,23,.2);box-shadow:0 0 20px #d4a0170d,inset 0 0 15px #d4a01708;animation-delay:1.5s}.landing-gate-preview{position:absolute;inset:4px;border-radius:50%;background-size:cover;background-position:center;filter:brightness(.7) saturate(1);opacity:.9;animation:landingPreviewPulse 4s ease-in-out infinite alternate;transition:filter .4s ease}@keyframes landingPreviewPulse{0%{filter:brightness(.6) saturate(.9);opacity:.85}to{filter:brightness(.85) saturate(1.15);opacity:1}}.landing-gate-shimmer{position:absolute;inset:4px;border-radius:50%;overflow:hidden;pointer-events:none}.landing-gate-shimmer:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(115deg,transparent 40%,rgba(212,160,23,.12) 45%,rgba(255,255,255,.08) 50%,rgba(212,160,23,.12) 55%,transparent 60%);animation:shimmerSweep 4s ease-in-out infinite}@keyframes shimmerSweep{0%{transform:translate(-100%) rotate(15deg)}to{transform:translate(100%) rotate(15deg)}}.landing-gate-glow{position:absolute;inset:-50px;border-radius:50%;background:radial-gradient(ellipse,rgba(212,160,23,.12) 0%,transparent 70%);animation:landingGateGlow 4s ease-in-out infinite alternate}@keyframes landingGatePulse{0%{box-shadow:0 0 30px #d4a0171a,0 0 60px #d4a01708,inset 0 0 20px #d4a0170d;border-color:#d4a01759}to{box-shadow:0 0 50px #d4a01740,0 0 100px #d4a01714,inset 0 0 40px #d4a0171f;border-color:#d4a01799}}@keyframes landingGateGlow{0%{opacity:.6;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}.landing-title{position:relative;z-index:2;font-family:Playfair Display,serif;font-size:.7rem;color:#d4a017d9;letter-spacing:3px;text-transform:uppercase;margin-bottom:.3rem;animation:fadeUp 1.2s ease .3s both;text-shadow:0 2px 20px rgba(0,0,0,.5)}.landing-tagline{position:relative;z-index:2;font-family:Playfair Display,serif;font-style:italic;font-size:1rem;color:#fffffff2;max-width:400px;line-height:1.4;margin-bottom:0;animation:fadeUp 1.2s ease .5s both;text-shadow:0 2px 30px rgba(0,0,0,.6),0 0 20px rgba(212,160,23,.15)}.landing-tagline span{display:block}.landing-enter-text{position:relative;z-index:2;display:inline-block;animation:fadeUp 1.2s ease .1s both,enterPulse 2.5s ease-in-out infinite alternate;pointer-events:none;cursor:pointer;font-family:Playfair Display,serif;font-size:1.2rem;letter-spacing:6px;color:#fffffff2;text-shadow:0 0 30px rgba(212,160,23,.6),0 0 60px rgba(212,160,23,.3),0 2px 20px rgba(0,0,0,.5);transition:opacity .4s ease,filter .4s ease;margin-bottom:.5rem;padding:8px 25px;border:1px solid rgba(212,160,23,.3);border-radius:50px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0003}.landing-enter-text:hover{color:#fff;text-shadow:0 0 40px rgba(212,160,23,.8),0 0 80px rgba(212,160,23,.4);letter-spacing:14px;border-color:#d4a01799;background:#d4a0171a}@keyframes enterPulse{0%{opacity:.75}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#top-bar{position:fixed;top:0;left:0;right:0;z-index:80;height:56px;background:#0a0a1f8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,215,0,.2);display:none;align-items:center;padding:0 1.5rem;gap:1rem}#top-bar.active{display:flex}.topbar-logo{font-family:Playfair Display,serif;font-size:1.05rem;color:var(--gold);font-weight:700;letter-spacing:.5px;white-space:nowrap;flex-shrink:0;margin-right:auto}.topbar-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .9rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text);font-size:.8rem;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.topbar-btn:hover{background:#ffd7001a;border-color:var(--gold)}.topbar-points{color:var(--gold);font-weight:700;font-size:.9rem}#profile-panel .glass-panel{max-width:540px}#enrollment-panel .glass-panel{max-width:720px}#enroll-duration[readonly]{background:#ffffff08;color:var(--gold);cursor:default;border-color:#ffd70040}#enroll-hours::-webkit-inner-spin-button,#enroll-hours::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#enroll-hours{-moz-appearance:textfield}#wheel-panel{position:fixed;inset:0;z-index:850;display:none;flex-direction:column;background:transparent;padding-top:52px}#wheel-panel.active{display:flex;animation:lhFadeIn .6s cubic-bezier(.16,1,.3,1)}.wh-bg-video{display:none;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.wh-dim,.wh-vignette{display:none}#wheel-panel .glass-panel{position:relative;z-index:2;max-width:1020px;width:96%;margin:auto;padding:2rem 2.5rem;background:#060410b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid rgba(255,215,0,.3);border-radius:20px;box-shadow:0 0 80px #ffd7000f,0 0 200px #ffd70008,0 24px 80px #00000080,inset 0 1px #ffd70014;text-align:center;overflow:hidden}#wheel-panel .glass-panel:before{content:"";position:absolute;top:0;left:-100%;right:-100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.6),transparent);animation:wheelShimmer 4s ease-in-out infinite}@keyframes wheelShimmer{0%{transform:translate(-50%)}to{transform:translate(50%)}}.wheel-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;text-align:left}@media(max-width:768px){.wheel-layout{grid-template-columns:1fr}}.wheel-left{display:flex;flex-direction:column;align-items:center;position:relative}.wheel-left:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:130%;height:130%;background:radial-gradient(circle,rgba(255,215,0,.1) 0%,rgba(255,180,0,.04) 35%,transparent 65%);pointer-events:none;z-index:0;animation:wheelGlowPulse 3s ease-in-out infinite alternate}@keyframes wheelGlowPulse{0%{opacity:.6;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.wheel-right{text-align:left}.wheel-coach-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.wheel-coach-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#1b5e20,#0d3311);border:2px solid rgba(255,215,0,.4);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0;box-shadow:0 0 12px #1e5a1e4d;position:relative}.wheel-coach-avatar:after{content:"";position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;background:#00e676;border:2px solid rgba(8,6,20,.9);box-shadow:0 0 6px #00e67680}.wheel-coach-name{font-size:.9rem;font-weight:700;color:var(--gold)}.wheel-coach-role{font-size:.72rem;color:var(--text-dim)}.wheel-coach-text{font-size:.88rem;line-height:1.65;color:var(--text);margin-bottom:1rem}.wheel-coach-text strong{color:var(--gold)}.wheel-bullets{list-style:none;padding:0}.wheel-bullets li{font-size:.82rem;color:var(--text-dim);line-height:1.6;padding-left:1.2rem;position:relative;margin-bottom:.5rem}.wheel-bullets li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px #ffd70080}.wheel-buttons{display:flex;gap:1rem;margin-top:1.5rem}.wheel-buttons .btn-gold,.wheel-buttons .btn-dark{flex:1;margin-top:0}.wheel-buttons .btn-gold{box-shadow:0 4px 20px #ffd7004d,0 0 30px #ffd70014;animation:wheelBeginPulse 3s ease-in-out infinite}@keyframes wheelBeginPulse{0%,to{box-shadow:0 4px 20px #ffd7004d,0 0 30px #ffd70014}50%{box-shadow:0 6px 30px #ffd70073,0 0 50px #ffd7001f}}.wheel-stage{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1}.wheel-stage:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:108%;height:108%;border-radius:50%;border:2px solid rgba(255,215,0,.15);box-shadow:0 0 40px #ffd70014,inset 0 0 40px #ffd7000a;animation:wheelRingPulse 3s ease-in-out infinite alternate;pointer-events:none}@keyframes wheelRingPulse{0%{box-shadow:0 0 30px #ffd7000f,inset 0 0 30px #ffd70008;border-color:#ffd7001a}to{box-shadow:0 0 60px #ffd70026,inset 0 0 50px #ffd7000f;border-color:#ffd70040}}.wheel-stage:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:115%;height:115%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0%,rgba(255,215,0,.2) 5%,transparent 10%,transparent 25%,rgba(255,215,0,.15) 30%,transparent 35%,transparent 50%,rgba(255,215,0,.2) 55%,transparent 60%,transparent 75%,rgba(255,215,0,.15) 80%,transparent 85%);animation:wheelSparkleRotate 12s linear infinite;pointer-events:none;opacity:.5}@keyframes wheelSparkleRotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.wheel-stage.spinning:after{opacity:.8;animation-duration:3s}#wheel-canvas{display:block;margin:0 auto;max-width:100%;position:relative;z-index:1;filter:drop-shadow(0 0 20px rgba(255,215,0,.1))}.wheel-pointer{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;z-index:5;border-left:16px solid transparent;border-right:16px solid transparent;border-top:32px solid #FFD700;filter:drop-shadow(0 0 14px rgba(255,215,0,.7)) drop-shadow(0 0 30px rgba(255,215,0,.3)) drop-shadow(0 4px 8px rgba(0,0,0,.5));transition:filter .3s ease;animation:pointerGlow 2s ease-in-out infinite alternate}@keyframes pointerGlow{0%{filter:drop-shadow(0 0 10px rgba(255,215,0,.5)) drop-shadow(0 4px 8px rgba(0,0,0,.4))}to{filter:drop-shadow(0 0 20px rgba(255,215,0,.8)) drop-shadow(0 0 40px rgba(255,215,0,.3)) drop-shadow(0 4px 8px rgba(0,0,0,.5))}}.wheel-pointer:after{content:"";position:absolute;top:-28px;left:-8px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:16px solid #fff8e0;opacity:.5}.wheel-stage.spinning .wheel-pointer{filter:drop-shadow(0 0 20px rgba(255,215,0,.9)) drop-shadow(0 4px 12px rgba(0,0,0,.5))}.wheel-spin-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;width:80px;height:80px;border-radius:50%;border:3px solid #FFD700;background:linear-gradient(145deg,#1a1a40,#0e0e2a,#1a1040);color:gold;font-weight:900;font-size:.9rem;letter-spacing:3px;cursor:pointer;box-shadow:0 0 40px #ffd7004d,0 0 80px #ffd7001a,0 4px 20px #00000080,inset 0 0 20px #ffd70014;transition:all .35s cubic-bezier(.4,0,.2,1);animation:spinBtnPulse 2s ease-in-out infinite;text-shadow:0 0 12px rgba(255,215,0,.5)}.wheel-spin-btn:hover{transform:translate(-50%,-50%) scale(1.15);border-color:#fff2b0;box-shadow:0 0 60px #ffd70080,0 0 120px #ffd70026,0 6px 30px #00000080,inset 0 0 25px #ffd7001f;color:#fff2b0;text-shadow:0 0 20px rgba(255,215,0,.8)}.wheel-spin-btn:active{transform:translate(-50%,-50%) scale(.92);transition-duration:.1s}.wheel-spin-btn.hidden{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.5)}@keyframes spinBtnPulse{0%,to{box-shadow:0 0 40px #ffd7004d,0 0 80px #ffd7001a,0 4px 20px #00000080}50%{box-shadow:0 0 60px #ffd70080,0 0 120px #ffd70026,0 6px 25px #00000080}}.wheel-spin-btn.blink{animation:spinBtnBlink 1s ease-in-out infinite,spinBtnPulse 2.5s ease-in-out infinite}@keyframes spinBtnBlink{0%,to{border-color:gold;color:gold}50%{border-color:#fff;color:#fff;box-shadow:0 0 60px #ffd70099,0 0 120px #ffd70033,0 4px 20px #00000080}}#btn-begin-module.locked{opacity:.35;pointer-events:none;filter:grayscale(.5);position:relative}#btn-begin-module.locked:after{content:"Spin the wheel first";position:absolute;bottom:-1.6rem;left:50%;transform:translate(-50%);font-size:.68rem;color:#ffd70099;white-space:nowrap;font-weight:600;letter-spacing:.5px}#btn-begin-module.unlocked{animation:beginUnlockGlow 1.5s ease-in-out infinite alternate}@keyframes beginUnlockGlow{0%{box-shadow:0 0 10px #ffd7004d}to{box-shadow:0 0 30px #ffd70099,0 0 60px #ffd70026}}.wheel-result-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);z-index:7;display:flex;align-items:center;gap:8px;padding:14px 28px;border-radius:30px;background:linear-gradient(135deg,gold,#b8860b);color:#1a0e00;font-weight:800;font-size:1.1rem;box-shadow:0 0 60px #ffd70099,0 10px 40px #0006;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .5s ease;opacity:0}.wheel-result-badge.visible{transform:translate(-50%,-50%) scale(1);opacity:1}.wrb-icon{font-size:1.3rem}.wrb-text{font-family:Playfair Display,Georgia,serif}#dialogue-container{position:fixed;inset:0;z-index:75;pointer-events:none}.dialogue-card{display:none}#vn-panel{position:fixed;bottom:0;left:0;right:0;z-index:900;display:none;pointer-events:auto;background:linear-gradient(to top,#050514f5,#0a0a1feb 80%,#0a0a1fb3);border-top:1px solid rgba(255,215,0,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0;min-height:160px;box-shadow:0 -8px 40px #00000080;animation:vnSlideUp .35s cubic-bezier(.16,1,.3,1)}#vn-panel.active{display:flex;flex-direction:column}@keyframes vnSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.vn-conversation{display:flex;align-items:flex-start;gap:1.2rem;padding:1.2rem 2rem .6rem}.vn-portrait{flex-shrink:0;width:60px;height:60px;border-radius:50%;border:2px solid rgba(255,215,0,.5);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff;box-shadow:0 4px 16px #0006;position:relative}.vn-portrait.student{background:linear-gradient(135deg,#3a5fcd,#1e3a8a);border-color:#6496ff80}.vn-portrait.dean{background:linear-gradient(135deg,#1a237e,#0d1452)}.vn-portrait.coach{background:linear-gradient(135deg,#1b5e20,#0d3311)}.vn-portrait.professor{background:linear-gradient(135deg,#7b1a1a,#4a0e0e)}.vn-portrait .vn-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:vnPulseRing 2s ease-in-out infinite}@keyframes vnPulseRing{0%,to{opacity:0;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.vn-text-area{flex:1;min-width:0}.vn-speaker{font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:.35rem;font-weight:700}.vn-text{font-size:.95rem;line-height:1.65;color:var(--text);min-height:2.5em}.vn-cursor{display:inline-block;width:2px;height:1em;background:var(--gold);margin-left:2px;vertical-align:text-bottom;animation:vnBlink .6s step-end infinite}@keyframes vnBlink{0%,to{opacity:1}50%{opacity:0}}.vn-bottom{display:flex;align-items:center;justify-content:space-between;padding:.5rem 2rem 1rem}.vn-student-side{display:flex;align-items:center;gap:.7rem;opacity:.5}.vn-student-side .vn-portrait{width:36px;height:36px;font-size:.7rem;border-width:1px}.vn-student-label{font-size:.7rem;color:var(--text-dim);font-style:italic}.vn-action-area{display:flex;align-items:center;gap:1rem}.vn-advance-hint{font-size:.65rem;color:var(--text-dim);letter-spacing:.5px;animation:vnFade 2s ease-in-out infinite}@keyframes vnFade{0%,to{opacity:.4}50%{opacity:1}}.vn-btn{padding:.5rem 1.4rem;background:transparent;color:var(--gold);border:1px solid var(--gold);border-radius:8px;cursor:pointer;font-weight:600;font-size:.82rem;transition:background .2s,color .2s}.vn-btn:hover{background:var(--gold);color:var(--navy)}.vn-mute-btn{width:32px;height:32px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,215,0,.3);color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;padding:0;line-height:1}.vn-mute-btn:hover{background:#ffd70026;border-color:var(--gold)}.vn-mute-btn.muted{opacity:.5}#cinematic-bar{position:fixed;bottom:0;left:0;right:0;z-index:76;display:none;justify-content:center;padding:1.2rem;pointer-events:none}#cinematic-bar.active{display:flex}#cinematic-skip{pointer-events:auto;padding:.5rem 1.4rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:20px;color:var(--text-dim);font-size:.75rem;cursor:pointer;transition:all .2s}#cinematic-skip:hover{background:#ffd7001a;border-color:var(--gold);color:var(--gold)}#subtitle-bar{position:fixed;bottom:60px;left:50%;transform:translate(-50%);z-index:77;max-width:720px;width:90%;background:#000000d1;border:1px solid rgba(255,215,0,.25);border-radius:12px;padding:.8rem 1.4rem;text-align:center;opacity:0;pointer-events:none;transition:opacity .4s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#subtitle-bar.active{opacity:1}#subtitle-speaker{font-size:.65rem;color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:.3rem;font-weight:600}#subtitle-text{font-size:1rem;color:#f0f0f0;line-height:1.5;min-height:1.5em}#subtitle-text .subtitle-cursor{display:inline-block;width:2px;height:1em;background:var(--gold);margin-left:2px;vertical-align:text-bottom;animation:subtitleBlink .6s step-end infinite}@keyframes subtitleBlink{50%{opacity:0}}#explore-hud{position:fixed;bottom:20px;left:20px;z-index:60;display:none;font-size:.7rem;color:var(--text-dim);line-height:1.8}#explore-hud.active{display:block}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:60;width:24px;height:24px;pointer-events:none;display:none}#crosshair.active{display:none}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#ffd700b3;border-radius:1px}#crosshair:before{width:2px;height:24px;top:0;left:50%;transform:translate(-50%)}#crosshair:after{width:24px;height:2px;top:50%;left:0;transform:translateY(-50%)}#interact-hint{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:60;display:none;font-size:.8rem;color:var(--text-dim);background:#0a0a1fcc;padding:.5rem 1.2rem;border-radius:20px;border:1px solid rgba(255,255,255,.1)}#interact-hint.active{display:block}#walk-hint{position:fixed;bottom:140px;left:50%;transform:translate(-50%);z-index:78;display:none;text-align:center;background:#0a0a1fd9;padding:1rem 2rem;border-radius:16px;border:1px solid rgba(255,215,0,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:walkHintPulse 2s ease-in-out infinite}#walk-hint.active{display:block}#walk-hint.collapsed{display:none!important}#walk-hint-dismiss{position:absolute;top:4px;right:8px;width:32px;height:32px;border:none;background:#00000040;color:#ffd700e6;font-size:1.3rem;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;pointer-events:auto;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .2s,color .2s,transform .15s}#walk-hint-dismiss:hover,#walk-hint-dismiss:active{background:#ffd70038;color:var(--gold);transform:scale(1.1)}#walk-hint-show{position:fixed;top:132px;right:0;z-index:9998;width:42px;height:42px;background:#0a0a1fd9;border:1px solid rgba(255,215,0,.35);border-right:none;border-radius:10px 0 0 10px;color:gold;font-size:1.1rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:-2px 2px 10px #0006;transition:background .2s ease,transform .3s ease;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:none;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif}#walk-hint-show:hover{background:#1e1e3cf2;transform:scale(1.05)}#walk-hint-show.visible{display:flex}#walk-hint .hint-keys{font-size:1.4rem;font-weight:700;color:var(--gold);letter-spacing:8px;margin-bottom:.4rem;font-family:monospace}#walk-hint .hint-label{font-size:.8rem;color:var(--text-dim);letter-spacing:1px}@keyframes walkHintPulse{0%,to{border-color:#ffd7004d}50%{border-color:#ffd700b3}}#quiz-panel{background:transparent;padding-top:0!important;flex-direction:column!important;align-items:stretch!important;justify-content:stretch!important}#quiz-panel:before{content:"";position:absolute;inset:0;background:rgba(5,5,18,0.45);z-index:0;pointer-events:none}#quiz-panel.active{display:flex}.quiz-topbar-spacer{height:52px;flex-shrink:0}#quiz-panel .glass-panel{position:relative;z-index:1;max-width:860px;width:92%;margin:auto;padding:2.2rem 2.8rem 2rem;background:#0806128c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(255,215,0,.3);border-radius:18px;box-shadow:0 0 40px #ffd7000a,0 20px 60px #00000080;max-height:calc(100vh - 52px - 110px);overflow-y:auto;overscroll-behavior:contain}#quiz-panel .glass-panel::-webkit-scrollbar{width:8px}#quiz-panel .glass-panel::-webkit-scrollbar-thumb{background:rgba(255,215,0,.35);border-radius:8px}#quiz-panel .glass-panel::-webkit-scrollbar-thumb:hover{background:rgba(255,215,0,.55)}#quiz-panel .glass-panel::-webkit-scrollbar-track{background:transparent}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;padding-bottom:0}.quiz-progress-text{font-size:1rem;color:#fff;font-weight:700;letter-spacing:.5px}.quiz-timer{font-size:1.1rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:.4rem}.quiz-timer:before{content:"";display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.5);border-radius:50%;border-top-color:var(--gold);flex-shrink:0}.quiz-question-label{text-align:center;font-size:.82rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-bottom:.6rem}.quiz-question{font-size:1.25rem;margin-bottom:1.8rem;line-height:1.55;text-align:center;font-weight:500;color:#fff}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.8rem}.quiz-option{padding:1rem 1.2rem;background:#ffffff0a;border:2.5px solid rgba(255,215,0,.2);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.88rem;text-align:center;line-height:1.45;color:var(--text);animation:quizOptionEntry .35s cubic-bezier(.16,1,.3,1) both;position:relative;overflow:hidden}.quiz-option:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%),rgba(255,215,0,.1),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.quiz-option:hover:after{opacity:1}.quiz-option:hover{background:#ffd70014;border-color:var(--gold);color:#fff;transform:translateY(-2px);box-shadow:0 4px 20px #ffd7001a}.quiz-option.selected{background:#ffd70026;border-color:var(--gold);color:var(--gold);box-shadow:0 0 25px #ffd70026,0 4px 15px #0000004d;transform:scale(1.02)}@keyframes quizOptionEntry{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes quizQuestionEntry{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quiz-option.correct,.quiz-option.quiz-correct{background:#00e67626;border:2.5px solid #00E676!important;color:#00e676;box-shadow:0 0 20px #00e6764d,inset 0 0 16px #00e67614}.quiz-option.wrong,.quiz-option.quiz-wrong{background:#ff525226;border:2.5px solid #FF5252!important;color:#ff5252;box-shadow:0 0 20px #ff52524d,inset 0 0 16px #ff525214}#quiz-panel .btn-gold{display:block;max-width:320px;margin:0 auto;padding:.9rem 2rem;border-radius:12px;font-size:.92rem;letter-spacing:1px}.quiz-bottom-bar{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;padding:1.2rem 2rem}.quiz-bottom-btn{padding:.7rem 1.8rem;background:#b4a028d9;border:none;border-radius:10px;color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;letter-spacing:.3px;transition:all .2s;box-shadow:0 4px 16px #0006}.quiz-bottom-btn:hover{background:#c8b432f2;transform:translateY(-2px)}@media(max-width:700px){.quiz-options{grid-template-columns:1fr}#quiz-panel .glass-panel{padding:1.5rem 1.2rem}.quiz-question{font-size:1.05rem}}#landing-panel.tour-letterbox:before,#landing-panel.tour-letterbox:after{content:"";position:fixed;left:0;right:0;height:6vh;background:#000;z-index:700;pointer-events:none;animation:btLetterboxIn .7s cubic-bezier(.4,0,.2,1) forwards}#landing-panel.tour-letterbox:before{top:0}#landing-panel.tour-letterbox:after{bottom:0}@keyframes btLetterboxIn{0%{height:0}to{height:6vh}}.bt-rail{position:fixed;top:50%;right:1.5rem;transform:translateY(-50%);z-index:820;display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:1rem .6rem;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:28px;box-shadow:0 8px 32px #00000040,inset 0 1px #fff9;font-family:Inter,system-ui,sans-serif;color:#0a4f86;animation:btRailSlideIn .5s cubic-bezier(.16,1,.3,1) both}@keyframes btRailSlideIn{0%{opacity:0;transform:translateY(-50%) translate(30px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.bt-rail-arrow{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:#0a4f86;font-size:1rem;cursor:pointer;transition:background .2s ease,color .2s ease}.bt-rail-arrow:hover{background:#0a4f861a;color:#0a4f86}.bt-rail-current{font-weight:800;font-size:.95rem;color:#0a4f86;letter-spacing:1px}.bt-rail-end{font-weight:700;font-size:.8rem;color:#0a4f868c;letter-spacing:1px}.bt-rail-track{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0}.bt-rail-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(10,79,134,.3);background:transparent;cursor:pointer;padding:0;transition:all .25s ease}.bt-rail-dot:hover{border-color:#0a4f86b3;transform:scale(1.25)}.bt-rail-dot.active{background:#0a4f86;border-color:#0a4f86;transform:scale(1.35);box-shadow:0 0 0 3px #0a4f862e}.bt-rail-connector{width:1px;height:6px;background:#0a4f862e}.bt-topbar{position:fixed;top:0;left:0;right:0;height:56px;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;background:#0a0a1f8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,215,0,.2);font-family:Inter,system-ui,sans-serif;color:#fff;animation:btTopbarSlideIn .5s ease both}@keyframes btTopbarSlideIn{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.bt-topbar-logo{font-family:Playfair Display,serif;font-weight:700;font-size:1rem;color:gold;letter-spacing:.5px}.bt-topbar-stop{font-size:.85rem;font-weight:600;color:#ffffffe0;letter-spacing:.3px;text-transform:uppercase}.bt-topbar-skip{background:transparent;border:1px solid rgba(255,215,0,.4);color:gold;padding:6px 14px;border-radius:20px;font-size:.78rem;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.bt-topbar-skip:hover{background:#ffd70026;border-color:#ffd700b3}.bt-card{position:fixed;z-index:810;min-width:220px;max-width:280px;padding:.9rem 1rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;box-shadow:0 10px 32px #00000038,inset 0 1px #fffc;transform:translate(-50%,-100%) translateY(-20px);font-family:Inter,system-ui,sans-serif;color:#1a2a3a;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s ease;cursor:pointer}.bt-card.focused{pointer-events:auto;transform:translate(-50%,-100%) translateY(-24px) scale(1.02)}.bt-card:not(.focused){filter:saturate(.75)}.bt-card-number{display:inline-block;padding:3px 9px;background:#0a4f86;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:1.5px;border-radius:4px;margin-bottom:.5rem}.bt-card-name{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:800;color:#0a0a1e;margin-bottom:.15rem;line-height:1.2}.bt-card-tagline{font-size:.78rem;color:#4a5668;margin-bottom:.7rem;line-height:1.4}.bt-card-enter{display:inline-block;padding:7px 14px;background:#0a4f86;color:#fff;border:none;border-radius:18px;font-size:.78rem;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:background .2s ease,transform .15s ease}.bt-card-enter:hover{background:#0d6ab2;transform:translateY(-1px)}.bt-card-pointer{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(255,255,255,.95);filter:drop-shadow(0 3px 2px rgba(0,0,0,.1))}.bt-card.pulse{animation:btCardPulse .6s ease}@keyframes btCardPulse{0%,to{transform:translate(-50%,-100%) translateY(-24px) scale(1.02)}50%{transform:translate(-50%,-100%) translateY(-30px) scale(1.08);box-shadow:0 14px 40px #0a4f8666}}@media(max-width:640px){.bt-rail{right:.5rem;padding:.7rem .4rem;gap:.5rem}.bt-rail-dot{width:7px;height:7px}.bt-card{min-width:180px;max-width:220px;padding:.7rem .8rem}.bt-card-name{font-size:.95rem}}.gp-dest-card{opacity:0;transition:opacity .25s ease}.gp-dest-card-overlay{background:var(--glass-bg);color:var(--text);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%);box-shadow:var(--glass-shadow),var(--glass-highlight);padding:1rem 1.15rem 1.1rem;min-width:240px;max-width:290px;font-family:Inter,system-ui,sans-serif;transform:translate(-50%)}.gp-dest-card-overlay.focused{transform:translate(-50%)}.gp-dest-card-overlay .bt-card-name{font-family:Playfair Display,Inter,serif;font-size:1.18rem;font-weight:800;color:var(--gold);letter-spacing:.01em;text-shadow:0 1px 6px rgba(0,0,0,.55);margin-bottom:.25rem}.gp-dest-card-overlay .bt-card-tagline{font-size:.82rem;color:var(--text-dim);margin-bottom:.85rem;line-height:1.45}.gp-dest-card-overlay .bt-card-enter{display:inline-block;padding:8px 18px;background:linear-gradient(135deg,var(--gold),#e6b800);color:var(--navy);border:none;border-radius:22px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 14px #ffd70047;transition:transform .15s ease,box-shadow .2s ease,filter .15s ease}.gp-dest-card-overlay .bt-card-enter:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ffd70073;filter:brightness(1.06)}.gp-dest-card-overlay .bt-card-enter:active{transform:translateY(0);filter:brightness(.95)}.gp-dest-card-overlay .bt-card-pointer{top:-28px;bottom:auto;border-left:16px solid transparent;border-right:16px solid transparent;border-top:none;border-bottom:28px solid var(--gold);filter:drop-shadow(0 -4px 6px rgba(0,0,0,.5))}.gp-dest-card-overlay .bt-card-pointer-left{position:absolute;left:-28px;top:50%;bottom:auto;transform:translateY(-50%);width:0;height:0;border-top:16px solid transparent;border-bottom:16px solid transparent;border-left:none;border-right:28px solid var(--gold);filter:drop-shadow(-4px 0 6px rgba(0,0,0,.5))}.gp-dest-card-overlay .bt-card-pointer-right{position:absolute;inset:50% -28px auto auto;transform:translateY(-50%);width:0;height:0;border-top:16px solid transparent;border-bottom:16px solid transparent;border-right:none;border-left:28px solid var(--gold);filter:drop-shadow(4px 0 6px rgba(0,0,0,.5))}.gp-name-badge{position:fixed;z-index:815;transform:translate(-50%,-50%);padding:6px 14px;background:linear-gradient(135deg,var(--gold),#e6b800);color:var(--navy);font-family:Inter,system-ui,sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:8px;border:1px solid rgba(255,215,0,.5);box-shadow:0 6px 18px #00000080,inset 0 1px #fff6;pointer-events:none;opacity:0;transition:opacity .25s ease}.gp-name-badge:after{content:"";position:absolute;bottom:-7px;left:50%;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid #e6b800;filter:drop-shadow(0 2px 1px rgba(0,0,0,.4))}#coach-guidance-bubble{position:fixed;z-index:830;width:min(380px,calc(100vw - 48px));padding:16px 18px 14px;background:linear-gradient(135deg,#141428f5,#0a0a19fa);border:1px solid rgba(212,160,23,.45);border-radius:16px;box-shadow:0 24px 64px #0000008c,0 0 0 1px #ffd70014 inset,0 0 36px #ffd7001f;color:#fff;font-family:Inter,system-ui,sans-serif;opacity:0;transform:translateY(14px) scale(.96);transform-origin:bottom left;transition:opacity .28s cubic-bezier(.2,.8,.2,1),transform .32s cubic-bezier(.18,.9,.2,1.06);pointer-events:none;-webkit-backdrop-filter:blur(10px) saturate(125%);backdrop-filter:blur(10px) saturate(125%)}#coach-guidance-bubble.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;animation:cgbGlow 3.2s ease-in-out infinite}@keyframes cgbGlow{0%,to{box-shadow:0 24px 64px #0000008c,0 0 0 1px #ffd70014 inset,0 0 36px #ffd7001f}50%{box-shadow:0 24px 64px #0000008c,0 0 0 1px #ffd70029 inset,0 0 56px #ffd70038}}#coach-guidance-bubble .cgb-tail{position:absolute;left:28px;bottom:-8px;width:16px;height:16px;background:linear-gradient(135deg,#141428f5,#0a0a19fa);border-right:1px solid rgba(212,160,23,.45);border-bottom:1px solid rgba(212,160,23,.45);transform:rotate(45deg);border-bottom-right-radius:3px}#coach-guidance-bubble .cgb-close{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#ffffffa6;font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,color .18s,transform .18s}#coach-guidance-bubble .cgb-close:hover{background:#ffd70026;color:var(--gold);transform:rotate(90deg)}#coach-guidance-bubble .cgb-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}#coach-guidance-bubble .cgb-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#e6b800);color:#1a1a3a;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 4px 14px #ffd70059;animation:cgbAvatarPulse 2.4s ease-in-out infinite}@keyframes cgbAvatarPulse{0%,to{box-shadow:0 4px 14px #ffd70059,0 0 #ffd70066}50%{box-shadow:0 4px 14px #ffd70059,0 0 0 8px #ffd70000}}#coach-guidance-bubble .cgb-title{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}#coach-guidance-bubble .cgb-body{font-size:.86rem;line-height:1.5;color:#ffffffeb;min-height:3.6em;margin-bottom:14px}#coach-guidance-bubble .cgb-typed{white-space:pre-wrap}#coach-guidance-bubble .cgb-caret{display:inline-block;margin-left:1px;color:var(--gold);animation:cgbBlink .85s steps(2) infinite}#coach-guidance-bubble .cgb-caret.cgb-caret-done{animation:cgbBlink .85s steps(2) 6;opacity:0}@keyframes cgbBlink{0%,to{opacity:1}50%{opacity:0}}#coach-guidance-bubble .cgb-actions{display:flex;justify-content:flex-end}#coach-guidance-bubble .cgb-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;background:linear-gradient(135deg,var(--gold),#e6b800);color:#1a1a3a;font-family:inherit;font-size:.78rem;font-weight:800;letter-spacing:.04em;border:0;border-radius:999px;cursor:pointer;box-shadow:0 6px 18px #ffd70059;transition:transform .16s ease,box-shadow .18s ease,filter .18s ease}#coach-guidance-bubble .cgb-cta:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 8px 22px #ffd70080}#coach-guidance-bubble .cgb-cta-arrow{font-size:1.1rem;font-weight:800;line-height:.8;transition:transform .18s ease}#coach-guidance-bubble .cgb-cta:hover .cgb-cta-arrow{transform:translate(3px)}#coach-guidance-bubble .cgb-divider{display:flex;align-items:center;gap:10px;margin:12px 0 10px;font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff6}#coach-guidance-bubble .cgb-divider:before,#coach-guidance-bubble .cgb-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.18),transparent)}#coach-guidance-bubble .cgb-input-row{display:flex;gap:6px;align-items:stretch}#coach-guidance-bubble .cgb-input{flex:1;min-width:0;padding:9px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#fff;font-family:inherit;font-size:.82rem;outline:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}#coach-guidance-bubble .cgb-input::placeholder{color:#ffffff59}#coach-guidance-bubble .cgb-input:focus{border-color:#ffd7008c;background:#ffffff0f;box-shadow:0 0 0 3px #ffd7001f}#coach-guidance-bubble .cgb-send{flex:0 0 auto;width:36px;height:auto;padding:0;border-radius:50%;background:#ffd7002e;border:1px solid rgba(255,215,0,.4);color:var(--gold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,color .18s,transform .18s,box-shadow .18s}#coach-guidance-bubble .cgb-send.ready{background:linear-gradient(135deg,var(--gold),#e6b800);color:#1a1a3a;border-color:transparent;box-shadow:0 6px 16px #ffd70066;animation:cgbSendPulse 1.6s ease-in-out infinite}#coach-guidance-bubble .cgb-send:hover{transform:translate(1px) scale(1.04)}#coach-guidance-bubble .cgb-tts-btn{flex:0 0 auto;margin-left:auto;margin-right:32px;width:26px;height:26px;border-radius:50%;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);color:var(--gold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .18s,color .18s,transform .18s}#coach-guidance-bubble .cgb-tts-btn:hover{background:#ffd70033;border-color:var(--gold);transform:scale(1.05)}#coach-guidance-bubble .cgb-mic{flex:0 0 auto;width:36px;height:auto;padding:0;border-radius:50%;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s,color .18s,transform .18s,box-shadow .18s}#coach-guidance-bubble .cgb-mic:hover{background:#ffd70014;border-color:rgba(255,215,0,.4);color:var(--gold);transform:translate(1px) scale(1.04)}#coach-guidance-bubble .cgb-mic.cgb-mic-active{background:#22c55e26;border-color:rgba(34,197,94,.6);color:#22c55e;animation:cgbMicPulse 1.2s ease-in-out infinite;box-shadow:0 0 0 0 #22c55e80}@keyframes cgbMicPulse{0%,to{box-shadow:0 0 0 0 #22c55e80}50%{box-shadow:0 0 0 8px #22c55e00}}@keyframes cgbSendPulse{0%,to{box-shadow:0 6px 16px #ffd70066,0 0 #ffd70073}50%{box-shadow:0 6px 16px #ffd70066,0 0 0 7px #ffd70000}}#coach-guidance-bubble .cgb-hint{font-size:.74rem;line-height:1.5;color:#ffffffc7;margin-top:8px;padding:8px 12px;background:#ffd70014;border:1px solid rgba(255,215,0,.18);border-radius:10px;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(-3px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}#coach-guidance-bubble .cgb-hint.visible{opacity:1;transform:translateY(0)}#coach-guidance-bubble .cgb-hint strong{color:var(--gold);font-weight:700}#coach-guidance-bubble .cgb-hint em{color:#ffd700d9;font-style:normal}#coach-guidance-bubble .cgb-hint-icon{flex:0 0 auto;font-size:1rem;line-height:1}

#walk-hint.dismissing{animation:walkHintFlyToIcon 0.28s cubic-bezier(0.45,0.05,0.55,0.95) forwards !important;pointer-events:none !important}
@keyframes walkHintFlyToIcon{0%{transform:translate(-50%,0) scale(1);opacity:1}50%{transform:translate(calc(-50% + var(--hint-dx,0px) * 0.5),calc(var(--hint-dy,0px) * 0.5 - 36px)) scale(0.62);opacity:0.95}100%{transform:translate(calc(-50% + var(--hint-dx,0px)),var(--hint-dy,0px)) scale(0.14);opacity:0}}
#walk-hint-show.popping-in{animation:walkHintPopIn 0.16s cubic-bezier(0.16,1.2,0.3,1) both}
@keyframes walkHintPopIn{0%{transform:scale(0.3);opacity:0}60%{transform:scale(1.12);opacity:1}100%{transform:scale(1);opacity:1}}
/* Reverse: icon pops out before the card flies back from it. */
#walk-hint-show.popping-out{animation:walkHintPopOut 0.16s cubic-bezier(0.4,0,0.6,1) forwards}
@keyframes walkHintPopOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0.35);opacity:0}}
/* Card flies from the icon corner back to its bottom-center rest
   position. Mirrors walkHintFlyToIcon stops in reverse: starts small +
   transparent at icon, ramps to full opacity in the first 35%, then
   visibly travels (full opacity) the remaining 65% so the user sees
   the card EXPANDING back into place. */
#walk-hint.restoring{animation:walkHintRestoreFromIcon 0.28s cubic-bezier(0.45,0.05,0.55,0.95) forwards !important}
@keyframes walkHintRestoreFromIcon{
  0%   {transform:translate(calc(-50% + var(--hint-dx,0px)),var(--hint-dy,0px)) scale(0.14);opacity:0}
  50%  {transform:translate(calc(-50% + var(--hint-dx,0px) * 0.5),calc(var(--hint-dy,0px) * 0.5 - 36px)) scale(0.62);opacity:0.95}
  100% {transform:translate(-50%,0) scale(1);opacity:1}
}

/* CTU-166 r6+ universal hardening — applies to EVERY device, browser, and OS.
   1) GPU promotion via translateZ(0) + will-change ensures the keyframe
      animation runs on the compositor, not the main thread. Critical on
      lower-end Android phones and older Macbook Airs that can drop frames
      during the 280ms fly-to-icon arc if the layer isn't pre-promoted.
   2) prefers-reduced-motion override — users with motion-sensitivity OS
      preferences get an instant snap instead of the arc. Standard a11y. */
#walk-hint { will-change: transform, opacity; }
#walk-hint.dismissing, #walk-hint.restoring { transform: translateZ(0); }
@media (prefers-reduced-motion: reduce) {
  #walk-hint.dismissing,
  #walk-hint.restoring {
    animation: none !important;
    transition: opacity 0.12s linear !important;
  }
  #walk-hint.dismissing { opacity: 0 !important; }
  #walk-hint.restoring { opacity: 1 !important; }
  #walk-hint-show.popping-in,
  #walk-hint-show.popping-out {
    animation: none !important;
  }
}
/* CTU-166 r6+ universal hardening */

