/* AI Interview Gym — Premium System Layer
   Additive brand tokens and interaction primitives. No feature logic lives here. */
:root{
  --aig-font-display:'Plus Jakarta Sans','Manrope','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --aig-font-body:'Inter','DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --aig-brand-500:#673de6;
  --aig-brand-600:#5b37f2;
  --aig-brand-700:#4d2fb8;
  --aig-ink-950:#0d1020;
  --aig-ink-900:#17151f;
  --aig-ink-600:#666473;
  --aig-surface-0:#fff;
  --aig-surface-50:#f8f7fb;
  --aig-surface-100:#f1f0f6;
  --aig-success-600:#15835c;
  --aig-warning-600:#a7610a;
  --aig-danger-600:#c93636;
  --aig-line:rgba(23,21,31,.11);
  --aig-line-dark:rgba(255,255,255,.08);
  --aig-radius-sm:10px;
  --aig-radius-md:16px;
  --aig-radius-lg:24px;
  --aig-shadow-sm:0 10px 32px rgba(37,31,58,.06);
  --aig-shadow-md:0 18px 56px rgba(37,31,58,.09);
  --aig-shadow-lg:0 30px 90px rgba(20,16,38,.14);
  --aig-ease:cubic-bezier(.16,1,.3,1);
  --aig-motion-instant:100ms;
  --aig-motion-fast:180ms;
  --aig-motion-standard:280ms;
  --aig-motion-reveal:600ms;
}
body{font-family:var(--aig-font-body)}
h1,h2,h3,h4,h5,h6,.aig-display{font-family:var(--aig-font-display)}
.aig-reveal{opacity:0;transform:translateY(18px);transition:opacity var(--aig-motion-reveal) var(--aig-ease),transform var(--aig-motion-reveal) var(--aig-ease)}
.aig-reveal.aig-visible{opacity:1;transform:none}
.aig-state{transition:opacity var(--aig-motion-standard) var(--aig-ease),transform var(--aig-motion-standard) var(--aig-ease),border-color var(--aig-motion-fast) ease,box-shadow var(--aig-motion-fast) ease}
.aig-state[data-state="loading"],.aig-state.is-loading{opacity:.62;pointer-events:none}
.aig-state[data-state="saving"]{opacity:.76}
.aig-state[data-state="success"]{border-color:color-mix(in srgb,var(--aig-success-600) 34%,transparent)}
.aig-state[data-state="error"]{border-color:color-mix(in srgb,var(--aig-danger-600) 36%,transparent)}
.aig-state[data-state="locked"]{filter:saturate(.82)}
.aig-skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(23,21,31,.045),rgba(23,21,31,.09),rgba(23,21,31,.045));background-size:220% 100%;animation:aigShimmer 1.35s linear infinite}
@keyframes aigShimmer{to{background-position:-220% 0}}
.aig-status{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:5px 9px;border:1px solid var(--aig-line);border-radius:999px;background:rgba(255,255,255,.74);font-size:11px;font-weight:700;color:var(--aig-ink-600);backdrop-filter:blur(10px)}
.aig-status-dot{width:8px;height:8px;border-radius:50%;background:#a3a7b0;box-shadow:0 0 0 4px rgba(163,167,176,.12)}
.aig-status[data-status="listening"] .aig-status-dot{background:var(--aig-success-600);box-shadow:0 0 0 0 rgba(21,131,92,.34);animation:aigPulse 1.5s var(--aig-ease) infinite}
.aig-status[data-status="processing"] .aig-status-dot{background:var(--aig-brand-500);animation:aigBreathe 1s ease-in-out infinite alternate}
.aig-status[data-status="saved"] .aig-status-dot{background:var(--aig-success-600)}
.aig-status[data-status="warning"] .aig-status-dot{background:var(--aig-warning-600)}
@keyframes aigPulse{70%{box-shadow:0 0 0 12px rgba(21,131,92,0)}100%{box-shadow:0 0 0 0 rgba(21,131,92,0)}}
@keyframes aigBreathe{to{transform:scale(1.3);opacity:.58}}
.aig-premium-lock{position:relative;overflow:hidden;border:1px solid rgba(103,61,230,.18);border-radius:var(--aig-radius-lg);background:radial-gradient(560px 240px at 100% 0,rgba(103,61,230,.12),transparent 64%),linear-gradient(145deg,#fff,#f8f6ff);box-shadow:var(--aig-shadow-sm)}
.aig-premium-lock::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--aig-brand-500),#8c79ff)}
.aig-premium-lock-inner{padding:28px}
.aig-premium-lock-kicker{font:800 10px/1 var(--aig-font-display);letter-spacing:.11em;text-transform:uppercase;color:var(--aig-brand-600)}
.aig-premium-lock h3{margin:9px 0 8px;font:800 clamp(1.45rem,2.4vw,2.15rem)/1.08 var(--aig-font-display);letter-spacing:-.045em;color:var(--aig-ink-950)}
.aig-premium-lock p{max-width:680px;color:var(--aig-ink-600);line-height:1.65}
.aig-premium-lock ul{display:grid;gap:8px;margin:18px 0;padding:0;list-style:none}
.aig-premium-lock li{position:relative;padding-left:22px;color:#45414d;font-size:13px}
.aig-premium-lock li::before{content:"✓";position:absolute;left:0;color:var(--aig-success-600);font-weight:900}
.aig-depth-card{transition:transform var(--aig-motion-standard) var(--aig-ease),box-shadow var(--aig-motion-standard) var(--aig-ease),border-color var(--aig-motion-fast) ease}
@media (hover:hover) and (pointer:fine){.aig-depth-card:hover{transform:translateY(-2px);box-shadow:var(--aig-shadow-md)}}
.aig-dark-surface{background:linear-gradient(145deg,#10131d,#171b28);border-color:var(--aig-line-dark);color:#f7f8fb}
.aig-focus-ring:focus-visible{outline:3px solid rgba(103,61,230,.28);outline-offset:3px}
@media(max-width:760px){.aig-premium-lock-inner{padding:22px}.aig-reveal{transform:translateY(12px)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .aig-reveal{opacity:1!important;transform:none!important}
}


/* V22 application harmonization — preserves existing layout/feature logic */
.v22-app{font-family:var(--aig-font-body)}
.v22-brand span,.v22-nav button b,.v22-topbar strong,.v22-welcome h1,.v22-page-head h1,.v22-section-head h2,.v22-tool-grid h2,.v22-sim-grid h2,.v22-question-stage h2,.v22-next-plan h2{font-family:var(--aig-font-display)}
.v22-nav button,.v22-primary,.v22-secondary,.v22-tool-grid button,.v22-sim-grid button,.v22-ghost,.v22-question-item,.v22-cycle button,.v22-gap-action{transition:transform var(--aig-motion-fast) var(--aig-ease),background var(--aig-motion-fast) ease,border-color var(--aig-motion-fast) ease,box-shadow var(--aig-motion-fast) ease,color var(--aig-motion-fast) ease}
@media (hover:hover) and (pointer:fine){
  .v22-primary:hover,.v22-secondary:hover,.v22-tool-grid button:hover,.v22-sim-grid button:hover,.v22-gap-action:hover:not(:disabled){transform:translateY(-1px)}
}
.v22-welcome,.v22-continuity,.v22-cycle-card,.v22-card,.v22-tool-grid article,.v22-question-list,.v22-question-stage,.v22-sim-grid article,.v22-next-plan,.v22-receipt,.v22-review-history,.v22-review-detail,.v22-improve-plan,.v22-improve-evidence{transition:border-color var(--aig-motion-fast) ease,box-shadow var(--aig-motion-standard) var(--aig-ease),transform var(--aig-motion-standard) var(--aig-ease),opacity var(--aig-motion-standard) var(--aig-ease)}
.v22-gap-row.is-locked{position:relative;background:linear-gradient(145deg,#fff,#faf8ff);border-color:rgba(103,61,230,.18)}
.v22-gap-row.is-locked .v22-gap-role span{color:var(--aig-brand-600);background:#f1edff}
.v22-gap-row.is-locked .v22-gap-action{color:var(--aig-brand-700);border-color:rgba(103,61,230,.2);background:#f4f0ff;opacity:1}
.v22-receipt,.v22-practice-receipt{will-change:transform,opacity}
.v22-topbar{box-shadow:0 8px 30px rgba(37,31,58,.035)}


/* Premium Experience Pass 2 — product demonstration + workspace handoff */
.hero-workspace-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(23,21,31,.08);font-size:11px;color:var(--aig-ink-600)}
.hero-workspace-entry a,.career-passport-open{display:inline-flex;align-items:center;gap:6px;font:800 12px/1 var(--aig-font-display);color:var(--aig-brand-600);text-decoration:none;transition:gap var(--aig-motion-fast) var(--aig-ease),color var(--aig-motion-fast) ease}
@media(hover:hover) and (pointer:fine){.hero-workspace-entry a:hover,.career-passport-open:hover{gap:10px;color:var(--aig-brand-700)}}
.career-passport-demo{margin:34px 0;padding:30px;border:1px solid rgba(103,61,230,.14);border-radius:28px;background:radial-gradient(720px 320px at 100% 0,rgba(103,61,230,.10),transparent 62%),linear-gradient(145deg,#fff,#faf9fd);box-shadow:var(--aig-shadow-md)}
.career-passport-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:24px}
.career-passport-demo-head h3{margin:8px 0 7px;font:800 clamp(1.5rem,2.2vw,2.2rem)/1.08 var(--aig-font-display);letter-spacing:-.045em;color:var(--aig-ink-950)}
.career-passport-demo-head p{max-width:700px;margin:0;color:var(--aig-ink-600);font-size:13px;line-height:1.65}
.career-passport-demo-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr);gap:18px}
.passport-summary-card,.passport-role-list,.career-bridge-preview{border:1px solid var(--aig-line);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 8px 30px rgba(37,31,58,.035)}
.passport-summary-card{padding:22px}
.passport-summary-card>span,.career-bridge-preview>span{display:block;font:800 10px/1 var(--aig-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--aig-brand-600)}
.passport-summary-card>strong{display:block;margin-top:13px;font:800 2rem/1 var(--aig-font-display);letter-spacing:-.045em;color:var(--aig-ink-950)}
.passport-summary-card>small{display:block;margin-top:7px;color:var(--aig-ink-600)}
.passport-summary-track{height:8px;margin:18px 0 14px;border-radius:999px;background:#ece9f3;overflow:hidden}
.passport-summary-track i{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--aig-brand-500),#8b78ff)}
.passport-summary-card p{margin:0;color:var(--aig-ink-600);font-size:12px;line-height:1.55}
.passport-role-list{padding:8px 14px}
.passport-role-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.65fr) auto;align-items:center;gap:16px;padding:15px 4px;border-bottom:1px solid rgba(23,21,31,.07)}
.passport-role-list article:last-child{border-bottom:0}
.passport-role-list article>div:first-child>span{display:block;margin-bottom:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--aig-ink-600)}
.passport-role-list article>div:first-child>strong{display:block;font:800 13px/1.35 var(--aig-font-display);color:var(--aig-ink-950)}
.passport-role-list article>div:first-child>small{display:block;margin-top:3px;color:var(--aig-ink-600);font-size:11px}
.passport-role-list article>b{font-size:10px;color:var(--aig-brand-600);background:#f1edff;border-radius:999px;padding:7px 9px;white-space:nowrap}
.passport-role-list article.is-current>b{color:var(--aig-success-600);background:#eaf7f1}
.passport-meter{height:7px;border-radius:999px;background:#ece9f3;overflow:hidden}
.passport-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--aig-brand-500),#9a89ff)}
.passport-meter i.is-80{width:80%}.passport-meter i.is-70{width:70%}.passport-meter i.is-60{width:60%}
.career-bridge-preview{display:grid;grid-template-columns:auto 1.35fr repeat(3,minmax(0,1fr));align-items:center;gap:14px;margin-top:18px;padding:18px}
.career-bridge-preview>strong{font:800 13px/1.35 var(--aig-font-display);color:var(--aig-ink-950)}
.career-bridge-preview>div{display:flex;align-items:flex-start;gap:9px}
.career-bridge-preview>div>b{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:9px;background:#f1edff;color:var(--aig-brand-600);font-size:10px}
.career-bridge-preview p{margin:0}
.career-bridge-preview p>strong{display:block;font-size:11px;color:var(--aig-ink-950)}
.career-bridge-preview p>small{display:block;margin-top:2px;color:var(--aig-ink-600);font-size:10px;line-height:1.35}
body.aig-entering-workspace{overflow:hidden}
body.aig-entering-workspace::after{content:"";position:fixed;z-index:99999;inset:0;background:radial-gradient(700px 500px at 50% 40%,rgba(103,61,230,.24),transparent 62%),#0d1020;opacity:0;pointer-events:none;animation:aigWorkspaceEnter 180ms var(--aig-ease) forwards}
@keyframes aigWorkspaceEnter{to{opacity:1}}
.v22-voice-console[data-voice-state],.v22-resume-voice[data-voice-state],.v22-opening-voice[data-voice-state],.v22-dertn-voice[data-voice-state],.v22-sim-state[data-voice-state]{transition:border-color var(--aig-motion-fast) ease,box-shadow var(--aig-motion-fast) ease,background var(--aig-motion-fast) ease}
.v22-voice-console[data-voice-state="requesting"],.v22-resume-voice[data-voice-state="requesting"],.v22-opening-voice[data-voice-state="requesting"],.v22-dertn-voice[data-voice-state="requesting"]{border-color:rgba(167,97,10,.24);box-shadow:0 0 0 4px rgba(167,97,10,.05)}
.v22-voice-console[data-voice-state="listening"],.v22-resume-voice[data-voice-state="listening"],.v22-opening-voice[data-voice-state="listening"],.v22-dertn-voice[data-voice-state="listening"],.v22-sim-state[data-voice-state="listening"]{border-color:rgba(21,131,92,.28);box-shadow:0 0 0 4px rgba(21,131,92,.055)}
.v22-voice-console[data-voice-state="processing"],.v22-resume-voice[data-voice-state="processing"],.v22-opening-voice[data-voice-state="processing"],.v22-dertn-voice[data-voice-state="processing"],.v22-sim-state[data-voice-state="processing"]{border-color:rgba(103,61,230,.28);box-shadow:0 0 0 4px rgba(103,61,230,.055)}
.v22-voice-console[data-voice-state="saved"],.v22-resume-voice[data-voice-state="saved"],.v22-opening-voice[data-voice-state="saved"],.v22-dertn-voice[data-voice-state="saved"]{border-color:rgba(21,131,92,.20)}
.v22-voice-console[data-voice-state="error"],.v22-resume-voice[data-voice-state="error"],.v22-opening-voice[data-voice-state="error"],.v22-dertn-voice[data-voice-state="error"]{border-color:rgba(201,54,54,.24);box-shadow:0 0 0 4px rgba(201,54,54,.04)}
@media(max-width:960px){
  .career-passport-demo-grid{grid-template-columns:1fr}
  .career-bridge-preview{grid-template-columns:1fr}
  .passport-role-list article{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr)}
  .passport-role-list article>b{grid-column:1/-1;justify-self:start}
}
@media(max-width:680px){
  .career-passport-demo{padding:20px;border-radius:22px}
  .career-passport-demo-head{display:block}
  .career-passport-open{margin-top:16px}
  .passport-role-list article{grid-template-columns:1fr}
  .passport-role-list article>b{grid-column:auto}
  .hero-workspace-entry{align-items:flex-start;flex-direction:column}
}


/* Premium FX utility — CSP-safe spatial, tilt and voice motion */
.v22-voice-status>i,.v22-resume-voice-status>i,.v22-opening-voice-status>i,.v22-dertn-voice-status>i,.v22-sim-state>i{position:relative;display:inline-block;width:14px;height:14px;flex:0 0 14px;border-radius:50%;background:rgba(103,61,230,.18);transition:transform .32s var(--aig-ease),background .32s ease,box-shadow .32s ease,border-radius .32s ease}
.v22-voice-status>i::before,.v22-voice-status>i::after,.v22-resume-voice-status>i::before,.v22-resume-voice-status>i::after,.v22-opening-voice-status>i::before,.v22-opening-voice-status>i::after,.v22-dertn-voice-status>i::before,.v22-dertn-voice-status>i::after,.v22-sim-state>i::before,.v22-sim-state>i::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:inherit;transform:translate(-50%,-50%);transition:all .34s var(--aig-ease)}
[data-voice-state="requesting"] .v22-voice-status>i,[data-voice-state="requesting"] .v22-resume-voice-status>i,[data-voice-state="requesting"] .v22-opening-voice-status>i,[data-voice-state="requesting"] .v22-dertn-voice-status>i{background:#a7610a;box-shadow:0 0 0 5px rgba(167,97,10,.08);animation:aigOrbRequest 1.2s ease-in-out infinite}
[data-voice-state="listening"] .v22-voice-status>i,[data-voice-state="listening"] .v22-resume-voice-status>i,[data-voice-state="listening"] .v22-opening-voice-status>i,[data-voice-state="listening"] .v22-dertn-voice-status>i,[data-voice-state="listening"].v22-sim-state>i{background:var(--aig-brand-500);box-shadow:0 0 18px rgba(103,61,230,.25);animation:aigOrbCore 1.8s ease-in-out infinite}
[data-voice-state="listening"] .v22-voice-status>i::before,[data-voice-state="listening"] .v22-resume-voice-status>i::before,[data-voice-state="listening"] .v22-opening-voice-status>i::before,[data-voice-state="listening"] .v22-dertn-voice-status>i::before,[data-voice-state="listening"].v22-sim-state>i::before{animation:aigOrbA 2.6s ease-in-out infinite}
[data-voice-state="listening"] .v22-voice-status>i::after,[data-voice-state="listening"] .v22-resume-voice-status>i::after,[data-voice-state="listening"] .v22-opening-voice-status>i::after,[data-voice-state="listening"] .v22-dertn-voice-status>i::after,[data-voice-state="listening"].v22-sim-state>i::after{animation:aigOrbB 3.1s ease-in-out infinite}
[data-voice-state="processing"] .v22-voice-status>i,[data-voice-state="processing"] .v22-resume-voice-status>i,[data-voice-state="processing"] .v22-opening-voice-status>i,[data-voice-state="processing"] .v22-dertn-voice-status>i,[data-voice-state="processing"].v22-sim-state>i{width:4px;height:18px;flex-basis:18px;border-radius:999px;background:var(--aig-brand-500);box-shadow:none;animation:aigWaveMid .52s ease-in-out infinite alternate}
[data-voice-state="processing"] .v22-voice-status>i::before,[data-voice-state="processing"] .v22-resume-voice-status>i::before,[data-voice-state="processing"] .v22-opening-voice-status>i::before,[data-voice-state="processing"] .v22-dertn-voice-status>i::before,[data-voice-state="processing"].v22-sim-state>i::before{width:4px;height:11px;left:-5px;border-radius:999px;background:var(--aig-brand-500);animation:aigWaveSide .46s ease-in-out infinite alternate}
[data-voice-state="processing"] .v22-voice-status>i::after,[data-voice-state="processing"] .v22-resume-voice-status>i::after,[data-voice-state="processing"] .v22-opening-voice-status>i::after,[data-voice-state="processing"] .v22-dertn-voice-status>i::after,[data-voice-state="processing"].v22-sim-state>i::after{width:4px;height:13px;left:auto;right:-9px;border-radius:999px;background:var(--aig-brand-500);animation:aigWaveSide .58s ease-in-out infinite alternate-reverse}
[data-voice-state="saved"] .v22-voice-status>i,[data-voice-state="saved"] .v22-resume-voice-status>i,[data-voice-state="saved"] .v22-opening-voice-status>i,[data-voice-state="saved"] .v22-dertn-voice-status>i,[data-voice-state="saved"].v22-sim-state>i{width:18px;height:18px;flex-basis:18px;background:var(--aig-success-600);box-shadow:0 0 0 5px rgba(21,131,92,.07);animation:aigSavedPop .36s var(--aig-ease)}
[data-voice-state="saved"] .v22-voice-status>i::before,[data-voice-state="saved"] .v22-resume-voice-status>i::before,[data-voice-state="saved"] .v22-opening-voice-status>i::before,[data-voice-state="saved"] .v22-dertn-voice-status>i::before,[data-voice-state="saved"].v22-sim-state>i::before{width:7px;height:4px;border-radius:0;background:transparent;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translate(-50%,-58%) rotate(-45deg)}
[data-voice-state="saved"] .v22-voice-status>i::after,[data-voice-state="saved"] .v22-resume-voice-status>i::after,[data-voice-state="saved"] .v22-opening-voice-status>i::after,[data-voice-state="saved"] .v22-dertn-voice-status>i::after,[data-voice-state="saved"].v22-sim-state>i::after{opacity:0}
[data-voice-state="error"] .v22-voice-status>i,[data-voice-state="error"] .v22-resume-voice-status>i,[data-voice-state="error"] .v22-opening-voice-status>i,[data-voice-state="error"] .v22-dertn-voice-status>i,[data-voice-state="error"].v22-sim-state>i{background:#c93636;box-shadow:0 0 0 5px rgba(201,54,54,.07)}
@keyframes aigOrbRequest{50%{transform:scale(.82);opacity:.7}}
@keyframes aigOrbCore{50%{transform:scale(1.18)}}
@keyframes aigOrbA{0%,100%{transform:translate(-125%,-85%) scale(.72)}50%{transform:translate(-95%,-145%) scale(1)}}
@keyframes aigOrbB{0%,100%{transform:translate(35%,-10%) scale(.7)}50%{transform:translate(72%,-86%) scale(1.05)}}
@keyframes aigWaveMid{to{height:28px}}
@keyframes aigWaveSide{to{height:24px}}
@keyframes aigSavedPop{0%{transform:scale(.72)}70%{transform:scale(1.12)}100%{transform:scale(1)}}

.aig-spatial-navigating{overflow:hidden}
.aig-spatial-gate{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(13,16,32,0);opacity:0;pointer-events:none;transition:background .36s ease,opacity .2s ease}
.aig-spatial-gate.is-active{opacity:1;pointer-events:auto}
.aig-spatial-gate.is-open{background:rgba(13,16,32,.66)}
.aig-spatial-card{width:min(92vw,760px);max-height:78vh;overflow:hidden;border:1px solid rgba(103,61,230,.24);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(13,16,32,.24);opacity:.2;transition:transform .38s var(--aig-ease),opacity .28s ease}
.aig-spatial-gate.from-left.from-top .aig-spatial-card{transform:translate(-24vw,-22vh) scale(.58)}
.aig-spatial-gate.from-right.from-top .aig-spatial-card{transform:translate(24vw,-22vh) scale(.58)}
.aig-spatial-gate.from-left.from-bottom .aig-spatial-card{transform:translate(-24vw,22vh) scale(.58)}
.aig-spatial-gate.from-right.from-bottom .aig-spatial-card{transform:translate(24vw,22vh) scale(.58)}
.aig-spatial-gate.is-open .aig-spatial-card{transform:none;opacity:1}
.aig-spatial-clone{margin:0!important;border:0!important;border-radius:24px!important;box-shadow:none!important;background:linear-gradient(145deg,#fff,#faf8ff)!important}
.aig-spatial-clone .v22-gap-action{pointer-events:none}

.aig-tilt-target{position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .14s ease,box-shadow .22s ease}
.aig-tilt-target::after{content:"";position:absolute;z-index:5;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.55),rgba(103,61,230,.14) 32%,transparent 68%);mix-blend-mode:screen;transition:opacity .2s ease,background-position .14s ease}
.aig-tilt-target:hover::after{opacity:.18}
.aig-tilt-nw{transform:perspective(900px) rotateX(3deg) rotateY(-4deg) translateY(-1px)}
.aig-tilt-n{transform:perspective(900px) rotateX(3deg) translateY(-1px)}
.aig-tilt-ne{transform:perspective(900px) rotateX(3deg) rotateY(4deg) translateY(-1px)}
.aig-tilt-w{transform:perspective(900px) rotateY(-4deg) translateY(-1px)}
.aig-tilt-c{transform:perspective(900px) scale(1.006)}
.aig-tilt-e{transform:perspective(900px) rotateY(4deg) translateY(-1px)}
.aig-tilt-sw{transform:perspective(900px) rotateX(-3deg) rotateY(-4deg) translateY(-1px)}
.aig-tilt-s{transform:perspective(900px) rotateX(-3deg) translateY(-1px)}
.aig-tilt-se{transform:perspective(900px) rotateX(-3deg) rotateY(4deg) translateY(-1px)}
.aig-tilt-nw::after,.aig-tilt-w::after,.aig-tilt-sw::after{background:radial-gradient(circle at 24% 50%,rgba(255,255,255,.65),rgba(103,61,230,.13) 32%,transparent 68%)}
.aig-tilt-ne::after,.aig-tilt-e::after,.aig-tilt-se::after{background:radial-gradient(circle at 76% 50%,rgba(255,255,255,.65),rgba(103,61,230,.13) 32%,transparent 68%)}
.aig-tilt-nw::after,.aig-tilt-n::after,.aig-tilt-ne::after{background-position:center 20%}
.aig-tilt-sw::after,.aig-tilt-s::after,.aig-tilt-se::after{background-position:center 80%}
.aig-tilt-rest{transition:transform .4s var(--aig-ease),box-shadow .3s ease!important}

@media(prefers-reduced-motion:reduce){
  .v22-voice-status>i,.v22-voice-status>i::before,.v22-voice-status>i::after,.v22-resume-voice-status>i,.v22-resume-voice-status>i::before,.v22-resume-voice-status>i::after,.v22-opening-voice-status>i,.v22-opening-voice-status>i::before,.v22-opening-voice-status>i::after,.v22-dertn-voice-status>i,.v22-dertn-voice-status>i::before,.v22-dertn-voice-status>i::after,.v22-sim-state>i,.v22-sim-state>i::before,.v22-sim-state>i::after{animation:none!important;transition:none!important}
  .aig-spatial-card,.aig-tilt-target{transform:none!important;transition:none!important}
  .aig-tilt-target::after{display:none!important}
}


/* V22 typography/readability pass — premium scale + richer secondary ink */
.v22-app{
  --muted:#5c6476;
  --v22-secondary:#596174;
  --v22-tertiary:#747d90;
  --v22-subtle:#8b93a4;
  --v22-on-dark:#aeb7c9;
  color:#151927;
  font-size:14px;
}
.v22-brand small{font-size:10.5px;color:#aab3c5}
.v22-nav button{color:#a7b0c2}
.v22-nav button span{font-size:10px;color:#8f98ab}
.v22-nav button b{font-size:12px}
.v22-nav button.is-active span{color:#b8aaff}
.v22-plan-pill{font-size:10px;color:#a8b1c3}
.v22-plan-pill b{font-size:11px}
.v22-rail-foot a{font-size:10.5px;color:#b5a8ff}
.v22-kicker{font-size:10px;letter-spacing:.085em}
.v22-topbar strong{font-size:14px}
.v22-ghost{font-size:11px;color:#515a6d}
.v22-welcome p,.v22-page-head p{font-size:14px;color:var(--v22-secondary);line-height:1.72}
.v22-primary,.v22-secondary,.v22-tool-grid button,.v22-sim-grid button{font-size:11.5px}
.v22-continuity-head{font-size:10.5px;color:#636c7f}
.v22-continuity-head b{font-size:9.5px}
.v22-continuity dt{font-size:11.5px;color:#626b7d}
.v22-continuity dd{font-size:13.5px}
.v22-section-head p{font-size:12px;color:var(--v22-secondary);line-height:1.65}
.v22-cycle button span{font-size:9.5px}
.v22-cycle button b{font-size:13.5px}
.v22-cycle button small{font-size:10.5px;color:#667084;line-height:1.45}
.v22-card-label{font-size:9.5px;color:#626b7d}
.v22-metric span{font-size:10.5px;color:#697285}
.v22-card p{font-size:11.5px;color:#626b7d;line-height:1.62}
.v22-route-list span b{font-size:9px;color:inherit}
.v22-tool-grid article>span,.v22-sim-grid article>span{font-size:9.5px}
.v22-tool-grid p,.v22-sim-grid p{font-size:12px;color:var(--v22-secondary);line-height:1.65}
.v22-question-item span{font-size:9.5px}
.v22-question-item b{font-size:11.25px;line-height:1.45;color:#2e3444}
.v22-question-item small{font-size:10px;color:var(--v22-tertiary);line-height:1.4}
.v22-question-meta{font-size:10.5px;color:#687184}
.v22-note{font-size:10.5px!important;color:#737c8f}
.v22-next-reason{font-size:10.5px;color:#564a83}
.v22-guidance summary,.v22-written-fallback summary{font-size:11.5px;color:#424a5d}
.v22-dertn-guide span{font-size:10px;color:#343b4c}
.v22-dertn-guide b{font-size:10px}
.v22-dertn-guide small{font-size:9.5px;color:#697285;line-height:1.4}
.v22-live-clock span{font-size:10px;color:#687184}
.v22-voice-status b,.v22-resume-voice-status b,.v22-opening-voice-status b,.v22-dertn-voice-status b,.v22-sim-state b{font-size:11.5px}
.v22-voice-status small,.v22-resume-voice-status small,.v22-opening-voice-status small,.v22-dertn-voice-status small,.v22-sim-state small{font-size:10.5px;color:#687184;line-height:1.45}
.v22-voice-trigger span,.v22-sim-voice span{font-size:11px}
.v22-voice-trigger b,.v22-sim-voice b{font-size:11.5px}
.v22-receipt-head>b{font-size:9.5px;color:#506b5e}
.v22-receipt-metrics span{font-size:9.5px;color:#687b72}
.v22-receipt-routes span b{font-size:9px}
.v22-practice-receipt p{font-size:10.5px;color:#5f6d66;line-height:1.55}
.v22-sim-grid article li{font-size:11px;color:#5f687b;line-height:1.5}
.v22-sim-grid article.featured li{color:#c5ccda}
.v22-sim-disclaimer{font-size:10.5px;color:#737c8f}
.v22-sim-session-head strong{font-size:13px}
.v22-sim-clocks span{font-size:9.5px;color:#667084}
.v22-sim-warning{font-size:10.5px}
.v22-sim-question>span{font-size:9.5px}
.v22-sim-abort{font-size:10px;color:#687184}

.v22-review-history-head span{font-size:10.5px;color:#3f475a}
.v22-review-history-head small{font-size:9.5px;color:#788194}
.v22-review-history .v22-receipt h3{font-size:12.5px}
.v22-review-history .v22-receipt p{font-size:10.5px;color:#667084;line-height:1.5}
.v22-review-history .v22-receipt time{font-size:9.5px;color:#7c8597}
.v22-review-empty p{font-size:12px;color:var(--v22-secondary)}
.v22-review-detail-head p{font-size:10.5px;color:#687184}
.v22-review-metrics span{font-size:9.5px;color:#687184}
.v22-review-insight p{font-size:11px;color:#625a7e;line-height:1.55}
.v22-review-answer-head span{font-size:9.5px}
.v22-review-answer-head b{font-size:9.5px;color:#697285}
.v22-review-answer button{font-size:10px}
.v22-review-routes span b{font-size:8.5px}
.v22-improve-reason{font-size:11px;color:#564b7f}
.v22-section-head.compact p{font-size:11px;color:#626b7d}
.v22-improve-step small{font-size:9.5px;color:#697285}
.v22-improve-step p{font-size:10.5px;color:#5f687a;line-height:1.5}
.v22-improve-step button{font-size:10px}
.v22-improve-evidence-list span{font-size:11px;color:#596174;line-height:1.5}

.v22-briefing-state{font-size:9.5px}
.v22-briefing-quiet p{font-size:11px;color:#616a7c}
.v22-briefing-grid span,.v22-briefing-why>span{font-size:9px;color:#687184}
.v22-briefing-grid p{font-size:11px;line-height:1.6}
.v22-briefing-why p{font-size:11px;line-height:1.6}
.v22-briefing-actions summary{font-size:10px;color:#60697c}
.v22-source-receipt span{font-size:10.5px}
.v22-source-receipt small{font-size:9px;color:#7d8698}
.v22-briefing-source-list>p{font-size:10px;color:#6e7789}
.v22-resume-alert p{font-size:10.5px;color:#735f66}

.v22-target-role-head p,.v22-role-center-head p{font-size:12px;color:#596174;line-height:1.65}
.v22-local-pill{font-size:9.5px}
.v22-target-input label{font-size:10px;color:#444d60}
.v22-target-input input,.v22-target-input textarea{font-size:12.5px}
.v22-target-input-foot p{font-size:10.5px;color:#697285}
.v22-role-import-status{font-size:10px;color:#626b7d}
.v22-target-summary p{font-size:11px;color:#5f687b;line-height:1.6}
.v22-role-source span{font-size:9px}
.v22-role-source strong{font-size:10.5px}
.v22-role-source p{font-size:10px;color:#5f687a}
.v22-role-source a{font-size:9.5px}
.v22-alignment-head{font-size:9px;color:#70798b}
.v22-target-req>span{font-size:9px}
.v22-target-req>b{font-size:12px}
.v22-target-req>small,.v22-target-evidence>small{font-size:9.5px;color:#6f788b;line-height:1.45}
.v22-evidence-status{font-size:9.5px}
.v22-target-question>b{font-size:10.5px;line-height:1.45}

.v22-role-pack p,.v22-gap-row p,.v22-passport-suggestion p,.v22-passport-bridge p{color:var(--v22-secondary)}
.v22-empty{font-size:11.5px;color:#667084}
.v22-receipt p{font-size:10.5px;color:#626b7d}
.v22-receipt time{font-size:9.5px;color:#7d8698}

/* Give low-priority copy a branded slate instead of generic gray */
.v22-app :is(.v22-note,.v22-card p,.v22-section-head p,.v22-cycle button small,.v22-question-item small,.v22-review-detail-head p,.v22-review-history small,.v22-target-input-foot p,.v22-briefing-source-list>p){
  text-wrap:pretty;
}
@media(max-width:760px){
  .v22-app{font-size:14px}
  .v22-nav button b{font-size:10.5px}
  .v22-nav button span{font-size:9.5px}
  .v22-welcome p,.v22-page-head p{font-size:13.5px}
  .v22-tool-grid p,.v22-sim-grid p,.v22-target-role-head p,.v22-role-center-head p{font-size:11.5px}
  .v22-card p{font-size:11px}
}


/* V22 global readability floor for semantic helper text */
.v22-app small{font-size:10px;line-height:1.45}
.v22-app input,.v22-app textarea,.v22-app select{font-size:12.5px;color:#252b3a}
.v22-app input::placeholder,.v22-app textarea::placeholder{color:#81899a;opacity:1}


/* Homepage pricing premium rebalance */
#pricing-full{padding-top:78px}
#pricing-full .pricing-main-head{margin-bottom:22px}
#pricing-full .pricing-main-head .kicker{margin-bottom:10px}
#pricing-full .pricing-main-head h2{
  max-width:820px;margin-left:auto;margin-right:auto;
  font-size:clamp(2.6rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.052em
}
#pricing-full .pricing-main-head p{
  max-width:680px;margin:16px auto 0;color:#596174;font-size:15px;line-height:1.65
}
#pricing-full .home-billing-control.centered-control{margin:26px 0 8px}
#pricing-full .home-billing-control .billing-switch,
.price-teaser .home-billing-control .billing-switch{
  width:min(340px,100%);min-height:56px;padding:5px;border-radius:16px;
  background:#f6f5fa;border:1px solid rgba(23,21,31,.10);box-shadow:0 10px 30px rgba(37,31,58,.055)
}
#pricing-full .home-billing-control .billing-switch button,
.price-teaser .home-billing-control .billing-switch button{
  flex:1;min-height:44px;padding:10px 18px;border-radius:11px;
  color:#596174;font-size:13px;letter-spacing:-.01em
}
#pricing-full .home-billing-control .billing-switch button.active,
.price-teaser .home-billing-control .billing-switch button.active{
  background:linear-gradient(135deg,#6f4ff0,#5b37f2);color:#fff;
  box-shadow:0 8px 20px rgba(91,55,242,.20)
}
#pricing-full .home-billing-copy.centered-copy{
  max-width:720px;margin:0 auto 18px!important;color:#697285!important;font-size:12.5px!important;line-height:1.55!important
}
#pricing-full .pricing-trust{
  display:flex;justify-content:center;gap:8px 0;flex-wrap:wrap;
  margin:0 0 42px;color:#596174;font-size:12.5px;font-weight:550
}
#pricing-full .pricing-trust span{display:inline-flex;align-items:center}
#pricing-full .pricing-trust span+span::before{content:"·";margin:0 12px;color:#9da4b2}
#pricing-full .pricing-grid{
  width:min(100%,1420px);margin:0 auto;gap:20px;align-items:stretch
}
#pricing-full .home-pricing-card{
  min-height:100%;padding:30px;border:1px solid rgba(23,21,31,.10);border-radius:22px;
  background:#fcfbfe;box-shadow:0 16px 48px rgba(37,31,58,.065);
  transition:transform .24s var(--aig-ease),box-shadow .24s var(--aig-ease),border-color .18s ease
}
#pricing-full .home-pricing-card:hover{
  transform:translateY(-2px);border-color:rgba(103,61,230,.18);box-shadow:0 24px 64px rgba(37,31,58,.095)
}
#pricing-full .home-pricing-card.featured-card{
  transform:translateY(-5px);border:1.5px solid rgba(103,61,230,.68);
  background:linear-gradient(180deg,#fdfcff 0%,#faf8ff 100%);
  box-shadow:0 26px 74px rgba(103,61,230,.13)
}
#pricing-full .home-pricing-card.featured-card:hover{transform:translateY(-7px)}
#pricing-full .home-pricing-card.mastery-card{
  background:linear-gradient(180deg,#fdfdff 0%,#fafbff 100%)
}
#pricing-full .home-pricing-card .popular,
#pricing-full .home-pricing-card .best-value{
  top:-10px;padding:6px 9px;border-radius:999px;font-size:8.5px;letter-spacing:.075em;box-shadow:none
}
#pricing-full .home-pricing-card .popular{left:24px;background:#673de6}
#pricing-full .home-pricing-card .best-value{right:22px;background:#25377d;border:0}
#pricing-full .home-pricing-card .plan-top{align-items:flex-start;gap:18px;min-height:62px}
#pricing-full .home-pricing-card .plan-top>div{display:grid;gap:5px;min-width:0}
#pricing-full .home-pricing-card .plan-top>div>span{
  font:800 1.48rem/1.15 var(--display);letter-spacing:-.035em;color:#17151f
}
#pricing-full .home-pricing-card .plan-purpose{
  color:#667084;font:650 11.5px/1.35 var(--body);letter-spacing:0
}
#pricing-full .home-pricing-card .plan-top>small{
  flex:0 0 auto;padding:6px 8px;border:1px solid rgba(23,21,31,.07);border-radius:999px;
  background:#f5f3f9;color:#697285;font-size:10px;font-weight:650;white-space:nowrap
}
#pricing-full .home-pricing-card .plan-price{margin:18px 0 16px}
#pricing-full .home-pricing-card .regular-price{
  display:block;margin-bottom:14px;color:#747d90;font-size:12.5px;font-weight:550;text-decoration:none
}
#pricing-full .home-pricing-card .regular-price s{
  margin-left:4px;color:#8b93a4;text-decoration-thickness:1.25px;text-decoration-color:#9aa0ad
}
#pricing-full .home-pricing-card .pay-label{
  display:block;margin:0 0 4px;color:#596174;font-size:13px;font-weight:650
}
#pricing-full .home-pricing-card .price-row{
  display:flex;align-items:baseline;gap:7px;min-height:58px
}
#pricing-full .home-pricing-card .price-row strong{
  display:inline;font:800 clamp(3.15rem,4vw,3.65rem)/.96 var(--display);letter-spacing:-.06em;color:#17151f
}
#pricing-full .home-pricing-card .price-suffix{
  margin:0;color:#596174;font:650 clamp(.76rem,.9vw,.9rem)/1 var(--display);letter-spacing:-.015em;white-space:nowrap
}
#pricing-full .home-pricing-card .launch-saving{
  display:inline-flex;width:max-content;margin-top:11px;padding:6px 10px;border-radius:999px;
  background:#eaf7f1;color:#157354;border:1px solid rgba(21,115,84,.08);
  font-size:10.5px;font-weight:750;letter-spacing:0;text-transform:none
}
#pricing-full .home-pricing-card .featured-saving{background:#f0ebff;color:#5b3fd0;border-color:rgba(91,63,208,.08)}
#pricing-full .home-pricing-card .billing-note{margin-top:8px;color:#747d90;font-size:11.5px;line-height:1.4}
#pricing-full .home-pricing-card>p{
  min-height:46px;margin:14px 0 0;color:#596174;font-size:14px;line-height:1.55
}
#pricing-full .home-pricing-card .full{
  min-height:52px;margin-top:18px;border-radius:13px;font-size:15px;font-weight:750
}
#pricing-full .home-pricing-card .btn-secondary{
  background:#fff;border-color:#d9d7e1;color:#17151f;box-shadow:0 5px 14px rgba(37,31,58,.035)
}
#pricing-full .home-pricing-card .btn-primary{
  box-shadow:0 12px 28px rgba(91,55,242,.20)
}
#pricing-full .home-pricing-card ul{margin:24px 0 0}
#pricing-full .home-pricing-card li{
  padding:11px 0 11px 22px;border-bottom:1px solid #eceaf1;color:#343a49;font-size:13.5px;line-height:1.45
}
#pricing-full .home-pricing-card li:before{top:11px;font-size:12px}
#pricing-full .home-pricing-card .why-plan{
  margin-top:18px;padding:14px 15px;border-radius:13px;background:#f3f0ff;border:1px solid rgba(103,61,230,.08)
}
#pricing-full .home-pricing-card .why-plan small{color:#6b57c2;font-size:9px}
#pricing-full .home-pricing-card .why-plan strong{color:#4e4862;font-size:11.5px;line-height:1.5}
#pricing-full .pricing-note{margin-top:26px;color:#697285;font-size:11px}
#pricing-full .free-path{margin-top:18px;color:#596174;font-size:12.5px}

.price-teaser .home-billing-control{margin:24px 0 10px}
.price-teaser .home-billing-copy{color:#697285!important;font-size:11.5px!important;line-height:1.55!important}

@media(max-width:900px){
  #pricing-full{padding-top:64px}
  #pricing-full .pricing-grid{grid-template-columns:1fr;max-width:720px}
  #pricing-full .home-pricing-card.featured-card{order:-1;transform:none}
  #pricing-full .home-pricing-card.featured-card:hover{transform:translateY(-2px)}
  #pricing-full .home-pricing-card{padding:28px}
  #pricing-full .pricing-trust{max-width:620px;margin-left:auto;margin-right:auto}
}
@media(max-width:620px){
  #pricing-full .pricing-main-head h2{font-size:clamp(2.2rem,11vw,3rem)}
  #pricing-full .pricing-main-head p{font-size:14px}
  #pricing-full .home-billing-control.centered-control{margin-top:20px}
  #pricing-full .pricing-trust{gap:7px 0;margin-bottom:30px;font-size:11.5px}
  #pricing-full .pricing-trust span+span::before{margin:0 8px}
  #pricing-full .home-pricing-card{padding:24px 22px}
  #pricing-full .home-pricing-card .plan-top{display:grid;gap:10px}
  #pricing-full .home-pricing-card .plan-top>small{justify-self:start}
  #pricing-full .home-pricing-card .price-row strong{font-size:clamp(2.75rem,15vw,3.25rem)}
  #pricing-full .home-pricing-card .price-suffix{font-size:1rem}
  #pricing-full .home-pricing-card>p{min-height:0}
  #pricing-full .home-pricing-card li{font-size:13px}
}


/* Annual-first compact pricing teaser */
.price-teaser .mini-prices strong{display:flex;align-items:baseline;gap:4px}
.price-teaser .mini-prices strong::after{content:"/month";color:#697285;font:650 9px/1 var(--body);letter-spacing:0}
.price-teaser .mini-prices .mini-regular{color:#8b93a4;font-size:10.5px}
.price-teaser .mini-prices small{color:#596174;font-size:10.5px;line-height:1.45}
