/* ==========================================
   DRILLBIT GUIDE ANIMATIONS v3
   ========================================== */

/* === CONTAINER === */
.guide-anim{border:1px solid #e2e2e0;border-radius:16px;overflow:hidden;margin:28px 0 32px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.04)}
.ga-slides{position:relative}
.ga-slide{display:none}
.ga-slide.active{display:block}

.guide-anim{position:relative;z-index:0;overflow:hidden;border-radius:14px;margin-bottom:24px;border:1px solid #e5e5e0;background:#fff}

/* === VIEWPORT (animation stage) === */
.ga-viewport{position:relative;height:340px;overflow:hidden;background:#eceae6}

/* === INFO === */
.ga-info{padding:18px 22px 14px;font-family:var(--db-font,system-ui,sans-serif)}
.ga-step-badge{display:inline-block;font-size:10px;font-weight:700;color:#1967D2;background:#E8F0FE;padding:4px 12px;border-radius:20px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.8px}
.ga-info h3{font-size:16px;font-weight:600;margin-bottom:4px;color:#1a1a1a;text-align:left;hyphens:manual;-webkit-hyphens:manual}
.ga-info p{font-size:13px;color:#6b6b6b;line-height:1.55;margin:0;text-align:left;hyphens:manual;-webkit-hyphens:manual;word-spacing:normal}

/* === CONTROLS === */
.ga-controls{display:none}
.ga-viewport{cursor:pointer;position:relative}
.ga-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}
.ga-overlay.on{opacity:1;pointer-events:auto}
.ga-overlay-btn{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer}
.ga-overlay-btn svg{width:22px;height:22px;color:#333;margin-left:3px}
.ga-overlay-btn .reset-ico{position:absolute;bottom:10px;right:10px}
.ga-reset-float{position:absolute;bottom:8px;right:8px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:201;opacity:0;pointer-events:none;transition:opacity .25s ease}
.ga-reset-float.on{opacity:1;pointer-events:auto}
.ga-reset-float svg{width:13px;height:13px;color:#333}
.ga-progress{height:3px;background:#eee;border-radius:2px}
.ga-progress-bar{height:100%;background:#4285f4;transition:width .5s ease;border-radius:2px}

/* === CURSOR === */
.ga-cursor{position:absolute;width:20px;height:24px;z-index:100;pointer-events:none;opacity:0;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.25))}
.ga-cursor.vis{opacity:1}

/* === SCENE: each phase lives in a .sc layer === */
.sc{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .5s ease;font-family:var(--db-font,system-ui,sans-serif)}
.sc.on{opacity:1;pointer-events:auto}

/* ---- SCENE 1: EMAIL ---- */



@keyframes npop{0%{opacity:0;transform:translateX(-50%) scale(.5) translateY(-8px)}100%{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}

@keyframes ngone{to{opacity:0;transform:translateX(-50%) scale(.9) translateY(-8px)}}







@keyframes ecpop{0%{opacity:0;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}














@keyframes egl{0%,100%{opacity:.3;box-shadow:0 0 0 0 rgba(66,133,244,.2)}50%{opacity:1;box-shadow:0 0 0 6px rgba(66,133,244,0)}}



/* ---- SCENE 2: HOMEPAGE ---- */
.sc-home{background:linear-gradient(135deg,#0a1130 0%,#0d1840 55%,#0a1638 100%)}
.hp-top{height:46px;background:rgba(4,8,24,.92);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:12px;padding:0 16px}
.hp-logo{display:flex;align-items:center;gap:6px}
.hp-logo i{width:16px;height:16px;background:#3b5bfd;border-radius:5px;display:block}
.hp-logo span{font-size:13px;font-weight:700;color:#fff}
.hp-nav{display:flex;gap:13px;font-size:10px;font-weight:500;color:#c7d2ee;flex:1}
.hp-gs-btn{background:linear-gradient(180deg,#3f6bff,#2f53f5);color:#fff;font-size:10px;font-weight:700;padding:7px 13px;border-radius:999px;border:none;cursor:default;position:relative;white-space:nowrap;box-shadow:0 4px 12px rgba(47,83,245,.4);transition:box-shadow .15s}
.hp-gs-btn.hl{box-shadow:0 0 0 3px rgba(120,150,255,.4),0 4px 12px rgba(47,83,245,.5)}
.hp-hero{padding:22px 18px;display:flex;gap:16px;align-items:center;min-height:170px}
.hp-hero-txt{flex:1.2;min-width:0}.hp-hero-txt h2{font-size:15px;font-weight:800;color:#fff;line-height:1.32;margin-bottom:8px}.hp-accent{color:#6f7da3}
.hp-hero-txt p{font-size:9px;color:#94a3cf;line-height:1.55;max-width:none}
.hp-hero-media{position:relative;flex:1;min-width:0;align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end;min-height:150px}.hp-girl{height:100%;max-height:185px;width:auto;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 12px 24px rgba(0,0,0,.45));user-select:none}.hp-ai-card{position:absolute;left:-6px;top:28%;width:140px;background:#fff;border-radius:9px;padding:9px 10px;box-shadow:0 12px 30px rgba(0,0,0,.45)}.hp-ai-t{font-size:6.5px;font-weight:700;letter-spacing:.12em;color:#8a93a8}.hp-ai-mid{display:flex;align-items:center;gap:7px;margin:6px 0}.hp-ai-donut{position:relative;width:36px;height:36px;border-radius:50%;flex-shrink:0;background:conic-gradient(#16A34A 0 10%,#e8ecf3 10% 100%);display:flex;align-items:center;justify-content:center}.hp-ai-donut::before{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff}.hp-ai-donut b{position:relative;font-size:8px;font-weight:800;color:#16A34A}.hp-ai-v{display:flex;flex-direction:column;gap:2px;min-width:0}.hp-ai-v em{font-style:normal;font-size:5.5px;font-weight:700;color:#16A34A;background:#e4f7ec;border-radius:999px;padding:2px 5px;align-self:flex-start;letter-spacing:.05em}.hp-ai-v b{font-size:7.5px;font-weight:700;color:#1a1f2e}.hp-ai-row{display:flex;align-items:center;gap:5px;font-size:6.5px;color:#5b6475;margin-top:3px}.hp-ai-row>span:first-child{width:40px;flex-shrink:0}.hp-ai-row b{font-size:6.5px;font-weight:700}.hp-ai-bar{flex:1;height:3px;border-radius:3px;background:#edf0f5;overflow:hidden}.hp-ai-bar i{display:block;height:100%;border-radius:3px}.hp-ai-bar i.g{width:90%;background:#16A34A}.hp-ai-bar i.p{width:10%;background:#e0447c}.hp-lang{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:600;color:#c7d2ee;white-space:nowrap}.hp-globe{width:9px;height:9px;border:1.4px solid currentColor;border-radius:50%;display:inline-block}.hp-talk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:5px 10px;font-size:9px;font-weight:600;white-space:nowrap}

/* Dropdown */
.hp-dd{position:absolute;top:44px;right:60px;width:182px;background:#fff;border-radius:12px;padding:12px 12px 10px;box-shadow:0 18px 44px rgba(0,0,0,.5);z-index:20;opacity:0;transform:translateY(-6px);pointer-events:none}.hp-dd-head{font-size:10px;font-weight:800;color:#11193a;margin-bottom:8px}
.hp-dd.on{opacity:1;transform:translateY(0);pointer-events:auto;transition:all .25s ease}
.hp-dd-item{padding:9px 8px;font-size:9.5px;font-weight:600;color:#1a1f2e;display:flex;align-items:center;gap:9px;border-radius:9px;cursor:default;transition:background .1s}.hp-dd-item+.hp-dd-item{margin-top:3px}

.hp-dd-item.hl{background:#eef2ff;box-shadow:inset 0 0 0 2px #3b5bfd}
.hp-dd-item i{width:24px;height:24px;border-radius:8px;flex-shrink:0;display:block}.hp-dd-inst i{background:#ece9fb}.hp-dd-ind i{background:#e2f6ea}

/* ---- SCENE 3: LOGIN ---- */
.sc-login{background:#f0f2f8;display:flex}
.lg-art{flex:1;display:flex;align-items:center;justify-content:center}
.lg-art-box{width:220px;height:180px;background:#e0e4ee;border-radius:18px;position:relative;overflow:hidden}
.lg-art-box::before{content:'';position:absolute;bottom:16px;left:20px;width:100px;height:7px;background:#c0c8d8;border-radius:3px}
.lg-art-box::after{content:'';position:absolute;bottom:28px;left:35px;width:45px;height:36px;background:#b0bcd0;border-radius:4px;border:2px solid #a0aec0}
.lg-art-p1{position:absolute;bottom:16px;left:28px;width:36px;height:60px;background:#4285f4;border-radius:10px 10px 5px 5px}
.lg-art-p1::before{content:'';position:absolute;top:-15px;left:7px;width:22px;height:22px;background:#f5c6a0;border-radius:50%}
.lg-art-p2{position:absolute;bottom:16px;right:28px;width:32px;height:55px;background:#f5c6a0;border-radius:9px 9px 5px 5px}
.lg-art-p2::before{content:'';position:absolute;top:-14px;left:5px;width:20px;height:20px;background:#8d6e52;border-radius:50%}

.lg-form{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.lg-logo{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.lg-logo i{width:18px;height:18px;background:#4285f4;border-radius:5px;display:block}
.lg-logo span{font-size:13px;font-weight:600;color:#1a1a1a}
.lg-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:18px}
.lg-grp{width:200px;margin-bottom:9px}
.lg-lbl{font-size:10px;font-weight:500;color:#777;margin-bottom:3px;display:block}
.lg-inp{width:100%;height:34px;border:1.5px solid #ddd;border-radius:7px;background:#fff;padding:0 10px;font-size:12px;color:#1a1a1a;display:flex;align-items:center;transition:border-color .2s,box-shadow .2s;overflow:hidden}
.lg-inp.fc{border-color:#4285f4;box-shadow:0 0 0 3px rgba(66,133,244,.1)}
.lg-forgot{font-size:10px;color:#4285f4;text-align:right;width:200px;margin:2px 0 12px;cursor:default;transition:color .15s}
.lg-forgot.hl{color:#1a56c7;text-decoration:underline;background:rgba(66,133,244,.08);border-radius:3px;padding:1px 4px}
.lg-btn{width:200px;height:36px;background:#4285f4;color:#fff;border:none;border-radius:7px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;cursor:default}
.lg-btn.press{transform:scale(.97);background:#3367c7}
.lg-btn .ldot{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:none;animation:spin .5s linear infinite}
.lg-btn.ld .ldot{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* Typing cursor */

@keyframes tcb{50%{opacity:0}}

/* ---- SCENE 4: DASHBOARD ---- */






























/* ---- TIP CALLOUT (inline, not overlay) ---- */
.ga-tip{position:absolute;z-index:40;background:#fffde7;border:1px solid #f0e68c;border-radius:10px;padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.08);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .35s ease,transform .35s ease;display:flex;align-items:flex-start;gap:8px;max-width:280px;font-family:var(--db-font,system-ui,sans-serif)}
.ga-tip.on{opacity:1;transform:translateY(0)}
.ga-tip-ico{width:20px;height:20px;flex-shrink:0;margin-top:1px}
.ga-tip-ico svg{width:20px;height:20px}
.ga-tip-txt{font-size:11px;color:#5d4e00;line-height:1.5}
.ga-tip-txt b{font-weight:600;color:#3e3300}

/* ---- ERROR POPUP (kept for other uses) ---- */









/* ---- LOGIN FIELD ERROR STATE ---- */
.lg-inp.err{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,.1)}
.lg-inp.err-shake{animation:fshake .4s ease}
@keyframes fshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* ---- SUCCESS CHECKMARK ---- */
.lg-success{position:absolute;inset:0;background:rgba(255,255,255,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:30;opacity:0;pointer-events:none;font-family:var(--db-font,system-ui,sans-serif)}
.lg-success.on{opacity:1;transition:opacity .4s ease}
.lg-success-check{width:50px;height:50px;border-radius:50%;background:#e8f5e9;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.lg-success-check svg{width:26px;height:26px}
.lg-success-txt{font-size:14px;font-weight:600;color:#2e7d32}

/* ---- TOAST NOTIFICATION ---- */
.ga-toast{position:absolute;top:10px;right:10px;background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 4px 20px rgba(0,0,0,.12);display:flex;align-items:center;gap:8px;z-index:50;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;max-width:260px;font-family:var(--db-font,system-ui,sans-serif)}
.ga-toast.on{opacity:1;transform:translateY(0)}
.ga-toast-ico{width:22px;height:22px;flex-shrink:0}
.ga-toast-ico svg{width:22px;height:22px}
.ga-toast-txt{font-size:11px;color:#333;line-height:1.4}
.ga-toast-bar{position:absolute;bottom:0;left:10px;right:10px;height:3px;background:#eee;border-radius:2px;overflow:hidden}
.ga-toast-bar-fill{height:100%;background:#1D9E75;width:100%;border-radius:2px}
.ga-toast-bar-fill.run{animation:toastBar 2s linear forwards}
@keyframes toastBar{from{width:100%}to{width:0%}}

/* ---- FORGOT PASSWORD PAGE ---- */














/* ---- RESET PASSWORD PAGE ---- */




/* ---- RESET EMAIL CARD (compact) ---- */













/* ---- PROFILE DROPDOWN ---- */



















/* ---- USER DASHBOARD (after switch) ---- */


































/* ---- ACCOUNT INFO PAGE ---- */



























/* ---- CHANGE PASSWORD PAGE ---- */























/* ---- ANNOUNCEMENTS PAGE ---- */























/* Slide panel */



















/* Announcement item (after creation) */








/* ---- FULL DASHBOARD (for dashboard article) ---- */





























/* Mini bar chart */




/* SVG donut/pie */











/* Similarity ranges line */






/* Dashboard highlight for individual sections */



/* User management highlights above blur */





/* Individual action card highlight */










/* ---- USER MANAGEMENT PAGE ---- */










































/* Highlight row */



/* Confirmation dialog overlay */













/* Edit/Add User slide panel */














/* Stats popup overlay */

























/* ---- FAB POPUP MENU ---- */










/* ---- ADD USER PANEL (slide-over right) ---- */




















/* ---- ADD MULTIPLE USERS: upload page scene ---- */

























/* ---- CSV preview modal ---- */

























/* ---- ADMIN REPORTS PAGE SCENE ---- */


























/* Download notification popup (browser-like) */












/* ---- REPORTS RESULTS POPUP ---- */


















/* Score badges */






/* Form filled state */





/* ---- MAIL DIALOG (submissions report) ---- */













/* Confirm dialogs inside reports need to be above results popup (z-index:25) */


/* ---- EMAIL PREVIEW (submissions report) ---- */














/* ---- REPOSITORY SCENES ---- */













/* Upload page scene */






















/* Metadata form below upload */















/* Repo select dropdown */




/* Repo delete button */





/* ---- INTEGRATIONS PAGE SCENE ---- */

























/* Tooltip cards for overview */





/* ---- INTEGRATION SETUP PANEL (slide-over) ---- */













/* Know More link on card */




/* Moodle details page */















/* ---- SECURITY SETTINGS SCENE ---- */















/* OTP login page */
















/* ---- SUPPORT CENTRE SCENE ---- */



















/* Create ticket panel */

















/* Ticket details page */


















/* ---- USER MY FOLDERS SCENE ---- */























/* User profile dropdown */













/* User account info page */












/* === RESPONSIVE === */
@media(max-width:640px){
  .ga-viewport{height:280px}
  
  .lg-art{display:none}
  .lg-grp,.lg-forgot,.lg-btn{width:170px}
  
  
  .hp-hero{padding:20px 16px;flex-direction:column}
  .hp-girl{display:none}
  .hp-lang,.hp-talk{display:none}
  .hp-ai-card{position:static;width:auto;left:auto;top:auto;margin-top:8px}
  .hp-hero-media{align-items:center;justify-content:center;min-height:0}
  
  
  
  
}

/* ======================================================================
   USER SECTION ANIMATIONS - NEW SCENES
   ====================================================================== */

/* --- Shared user top bar & breadcrumb bar --- */





/* --- USER CHANGE PASSWORD (uChangePw) --- */






/* --- USER DASHBOARD (uDashOverview, uDashCharts, uDashDocTypes) --- */

























/* Charts */
















/* Doc types */











/* --- FOLDER MANAGEMENT (uFolderTable, uFolderView) --- */















/* --- NEW FOLDER (uNewFolder) --- */






















/* --- FILE UPLOAD (uUploadEnglish, uUploadRegional) --- */




























/* --- SUBMISSIONS (uSubOverview, uSubAnalysis) --- */

















/* Analysis page */









































/* --- DOC ERRORS (uDocError) --- */









/* --- REPOSITORY (uRepoUpload, uRepoManage) --- */






















/* --- MFA (uMfa) --- */






/* --- SUPPORT CENTRE (uSupCreate, uSupView) --- */






/* --- FOLDER TABLE ROWS --- */


/* --- FOLDER TABLE ICON (matches screenshot blue folder) --- */



/* --- SUBMISSIONS TABLE ROWS --- */




/* ============================================================
   WATCH-FIRST PLAYER CHROME (S1 conversion)
   Shared look with the canonical similarity-detection watch-first.
   The scene markup above is reused as tour scenes.
   ============================================================ */
.sim-tour .ga-viewport { background: #0b1430; cursor: pointer; }

/* Title card layer (typed section titles between scenes) */
.tour-card {
  position: absolute; inset: 0; z-index: 40;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; background: radial-gradient(120% 120% at 50% 0%, #16245a 0%, #0b1430 70%);
  opacity: 0; pointer-events: none; transition: opacity .45s ease;
}
.tour-card.on { opacity: 1; }
.tour-card-logo { display: inline-flex; align-items: center; gap: 10px; }
.tour-card-brand-label { font-weight: 600; font-size: 12px; color: #9fb0e0; letter-spacing: .14em; text-transform: uppercase; }
.tour-card-title { font: 700 24px/1.25 var(--db-font, system-ui, sans-serif); color: #fff; text-align: center; max-width: 80%; min-height: 30px; }
.tour-card-caret { width: 2px; height: 22px; background: #6f8be0; display: none; }
.tour-card-logo-img { height: 30px; background: #fff; border-radius: 8px; padding: 7px 12px; box-shadow: 0 4px 16px rgba(0,0,0,.3); }

/* Scene stage */
.tour-stage { position: absolute; inset: 0; }
.tour-scene {
  position: absolute; inset: 0; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  padding: 14px 14px 92px; opacity: 0; pointer-events: none;
  transition: opacity .45s ease, transform .45s ease; transform: scale(.985);
}
.tour-scene.on { opacity: 1; pointer-events: auto; transform: scale(1); }
.tour-scene .sc { position: relative; width: min(620px, 100%); border-radius: 12px; overflow: hidden; box-shadow: 0 14px 40px rgba(0,0,0,.45); }

/* Guided cursor */
.tour-cursor { position: absolute; top: 0; left: 0; z-index: 60; width: 22px; height: 22px; margin: -3px 0 0 -3px; opacity: 0; pointer-events: none; transform: translate(40px,40px); transition: transform .85s cubic-bezier(.45,.05,.2,1), opacity .3s ease; filter: drop-shadow(0 3px 5px rgba(0,0,0,.45)); }
.tour-cursor.on { opacity: 1; }
.tour-cursor svg { width: 22px; height: 22px; display: block; }
.tour-cursor-ring { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(59,91,253,.9); opacity: 0; transform: scale(.3); }
.tour-cursor.clicking .tour-cursor-ring { animation: liClick .36s ease-out; }
@keyframes liClick { 0% { opacity: .9; transform: scale(.3); } 100% { opacity: 0; transform: scale(2.6); } }

/* Blur / focus spotlight */
.li-blur { filter: blur(2.2px) saturate(.9); opacity: .5; transition: filter .4s ease, opacity .4s ease, transform .4s ease; }
.li-focus { position: relative; z-index: 6; transform: scale(1.015); transition: transform .4s ease, box-shadow .4s ease; box-shadow: 0 0 0 2px rgba(59,91,253,.35), 0 18px 40px rgba(0,0,0,.45); border-radius: 12px; }

/* Watch-first: reused scene roots render visible (per-article sizing follows). */
.tour-scene .sc { position: relative; inset: auto; opacity: 1; pointer-events: auto; }

/* ============================================================
   WATCH-FIRST VIDEO PLAYER (tour block)
   ============================================================ */
.guide-anim.sim-tour .ga-viewport { height: 424px; }

.ga-player {
  position: absolute; inset-inline: 0; bottom: 0; z-index: 210;
  padding: 30px 13px 11px;
  background: linear-gradient(to top, rgba(3,8,24,.96) 0%, rgba(3,8,24,.66) 55%, rgba(3,8,24,0) 100%);
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  user-select: none; -webkit-user-select: none;
  opacity: .55; transition: opacity .25s ease;
}
.sim-tour .ga-viewport:hover .ga-player,
.ga-player.is-playing,
.ga-player:focus-within,
.sim-tour .ga-overlay.on ~ .ga-player { opacity: 1; }

/* scrub bar */
.ga-pl-track {
  position: relative; height: 5px; border-radius: 4px;
  background: rgba(255,255,255,.26); cursor: pointer; touch-action: none;
  transition: height .12s ease;
}
.ga-pl-track:hover, .ga-player:focus-within .ga-pl-track { height: 7px; }
.ga-pl-fill {
  position: absolute; inset-block: 0; inset-inline-start: 0; width: 0;
  background: #4f7cff; border-radius: 4px;
}
.ga-pl-knob {
  position: absolute; top: 50%; inset-inline-start: 0;
  width: 14px; height: 14px; border-radius: 50%; background: #fff;
  transform: translate(-50%, -50%); box-shadow: 0 1px 5px rgba(0,0,0,.55);
  opacity: 0; transition: opacity .12s ease;
}
[dir="rtl"] .ga-pl-knob { transform: translate(50%, -50%); }
.ga-pl-track:hover .ga-pl-knob, .ga-player:focus-within .ga-pl-knob { opacity: 1; }

/* control row */
.ga-pl-row { display: flex; align-items: center; gap: 3px; margin-top: 9px; }
.ga-pl-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 32px; min-width: 32px; padding: 0 7px; border: 0; border-radius: 8px;
  background: transparent; color: #fff; cursor: pointer;
  font: 600 12px/1 system-ui, sans-serif;
}
.ga-pl-btn:hover { background: rgba(255,255,255,.16); }
.ga-pl-btn:focus-visible { outline: 2px solid #4f7cff; outline-offset: 1px; }
.ga-pl-btn svg { width: 19px; height: 19px; display: block; }
.ga-pl-play svg { width: 21px; height: 21px; }
.ga-pl-time {
  color: #fff; font: 600 12.5px/1 system-ui, sans-serif; margin-inline-start: 7px;
  letter-spacing: .3px; opacity: .96; font-variant-numeric: tabular-nums;
}
.ga-pl-spacer { flex: 1; }

/* speed menu */
.ga-pl-rate { position: relative; }
.ga-pl-rate-btn { min-width: 40px; font-weight: 700; }
.ga-pl-rate-menu {
  position: absolute; bottom: 40px; inset-inline-end: 0; display: none;
  flex-direction: column; min-width: 104px; padding: 5px;
  background: rgba(12,18,40,.98); border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.5);
}
.ga-pl-rate.open .ga-pl-rate-menu { display: flex; }
.ga-pl-rate-opt {
  background: transparent; border: 0; color: #dfe5fb; cursor: pointer;
  font: 600 12.5px/1 system-ui, sans-serif; padding: 9px 11px;
  text-align: start; border-radius: 7px;
}
.ga-pl-rate-opt:hover { background: rgba(255,255,255,.12); }
.ga-pl-rate-opt.on { color: #fff; background: rgba(79,124,255,.4); }

/* "Loading voice" buffer (covers the scene while Web Speech voices resolve) */
.ga-buffer {
  position: absolute; inset: 0; z-index: 205;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 0 24px; text-align: center;
  background: rgba(8,14,34,.82); color: #dfe5fb;
  font: 600 13px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
.ga-buffer.on { opacity: 1; pointer-events: auto; }
.ga-buffer-spin {
  width: 30px; height: 30px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,.25); border-top-color: #4f7cff;
  animation: gaBufSpin .8s linear infinite;
}
@keyframes gaBufSpin { to { transform: rotate(360deg); } }
.ga-buffer-txt { max-width: 260px; }

/* Info ("i") button - shown only in silent mode (no installed voice) */
.ga-pl-info-wrap { position: relative; display: none; align-items: center; gap: 6px; }
.ga-pl-info-wrap.show { display: inline-flex; }
.ga-pl-pill {
  display: inline-flex; align-items: center; height: 22px; padding: 0 9px;
  border-radius: 999px; background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.28); color: #e7ecff;
  font: 700 10.5px/1 system-ui, sans-serif; letter-spacing: .04em;
  text-transform: uppercase; white-space: nowrap;
}
.ga-pl-info-pop {
  position: absolute; bottom: 40px; inset-inline-end: 0; display: none;
  width: 232px; padding: 11px 13px; z-index: 20;
  background: rgba(12,18,40,.98); border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.5);
  color: #dfe5fb; font: 500 12px/1.5 system-ui, sans-serif; text-align: start;
}
.ga-pl-info-wrap.open .ga-pl-info-pop { display: block; }

/* Scene-fit: the homepage and login mocks render at natural size then scale
   down to fit the player frame (watch-first-scene-fit-scale rule). */
.tour-scene .sc-home {
  width: 640px; height: 372px;
  transform: scale(.82); transform-origin: center center; flex: 0 0 auto;
}
.tour-scene .sc-login {
  display: flex; width: 620px; height: 360px;
  transform: scale(.8); transform-origin: center center; flex: 0 0 auto;
}

/* Mobile: shrink so each rendered mock fits a phone column. */
@media (max-width: 640px) {
  .tour-scene .sc-home,
  .tour-scene .sc-login { transform: scale(.46); }
}

/* Get started dropdown - match admin styling: icon chips + arrow + highlight pulse */
.hp-dd-ico { width: 26px; height: 26px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.hp-dd-ico svg { width: 13px; height: 13px; }
.hp-dd-ico.inst { background: #ece9fb; color: #6b5bd6; }
.hp-dd-ico.ind { background: #e2f6ea; color: #1f9d57; }
.hp-dd-label { flex: 1; }
.hp-dd-arrow { color: #9aa3bb; font-size: 11px; }
.hp-dd-item.hl { background: #eef2ff; box-shadow: inset 0 0 0 2px #3b5bfd; animation: hpDdPulse 1.6s ease-in-out infinite; }
.hp-dd-item.hl .hp-dd-arrow { color: #3b5bfd; }
@keyframes hpDdPulse { 0%, 100% { box-shadow: inset 0 0 0 2px #3b5bfd; } 50% { box-shadow: inset 0 0 0 2px #3b5bfd, 0 0 0 4px rgba(59,91,253,.18); } }