/* BUGGY Passport v236 BASE R31 — approved test-Passport erase control; R30 CELL routing and earlier behavior preserved. */
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&family=Permanent+Marker&display=swap');

/* ==========================================================================
   BUGGY Passport v71 — adaptive onboarding presenter + safe callout interiors
   ========================================================================== */

/* Dashboard guidance keeps the approved low viewport anchor from v69. Only
   check-in, account setup, and login use the content-aware top coordinate. */
#buggy-passport-app{
  --rip-onboarding-presenter-top:320px;
}
#buggy-passport-app #passportActivate #activationRipScene,
#buggy-passport-app #passportSetup #setupRipScene,
#buggy-passport-app #passportLogin #loginRipScene{
  top:var(--rip-onboarding-presenter-top)!important;
  bottom:auto!important;
  transition:top .18s ease-out!important;
}

/* The form still scrolls behind the fixed guide. This clearance lets every
   temporarily covered field or action move completely above RIP. */
#buggy-passport-app #passportActivate .setup-shell,
#buggy-passport-app #passportSetup .setup-shell,
#buggy-passport-app #passportLogin .setup-shell{
  padding-bottom:max(360px,46svh)!important;
  scroll-padding-bottom:300px!important;
}

/* A callout is a hard visual boundary. Children may shrink within its safe
   interior, but text, the pin token, and EXPLAIN never paint outside it. */
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech,
#buggy-passport-app .passport-intro-speech,
#buggy-passport-app #passport .passport-context-speech,
#buggy-passport-app #trainingPage .training-rip-message{
  overflow:hidden!important;
  contain:paint!important;
}
#buggy-passport-app .rip-callout-copy{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-wrap:pretty!important;
  box-sizing:border-box!important;
}

/* Setup has an explicit safe rectangle above EXPLAIN. The pin context uses a
   narrower left inset so the draggable token and copy cannot collide. */
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  max-height:calc(100% - 56px)!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  max-width:72px!important;
  max-height:84px!important;
  overflow:hidden!important;
  contain:paint!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin > *{
  max-width:100%!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-explain-button{
  right:34px!important;
  width:max-content!important;
  max-width:calc(100% - 65px)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .buggy-explain-button{
  max-width:calc(100% - 130px)!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportActivate .setup-shell,
  #buggy-passport-app #passportSetup .setup-shell,
  #buggy-passport-app #passportLogin .setup-shell{
    padding-bottom:max(330px,48svh)!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
    max-width:66px!important;
    max-height:78px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #buggy-passport-app #passportActivate #activationRipScene,
  #buggy-passport-app #passportSetup #setupRipScene,
  #buggy-passport-app #passportLogin #loginRipScene{
    transition:none!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* v72 FINAL CASCADE — callout oval, mouth pointer, and front-layer geometry. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech{
  left:6px!important;right:auto!important;top:auto!important;bottom:32px!important;
  width:calc(100% - 112px)!important;max-width:none!important;
  height:154px!important;min-height:154px!important;margin:0!important;padding:0!important;
  z-index:6!important;overflow:hidden!important;contain:paint!important;pointer-events:none!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;background-position:92.1% 50.4%!important;
  background-repeat:no-repeat!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-rip,
#buggy-passport-app #passportSetup #setupRipScene .setup-rip,
#buggy-passport-app #passportLogin #loginRipScene .setup-rip{z-index:4!important;}
#buggy-passport-app #passportActivate #activationRipScene .setup-speech:after,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech:after,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech:after{
  -webkit-mask-image:var(--rip-callout-compact-sprite)!important;mask-image:var(--rip-callout-compact-sprite)!important;
  -webkit-mask-size:422.2% 535.9%!important;mask-size:422.2% 535.9%!important;
  -webkit-mask-position:92.1% 50.4%!important;mask-position:92.1% 50.4%!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;left:27px!important;right:53px!important;top:21px!important;bottom:22px!important;
  width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  overflow:hidden!important;overflow-wrap:anywhere!important;text-wrap:pretty!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;left:27px!important;right:53px!important;top:19px!important;bottom:43px!important;
  width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  overflow:hidden!important;overflow-wrap:anywhere!important;text-wrap:pretty!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{left:89px!important;right:47px!important;}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  left:13px!important;top:34px!important;width:64px!important;min-height:70px!important;
  max-width:64px!important;max-height:76px!important;margin:0!important;z-index:8!important;
  overflow:hidden!important;pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-explain-button{
  left:50%!important;right:auto!important;bottom:11px!important;width:max-content!important;max-width:94px!important;
  margin:0!important;transform:translateX(-50%)!important;z-index:8!important;
  overflow:hidden!important;white-space:nowrap!important;pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .buggy-explain-button{left:60%!important;max-width:94px!important;}
@media(max-width:380px){
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech,
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech{
    left:2px!important;bottom:22px!important;width:calc(100% - 96px)!important;height:146px!important;min-height:146px!important;
  }
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{left:23px!important;right:47px!important;top:19px!important;bottom:20px!important;}
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{left:23px!important;right:47px!important;top:17px!important;bottom:41px!important;}
  #buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{left:81px!important;right:42px!important;}
  #buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
    left:10px!important;top:33px!important;width:59px!important;min-height:65px!important;max-width:59px!important;max-height:71px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v72 — one front-layer presenter composition
   ========================================================================== */

/* The side-tail callout is sized so its tip ends at the waist-up RIP artwork's
   mouth. It is drawn in FRONT of RIP; the oval remains left of his face. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech{
  left:6px!important;
  right:auto!important;
  top:auto!important;
  bottom:32px!important;
  width:calc(100% - 112px)!important;
  max-width:none!important;
  height:154px!important;
  min-height:154px!important;
  margin:0!important;
  padding:0!important;
  z-index:6!important;
  overflow:hidden!important;
  contain:paint!important;
  pointer-events:none!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
  background-repeat:no-repeat!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-rip,
#buggy-passport-app #passportSetup #setupRipScene .setup-rip,
#buggy-passport-app #passportLogin #loginRipScene .setup-rip{
  z-index:4!important;
}

/* Notification tint uses the identical side-tail silhouette. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech:after,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech:after,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech:after{
  -webkit-mask-image:var(--rip-callout-compact-sprite)!important;
  mask-image:var(--rip-callout-compact-sprite)!important;
  -webkit-mask-size:422.2% 535.9%!important;
  mask-size:422.2% 535.9%!important;
  -webkit-mask-position:92.1% 50.4%!important;
  mask-position:92.1% 50.4%!important;
}

/* Center what RIP says inside the OVAL portion. The right inset excludes the
   pointer, so the tail can never pull the copy off-center. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:27px!important;
  right:53px!important;
  top:21px!important;
  bottom:22px!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  text-wrap:pretty!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:27px!important;
  right:53px!important;
  top:19px!important;
  bottom:43px!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  text-wrap:pretty!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
  left:89px!important;
  right:47px!important;
}

/* The pin and EXPLAIN are separate oval occupants, not part of the copy box. */
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  left:13px!important;
  top:34px!important;
  width:64px!important;
  min-height:70px!important;
  max-width:64px!important;
  max-height:76px!important;
  margin:0!important;
  z-index:8!important;
  overflow:hidden!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-explain-button{
  left:50%!important;
  right:auto!important;
  bottom:11px!important;
  width:max-content!important;
  max-width:94px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  z-index:8!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .buggy-explain-button{
  left:60%!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech,
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech{
    left:2px!important;
    bottom:22px!important;
    width:calc(100% - 96px)!important;
    height:146px!important;
    min-height:146px!important;
  }
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
    left:23px!important;
    right:47px!important;
    top:19px!important;
    bottom:20px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
    left:23px!important;
    right:47px!important;
    top:17px!important;
    bottom:41px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
    left:81px!important;
    right:42px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
    left:10px!important;
    top:33px!important;
    width:59px!important;
    min-height:65px!important;
    max-width:59px!important;
    max-height:71px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

#buggy-passport-app{--sage:#58615F;--navy:#041E42;--sun:#FEBD3B;--fog:#F1F0EB;--char:#2A2F2D;--red:#BF0D3E;--muted:#d8d4c8;--line:rgba(241,240,235,.18)}
#buggy-passport-app,#buggy-passport-app *{box-sizing:border-box}#buggy-passport-app{margin:0;min-height:100vh;background:linear-gradient(145deg,var(--char),#111f1c);color:var(--fog);font-family:"Courier Prime","Courier New",monospace}#buggy-passport-app .phone{width:min(430px,100%);min-height:100vh;margin:0 auto;background:var(--char);border-left:1px solid var(--line);border-right:1px solid var(--line)}#buggy-passport-app .pattern{height:42px;background:var(--sage);border-bottom:5px solid var(--sun);display:flex;align-items:center;white-space:nowrap;overflow:hidden;padding-left:8px;font-size:11px;letter-spacing:.16em;font-weight:900}#buggy-passport-app header{position:sticky;top:0;z-index:10;padding:13px 16px;background:linear-gradient(180deg,rgba(42,47,45,.98),rgba(42,47,45,.8),transparent);backdrop-filter:blur(12px)}#buggy-passport-app .brand{display:flex;justify-content:space-between;gap:10px;align-items:center}#buggy-passport-app .lock{display:flex;gap:10px;align-items:center}#buggy-passport-app .logo{width:86px;height:54px;object-fit:contain;background:var(--fog);border-radius:15px;padding:4px;border:2px solid rgba(241,240,235,.65)}#buggy-passport-app .passport-header-lockup{display:block;width:min(210px,52vw);height:auto;object-fit:contain}#buggy-passport-app h1{margin:0;color:var(--sun);font:1000 23px Impact,"Arial Black",sans-serif;text-transform:uppercase}#buggy-passport-app .sub{color:var(--fog);font-family:"Permanent Marker","Comic Sans MS",cursive;font-size:12px}#buggy-passport-app .pill{border:1px solid rgba(254,189,59,.55);background:rgba(254,189,59,.15);color:var(--sun);border-radius:999px;padding:8px 9px;font:1000 10px Arial;text-transform:uppercase;text-align:right;line-height:1.25}#buggy-passport-app main{padding:0 16px 98px}#buggy-passport-app .screen{display:none}#buggy-passport-app .screen.active{display:block}#buggy-passport-app .hero,#buggy-passport-app .card,#buggy-passport-app .value{border:1px solid var(--line);border-radius:24px;padding:15px;background:linear-gradient(180deg,rgba(241,240,235,.08),rgba(241,240,235,.04));box-shadow:0 12px 30px rgba(0,0,0,.20)}#buggy-passport-app .hero{border-radius:30px;background:linear-gradient(135deg,rgba(254,189,59,.18),transparent 45%),linear-gradient(170deg,rgba(191,13,62,.15),transparent 55%),rgba(241,240,235,.04)}#buggy-passport-app .eyebrow{color:var(--sun);font:1000 13px Impact,"Arial Black",sans-serif;text-transform:uppercase;margin-bottom:9px}#buggy-passport-app h2{margin:0 0 10px;color:var(--fog);font:1000 39px "Arial Black",sans-serif;line-height:.95}#buggy-passport-app p{margin:0;color:var(--fog);line-height:1.45;font-size:14px}#buggy-passport-app .rip-row{display:flex;gap:12px;align-items:center;margin:14px 0;border:1px dashed rgba(254,189,59,.45);border-radius:22px;padding:10px;background:rgba(4,30,66,.30)}#buggy-passport-app .rip{width:78px;min-width:78px;height:108px;object-fit:contain;filter:drop-shadow(0 13px 20px rgba(0,0,0,.34));animation:bob 3.2s ease-in-out infinite}#buggy-passport-app .rip.small{width:70px;min-width:70px;height:98px}#buggy-passport-app .speech{background:var(--fog);color:var(--char);border:4px solid #050505;border-radius:20px;padding:10px;font-family:"Permanent Marker","Comic Sans MS",cursive;font-weight:900;font-size:13px;line-height:1.3;animation:wobble 4s ease-in-out infinite}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wobble{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(.7deg)}}#buggy-passport-app button{appearance:none;border:0;cursor:pointer;font-family:"Permanent Marker","Comic Sans MS",cursive;font-weight:1000;border-radius:16px;padding:11px 13px}#buggy-passport-app .primary{background:var(--sun);color:var(--char)}#buggy-passport-app .secondary{background:rgba(241,240,235,.08);color:var(--fog);border:1px solid var(--line)}#buggy-passport-app .cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}#buggy-passport-app .title{display:flex;justify-content:space-between;gap:10px;align-items:end;margin:18px 4px 10px}#buggy-passport-app .title h3{margin:0;color:var(--sun);font:1000 20px Impact,"Arial Black",sans-serif;text-transform:uppercase}#buggy-passport-app .title span{color:var(--muted);font-size:12px;text-align:right}#buggy-passport-app .progress{height:13px;border-radius:999px;background:rgba(241,240,235,.1);overflow:hidden;margin:0 0 12px;border:1px solid rgba(241,240,235,.12)}#buggy-passport-app .bar{height:100%;width:0;background:linear-gradient(90deg,var(--sun),var(--red));transition:width .25s}#buggy-passport-app .grid{display:grid;gap:10px}#buggy-passport-app .value{background:rgba(241,240,235,.05)}#buggy-passport-app .value.done{border-color:rgba(254,189,59,.45);box-shadow:0 0 0 1px rgba(254,189,59,.16) inset}#buggy-passport-app .vhead{display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}#buggy-passport-app .vleft{display:flex;gap:10px}#buggy-passport-app .icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font:1000 15px "Arial Black",sans-serif;border:2px solid rgba(241,240,235,.18)}#buggy-passport-app h4{margin:0;color:var(--fog);font:1000 14px Arial;text-transform:uppercase;letter-spacing:.04em}#buggy-passport-app .desc,#buggy-passport-app small{color:var(--muted);font-size:12px;line-height:1.35}#buggy-passport-app .state{font:1000 10px Arial;text-transform:uppercase;color:var(--muted);white-space:nowrap}#buggy-passport-app .value.done .state{color:var(--sun)}#buggy-passport-app .training{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid rgba(241,240,235,.10);background:rgba(42,47,45,.25);border-radius:16px;padding:9px;cursor:pointer;margin-top:7px}#buggy-passport-app .training.done{background:rgba(254,189,59,.12);border-color:rgba(254,189,59,.35)}#buggy-passport-app .check{width:25px;height:25px;border-radius:9px;border:2px solid rgba(241,240,235,.35);display:grid;place-items:center;color:var(--char);font:1000 13px "Arial Black",sans-serif}#buggy-passport-app .training.done .check{background:var(--sun);border-color:var(--sun)}#buggy-passport-app .training b{display:block;color:var(--fog);font:1000 13px Arial;text-transform:uppercase}#buggy-passport-app .tag{padding:5px 7px;border-radius:999px;font:1000 9px Arial;text-transform:uppercase;white-space:nowrap;border:1px solid rgba(241,240,235,.14);color:var(--muted)}#buggy-passport-app .tag.req{background:rgba(191,13,62,.25);border-color:rgba(191,13,62,.55);color:#ffd7df}#buggy-passport-app .tag.mark{background:rgba(254,189,59,.17);border-color:rgba(254,189,59,.35);color:var(--sun)}#buggy-passport-app .unlocks{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}#buggy-passport-app .unlock{font:1000 10px Arial;text-transform:uppercase;border-radius:999px;padding:6px 8px;background:rgba(4,30,66,.35);border:1px solid rgba(241,240,235,.11);color:var(--muted)}#buggy-passport-app .unlock.on{background:rgba(254,189,59,.18);border-color:rgba(254,189,59,.35);color:var(--sun)}#buggy-passport-app .summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}#buggy-passport-app .summary .card b{display:block;color:var(--sun);font:1000 13px Arial;text-transform:uppercase;margin-bottom:4px}#buggy-passport-app .lesson-top{display:flex;gap:12px;align-items:flex-start}#buggy-passport-app .slide-num{font:1000 11px Arial;color:var(--sun);text-transform:uppercase;margin-bottom:8px}#buggy-passport-app .quiz-choice{display:block;width:100%;text-align:left;margin:8px 0;background:rgba(241,240,235,.08);border:1px solid var(--line);color:var(--fog);font-family:Arial,sans-serif;border-radius:15px;padding:10px}#buggy-passport-app .quiz-choice.selected{border-color:rgba(254,189,59,.6);background:rgba(254,189,59,.14)}#buggy-passport-app .result{display:none;margin-top:10px;padding:10px;border-radius:15px;background:rgba(4,30,66,.38);border:1px solid rgba(241,240,235,.12);color:var(--fog);font-size:13px}#buggy-passport-app .result.show{display:block}#buggy-passport-app .map{height:330px;position:relative;overflow:hidden;background:linear-gradient(90deg,#dbc596 0 24%,#dce9cf 24% 30%,#79c7df 30% 100%);border-radius:0 0 22px 22px}#buggy-passport-app .road{position:absolute;left:125px;top:-18px;width:54px;height:400px;background:#2c343c;transform:rotate(13deg);border-left:6px solid rgba(241,240,235,.33);border-right:6px solid rgba(241,240,235,.33);z-index:2}#buggy-passport-app .road:after{content:"";position:absolute;left:20px;top:0;bottom:0;width:4px;background:repeating-linear-gradient(180deg,var(--sun) 0 18px,transparent 18px 33px)}#buggy-passport-app .route{position:absolute;left:67px;top:59px;width:210px;height:207px;border:8px solid var(--red);border-left-color:transparent;border-radius:50%;transform:rotate(-18deg);z-index:3}#buggy-passport-app .maptop{padding:13px 14px;background:rgba(241,240,235,.055);border-bottom:1px solid var(--line);border-radius:22px 22px 0 0}#buggy-passport-app .maptop b{color:var(--sun);font:1000 14px Arial;text-transform:uppercase}#buggy-passport-app nav{position:sticky;bottom:0;left:auto;transform:none;width:100%;z-index:50;padding:10px 12px 14px;background:linear-gradient(180deg,rgba(42,47,45,0),rgba(42,47,45,.92) 20%,rgba(42,47,45,.99))}#buggy-passport-app .tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border-radius:24px;border:1px solid var(--line);background:rgba(241,240,235,.08);backdrop-filter:blur(16px)}#buggy-passport-app .tab{border-radius:18px;padding:10px 4px;text-align:center;color:var(--muted);font:1000 10px Arial;text-transform:uppercase;cursor:pointer}#buggy-passport-app .tab.active{background:rgba(254,189,59,.18);color:var(--sun)}@media(min-width:760px){#buggy-passport-app{padding:26px}#buggy-passport-app .phone{border-radius:38px;min-height:930px;box-shadow:0 30px 100px rgba(0,0,0,.4)}#buggy-passport-app .pattern{border-radius:38px 38px 0 0}#buggy-passport-app nav{bottom:0;border-radius:0 0 38px 38px}}

#buggy-passport-app .marker-card{border:1px solid rgba(241,240,235,.12);background:rgba(241,240,235,.05);border-radius:20px;padding:12px;margin-bottom:10px}
#buggy-passport-app .marker-card.earned{border-color:rgba(254,189,59,.45);background:rgba(254,189,59,.11);box-shadow:0 0 0 1px rgba(254,189,59,.12) inset}
#buggy-passport-app .marker-card b{display:block;color:var(--fog);font:1000 14px Arial;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
#buggy-passport-app .marker-card small{display:block;color:var(--muted);line-height:1.35}
#buggy-passport-app .marker-pill{display:inline-flex;margin-top:8px;margin-right:5px;border-radius:999px;padding:6px 8px;font:1000 10px Arial;text-transform:uppercase;letter-spacing:.04em;border:1px solid rgba(241,240,235,.14);color:var(--muted);background:rgba(241,240,235,.06)}
#buggy-passport-app .marker-card.earned .marker-pill{border-color:rgba(254,189,59,.35);color:var(--sun);background:rgba(254,189,59,.16)}
#buggy-passport-app .completion-card{display:none;margin-top:12px;padding:13px;border-radius:20px;border:1px solid rgba(254,189,59,.45);background:rgba(254,189,59,.12)}
#buggy-passport-app .completion-card.show{display:block}
#buggy-passport-app .completion-card h4{color:var(--sun);margin:0 0 6px;font:1000 18px Impact,"Arial Black",sans-serif;text-transform:uppercase}
#buggy-passport-app .completion-card p{margin:0 0 10px;color:var(--fog);font-size:13px}

#buggy-passport-app .training b:after{content:"  → Start CBT";color:var(--sun);font-size:10px;letter-spacing:.04em}
#buggy-passport-app .training.done b:after{content:"  → Review CBT";color:var(--sun);font-size:10px;letter-spacing:.04em}

#buggy-passport-app #moduleTraining .card{border-color:rgba(254,189,59,.35)}
#buggy-passport-app #moduleTraining .title span:after{content:" • Passport-linked";color:var(--sun)}

#buggy-passport-app .marker-card .coupon-note{display:block;margin-top:8px;color:var(--sun);font-weight:900}

#buggy-passport-app .coupon-box{margin-top:10px;border:2px dashed rgba(254,189,59,.70);background:rgba(254,189,59,.15);border-radius:16px;padding:10px}
#buggy-passport-app .coupon-box b{display:block;color:var(--sun);font:1000 13px Arial;text-transform:uppercase;margin-bottom:3px}
#buggy-passport-app .coupon-box span{display:block;color:var(--fog);font:1000 13px Arial;text-transform:uppercase;line-height:1.25}
#buggy-passport-app .coupon-box small{display:block;color:var(--muted);font-size:11px;margin-top:4px}

#buggy-passport-app .coupon-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#buggy-passport-app .coupon-used{margin-top:10px;border:1px solid rgba(241,240,235,.18);background:rgba(241,240,235,.06);border-radius:16px;padding:10px;color:var(--muted);font:1000 12px Arial;text-transform:uppercase}
#buggy-passport-app .coupon-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72)}
#buggy-passport-app .coupon-modal.open{display:flex}
#buggy-passport-app .coupon-sheet{width:min(390px,100%);border:2px solid rgba(254,189,59,.70);background:var(--char);border-radius:28px;padding:18px;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.50)}
#buggy-passport-app .coupon-sheet h3{margin:0 0 10px;color:var(--sun);font:1000 26px Impact,"Arial Black",sans-serif;text-transform:uppercase;letter-spacing:.03em}
#buggy-passport-app .coupon-code{border:2px dashed rgba(254,189,59,.75);background:rgba(254,189,59,.16);border-radius:20px;padding:16px;color:var(--fog);font:1000 18px Arial;text-transform:uppercase;line-height:1.25;margin-bottom:10px}
#buggy-passport-app .coupon-sheet p{color:var(--fog);font-size:13px;margin:0 0 12px}
#buggy-passport-app .coupon-warning{color:var(--muted)!important;font-size:12px!important;line-height:1.35!important}
#buggy-passport-app .coupon-vendor-validation{display:grid;gap:7px;margin:12px 0;text-align:left}
#buggy-passport-app .coupon-vendor-validation label{color:var(--fog);font:400 14px/1.1 "Permanent Marker","Comic Sans MS",cursive}
#buggy-passport-app .coupon-vendor-code{width:100%;min-height:48px;padding:11px 13px;border:2px solid rgba(254,189,59,.58);border-radius:14px;background:var(--fog);color:var(--char);font:700 16px/1.1 "Courier Prime","Courier New",monospace;text-transform:uppercase;letter-spacing:.06em}
#buggy-passport-app .coupon-validation-message{min-height:18px;color:#ffd7df;font:700 12px/1.3 "Courier Prime","Courier New",monospace}
#buggy-passport-app .coupon-validation-message.success{color:#d9e5dc}
#buggy-passport-app .coupon-modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
#buggy-passport-app .completion-primary-incentive{margin:10px 0;padding:10px 12px;border-radius:14px;background:rgba(254,189,59,.14);border:1px solid rgba(254,189,59,.34)}
#buggy-passport-app .completion-primary-incentive b,#buggy-passport-app .completion-primary-incentive span{display:block}
#buggy-passport-app .completion-primary-incentive b{color:var(--char);font:400 12px/1.1 "Permanent Marker","Comic Sans MS",cursive}
#buggy-passport-app .completion-primary-incentive span{margin-top:3px;color:var(--red);font:400 18px/1.05 "Permanent Marker","Comic Sans MS",cursive}

/* iPhone / no-custom-font viewing mode */
#buggy-passport-app,#buggy-passport-app p,#buggy-passport-app small,#buggy-passport-app .desc,#buggy-passport-app .pill,#buggy-passport-app .tag,#buggy-passport-app .marker-pill,#buggy-passport-app .state,#buggy-passport-app .quiz-choice,#buggy-passport-app .coupon-sheet p{
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important;
}
#buggy-passport-app h1,#buggy-passport-app h2,#buggy-passport-app h3,#buggy-passport-app h4,#buggy-passport-app .title h3,#buggy-passport-app .eyebrow,#buggy-passport-app .training b,#buggy-passport-app .summary .card b,#buggy-passport-app .marker-card b,#buggy-passport-app .coupon-sheet h3{
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Avenir Next Condensed", "Arial Black", Arial, sans-serif !important;
  font-weight: 900 !important;
}
#buggy-passport-app button,#buggy-passport-app .sub,#buggy-passport-app .speech{
  font-family: "Marker Felt", -apple-system, BlinkMacSystemFont, "SF Pro Rounded", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 800 !important;
}


/* BUGGY Zone Map clean embed mode */
#buggy-passport-app .buggy-map-shell{padding:0;overflow:hidden;border-radius:22px;background:rgba(241,240,235,.045);border:1px solid rgba(241,240,235,.13)}
#buggy-passport-app .buggy-map-embed{height:430px;position:relative;overflow:hidden;background:#73C5D8;border-top:1px solid rgba(241,240,235,.10);overscroll-behavior:contain;}
#buggy-passport-app .buggy-map-embed iframe{width:calc(100% + 10px);height:100%;margin-left:-5px;border:0;display:block;background:#73C5D8;overflow:hidden;overscroll-behavior:contain;}
#buggy-passport-app .buggy-map-note{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 12px;color:var(--muted);font:900 9px Arial;text-transform:uppercase;letter-spacing:.04em;background:rgba(42,47,45,.65);border-top:1px solid rgba(241,240,235,.10)}
#buggy-passport-app .buggy-map-note b{color:var(--sun);font:1000 9px Arial;text-transform:uppercase}
@media(max-width:430px){#buggy-passport-app .buggy-map-embed{height:405px}}


#buggy-passport-app .buggy-map-embed{background:#73C5D8!important}
#buggy-passport-app .buggy-map-embed iframe{vertical-align:top!important}
#buggy-passport-app.map-gesture-active{overscroll-behavior:none;}


/* BUGGY Passport page containment: keep these styles from touching the Lake House/Squarespace header/nav. */
#buggy-passport-app{position:relative;z-index:1;margin:0 calc(50% - 50vw)!important;width:100vw!important;max-width:100vw!important;overflow-x:hidden;display:block;}
#buggy-passport-app .phone{position:relative;overflow:hidden;}
#buggy-passport-app nav{box-shadow:0 -12px 28px rgba(0,0,0,.28);}
/* Published page chrome cleanup. This does not run inside most Squarespace editor iframes. */
html.buggy-passport-live body > header,
html.buggy-passport-live header#header,
html.buggy-passport-live .Header,
html.buggy-passport-live .header-announcement-bar-wrapper,
html.buggy-passport-live .site-header,
html.buggy-passport-live body > footer,
html.buggy-passport-live footer#footer,
html.buggy-passport-live .Footer,
html.buggy-passport-live .site-footer{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;overflow:hidden!important;}
html.buggy-passport-live body{margin:0!important;padding:0!important;overflow-x:hidden!important;}
html.buggy-passport-live #page,
html.buggy-passport-live .page-section,
html.buggy-passport-live .content-wrapper,
html.buggy-passport-live .sqs-layout,
html.buggy-passport-live .sqs-block,
html.buggy-passport-live .sqs-block-content{margin-top:0!important;padding-top:0!important;}
html.buggy-passport-live .sqs-block-code{padding:0!important;margin:0!important;}
@media(min-width:760px){#buggy-passport-app{min-height:100vh;}#buggy-passport-app .phone{margin:0 auto 0 auto;}}


/* Home welcome redesign: Apple-style Rip landing screen only */
#buggy-passport-app.home-active{
  background:var(--fog);
}
#buggy-passport-app.home-active .phone{
  background:var(--fog);
  color:var(--char);
  border-left:1px solid rgba(42,47,45,.08);
  border-right:1px solid rgba(42,47,45,.08);
}
#buggy-passport-app.home-active header,
#buggy-passport-app.home-active nav{
  display:none!important;
}
#buggy-passport-app.home-active .pattern{
  display:flex!important;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  height:38px;
  padding:0 10px;
  background:var(--sage);
  color:rgba(255,253,247,.94);
  border-bottom:2px solid var(--sun);
  font-size:10px;
  letter-spacing:.12em;
  line-height:1;
  text-align:center;
  box-shadow:0 8px 24px rgba(42,47,45,.10);
  border-radius:0!important;
}
#buggy-passport-app.home-active main{
  padding:0;
}
#buggy-passport-app #home.home-apple{
  min-height:calc(100vh - 38px);
  color:var(--char);
  background:
    radial-gradient(circle at 88% 8%,rgba(254,189,59,.18),transparent 30%),
    radial-gradient(circle at 8% 82%,rgba(4,30,66,.08),transparent 34%),
    linear-gradient(180deg,#fbfaf6,var(--fog));
  padding:20px 20px 0;
}
#buggy-passport-app #home .home-welcome{
  min-height:calc(100vh - 82px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}
#buggy-passport-app #home .home-rip-intro{
  position:relative;
  width:100%;
  max-width:390px;
  min-height:clamp(356px,62vh,420px);
  margin:86px auto 0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  overflow:visible;
}
#buggy-passport-app #home .home-rip-large{
  position:relative;
  z-index:2;
  width:min(67vw,296px);
  min-width:0;
  height:auto;
  max-height:396px;
  object-fit:contain;
  filter:drop-shadow(0 20px 28px rgba(42,47,45,.24));
  animation:bob 3.4s ease-in-out infinite;
}
#buggy-passport-app #home .home-speech{
  position:absolute;
  z-index:1;
  left:8px;
  top:-69px;
  width:min(248px,66%);
  min-height:114px;
  display:flex;
  align-items:center;
  margin:0;
  background:#fffdf7;
  color:var(--char);
  border:3px solid var(--char);
  border-radius:28px;
  padding:16px 16px;
  box-shadow:0 16px 34px rgba(42,47,45,.10);
  font-size:16.5px;
  line-height:1.24;
  letter-spacing:-.01em;
  animation:none;
  transition:opacity .32s ease,transform .32s ease;
}
#buggy-passport-app #home .home-speech:before{
  display:none;
}
#buggy-passport-app #home .home-speech:after{
  display:none;
}
#buggy-passport-app #home #ripHomeSpeech.rip-swap{
  opacity:0;
  transform:translateY(5px) scale(.98);
}
#buggy-passport-app #home .home-passport-id{
  display:grid;
  place-items:center;
  width:100%;
  margin:-4px auto 0;
}
#buggy-passport-app #home .home-passport-lockup{
  width:min(350px,100%);
  display:block;
  filter:drop-shadow(0 12px 22px rgba(42,47,45,.08));
}
#buggy-passport-app #home .home-passport-lockup svg,
#buggy-passport-app #home .home-passport-lockup img{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
#buggy-passport-app #home .home-actions{
  display:grid;
  gap:10px;
  width:100%;
  max-width:340px;
  margin:0 auto;
}
#buggy-passport-app #home .home-actions button{
  width:100%;
  min-height:54px;
  border-radius:18px;
  font-size:17px;
  letter-spacing:-.01em;
  box-shadow:0 14px 28px rgba(42,47,45,.12);
}
#buggy-passport-app #home .home-primary{
  background:var(--sun);
  color:var(--char);
}
#buggy-passport-app #home .home-secondary{
  background:rgba(255,253,247,.72);
  color:var(--navy);
  border:1px solid rgba(4,30,66,.16);
  box-shadow:none;
}
#buggy-passport-app #home .home-value-footer{
  width:calc(100% + 40px);
  max-width:none;
  margin:auto 0 0 -20px;
  padding:11px 12px 10px;
  border-top:2px solid var(--sun);
  border-radius:0;
  background:var(--sage);
  color:rgba(255,253,247,.94);
  font:900 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.10em;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  box-shadow:none;
}
@media(max-width:430px){
  #buggy-passport-app.home-active .pattern{height:36px;font-size:8.5px;letter-spacing:.095em;padding:0 8px}
  #buggy-passport-app #home.home-apple{min-height:calc(100vh - 36px);padding:18px 17px 0}
  #buggy-passport-app #home .home-welcome{min-height:calc(100vh - 76px);justify-content:flex-start;gap:15px}
  #buggy-passport-app #home .home-rip-intro{min-height:366px;max-width:100%}
  #buggy-passport-app #home .home-rip-large{width:min(68vw,282px);max-height:372px}
  #buggy-passport-app #home .home-speech{left:4px;top:-61px;width:min(224px,66%);min-height:108px;font-size:15.5px;padding:14px;border-radius:26px}
  #buggy-passport-app #home .home-speech:before{display:none}
  #buggy-passport-app #home .home-speech:after{display:none}
  #buggy-passport-app #home .home-passport-lockup{width:min(326px,100%)}
  #buggy-passport-app #home .home-value-footer{width:calc(100% + 34px);margin:auto 0 0 -17px;font-size:8px;letter-spacing:.075em;padding-left:8px;padding-right:8px}
}
@media(max-width:380px){
  #buggy-passport-app #home.home-apple{padding-left:15px;padding-right:15px;padding-bottom:0}
  #buggy-passport-app #home .home-welcome{gap:13px}
  #buggy-passport-app #home .home-rip-intro{min-height:338px}
  #buggy-passport-app #home .home-rip-large{width:min(67vw,258px);max-height:338px}
  #buggy-passport-app #home .home-speech{left:2px;top:-55px;width:min(212px,66%);min-height:102px;font-size:14.5px;padding:12px;border-radius:23px}
  #buggy-passport-app #home .home-passport-lockup{width:min(300px,100%)}
  #buggy-passport-app #home .home-actions{max-width:316px}
  #buggy-passport-app #home .home-actions button{min-height:50px;font-size:16px}
  #buggy-passport-app #home .home-value-footer{width:calc(100% + 30px);margin:auto 0 0 -15px;font-size:7.5px;letter-spacing:.055em}
}
@media(min-width:760px){
  #buggy-passport-app.home-active .phone{
    background:var(--fog);
  }
  #buggy-passport-app #home.home-apple{
    border-radius:0 0 38px 38px;
    overflow:hidden;
  }
}



/* BUGGY HOME FINAL RIBBON FIX:
   Keep the top rounded phone look, make the bottom ribbon square and truly flush,
   and tighten ribbon type so EXPLORATION does not clip on narrow devices. */
#buggy-passport-app.home-active .phone{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  background:var(--fog)!important;
  border-radius:38px 38px 0 0!important;
  overflow:hidden!important;
}
#buggy-passport-app.home-active main{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:0!important;
}
#buggy-passport-app #home.home-apple{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  padding:20px 20px 0!important;
}
#buggy-passport-app #home .home-welcome{
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
#buggy-passport-app.home-active .pattern{
  border-radius:0!important;
  border-bottom:2px solid var(--sun)!important;
  font-size:8px!important;
  letter-spacing:.055em!important;
  line-height:1!important;
  justify-content:center!important;
  text-align:center!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
#buggy-passport-app #home .home-value-footer{
  width:auto!important;
  max-width:none!important;
  margin:auto -20px 0 -20px!important;
  border-radius:0!important;
  border-top:2px solid var(--sun)!important;
  box-shadow:none!important;
  font-size:8px!important;
  letter-spacing:.055em!important;
  line-height:1!important;
  padding:11px 4px 10px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
@media(min-width:760px){
  #buggy-passport-app.home-active .phone{
    min-height:calc(100vh - 52px)!important;
    border-radius:38px 38px 0 0!important;
  }
}
@media(max-width:430px){
  #buggy-passport-app #home.home-apple{
    padding:18px 17px 0!important;
  }
  #buggy-passport-app #home .home-value-footer{
    margin:auto -17px 0 -17px!important;
    font-size:7.3px!important;
    letter-spacing:.025em!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
  #buggy-passport-app.home-active .pattern{
    font-size:7.3px!important;
    letter-spacing:.025em!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
}
@media(max-width:380px){
  #buggy-passport-app #home.home-apple{
    padding:18px 15px 0!important;
  }
  #buggy-passport-app #home .home-value-footer{
    margin:auto -15px 0 -15px!important;
    font-size:6.8px!important;
    letter-spacing:.01em!important;
  }
  #buggy-passport-app.home-active .pattern{
    font-size:6.8px!important;
    letter-spacing:.01em!important;
  }
}



/* BUGGY HOME RIBBON / SCROLLBAR FINAL FIX:
   Remove the horizontal scrollbar by eliminating negative-width ribbon bleed.
   Keep the top ribbon clipped by the phone shell, make the bottom ribbon straight and full-width. */
#buggy-passport-app.home-active{
  padding:0!important;
  min-height:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
#buggy-passport-app.home-active .phone{
  width:min(430px,100%)!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  border-radius:38px 38px 0 0!important;
  overflow:hidden!important;
}
#buggy-passport-app.home-active main{
  flex:0 0 auto!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#buggy-passport-app #home.home-apple{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:20px 0 0!important;
  overflow:hidden!important;
}
#buggy-passport-app #home .home-welcome{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  justify-content:flex-start!important;
}
#buggy-passport-app #home .home-rip-intro{
  width:calc(100% - 40px)!important;
  max-width:390px!important;
  margin:86px auto 0!important;
}
#buggy-passport-app #home .home-passport-id{
  width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#buggy-passport-app #home .home-actions{
  width:calc(100% - 40px)!important;
  max-width:340px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#buggy-passport-app #home .home-value-footer{
  width:100%!important;
  max-width:none!important;
  margin:8px 0 0 0!important;
  border-radius:0!important;
  border-top:2px solid var(--sun)!important;
  padding:11px 4px 10px!important;
  box-shadow:none!important;
  overflow:hidden!important;
  font-size:8px!important;
  letter-spacing:.055em!important;
  line-height:1!important;
}
#buggy-passport-app.home-active .pattern{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  border-radius:0!important;
  border-bottom:2px solid var(--sun)!important;
  padding-left:4px!important;
  padding-right:4px!important;
  font-size:8px!important;
  letter-spacing:.055em!important;
  line-height:1!important;
  justify-content:center!important;
  text-align:center!important;
}
@media(min-width:760px){
  #buggy-passport-app.home-active{
    padding:0!important;
  }
  #buggy-passport-app.home-active .phone{
    min-height:0!important;
    box-shadow:0 24px 80px rgba(0,0,0,.18)!important;
  }
}
@media(max-width:430px){
  #buggy-passport-app #home.home-apple{
    padding:18px 0 0!important;
  }
  #buggy-passport-app #home .home-rip-intro{
    width:calc(100% - 34px)!important;
    margin-top:86px!important;
  }
  #buggy-passport-app #home .home-passport-id,
  #buggy-passport-app #home .home-actions{
    width:calc(100% - 34px)!important;
  }
  #buggy-passport-app #home .home-value-footer,
  #buggy-passport-app.home-active .pattern{
    font-size:7.3px!important;
    letter-spacing:.025em!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }
}
@media(max-width:380px){
  #buggy-passport-app #home.home-apple{
    padding:18px 0 0!important;
  }
  #buggy-passport-app #home .home-rip-intro,
  #buggy-passport-app #home .home-passport-id,
  #buggy-passport-app #home .home-actions{
    width:calc(100% - 30px)!important;
  }
  #buggy-passport-app #home .home-value-footer,
  #buggy-passport-app.home-active .pattern{
    font-size:6.8px!important;
    letter-spacing:.01em!important;
  }
}


/* BUGGY HOME RIBBON TEXT SIZE FIX:
   Make top and bottom core-value ribbon text about 1.5x larger,
   while keeping the text inside the phone shell and removing the top trailing separator. */
#buggy-passport-app.home-active .pattern,
#buggy-passport-app #home .home-value-footer{
  font-size:12px!important;
  letter-spacing:.012em!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:center!important;
  white-space:nowrap!important;
}
#buggy-passport-app.home-active .pattern{
  min-height:40px!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
#buggy-passport-app #home .home-value-footer{
  padding-top:12px!important;
  padding-bottom:11px!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
@media(max-width:430px){
  #buggy-passport-app.home-active .pattern,
  #buggy-passport-app #home .home-value-footer{
    font-size:11px!important;
    letter-spacing:0!important;
  }
}
@media(max-width:380px){
  #buggy-passport-app.home-active .pattern,
  #buggy-passport-app #home .home-value-footer{
    font-size:10px!important;
    letter-spacing:0!important;
  }
}


/* BUGGY TAB RESTORE PATCH:
   Home visual rules were forcing the Home section to stay visible after tab changes.
   This guard restores normal screen isolation: when the app is not on Home,
   the Home screen is hidden and the selected follow-on tab can display by itself. */
#buggy-passport-app:not(.home-active) #home.screen.home-apple,
#buggy-passport-app:not(.home-active) #home.screen.home-apple:not(.active){
  display:none!important;
}
#buggy-passport-app:not(.home-active) .screen:not(.active){
  display:none!important;
}


/* BUGGY HOME ACTIVATION GATE:
   Keep Home as a single CTA, then ask whether the user is new or existing.
   This is front-end account-gate logic for the Passport flow. */
#buggy-passport-app #home .home-actions{
  max-width:340px!important;
}
#buggy-passport-app #home .home-actions .home-primary{
  width:100%;
}
#buggy-passport-app #home .home-activation-gate{
  display:none;
  width:calc(100% - 40px);
  max-width:340px;
  margin:-4px auto 0;
  padding:14px;
  border:1px solid rgba(4,30,66,.14);
  border-radius:20px;
  background:rgba(255,253,247,.78);
  box-shadow:0 14px 30px rgba(42,47,45,.10);
  color:var(--char);
}
#buggy-passport-app #home .home-activation-gate.show{
  display:block;
}
#buggy-passport-app #home .home-gate-title{
  margin:0 0 6px;
  color:var(--navy);
  font:900 12px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#buggy-passport-app #home .home-activation-gate p{
  margin:0 0 10px;
  color:rgba(42,47,45,.78);
  font:700 12px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app #home .home-gate-options{
  display:grid;
  gap:8px;
}
#buggy-passport-app #home .home-gate-card{
  width:100%;
  min-height:0;
  display:block;
  text-align:left;
  border-radius:15px;
  padding:11px 12px;
  background:#fffdf7;
  border:1px solid rgba(4,30,66,.13);
  box-shadow:none;
  color:var(--char);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app #home .home-gate-card b{
  display:block;
  color:var(--navy);
  font-size:13px;
  line-height:1.1;
}
#buggy-passport-app #home .home-gate-card span{
  display:block;
  margin-top:4px;
  color:rgba(42,47,45,.68);
  font-size:11px;
  line-height:1.25;
}
#buggy-passport-app #home .home-login-panel{
  display:none;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(4,30,66,.12);
}
#buggy-passport-app #home .home-login-panel.show{
  display:block;
}
#buggy-passport-app #home .home-login-panel label{
  display:block;
  margin-bottom:5px;
  color:rgba(42,47,45,.72);
  font:800 10px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#buggy-passport-app #home .home-login-panel input{
  width:100%;
  min-height:42px;
  border-radius:13px;
  border:1px solid rgba(4,30,66,.18);
  background:#fffdf7;
  color:var(--char);
  padding:10px 12px;
  font:700 14px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  outline:none;
}
#buggy-passport-app #home .home-login-panel button{
  width:100%;
  min-height:42px;
  margin-top:8px;
  border-radius:13px;
  background:var(--sun);
  color:var(--char);
  font-size:14px;
}
#buggy-passport-app #home .home-login-panel small{
  display:block;
  margin-top:7px;
  color:rgba(42,47,45,.56);
  font:700 10px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
@media(max-width:430px){
  #buggy-passport-app #home .home-activation-gate{width:calc(100% - 34px);padding:12px;margin-top:-3px}
}
@media(max-width:380px){
  #buggy-passport-app #home .home-activation-gate{width:calc(100% - 30px);padding:11px}
}


/* BUGGY HOME DIRECT ACTIVATION CHOICES:
   No popup / reveal step. Activate Passport is now the lantern-yellow action pill
   with fog-white New / Existing buttons visible immediately on Home. */
#buggy-passport-app #home .home-actions{
  display:none!important;
}
#buggy-passport-app #home .home-activation-gate{
  display:block!important;
  width:calc(100% - 40px)!important;
  max-width:340px!important;
  margin:-2px auto 0!important;
  padding:14px!important;
  border:2px solid rgba(42,47,45,.15)!important;
  border-radius:26px!important;
  background:var(--sun)!important;
  box-shadow:0 16px 32px rgba(42,47,45,.16)!important;
  color:var(--char)!important;
}
#buggy-passport-app #home .home-gate-title{
  margin:0 0 5px!important;
  color:var(--char)!important;
  font:1000 18px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
  text-align:center!important;
}
#buggy-passport-app #home .home-activation-gate p{
  margin:0 0 11px!important;
  color:rgba(42,47,45,.76)!important;
  font:800 12px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  text-align:center!important;
}
#buggy-passport-app #home .home-gate-options{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}
#buggy-passport-app #home .home-gate-card{
  min-height:72px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  text-align:center!important;
  border-radius:18px!important;
  padding:10px 9px!important;
  background:#fffdf7!important;
  border:1px solid rgba(4,30,66,.15)!important;
  box-shadow:0 8px 16px rgba(42,47,45,.10)!important;
  color:var(--char)!important;
}
#buggy-passport-app #home .home-gate-card b{
  color:var(--navy)!important;
  font-size:13px!important;
  line-height:1.05!important;
}
#buggy-passport-app #home .home-gate-card span{
  margin-top:5px!important;
  color:rgba(42,47,45,.68)!important;
  font-size:10.5px!important;
  line-height:1.18!important;
}
#buggy-passport-app #home .home-login-panel{
  border-top:1px solid rgba(42,47,45,.18)!important;
}
#buggy-passport-app #home .home-login-panel input,
#buggy-passport-app #home .home-login-panel button{
  background:#fffdf7!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.18)!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-gate-card b{font-size:12px!important}
  #buggy-passport-app #home .home-gate-card span{font-size:9.7px!important}
}


/* BUGGY HOME ACTIVATION CLEANUP:
   Remove helper line, keep Activate Passport charcoal, and make New / Existing
   fog-white buttons with sage text only. */
#buggy-passport-app #home .home-activation-gate p{
  display:none!important;
}
#buggy-passport-app #home .home-gate-title{
  color:var(--char)!important;
}
#buggy-passport-app #home .home-gate-card{
  min-height:58px!important;
  color:var(--sage)!important;
}
#buggy-passport-app #home .home-gate-card b{
  color:var(--sage)!important;
  font-size:17px!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
}
#buggy-passport-app #home .home-gate-card span{
  display:none!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-gate-card{min-height:54px!important}
  #buggy-passport-app #home .home-gate-card b{font-size:16px!important}
}


/* BUGGY HOME ACTIVATION PILL BREATHING ROOM:
   Loosen the Activate Passport pill so it does not feel crowded. */
#buggy-passport-app #home .home-activation-gate{
  max-width:352px!important;
  margin:2px auto 0!important;
  padding:19px 16px 17px!important;
  border-radius:30px!important;
}
#buggy-passport-app #home .home-gate-title{
  margin:0 0 14px!important;
  font-size:18px!important;
  line-height:1.05!important;
}
#buggy-passport-app #home .home-gate-options{
  gap:12px!important;
}
#buggy-passport-app #home .home-gate-card{
  min-height:54px!important;
  padding:12px 10px!important;
  border-radius:20px!important;
}
#buggy-passport-app #home .home-gate-card b{
  font-size:17px!important;
}
@media(max-width:430px){
  #buggy-passport-app #home .home-activation-gate{
    width:calc(100% - 34px)!important;
    padding:18px 15px 16px!important;
  }
}
@media(max-width:380px){
  #buggy-passport-app #home .home-activation-gate{
    width:calc(100% - 30px)!important;
    padding:17px 13px 15px!important;
  }
  #buggy-passport-app #home .home-gate-title{
    margin-bottom:12px!important;
  }
  #buggy-passport-app #home .home-gate-options{
    gap:10px!important;
  }
}


/* BUGGY HOME ACTIVATION COLOR FLIP:
   Dark BUGGY navy pill, fog-white Activate Passport text,
   lantern-yellow New / Existing activation buttons. */
#buggy-passport-app #home .home-activation-gate{
  background:var(--navy)!important;
  border-color:rgba(255,253,247,.18)!important;
  box-shadow:0 18px 34px rgba(4,30,66,.22)!important;
}
#buggy-passport-app #home .home-gate-title{
  color:var(--fog)!important;
}
#buggy-passport-app #home .home-gate-card{
  background:var(--sun)!important;
  border-color:rgba(255,253,247,.22)!important;
  box-shadow:0 8px 16px rgba(0,0,0,.14)!important;
}
#buggy-passport-app #home .home-gate-card b{
  color:var(--char)!important;
}
#buggy-passport-app #home .home-login-panel{
  border-top-color:rgba(255,253,247,.20)!important;
}
#buggy-passport-app #home .home-login-panel label,
#buggy-passport-app #home .home-login-panel small{
  color:rgba(255,253,247,.72)!important;
}
#buggy-passport-app #home .home-login-panel button{
  background:var(--sun)!important;
  color:var(--char)!important;
}



/* BUGGY APP HAND-DRAWN FONT FIX:
   Load Permanent Marker for web consistency, then fall back to iPhone/Windows built-ins.
   This replaces Comic Sans-only behavior so Rip callouts and activation buttons work on iPhone and web PC. */
#buggy-passport-app .speech,
#buggy-passport-app #home .home-speech,
#buggy-passport-app button,
#buggy-passport-app .sub{
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS","Comic Sans",cursive!important;
}
#buggy-passport-app .speech,
#buggy-passport-app #home .home-speech{
  font-weight:400!important;
}
#buggy-passport-app button,
#buggy-passport-app .sub{
  font-weight:700!important;
}


/* BUGGY FULL APP FRONT-PAGE COLOR SCHEME:
   Apply the Home/front-page palette to the full Passport app without changing logic.
   Fog-white paper shell, BUGGY navy structure, lantern-yellow actions, sage ribbons, charcoal text. */
#buggy-passport-app{
  --paper:#F6F1E7!important;
  --fog:#FFFDF7!important;
  --sage:#58615F!important;
  --navy:#041E42!important;
  --sun:#FEBD3B!important;
  --char:#2A2F2D!important;
  --red:#BF0D3E!important;
  --muted:rgba(42,47,45,.66)!important;
  --line:rgba(4,30,66,.14)!important;
  background:var(--paper)!important;
  color:var(--char)!important;
}
#buggy-passport-app:not(.home-active) .phone{
  background:var(--fog)!important;
  color:var(--char)!important;
  border-left:1px solid rgba(4,30,66,.12)!important;
  border-right:1px solid rgba(4,30,66,.12)!important;
  box-shadow:0 24px 70px rgba(4,30,66,.16)!important;
}
#buggy-passport-app:not(.home-active) .pattern{
  background:var(--sage)!important;
  color:rgba(255,253,247,.96)!important;
  border-bottom:3px solid var(--sun)!important;
  box-shadow:none!important;
}
#buggy-passport-app:not(.home-active) header{
  background:linear-gradient(180deg,rgba(255,253,247,.98),rgba(255,253,247,.92),rgba(255,253,247,.76))!important;
  border-bottom:1px solid rgba(4,30,66,.10)!important;
  box-shadow:0 8px 22px rgba(4,30,66,.06)!important;
}
#buggy-passport-app:not(.home-active) .logo{
  background:var(--fog)!important;
  border:2px solid rgba(4,30,66,.14)!important;
  box-shadow:0 8px 18px rgba(4,30,66,.08)!important;
}
#buggy-passport-app:not(.home-active) .passport-header-lockup{
  filter:none!important;
}
#buggy-passport-app:not(.home-active) h1{
  color:var(--navy)!important;
}
#buggy-passport-app:not(.home-active) .sub{
  color:var(--red)!important;
}
#buggy-passport-app:not(.home-active) .pill{
  background:var(--navy)!important;
  color:var(--fog)!important;
  border:1px solid rgba(4,30,66,.18)!important;
  box-shadow:0 8px 18px rgba(4,30,66,.16)!important;
}
#buggy-passport-app:not(.home-active) main{
  background:linear-gradient(180deg,var(--fog),var(--paper))!important;
  color:var(--char)!important;
}
#buggy-passport-app:not(.home-active) .hero,
#buggy-passport-app:not(.home-active) .card,
#buggy-passport-app:not(.home-active) .value,
#buggy-passport-app:not(.home-active) .marker-card,
#buggy-passport-app:not(.home-active) .completion-card,
#buggy-passport-app:not(.home-active) .coupon-sheet{
  background:rgba(255,253,247,.92)!important;
  color:var(--char)!important;
  border:1px solid rgba(4,30,66,.14)!important;
  box-shadow:0 14px 30px rgba(4,30,66,.10)!important;
}
#buggy-passport-app:not(.home-active) .hero{
  background:
    radial-gradient(circle at 92% 0%,rgba(254,189,59,.22),transparent 36%),
    radial-gradient(circle at 0% 100%,rgba(4,30,66,.08),transparent 34%),
    rgba(255,253,247,.96)!important;
}
#buggy-passport-app:not(.home-active) .value.done,
#buggy-passport-app:not(.home-active) .marker-card.earned,
#buggy-passport-app:not(.home-active) .completion-card.show{
  background:rgba(254,189,59,.16)!important;
  border-color:rgba(254,189,59,.55)!important;
  box-shadow:0 0 0 1px rgba(254,189,59,.16) inset,0 14px 30px rgba(4,30,66,.09)!important;
}
#buggy-passport-app:not(.home-active) .eyebrow,
#buggy-passport-app:not(.home-active) .title h3,
#buggy-passport-app:not(.home-active) .summary .card b,
#buggy-passport-app:not(.home-active) .completion-card h4,
#buggy-passport-app:not(.home-active) .coupon-sheet h3{
  color:var(--navy)!important;
}
#buggy-passport-app:not(.home-active) h2,
#buggy-passport-app:not(.home-active) h3,
#buggy-passport-app:not(.home-active) h4,
#buggy-passport-app:not(.home-active) .marker-card b,
#buggy-passport-app:not(.home-active) .training b,
#buggy-passport-app:not(.home-active) .maptop b{
  color:var(--navy)!important;
}
#buggy-passport-app:not(.home-active) p,
#buggy-passport-app:not(.home-active) small,
#buggy-passport-app:not(.home-active) .desc,
#buggy-passport-app:not(.home-active) .title span,
#buggy-passport-app:not(.home-active) .state,
#buggy-passport-app:not(.home-active) .marker-card small,
#buggy-passport-app:not(.home-active) .coupon-warning{
  color:rgba(42,47,45,.68)!important;
}
#buggy-passport-app:not(.home-active) .rip-row{
  background:rgba(4,30,66,.06)!important;
  border:1px dashed rgba(4,30,66,.22)!important;
}
#buggy-passport-app:not(.home-active) .speech{
  background:#fff!important;
  color:var(--char)!important;
  border-color:var(--char)!important;
  box-shadow:0 12px 26px rgba(4,30,66,.12)!important;
}
#buggy-passport-app:not(.home-active) .progress{
  background:rgba(4,30,66,.10)!important;
  border:1px solid rgba(4,30,66,.12)!important;
}
#buggy-passport-app:not(.home-active) .bar{
  background:linear-gradient(90deg,var(--sun),var(--red))!important;
}
#buggy-passport-app:not(.home-active) .training,
#buggy-passport-app:not(.home-active) .quiz-choice{
  background:rgba(255,253,247,.86)!important;
  color:var(--char)!important;
  border:1px solid rgba(4,30,66,.14)!important;
  box-shadow:0 6px 14px rgba(4,30,66,.05)!important;
}
#buggy-passport-app:not(.home-active) .training.done,
#buggy-passport-app:not(.home-active) .quiz-choice.selected{
  background:rgba(254,189,59,.16)!important;
  border-color:rgba(254,189,59,.55)!important;
}
#buggy-passport-app:not(.home-active) .check{
  border-color:rgba(4,30,66,.28)!important;
  color:var(--char)!important;
  background:rgba(255,253,247,.70)!important;
}
#buggy-passport-app:not(.home-active) .training.done .check{
  background:var(--sun)!important;
  border-color:var(--sun)!important;
  color:var(--char)!important;
}
#buggy-passport-app:not(.home-active) .tag,
#buggy-passport-app:not(.home-active) .marker-pill,
#buggy-passport-app:not(.home-active) .unlock{
  background:rgba(255,253,247,.80)!important;
  border:1px solid rgba(4,30,66,.14)!important;
  color:var(--sage)!important;
}
#buggy-passport-app:not(.home-active) .tag.req{
  background:rgba(191,13,62,.10)!important;
  border-color:rgba(191,13,62,.30)!important;
  color:var(--red)!important;
}
#buggy-passport-app:not(.home-active) .tag.mark,
#buggy-passport-app:not(.home-active) .marker-card.earned .marker-pill,
#buggy-passport-app:not(.home-active) .unlock.on,
#buggy-passport-app:not(.home-active) .value.done .state,
#buggy-passport-app:not(.home-active) .marker-card .coupon-note,
#buggy-passport-app:not(.home-active) .training b:after,
#buggy-passport-app:not(.home-active) .training.done b:after,
#buggy-passport-app:not(.home-active) .slide-num{
  color:var(--navy)!important;
  border-color:rgba(254,189,59,.45)!important;
  background:rgba(254,189,59,.18)!important;
}
#buggy-passport-app:not(.home-active) button,
#buggy-passport-app:not(.home-active) .primary,
#buggy-passport-app:not(.home-active) .coupon-actions button{
  background:var(--sun)!important;
  color:var(--char)!important;
  box-shadow:0 10px 18px rgba(4,30,66,.12)!important;
}
#buggy-passport-app:not(.home-active) .secondary,
#buggy-passport-app:not(.home-active) button.secondary{
  background:var(--fog)!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.18)!important;
  box-shadow:none!important;
}
#buggy-passport-app:not(.home-active) .result,
#buggy-passport-app:not(.home-active) .coupon-used{
  background:rgba(4,30,66,.06)!important;
  color:rgba(42,47,45,.72)!important;
  border:1px solid rgba(4,30,66,.14)!important;
}
#buggy-passport-app:not(.home-active) .coupon-box,
#buggy-passport-app:not(.home-active) .coupon-code{
  background:rgba(254,189,59,.16)!important;
  color:var(--char)!important;
  border:2px dashed rgba(254,189,59,.75)!important;
}
#buggy-passport-app:not(.home-active) .coupon-box b,
#buggy-passport-app:not(.home-active) .coupon-box span{
  color:var(--navy)!important;
}
#buggy-passport-app:not(.home-active) .maptop{
  background:rgba(255,253,247,.92)!important;
  border-bottom:1px solid rgba(4,30,66,.12)!important;
}
#buggy-passport-app:not(.home-active) .buggy-map-shell{
  background:rgba(255,253,247,.90)!important;
  border:1px solid rgba(4,30,66,.14)!important;
  box-shadow:0 14px 30px rgba(4,30,66,.10)!important;
}
#buggy-passport-app:not(.home-active) .buggy-map-note{
  background:var(--navy)!important;
  color:rgba(255,253,247,.78)!important;
  border-top:1px solid rgba(255,253,247,.18)!important;
}
#buggy-passport-app:not(.home-active) .buggy-map-note b{
  color:var(--sun)!important;
}
#buggy-passport-app:not(.home-active) nav{
  background:linear-gradient(180deg,rgba(246,241,231,0),rgba(246,241,231,.92) 18%,rgba(246,241,231,.99))!important;
  box-shadow:0 -12px 30px rgba(4,30,66,.10)!important;
}
#buggy-passport-app:not(.home-active) .tabs{
  background:rgba(255,253,247,.92)!important;
  border:1px solid rgba(4,30,66,.14)!important;
  box-shadow:0 12px 28px rgba(4,30,66,.12)!important;
}
#buggy-passport-app:not(.home-active) .tab{
  color:var(--sage)!important;
}
#buggy-passport-app:not(.home-active) .tab.active{
  background:var(--navy)!important;
  color:var(--fog)!important;
}
#buggy-passport-app:not(.home-active) .coupon-modal{
  background:rgba(4,30,66,.62)!important;
}


/* BUGGY PASSPORT FIRST-USER ONBOARDING
   Adds a real profile-activation flow to the existing front-end prototype.
   Account data remains local to this device until Firebase/Google authentication is connected. */
#buggy-passport-app #home .passport-onboarding-panel{
  display:none;
  margin-top:12px;
  padding-top:13px;
  border-top:1px solid rgba(255,253,247,.20);
}
#buggy-passport-app #home .passport-onboarding-panel.show{display:block;max-height:min(68vh,660px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:3px;}
#buggy-passport-app #home .onboarding-kicker{
  margin-bottom:8px;
  color:var(--sun);
  font:900 10px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#buggy-passport-app #home .onboarding-copy{
  margin:0 0 12px!important;
  color:rgba(255,253,247,.84)!important;
  font:700 12px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  text-align:left!important;
}
#buggy-passport-app #home .passport-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
#buggy-passport-app #home .passport-field{min-width:0;}
#buggy-passport-app #home .passport-field.full{grid-column:1/-1;}
#buggy-passport-app #home .passport-field label{
  display:block;
  margin:0 0 5px;
  color:rgba(255,253,247,.72);
  font:800 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#buggy-passport-app #home .passport-field input,
#buggy-passport-app #home .passport-field select{
  width:100%;
  min-height:42px;
  border-radius:13px;
  border:1px solid rgba(255,253,247,.24);
  background:#fffdf7;
  color:var(--char);
  padding:9px 11px;
  font:700 14px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  outline:none;
}
#buggy-passport-app #home .passport-field input:focus,
#buggy-passport-app #home .passport-field select:focus{
  border-color:var(--sun);
  box-shadow:0 0 0 3px rgba(254,189,59,.20);
}
#buggy-passport-app #home .onboarding-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:9px;
  margin-top:11px;
}
#buggy-passport-app #home .onboarding-actions button{
  width:100%;
  min-height:44px;
  border-radius:14px;
  margin:0!important;
}
#buggy-passport-app #home .onboarding-actions .back-button{
  background:transparent!important;
  color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.26)!important;
  box-shadow:none!important;
}
#buggy-passport-app #home .onboarding-error{
  display:none;
  margin-top:9px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(191,13,62,.18);
  border:1px solid rgba(255,215,223,.30);
  color:#ffd7df;
  font:800 11px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app #home .onboarding-error.show{display:block;}
#buggy-passport-app #home .prototype-account-note{
  display:block;
  margin-top:9px;
  color:rgba(255,253,247,.60)!important;
  font:700 9.5px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
}
#buggy-passport-app .passport-holder-card{
  display:none;
  margin-bottom:12px;
  padding:14px;
  border-radius:24px;
  background:var(--navy);
  color:var(--fog);
  box-shadow:0 16px 32px rgba(4,30,66,.18);
}
#buggy-passport-app .passport-holder-card.show{display:block;}
#buggy-passport-app .passport-holder-top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:11px;
  align-items:center;
}
#buggy-passport-app .passport-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:var(--sun);
  color:var(--char);
  font:1000 17px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .passport-holder-name{
  color:var(--fog);
  font:1000 16px/1.1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .passport-holder-id{
  margin-top:4px;
  color:rgba(255,253,247,.68);
  font:800 10px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}
#buggy-passport-app .passport-switch{
  min-height:34px!important;
  padding:7px 9px!important;
  background:transparent!important;
  color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.24)!important;
  box-shadow:none!important;
  font-size:10px!important;
}
#buggy-passport-app .passport-status-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  margin-top:12px;
}
#buggy-passport-app .passport-status-item{
  min-width:0;
  padding:9px 8px;
  border-radius:14px;
  background:rgba(255,253,247,.09);
  border:1px solid rgba(255,253,247,.12);
}
#buggy-passport-app .passport-status-item b{
  display:block;
  color:var(--sun);
  font:900 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}
#buggy-passport-app .passport-status-item span{
  display:block;
  margin-top:5px;
  color:var(--fog);
  font:800 10px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .passport-holder-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:11px;
}
#buggy-passport-app .passport-holder-actions button{
  min-height:40px;
  border-radius:13px;
}
#buggy-passport-app .passport-holder-actions .profile-secondary{
  background:rgba(255,253,247,.08)!important;
  color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.22)!important;
  box-shadow:none!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .passport-form-grid{grid-template-columns:1fr;}
  #buggy-passport-app #home .passport-field.full{grid-column:auto;}
  #buggy-passport-app .passport-status-grid{grid-template-columns:1fr;}
}



/* BUGGY PASSPORT HANDLE + SECRET CODE ONBOARDING v2 */
#buggy-passport-app #home .handle-builder,
#buggy-passport-app #home .secret-code-builder{
  grid-column:1 / -1;
  margin-top:3px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,253,247,.08);
  border:1px solid rgba(255,253,247,.18);
}
#buggy-passport-app #home .handle-title,
#buggy-passport-app #home .secret-code-title{
  color:var(--sun);
  font:900 11px/1.15 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}
#buggy-passport-app #home .handle-copy,
#buggy-passport-app #home .secret-code-copy{
  margin:5px 0 9px!important;
  color:rgba(255,253,247,.72)!important;
  font:700 10.5px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
}
#buggy-passport-app #home .rip-picks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
#buggy-passport-app #home .handle-pick{
  min-height:40px!important;
  margin:0!important;
  padding:8px 7px!important;
  border-radius:13px!important;
  background:#fffdf7!important;
  color:var(--navy)!important;
  border:2px solid rgba(4,30,66,.76)!important;
  box-shadow:none!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  letter-spacing:.015em!important;
}
#buggy-passport-app #home .handle-pick.selected{
  background:var(--sun)!important;
  color:var(--char)!important;
  border-color:var(--sun)!important;
  box-shadow:0 0 0 2px rgba(254,189,59,.22)!important;
}
#buggy-passport-app #home .handle-tools{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:8px;
}
#buggy-passport-app #home .handle-tools button,
#buggy-passport-app #home .secret-code-row button{
  min-height:38px!important;
  margin:0!important;
  padding:8px 9px!important;
  border-radius:12px!important;
  background:rgba(255,253,247,.10)!important;
  color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.22)!important;
  box-shadow:none!important;
  font-size:10.5px!important;
}
#buggy-passport-app #home .custom-handle-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
  margin-top:8px;
}
#buggy-passport-app #home .custom-handle-row input,
#buggy-passport-app #home .secret-code-row input{
  width:100%;
  min-width:0;
  min-height:40px;
  border-radius:12px;
  border:1px solid rgba(255,253,247,.22);
  background:#fffdf7;
  color:var(--char);
  padding:9px 10px;
  font:800 13px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  outline:none;
}
#buggy-passport-app #home .custom-handle-row button{
  min-height:40px!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  font-size:10.5px!important;
}
#buggy-passport-app #home .selected-handle{
  margin-top:8px;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(254,189,59,.14);
  border:1px solid rgba(254,189,59,.35);
  color:var(--fog);
  font:800 10.5px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app #home .selected-handle b{color:var(--sun);}
#buggy-passport-app #home .secret-code-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px;
}
#buggy-passport-app #home .secret-code-row input{
  text-align:center;
  font-size:18px;
  letter-spacing:.16em;
  color:var(--navy);
}
#buggy-passport-app #home .home-login-panel .login-code-field{
  margin-top:9px;
}
#buggy-passport-app .passport-holder-handle{
  margin-top:4px;
  color:var(--sun);
  font:900 11px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.035em;
  text-transform:uppercase;
}
#buggy-passport-app .passport-activation-modal{
  position:fixed;
  inset:0;
  z-index:260;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(4,30,66,.72);
}
#buggy-passport-app .passport-activation-modal.open{display:flex;}
#buggy-passport-app .passport-activation-sheet{
  width:min(390px,100%);
  padding:20px;
  border-radius:28px;
  background:var(--fog);
  color:var(--char);
  border:2px solid var(--sun);
  box-shadow:0 26px 90px rgba(0,0,0,.42);
  text-align:center;
}
#buggy-passport-app .passport-activation-sheet .activation-kicker{
  color:var(--red);
  font:900 10px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#buggy-passport-app .passport-activation-sheet h3{
  margin:8px 0 6px;
  color:var(--navy);
  font:1000 26px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .passport-activation-sheet p{
  color:rgba(42,47,45,.68)!important;
  font-size:12px!important;
}
#buggy-passport-app .activation-credential{
  margin-top:13px;
  padding:12px;
  border-radius:18px;
  background:var(--navy);
  color:var(--fog);
}
#buggy-passport-app .activation-label{
  color:rgba(255,253,247,.62);
  font:800 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#buggy-passport-app .activation-value{
  margin-top:5px;
  color:var(--sun);
  font:1000 14px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  word-break:break-word;
}
#buggy-passport-app .activation-secret{
  margin-top:10px;
  padding:12px;
  border-radius:16px;
  border:2px dashed rgba(254,189,59,.72);
  background:rgba(254,189,59,.16);
}
#buggy-passport-app .activation-secret .activation-value{
  color:var(--navy);
  font-size:24px;
  letter-spacing:.17em;
}
#buggy-passport-app .activation-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
#buggy-passport-app .activation-modal-actions button{
  min-height:44px;
  border-radius:14px;
}
#buggy-passport-app .activation-modal-actions .copy-code{
  background:var(--fog)!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.18)!important;
  box-shadow:none!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .rip-picks{grid-template-columns:1fr;}
  #buggy-passport-app #home .handle-tools{grid-template-columns:1fr 1fr;}
  #buggy-passport-app .activation-modal-actions{grid-template-columns:1fr;}
}



/* BUGGY RIP-LED PAGE ONBOARDING v3
   New/Existing leave Home and open dedicated pages. Passport is activated
   immediately after Rip receives the user's preferred name. */
#buggy-passport-app.onboarding-active{
  background:var(--paper)!important;
  overflow:hidden!important;
}
#buggy-passport-app.onboarding-active .phone{
  background:var(--fog)!important;
  color:var(--char)!important;
  min-height:100vh!important;
}
#buggy-passport-app.onboarding-active header,
#buggy-passport-app.onboarding-active nav{
  display:none!important;
}
#buggy-passport-app.onboarding-active main{
  padding:0!important;
  background:var(--fog)!important;
}
#buggy-passport-app .passport-setup-screen,
#buggy-passport-app .passport-login-screen{
  min-height:calc(100vh - 40px);
  background:
    radial-gradient(circle at 90% 5%,rgba(254,189,59,.18),transparent 30%),
    radial-gradient(circle at 5% 90%,rgba(4,30,66,.07),transparent 32%),
    linear-gradient(180deg,#fbfaf6,var(--paper));
  color:var(--char);
}
#buggy-passport-app .setup-shell{
  width:min(430px,100%);
  min-height:calc(100vh - 40px);
  margin:0 auto;
  padding:14px 18px 26px;
  display:flex;
  flex-direction:column;
}
#buggy-passport-app .setup-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:34px;
}
#buggy-passport-app .setup-back{
  min-height:32px!important;
  padding:6px 9px!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.14)!important;
  box-shadow:none!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  font-size:11px!important;
}
#buggy-passport-app .setup-dots{
  display:flex;
  gap:6px;
  align-items:center;
}
#buggy-passport-app .setup-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(4,30,66,.16);
  transition:all .2s ease;
}
#buggy-passport-app .setup-dot.on{
  width:22px;
  background:var(--sun);
}
#buggy-passport-app .setup-rip-scene{
  position:relative;
  min-height:238px;
  margin:6px 0 2px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
#buggy-passport-app .setup-rip{
  position:relative;
  z-index:2;
  width:min(47vw,188px);
  height:230px;
  object-fit:contain;
  filter:drop-shadow(0 17px 24px rgba(42,47,45,.20));
  animation:bob 3.4s ease-in-out infinite;
}
#buggy-passport-app .setup-speech{
  position:absolute;
  z-index:1;
  left:0;
  top:24px;
  width:min(236px,66%);
  min-height:102px;
  display:flex;
  align-items:center;
  padding:15px;
  border:3px solid var(--char);
  border-radius:25px;
  background:#fffdf7;
  color:var(--char);
  box-shadow:0 14px 28px rgba(4,30,66,.10);
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:16px;
  font-weight:400!important;
  line-height:1.27;
}
#buggy-passport-app .passport-setup-step{
  display:none;
  width:100%;
  max-width:350px;
  margin:0 auto;
  animation:setupIn .24s ease both;
}
#buggy-passport-app .passport-setup-step.active{display:block;}
@keyframes setupIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
#buggy-passport-app .setup-input,
#buggy-passport-app .setup-select{
  width:100%;
  min-height:54px;
  margin:0 0 10px;
  padding:13px 15px;
  border:1px solid rgba(4,30,66,.18);
  border-radius:17px;
  background:#fffdf7;
  color:var(--char);
  box-shadow:0 10px 22px rgba(4,30,66,.07);
  outline:none;
  font:800 16px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .setup-input::placeholder{color:rgba(42,47,45,.48);}
#buggy-passport-app .setup-action{
  width:100%;
  min-height:52px;
  margin-top:2px;
  border-radius:17px!important;
  background:var(--sun)!important;
  color:var(--char)!important;
  box-shadow:0 13px 24px rgba(4,30,66,.12)!important;
  font-size:16px!important;
}
#buggy-passport-app .setup-secondary-action{
  width:100%;
  min-height:44px;
  margin-top:8px;
  border-radius:15px!important;
  background:transparent!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.16)!important;
  box-shadow:none!important;
  font-size:12px!important;
}
#buggy-passport-app .setup-error{
  display:none;
  margin:9px 0 0;
  padding:9px 11px;
  border-radius:13px;
  background:rgba(191,13,62,.09);
  color:var(--red);
  border:1px solid rgba(191,13,62,.22);
  font:800 11px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .setup-error.show{display:block;}
#buggy-passport-app .setup-handle-picks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:9px;
}
#buggy-passport-app .setup-handle-picks .handle-pick{
  min-height:44px!important;
  border-radius:14px!important;
  padding:8px!important;
  background:#fffdf7!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.16)!important;
  box-shadow:0 7px 14px rgba(4,30,66,.05)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  font-size:11px!important;
}
#buggy-passport-app .setup-handle-picks .handle-pick.selected{
  background:var(--sun)!important;
  color:var(--char)!important;
  border-color:var(--sun)!important;
}
#buggy-passport-app .setup-inline{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
#buggy-passport-app .setup-inline .setup-input{margin:0;}
#buggy-passport-app .setup-inline button{
  min-width:84px;
  border-radius:16px!important;
  background:var(--navy)!important;
  color:var(--fog)!important;
  box-shadow:none!important;
  font-size:11px!important;
}
#buggy-passport-app .setup-small-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
#buggy-passport-app .setup-small-actions button{
  min-height:40px;
  border-radius:14px!important;
  background:transparent!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.15)!important;
  box-shadow:none!important;
  font-size:11px!important;
}
#buggy-passport-app .setup-credential{
  padding:16px;
  border-radius:22px;
  background:var(--navy);
  color:var(--fog);
  box-shadow:0 15px 30px rgba(4,30,66,.18);
}
#buggy-passport-app .setup-credential-label{
  color:rgba(255,253,247,.62);
  font:800 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#buggy-passport-app .setup-credential-value{
  margin:5px 0 13px;
  color:var(--sun);
  font:1000 14px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  word-break:break-word;
}
#buggy-passport-app .setup-secret-code{
  margin-top:10px;
  padding:15px;
  border-radius:18px;
  border:2px dashed rgba(254,189,59,.72);
  background:rgba(254,189,59,.16);
  color:var(--navy);
  text-align:center;
  font:1000 26px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.18em;
}
#buggy-passport-app .setup-code-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
#buggy-passport-app .setup-code-actions button{
  min-height:43px;
  border-radius:14px!important;
  font-size:11px!important;
}
#buggy-passport-app .setup-code-actions button:first-child{
  background:#fffdf7!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.16)!important;
  box-shadow:none!important;
}
#buggy-passport-app .setup-code-actions button:last-child{
  background:var(--sun)!important;
  color:var(--char)!important;
}
#buggy-passport-app .setup-footnote{
  margin-top:11px;
  color:rgba(42,47,45,.52);
  text-align:center;
  font:700 9.5px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
@media(max-width:380px){
  #buggy-passport-app .setup-shell{padding-left:15px;padding-right:15px;}
  #buggy-passport-app .setup-rip-scene{min-height:218px;}
  #buggy-passport-app .setup-rip{width:min(46vw,168px);height:210px;}
  #buggy-passport-app .setup-speech{width:min(214px,67%);font-size:14.5px;min-height:94px;padding:13px;}
  #buggy-passport-app .setup-handle-picks{grid-template-columns:1fr;}
}



/* BUGGY HOME NAME-FIRST ACTIVATION v4
   Name/nickname is captured on Home. New activates the Passport immediately;
   the next page begins Rip-led account questions. */
#buggy-passport-app #home .home-activation-gate{
  display:block!important;
}
#buggy-passport-app #home .home-name-input{
  width:100%!important;
  min-height:50px!important;
  margin:0 0 12px!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,253,247,.34)!important;
  border-radius:17px!important;
  background:#fffdf7!important;
  color:var(--char)!important;
  outline:none!important;
  box-shadow:0 7px 15px rgba(0,0,0,.10)!important;
  font:800 14px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
}
#buggy-passport-app #home .home-name-input::placeholder{
  color:rgba(42,47,45,.54)!important;
  opacity:1!important;
}
#buggy-passport-app #home .home-name-input:focus{
  border-color:var(--sun)!important;
  box-shadow:0 0 0 3px rgba(254,189,59,.22),0 7px 15px rgba(0,0,0,.10)!important;
}
#buggy-passport-app #home .home-name-error{
  display:none;
  margin:-4px 2px 11px;
  padding:8px 9px;
  border-radius:12px;
  background:rgba(191,13,62,.22);
  border:1px solid rgba(255,215,223,.28);
  color:#ffd7df;
  font:800 11px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  text-align:left;
}
#buggy-passport-app #home .home-name-error.show{display:block;}
#buggy-passport-app #home .home-handle-label{
  margin:0 0 9px!important;
  color:var(--fog)!important;
  font:1000 18px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}
#buggy-passport-app #home .home-gate-title{
  margin:2px 0 12px!important;
}
#buggy-passport-app #home .home-gate-options{
  grid-template-columns:1fr 1fr!important;
}
@media(max-width:380px){
  #buggy-passport-app .passport-header-lockup{width:min(170px,48vw)}
  #buggy-passport-app #home .home-name-input{
    min-height:47px!important;
    font-size:12.5px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* BUGGY FIREBASE AUTH TEST v13 */
#buggy-passport-app .password-rules{
  margin:-1px 2px 11px;
  color:rgba(42,47,45,.58);
  font:700 10px/1.35 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .setup-error.success{
  display:block;
  background:rgba(4,30,66,.07);
  color:var(--navy);
  border-color:rgba(4,30,66,.18);
}
#buggy-passport-app .firebase-account-status{
  margin-top:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(4,30,66,.14);
  background:#fffdf7;
  color:var(--char);
  text-align:center;
  font:800 12px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app .firebase-account-status b{
  display:block;
  margin-bottom:4px;
  color:var(--navy);
  font-size:14px;
}
#buggy-passport-app .login-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:2px;
}
#buggy-passport-app .login-actions .setup-action{margin:0;}
#buggy-passport-app .login-actions .setup-secondary-action{margin:0;min-height:52px;}

/* BUGGY stakeholder connection and required Pin Map origin. */
#buggy-passport-app .setup-field-label{
  display:block;margin:2px 3px 7px;color:var(--navy);
  font:400 13px/1.15 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .setup-context-panel{
  margin:2px 0 11px;padding:12px;border-radius:19px;background:rgba(255,253,247,.78);
  border:1px solid rgba(4,30,66,.13);box-shadow:0 10px 22px rgba(4,30,66,.06);
}
#buggy-passport-app .setup-context-panel[hidden]{display:none!important;}
/* C30: organization questions first, optional explanation beneath them. */
#buggy-passport-app #passportStakeholder,
#buggy-passport-app #representativeContextPanel .setup-input,
#buggy-passport-app #representativeContextPanel .setup-select{scroll-margin-block:12px;}
#buggy-passport-app .organization-help-c30{margin-top:12px;border-top:1px solid rgba(4,30,66,.18);}
#buggy-passport-app .organization-help-c30 summary{padding:12px 0;min-height:44px;cursor:pointer;font-family:inherit;font-size:12px;line-height:1.4;font-weight:700;}
#buggy-passport-app .organization-help-c30 .v235-r19-base-passport{margin-top:0;}
#buggy-passport-app .setup-context-panel .setup-select,
#buggy-passport-app .setup-context-panel .setup-input{box-shadow:none;}
#buggy-passport-app .setup-context-panel .setup-select:last-child,
#buggy-passport-app .setup-context-panel .setup-input:last-child{margin-bottom:0;}
#buggy-passport-app .setup-context-heading{
  margin:0 2px 8px;color:var(--red);
  font:400 16px/1.1 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .setup-context-help{
  display:block;margin:-3px 3px 10px;color:rgba(42,47,45,.68)!important;
  font:400 12px/1.4 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .setup-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
#buggy-passport-app .setup-context-grid .setup-select,
#buggy-passport-app .setup-context-grid .setup-input{min-width:0;}
#buggy-passport-app .world-board-card{
  margin:12px 0;padding:13px;border-radius:22px;background:var(--navy);color:var(--fog);
  box-shadow:0 15px 28px rgba(4,30,66,.16);overflow:hidden;
}
#buggy-passport-app .world-board-title{
  color:var(--sun);font:400 18px/1 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .world-board-copy{
  margin:5px 0 10px;color:rgba(255,253,247,.76);
  font:400 12px/1.4 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .world-board-map{
  position:relative;aspect-ratio:2/1;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#75c8d9 0%,#b8e1df 100%);border:1px solid rgba(255,253,247,.25);
}
#buggy-passport-app .world-board-map-image{
  position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.012);transition:opacity .24s ease,transform .34s ease;pointer-events:none;
}
#buggy-passport-app .world-board-map-image.active{opacity:1;transform:scale(1);}
#buggy-passport-app .world-board-map-level{
  position:absolute;top:8px;left:9px;z-index:3;padding:4px 7px;border-radius:999px;
  background:rgba(4,30,66,.78);color:var(--fog);font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive;letter-spacing:.06em;
}
#buggy-passport-app .world-board-user-pin{
  position:absolute;z-index:4;width:20px;height:20px;border:2px solid var(--fog);border-radius:50% 50% 50% 0;
  background:var(--red);box-shadow:0 4px 12px rgba(4,30,66,.38);transform:translate(-50%,-100%) rotate(-45deg);
  animation:buggyPinDrop .34s cubic-bezier(.2,.9,.25,1.2);
}
#buggy-passport-app .world-board-user-pin[hidden]{display:none!important;}
#buggy-passport-app .world-board-user-pin:after{
  content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--sun);transform:translate(-50%,-50%);
}
@keyframes buggyPinDrop{from{opacity:0;transform:translate(-50%,-150%) rotate(-45deg) scale(.55)}to{opacity:1;transform:translate(-50%,-100%) rotate(-45deg) scale(1)}}
#buggy-passport-app .world-board-map svg{display:block;width:100%;height:100%;}
#buggy-passport-app .world-board-land{fill:#fffdf7;stroke:rgba(42,47,45,.42);stroke-width:1.4;stroke-linejoin:round;}
#buggy-passport-app .world-board-route{fill:none;stroke:rgba(191,13,62,.56);stroke-width:1.5;stroke-dasharray:5 5;}
#buggy-passport-app .world-board-dot{fill:var(--red);stroke:#fffdf7;stroke-width:2;}
#buggy-passport-app .world-board-hub{fill:var(--sun);stroke:var(--char);stroke-width:2.2;}
#buggy-passport-app .world-board-match{
  margin:9px 0 0;padding:9px 10px;border-radius:13px;background:rgba(255,253,247,.10);
  color:var(--fog);font:400 12px/1.35 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .world-board-match b{display:block;margin-bottom:2px;color:var(--sun);font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;}
#buggy-passport-app .world-board-note{display:block;margin-top:7px;color:rgba(255,253,247,.58)!important;font-size:10px!important;line-height:1.35!important;}
@media(max-width:380px){
  #buggy-passport-app .setup-context-grid{grid-template-columns:1fr;gap:0;}
  #buggy-passport-app .world-board-card{padding:11px;}
}

/* BUGGY STATUS MOVE v11: keep progress out of the top header and place it above bottom navigation. */
#buggy-passport-app:not(.home-active) header .brand{justify-content:flex-start!important;}
#buggy-passport-app nav .bottom-status{
  width:max-content!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin:0 8px 7px auto!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:var(--navy)!important;
  color:var(--fog)!important;
  border:1px solid rgba(4,30,66,.18)!important;
  box-shadow:0 8px 18px rgba(4,30,66,.12)!important;
  font:900 9px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
#buggy-passport-app nav .bottom-status .status-dot{color:var(--sun)!important;}
#buggy-passport-app nav .bottom-status #syncStatus[data-state="saved"]{color:#d7f3df!important;}
#buggy-passport-app nav .bottom-status #syncStatus[data-state="syncing"],
#buggy-passport-app nav .bottom-status #syncStatus[data-state="connecting"]{color:var(--sun)!important;}
#buggy-passport-app nav .bottom-status #syncStatus[data-state="offline"],
#buggy-passport-app nav .bottom-status #syncStatus[data-state="error"]{color:#ffd7df!important;}

/* BUGGY Passport v22 — clean information architecture */
#buggy-passport-app:not(.home-active) .tabs{grid-template-columns:repeat(2,1fr)!important;}
#buggy-passport-app .passport-checkin{
  margin-bottom:12px;padding:16px;border-radius:24px;background:var(--navy);color:var(--fog);
  box-shadow:0 16px 32px rgba(4,30,66,.18);text-align:center;
}
#buggy-passport-app .passport-checkin[hidden]{display:none!important;}
#buggy-passport-app .passport-checkin b{display:block;color:var(--sun);font:1000 17px/1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .passport-checkin small{display:block;margin:6px auto 12px;max-width:260px;color:rgba(255,253,247,.70)!important;}
#buggy-passport-app .passport-checkin button{width:100%;background:var(--sun)!important;color:var(--char)!important;}
#buggy-passport-app #home .home-option-divider{margin:14px 0 10px;color:rgba(255,253,247,.68);font:900 10px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;text-align:center;}
#buggy-passport-app #home .home-gate-options{grid-template-columns:1fr!important;}
#buggy-passport-app .passport-avatar{
  width:58px!important;height:42px!important;border-radius:999px!important;
  background:linear-gradient(135deg,var(--sun),#fff0b6)!important;
}
#buggy-passport-app .passport-utilities{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;}
#buggy-passport-app .passport-utilities button{
  min-height:50px;background:rgba(255,253,247,.82)!important;color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.14)!important;box-shadow:0 10px 24px rgba(4,30,66,.08)!important;
}
#buggy-passport-app .utility-stack{display:grid;gap:9px;}
#buggy-passport-app .utility-row{
  padding:14px;border-radius:18px;background:rgba(255,253,247,.84);border:1px solid rgba(4,30,66,.13);
  color:var(--navy);box-shadow:0 10px 24px rgba(4,30,66,.07);
}
#buggy-passport-app .utility-row b{display:block;color:var(--navy);font:1000 13px/1.15 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .utility-row small{display:block;margin-top:5px;color:var(--sage)!important;}
#buggy-passport-app .utility-row button{width:100%;margin-top:10px;background:var(--navy)!important;color:var(--fog)!important;}
#buggy-passport-app .utility-status{display:none;margin-top:10px;padding:10px;border-radius:14px;background:var(--navy);color:var(--fog);font-size:12px;}
#buggy-passport-app .utility-status.show{display:block;}
#buggy-passport-app .training-order-pills{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 9px;scrollbar-width:none;}
#buggy-passport-app .training-order-pills::-webkit-scrollbar{display:none;}
#buggy-passport-app .training-order-pill{
  flex:0 0 auto;min-height:34px;padding:8px 11px!important;border-radius:999px!important;
  background:rgba(255,253,247,.84)!important;color:var(--sage)!important;
  border:1px solid rgba(4,30,66,.14)!important;box-shadow:none!important;
  font:1000 9px/1 Arial,sans-serif!important;text-transform:uppercase;
}
#buggy-passport-app .training-order-pill.active{background:var(--navy)!important;color:var(--fog)!important;border-color:var(--navy)!important;}
#buggy-passport-app:not(.home-active) .training.done{background:rgba(88,97,95,.12)!important;border-color:rgba(88,97,95,.35)!important;}
#buggy-passport-app:not(.home-active) .training.done .check{background:var(--sage)!important;border-color:var(--sage)!important;color:var(--fog)!important;}
#buggy-passport-app:not(.home-active) .tag.incentive{background:rgba(254,189,59,.20)!important;border-color:rgba(196,137,19,.45)!important;color:#75500a!important;}
#buggy-passport-app:not(.home-active) .tag.info{background:rgba(4,30,66,.07)!important;border-color:rgba(4,30,66,.16)!important;color:var(--navy)!important;}
#buggy-passport-app:not(.home-active) .tag.done{background:var(--sage)!important;border-color:var(--sage)!important;color:var(--fog)!important;}
#buggy-passport-app .ride-launch{
  margin-top:12px;padding:14px;border-radius:22px;background:linear-gradient(135deg,var(--red),#8d0a2e);color:var(--fog);
  box-shadow:0 14px 30px rgba(191,13,62,.16);
}
#buggy-passport-app .ride-launch b{display:block;color:var(--fog);font:1000 14px/1.1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .ride-launch small{display:block;margin:5px 0 11px;color:rgba(255,253,247,.78)!important;}
#buggy-passport-app .ride-launch button{width:100%;background:var(--sun)!important;color:var(--char)!important;}
#buggy-passport-app .passport-utilities button b{display:block;font:1000 12px/1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .passport-utilities button small{display:block;margin-top:5px;color:var(--sage)!important;font:800 9px/1.2 Arial,sans-serif!important;}
#buggy-passport-app .training-reward{
  margin-bottom:10px;padding:11px 12px;border-radius:17px;background:rgba(254,189,59,.20);
  border:1px solid rgba(196,137,19,.36);color:#75500a;
}
#buggy-passport-app .training-reward.earned{background:rgba(88,97,95,.15);border-color:rgba(88,97,95,.38);color:var(--sage);}
#buggy-passport-app .training-reward b{display:block;font:1000 11px/1.1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .training-reward span{display:block;margin-top:4px;font:800 10px/1.3 Arial,sans-serif;}
#buggy-passport-app .passport-earned-title>span{display:flex;gap:5px;align-items:center;}
#buggy-passport-app .passport-training-link{
  appearance:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sun)!important;
  box-shadow:none!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
  text-align:left!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
}
#buggy-passport-app .passport-training-link:hover,
#buggy-passport-app .passport-training-link:focus-visible{
  color:var(--fog)!important;
  outline:none!important;
}
#buggy-passport-app .passport-rewards-button{
  min-height:30px!important;padding:6px 10px!important;border-radius:999px!important;
  background:var(--sun)!important;color:var(--char)!important;font:1000 9px/1 Arial,sans-serif!important;text-transform:uppercase;
}
#buggy-passport-app .map-launch-still{display:block;width:100%;height:64px;object-fit:cover;object-position:50% 52%;margin:9px 0 11px;border-radius:15px;border:1px solid rgba(255,253,247,.18);background:#73c5d8;}
#buggy-passport-app .training-header-actions{display:flex;align-items:center;gap:7px;justify-content:flex-end;flex-wrap:wrap;}
#buggy-passport-app .training-reset{
  min-height:28px!important;padding:6px 9px!important;border-radius:999px!important;
  background:rgba(191,13,62,.10)!important;color:var(--red)!important;border:1px solid rgba(191,13,62,.28)!important;
  font:1000 8px/1 Arial,sans-serif!important;text-transform:uppercase;
}
#buggy-passport-app:not(.home-active) button.training-fast-shortcut{
  width:100%;display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px;align-items:center;
  margin:0 0 12px;padding:2px 0 7px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:var(--char)!important;box-shadow:none!important;text-align:left;
}
#buggy-passport-app .training-rip-image{
  width:72px;height:88px;object-fit:contain;align-self:end;
  filter:drop-shadow(0 8px 10px rgba(4,30,66,.14));
}
#buggy-passport-app .training-rip-message{
  position:relative;display:block;padding:13px 14px;border:3px solid var(--char);border-radius:20px;
  background:#fffdf7;color:var(--char)!important;box-shadow:0 10px 22px rgba(4,30,66,.08);
  font:400 15px/1.35 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .training-rip-message:before{
  content:"";position:absolute;right:-10px;bottom:18px;width:16px;height:16px;
  background:#fffdf7;border-right:3px solid var(--char);border-top:3px solid var(--char);transform:rotate(45deg);
}
#buggy-passport-app #passport.active{display:flex;flex-direction:column;}
#buggy-passport-app #passport .passport-checkin{order:0;}
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{order:0;margin:0;}
#buggy-passport-app #passport .passport-rip-guide{
  order:1;display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px;align-items:center;margin:2px 0 0;
}
#buggy-passport-app #passport .ride-launch{order:2;}
#buggy-passport-app #passport .map-launch{order:3;}
#buggy-passport-app #passport .passport-markers-card{order:4;margin-top:12px;}
#buggy-passport-app:not(.home-active) .pattern{display:none!important;}
#buggy-passport-app #passport .passport-status-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;margin-top:11px;
}
#buggy-passport-app #passport .passport-verification-pill{
  min-height:34px;display:grid;place-items:center;padding:8px 10px;border-radius:999px;
  color:var(--fog);border:1px solid rgba(255,253,247,.22);
  font:700 12px/1.1 "Courier Prime","Courier New",monospace;text-align:center;
}
#buggy-passport-app #passport .passport-verification-pill[data-verified="true"]{
  background:var(--sage);border-color:rgba(255,253,247,.30);
}
#buggy-passport-app #passport .passport-verification-pill[data-verified="false"]{
  background:var(--red);border-color:#d86a87;
}
#buggy-passport-app .passport-markers-card{
  display:none;padding:14px;border-radius:24px;background:var(--navy);color:var(--fog);
  box-shadow:0 16px 32px rgba(4,30,66,.18);
}
#buggy-passport-app .passport-markers-card.show{display:block;}
#buggy-passport-app .passport-markers-card .passport-earned{margin-top:0;padding-top:0;border-top:0;}
#buggy-passport-app .passport-markers-heading{
  margin:0 0 11px;color:var(--sun);font:400 17px/1.1 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .speech,
#buggy-passport-app .setup-speech,
#buggy-passport-app .training-rip-message{
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-weight:400!important;
}
#buggy-passport-app .training-category-list{display:grid;gap:7px;}
#buggy-passport-app .training-category-row{
  width:100%;min-height:44px;padding:7px 8px 7px 11px!important;display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;
  border-radius:13px!important;background:rgba(255,253,247,.84)!important;color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.13)!important;box-shadow:none!important;text-align:left;
}
#buggy-passport-app .training-category-row.active{border-color:rgba(4,30,66,.32)!important;background:#fffdf7!important;}
#buggy-passport-app .training-category-light{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px rgba(4,30,66,.05);}
#buggy-passport-app .training-category-light.red{background:#d96b7f;}
#buggy-passport-app .training-category-light.lantern{background:var(--sun);}
#buggy-passport-app .training-category-light.sage{background:var(--sage);}
#buggy-passport-app .training-category-name{font:1000 11px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;}
#buggy-passport-app .training-category-meta{font:900 9px/1 Arial,sans-serif;color:var(--sage);}
#buggy-passport-app .training-status-pill{
  width:max-content;min-width:0;max-width:none;padding:8px 10px;border-radius:999px;text-align:center;
  font:700 12.25px/1 "Courier Prime","Courier New",monospace;white-space:nowrap;
  border:1px solid transparent;
}
#buggy-passport-app .training-status-pill.status-light-red{background:#f5d9df;border-color:#dba8b3;color:#6f172c;}
#buggy-passport-app .training-status-pill.status-light-yellow{background:#fff0bf;border-color:#e8cf7d;color:#694e08;}
#buggy-passport-app .training-status-pill.status-lantern{background:var(--sun);border-color:#d59b20;color:var(--char);}
#buggy-passport-app .training-status-pill.status-sage{background:var(--sage);border-color:var(--sage);color:var(--fog);}
#buggy-passport-app .training-status-pill.status-light-sage{background:#dfe5df;border-color:#aeb9af;color:#35443e;}
#buggy-passport-app .training-status-pill.status-charcoal{background:#d9dcdb;border-color:#aeb3b1;color:var(--char);}
#buggy-passport-app .training-category-body{margin:-1px 0 3px;padding:3px 4px 8px;}
#buggy-passport-app .reward-section-title{display:flex;justify-content:space-between;gap:10px;margin:13px 2px 7px;color:var(--navy);font:1000 11px/1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .reward-wallet-list{display:grid;gap:9px;}
#buggy-passport-app .reward-wallet-card{padding:13px;border-radius:18px;background:var(--navy);color:var(--fog);}
#buggy-passport-app .reward-wallet-card.used{background:rgba(88,97,95,.16);color:var(--navy);border:1px solid rgba(88,97,95,.28);}
#buggy-passport-app .reward-wallet-card b{display:block;color:var(--sun);font:1000 12px/1.15 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .reward-wallet-card.used b{color:var(--sage);}
#buggy-passport-app .reward-wallet-card small{display:block;margin-top:5px;color:rgba(255,253,247,.72)!important;}
#buggy-passport-app .reward-wallet-card.used small{color:var(--sage)!important;}
#buggy-passport-app .reward-wallet-card button{width:100%;margin-top:10px;background:var(--sun)!important;color:var(--char)!important;}
#buggy-passport-app .reward-wallet-empty{padding:12px;border-radius:16px;background:rgba(4,30,66,.06);color:var(--sage);font-size:12px;}
#buggy-passport-app .passport-status-item[data-earned="false"]{display:none;}
#buggy-passport-app .passport-earned{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,253,247,.16);
}
#buggy-passport-app .passport-earned-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  color:var(--sun);
  font:1000 10px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#buggy-passport-app .passport-earned-list{display:grid;gap:8px;margin-top:9px;}
#buggy-passport-app .passport-earned-item{
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr auto;
  gap:9px;
  align-items:center;
  padding:10px!important;
  border-radius:15px!important;
  background:rgba(255,253,247,.09)!important;
  color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.15)!important;
  box-shadow:none!important;
  text-align:left;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif!important;
}
#buggy-passport-app .passport-earned-icon{
  width:34px;height:34px;border-radius:12px;display:grid;place-items:center;
  background:var(--sun);color:var(--char);font:1000 14px/1 Arial,sans-serif;
}
#buggy-passport-app .passport-earned-copy b{display:block;color:var(--fog);font:900 12px/1.2 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .passport-earned-copy small{display:block;margin-top:3px;color:rgba(255,253,247,.68)!important;font:700 10px/1.25 Arial,sans-serif!important;}
#buggy-passport-app .passport-earned-open{color:var(--sun);font:1000 16px/1 Arial,sans-serif;}
#buggy-passport-app .passport-empty{padding:10px 0 2px;color:rgba(255,253,247,.68);font:700 12px/1.35 Arial,sans-serif;}
#buggy-passport-app .map-launch{
  margin-top:12px;padding:14px;border-radius:22px;background:var(--navy);color:var(--fog);
  box-shadow:0 14px 30px rgba(4,30,66,.12);
}
#buggy-passport-app .map-launch b{display:block;color:var(--sun);font:1000 14px/1.1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .map-launch small{display:block;margin:5px 0 11px;color:rgba(255,253,247,.68)!important;}
#buggy-passport-app .map-launch button{width:100%;background:var(--sun)!important;color:var(--char)!important;}
#buggy-passport-app .training-catalog{display:grid;gap:12px;}
#buggy-passport-app .training-group{padding:14px;border:1px solid rgba(4,30,66,.12);border-radius:22px;background:rgba(255,253,247,.78);}
#buggy-passport-app .training-group-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:7px;}
#buggy-passport-app .training-group-head b{color:var(--navy);font:1000 13px/1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .training-group-head span{color:var(--sage);font:800 10px/1 Arial,sans-serif;text-transform:uppercase;}
#buggy-passport-app .achievement-detail{display:grid;gap:10px;}
#buggy-passport-app .achievement-detail .marker-card{margin:0;}
#buggy-passport-app:not(.home-active) #achievementDetail .marker-card.earned{
  padding:15px!important;background:var(--navy)!important;color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.18)!important;box-shadow:0 16px 32px rgba(4,30,66,.18)!important;
}
#buggy-passport-app:not(.home-active) #achievementDetail .marker-card.earned>b{color:var(--fog)!important;}
#buggy-passport-app:not(.home-active) #achievementDetail .marker-card.earned>small{color:rgba(255,253,247,.76)!important;}
#buggy-passport-app:not(.home-active) #achievementDetail .marker-pill{
  background:rgba(255,253,247,.09)!important;color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.18)!important;
}
#buggy-passport-app:not(.home-active) #achievementDetail .coupon-box{
  background:rgba(254,189,59,.14)!important;color:var(--fog)!important;
  border-color:rgba(254,189,59,.62)!important;
}
#buggy-passport-app:not(.home-active) #achievementDetail .coupon-box b,
#buggy-passport-app:not(.home-active) #achievementDetail .coupon-box span{color:var(--fog)!important;}
#buggy-passport-app:not(.home-active) #achievementDetail .coupon-box small{color:rgba(255,253,247,.72)!important;}
#buggy-passport-app:not(.home-active) #achievementDetail .cta .primary{
  background:var(--sun)!important;color:var(--char)!important;
}
#buggy-passport-app:not(.home-active) #achievementDetail .cta .secondary{
  background:var(--fog)!important;color:var(--navy)!important;border:1px solid rgba(255,253,247,.28)!important;
}
#buggy-passport-app.map-active{padding:0!important;background:#73C5D8!important;overflow:hidden!important;}
#buggy-passport-app.map-active .phone{width:100vw!important;max-width:none!important;min-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;}
#buggy-passport-app.map-active .pattern,
#buggy-passport-app.map-active header,
#buggy-passport-app.map-active nav{display:none!important;}
#buggy-passport-app.map-active main{padding:0!important;}
#buggy-passport-app #map.map-screen{position:fixed;inset:0;z-index:150;background:#73C5D8;overflow:hidden;}
#buggy-passport-app #map .buggy-map-embed{position:absolute;inset:0;height:100dvh!important;border:0!important;border-radius:0!important;background:#73C5D8;}
#buggy-passport-app #map .buggy-map-embed iframe{width:100%!important;height:100%!important;margin:0!important;border:0!important;display:block;}
#buggy-passport-app #map .map-back{
  position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;z-index:4;
  min-height:42px;padding:10px 14px!important;border-radius:999px!important;
  background:rgba(4,30,66,.94)!important;color:var(--fog)!important;
  border:1px solid rgba(255,253,247,.25)!important;box-shadow:0 10px 28px rgba(4,30,66,.28)!important;
}
#buggy-passport-app #map .map-state{
  position:absolute;top:max(82px,calc(env(safe-area-inset-top) + 82px));right:12px;z-index:4;
  max-width:52vw;padding:9px 11px;border-radius:999px;background:rgba(4,30,66,.92);color:var(--sun);
  font:900 9px/1.15 Arial,sans-serif;text-transform:uppercase;text-align:center;
}
#buggy-passport-app #map .map-header-lockup{
  position:absolute;top:max(10px,env(safe-area-inset-top));right:12px;z-index:4;
  display:block;width:min(205px,55vw);height:auto;object-fit:contain;
  filter:drop-shadow(0 7px 12px rgba(4,30,66,.24));
}

/* v23 readability + font hierarchy refinement */
#buggy-passport-app .passport-rewards-button{
  min-height:36px!important;
  padding:7px 11px!important;
  background:rgba(255,253,247,.08)!important;
  color:var(--sun)!important;
  border:1px solid rgba(254,189,59,.58)!important;
  box-shadow:none!important;
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
#buggy-passport-app .passport-earned-title{
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
#buggy-passport-app #passport .passport-earned-title{
  display:flex!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px 18px!important;
  align-items:center!important;
  color:var(--fog)!important;
}
#buggy-passport-app #passport .passport-training-link,
#buggy-passport-app #passport .passport-rewards-button{
  appearance:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--sun)!important;
  box-shadow:none!important;
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.15!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  text-align:left!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
}
#buggy-passport-app #passport .passport-training-link:hover,
#buggy-passport-app #passport .passport-training-link:focus-visible,
#buggy-passport-app #passport .passport-rewards-button:hover,
#buggy-passport-app #passport .passport-rewards-button:focus-visible{
  color:var(--fog)!important;
  outline:none!important;
}
#buggy-passport-app .training-category-name,
#buggy-passport-app .training-fast-shortcut b,
#buggy-passport-app .training-reset,
#buggy-passport-app .tag,
#buggy-passport-app .marker-pill{
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}
#buggy-passport-app .training-category-name{font-size:14px!important;line-height:1.15!important;}
#buggy-passport-app .training-category-meta{font:700 12px/1.15 "Courier Prime","Courier New",monospace!important;}
#buggy-passport-app .training-fast-shortcut b{font-size:15px!important;line-height:1.2!important;}
#buggy-passport-app .training-reset{font-size:10.5px!important;line-height:1.1!important;}
#buggy-passport-app .tag,
#buggy-passport-app .marker-pill{font-size:11px!important;line-height:1.15!important;}

#buggy-passport-app p,
#buggy-passport-app small,
#buggy-passport-app .desc,
#buggy-passport-app .setup-footnote,
#buggy-passport-app .password-rules,
#buggy-passport-app .firebase-account-status,
#buggy-passport-app .passport-empty,
#buggy-passport-app .utility-status,
#buggy-passport-app .reward-wallet-empty,
#buggy-passport-app .result,
#buggy-passport-app .quiz-choice,
#buggy-passport-app .home-name-error,
#buggy-passport-app .setup-error,
#buggy-passport-app .title span,
#buggy-passport-app .training-category-meta{
  font-family:"Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .training-reward span{
  font-family:"Courier Prime","Courier New",monospace!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
#buggy-passport-app p{font-size:14px!important;line-height:1.5!important;}
#buggy-passport-app small,
#buggy-passport-app .desc,
#buggy-passport-app .setup-footnote,
#buggy-passport-app .password-rules,
#buggy-passport-app .passport-empty,
#buggy-passport-app .utility-status,
#buggy-passport-app .reward-wallet-empty{
  font-size:13px!important;
  line-height:1.45!important;
}
#buggy-passport-app .passport-earned-copy small,
#buggy-passport-app .passport-utilities button small,
#buggy-passport-app .training-fast-shortcut small,
#buggy-passport-app .reward-wallet-card small,
#buggy-passport-app .map-launch small,
#buggy-passport-app .ride-launch small,
#buggy-passport-app .utility-row small,
#buggy-passport-app .training small,
#buggy-passport-app .marker-card small{
  font-family:"Courier Prime","Courier New",monospace!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
#buggy-passport-app .quiz-choice{font-size:13.5px!important;line-height:1.4!important;}
#buggy-passport-app .title span{font-size:12.5px!important;line-height:1.3!important;}

#buggy-passport-app .passport-utilities button b{
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
#buggy-passport-app .ease-stack,
#buggy-passport-app .trust-stack{display:grid!important;grid-template-columns:1fr!important;gap:2px!important;text-align:center;}
#buggy-passport-app .ease-stack span,
#buggy-passport-app .trust-stack span{display:block;}

/* Signed-out information stays available beneath the Welcome check-in gate. */
#buggy-passport-app #home .home-gate-options{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
#buggy-passport-app #home .home-activate-title{margin:2px 0 9px!important;}
#buggy-passport-app #home .home-name-input::placeholder{font-size:12.5px!important;}
#buggy-passport-app #home .home-public-utilities{
  width:calc(100% - 40px)!important;
  max-width:352px!important;
  margin:12px auto 0!important;
}
#buggy-passport-app #home .home-public-utilities button{
  min-height:74px!important;
  padding:11px 10px!important;
  background:rgba(255,253,247,.78)!important;
  border-color:rgba(4,30,66,.16)!important;
  box-shadow:0 10px 24px rgba(4,30,66,.08)!important;
}
#buggy-passport-app #home .home-public-utilities button small{
  color:var(--sage)!important;
}
@media(max-width:430px){
  #buggy-passport-app #home .home-public-utilities{width:calc(100% - 34px)!important;}
}
@media(max-width:380px){
  #buggy-passport-app #home .home-public-utilities{width:calc(100% - 30px)!important;}
}

/* Training labels are clean divider rows; only the compact status chip carries state color. */
#buggy-passport-app .training-category-list{gap:0!important;}
#buggy-passport-app:not(.home-active) .training-category-row,
#buggy-passport-app:not(.home-active) .training-category-row.active{
  min-height:46px!important;
  padding:9px 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(4,30,66,.14)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--navy)!important;
  box-shadow:none!important;
}
#buggy-passport-app:not(.home-active) .training-category-row.active{
  border-bottom-color:rgba(4,30,66,.34)!important;
}

/* The three-way navigator belongs to the main app section, not an outside footer. */
#buggy-passport-app:not(.home-active):not(.onboarding-active) main{padding-bottom:16px!important;}
#buggy-passport-app nav.main-nav{
  position:relative!important;
  bottom:auto!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#buggy-passport-app:not(.home-active) nav.main-nav .tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
#buggy-passport-app .app-gutter-utilities{
  padding:0 16px 18px;
  background:var(--paper);
}
#buggy-passport-app .app-gutter-utilities .passport-utilities{margin:0!important;}
#buggy-passport-app .bottom-status-data{display:none!important;}
#buggy-passport-app.home-active .app-gutter-utilities,
#buggy-passport-app.onboarding-active .app-gutter-utilities,
#buggy-passport-app.map-active .app-gutter-utilities{display:none!important;}

/* ARETE state color now belongs only to the small right-side status chip. */
#buggy-passport-app .training-category-light.light-red{background:#db8999;}
#buggy-passport-app .training-category-light.light-yellow{background:#f4d66d;}
#buggy-passport-app .training-category-light.lantern{background:#d39310;}
#buggy-passport-app .training-category-light.sage{background:#d9e5dc;}
#buggy-passport-app .training-category-light.light-sage{background:#8aa08f;}
#buggy-passport-app .training-category-light.charcoal{background:#747b78;}

/* Expanded-node pills stay secondary at 50% color strength. */
#buggy-passport-app:not(.home-active) .tag.req{
  background:rgba(191,13,62,.50)!important;border-color:rgba(191,13,62,.72)!important;color:#fff7f8!important;
}
#buggy-passport-app:not(.home-active) .tag.incentive{
  background:rgba(254,189,59,.50)!important;border-color:rgba(196,137,19,.58)!important;color:#5c4007!important;
}
#buggy-passport-app:not(.home-active) .tag.info{
  background:rgba(88,97,95,.50)!important;border-color:rgba(88,97,95,.60)!important;color:var(--fog)!important;
}
#buggy-passport-app:not(.home-active) .tag.done{
  background:var(--sage)!important;border-color:var(--sage)!important;color:var(--fog)!important;
}
#buggy-passport-app .training-status-legend{margin:0 0 9px;border:1px solid rgba(4,30,66,.13);border-radius:14px;background:rgba(255,253,247,.72);color:var(--navy);}
#buggy-passport-app .training-status-legend summary{padding:9px 11px;cursor:pointer;font:400 12px/1.1 "Permanent Marker","Comic Sans MS",cursive;}
#buggy-passport-app .training-status-key{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;padding:2px 11px 11px;font:400 12px/1.3 "Courier Prime","Courier New",monospace;}
#buggy-passport-app .training-status-key span{display:flex;gap:7px;align-items:center;}
#buggy-passport-app .training-status-key i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;}
#buggy-passport-app .key-required{background:var(--red);}
#buggy-passport-app .key-not-started{background:#db8999;}
#buggy-passport-app .key-some{background:#f4d66d;}
#buggy-passport-app .key-required-partial{background:var(--sun);}
#buggy-passport-app .key-g2g{background:var(--sage);}
#buggy-passport-app .key-incentive{background:#aebfaf;}
#buggy-passport-app .key-used{background:#aeb3b1;}

/* v23 compact Passport identity block */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{grid-template-columns:auto minmax(0,1fr);align-items:start;}
#buggy-passport-app .passport-holder-copy{min-width:0;padding-top:2px;}
#buggy-passport-app .passport-holder-id{white-space:nowrap;}
#buggy-passport-app .passport-verification-text{display:flex;align-items:center;gap:6px;margin-top:6px;white-space:nowrap;}
#buggy-passport-app .passport-verification-text .passport-verification-status{
  display:inline;color:rgba(255,253,247,.74);font:400 10px/1.25 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .passport-verification-text .passport-verification-status+ .passport-verification-status:before{content:"·";margin-right:6px;color:rgba(255,253,247,.45);}
#buggy-passport-app .passport-verification-text .passport-verification-status[data-verified="true"]{color:#cbd9cc;}
#buggy-passport-app .passport-verification-text .passport-verification-status[data-verified="false"]{color:#ffb8c8;}
#buggy-passport-app .identity-verification-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer;}
#buggy-passport-app .passport-verification-status[data-verified="true"] .identity-verification-link{pointer-events:none;text-decoration:none;cursor:default;}
#buggy-passport-app .passport-check-link{
  color:var(--sun);font:400 10px/1.25 "Permanent Marker","Comic Sans MS",cursive;text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer;
}
#buggy-passport-app .passport-check-link:before{content:"·";margin-right:6px;color:rgba(255,253,247,.45);text-decoration:none;display:inline-block;}
#buggy-passport-app.passport-screen-active,
#buggy-passport-app.training-screen-active{overflow-x:clip!important;overflow-y:visible!important;}
#buggy-passport-app.passport-screen-active .phone,
#buggy-passport-app.training-screen-active .phone{overflow:visible!important;}
#buggy-passport-app.passport-screen-active header{position:relative!important;top:auto!important;}
#buggy-passport-app #passport .passport-rip-guide{
  position:sticky;top:0;z-index:8;margin-top:18px!important;padding:8px 0 10px;scroll-margin-top:18px;
  background:linear-gradient(180deg,rgba(241,240,235,.98) 0%,rgba(241,240,235,.96) 78%,rgba(241,240,235,0) 100%);
  backdrop-filter:blur(5px);
}
#buggy-passport-app #passport .passport-rip-guide .training-rip-message.rip-speech-change{animation:ripSpeechChange .2s ease;}
@keyframes ripSpeechChange{from{opacity:.45;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
#buggy-passport-app.training-screen-active header{position:relative!important;top:auto!important;}
#buggy-passport-app #trainingPage .training-fast-shortcut{
  position:sticky;top:0;z-index:8;margin-bottom:12px!important;padding:8px 0 10px!important;
  background:linear-gradient(180deg,rgba(241,240,235,.98) 0%,rgba(241,240,235,.96) 78%,rgba(241,240,235,0) 100%)!important;
  backdrop-filter:blur(5px);
}
#buggy-passport-app #trainingPage .training-fast-shortcut .training-rip-message.rip-speech-change{animation:ripSpeechChange .2s ease;}
#buggy-passport-app .header-training-reset{
  display:none!important;margin-left:auto!important;max-width:78px;padding:2px 0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:var(--red)!important;text-align:right;font:400 9px/1.12 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app.training-screen-active header .lock{width:100%;}
#buggy-passport-app.training-screen-active .header-training-reset{display:block!important;}
html.buggy-training-snap{scroll-snap-type:none;scroll-behavior:auto!important;}
html.buggy-training-snap #buggy-passport-app .training-category-section{scroll-snap-align:none;scroll-snap-stop:normal;scroll-margin-top:124px;}
@media(pointer:coarse){
  html.buggy-training-snap{scroll-snap-type:y proximity;scroll-padding-top:124px;}
  html.buggy-training-snap #buggy-passport-app .training-category-section{scroll-snap-align:start;}
}
#buggy-passport-app #passport .map-launch{scroll-margin-top:18px;}
#buggy-passport-app .passport-header-lockup{width:min(126px,31.2vw)!important;}
#buggy-passport-app #map .map-header-lockup{width:min(123px,33vw)!important;}
#buggy-passport-app #map .map-state{top:max(58px,calc(env(safe-area-inset-top) + 58px));}
#buggy-passport-app nav.main-nav .tab{
  min-height:54px;display:grid;align-content:center;gap:4px;padding:8px 3px!important;text-transform:none!important;
}
#buggy-passport-app nav.main-nav .tab-core{
  display:block;font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive;text-transform:uppercase;
}
#buggy-passport-app nav.main-nav .tab-app{
  display:block;font:700 12px/1.05 "Courier Prime","Courier New",monospace;letter-spacing:.05em;text-transform:uppercase;
}
@media(max-width:380px){
  #buggy-passport-app .passport-verification-text{gap:4px;}
  #buggy-passport-app .passport-verification-text .passport-verification-status,
  #buggy-passport-app .passport-check-link{font-size:8.5px;}
  #buggy-passport-app .header-training-reset{max-width:66px;font-size:8px!important;}
  #buggy-passport-app .passport-verification-text .passport-verification-status+ .passport-verification-status:before,
  #buggy-passport-app .passport-check-link:before{margin-right:4px;}
}
@media(prefers-reduced-motion:reduce){html.buggy-training-snap{scroll-behavior:auto!important;scroll-snap-type:none;}}

/* Image-based core application carousel replaces the separate section artwork and bottom text navigator. */
#buggy-passport-app header .brand,
#buggy-passport-app header .lock{width:100%;min-width:0;}
#buggy-passport-app header .lock{position:relative;gap:10px;}
#buggy-passport-app nav.section-switcher{
  position:relative!important;bottom:auto!important;left:auto!important;transform:none!important;z-index:1!important;
  display:flex!important;align-items:center!important;flex:1 1 auto!important;gap:4px!important;width:auto!important;min-width:0!important;height:62px!important;
  margin:0!important;padding:5px!important;overflow:hidden!important;border:1px solid rgba(4,30,66,.16)!important;border-radius:999px!important;
  background:rgba(255,253,247,.78)!important;box-shadow:0 10px 24px rgba(4,30,66,.11)!important;backdrop-filter:blur(14px)!important;
}
#buggy-passport-app .section-switcher .core-section-tab{
  display:grid!important;place-items:center!important;flex:.86 1 0!important;min-width:0!important;height:50px!important;margin:0!important;padding:5px!important;
  border:0!important;border-radius:999px!important;background:transparent!important;box-shadow:none!important;opacity:.47!important;transform:scale(.84);
  transition:flex-grow .34s cubic-bezier(.22,.78,.22,1),opacity .26s ease,transform .34s cubic-bezier(.22,.78,.22,1),background .26s ease!important;
}
#buggy-passport-app .section-switcher .core-section-tab.active{
  flex:2.15 1 0!important;opacity:1!important;transform:scale(1);background:rgba(254,189,59,.15)!important;
}
#buggy-passport-app .section-switcher .core-section-tab img{
  display:block;width:100%;height:auto;max-height:42px;object-fit:contain;filter:none;pointer-events:none;
}
#buggy-passport-app .section-switcher .core-section-tab:not(.active) img{max-height:26px;}
#buggy-passport-app #tab-map{order:1;}
#buggy-passport-app #tab-passport{order:2;}
#buggy-passport-app #tab-trainingPage{order:3;}
#buggy-passport-app.training-screen-active header{padding-bottom:31px!important;}
#buggy-passport-app .header-training-reset{
  position:absolute!important;right:2px!important;bottom:-22px!important;width:auto!important;max-width:none!important;margin:0!important;
  padding:2px 3px!important;white-space:nowrap!important;color:var(--red)!important;font-size:10px!important;text-align:right!important;
}
#buggy-passport-app.map-active header{
  display:block!important;position:fixed!important;top:max(8px,env(safe-area-inset-top))!important;left:50%!important;transform:translateX(-50%)!important;
  width:min(430px,calc(100vw - 16px))!important;margin:0!important;padding:8px 10px!important;z-index:220!important;
  background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;
}
#buggy-passport-app.map-active nav.section-switcher{display:flex!important;background:rgba(255,253,247,.90)!important;box-shadow:0 12px 30px rgba(4,30,66,.22)!important;}
#buggy-passport-app.map-active header .lock{display:flex!important;}
#buggy-passport-app.map-active header .logo{display:block!important;}
#buggy-passport-app.map-active #map .map-back,
#buggy-passport-app.map-active #map .map-header-lockup,
#buggy-passport-app.map-active #map .map-state{display:none!important;}
@media(max-width:360px){
  #buggy-passport-app header{padding-left:10px!important;padding-right:10px!important;}
  #buggy-passport-app header .lock{gap:7px;}
  #buggy-passport-app nav.section-switcher{height:58px!important;padding:4px!important;}
  #buggy-passport-app .section-switcher .core-section-tab{height:48px!important;padding:4px!important;}
}

/* Home check-in name ticker: the moving examples become the editable field when selected. */
#buggy-passport-app #home .home-name-ribbon{position:relative;width:100%;min-height:50px;margin:0 0 12px;overflow:hidden;border-radius:17px;}
#buggy-passport-app #home .home-name-ribbon .home-name-input{
  position:relative;z-index:2;margin:0!important;background:transparent!important;color:transparent!important;caret-color:transparent!important;
}
#buggy-passport-app #home .home-name-ticker{
  position:absolute;inset:0;z-index:1;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(4,30,66,.10);border-radius:17px;
  background:#e4e6e5;opacity:1;transition:opacity .18s ease,transform .18s ease;pointer-events:none;
}
#buggy-passport-app #home .home-name-ticker-track{
  display:flex;flex:none;width:max-content;height:100%;align-items:center;will-change:transform;animation:buggyNameTicker 46s linear infinite;
}
#buggy-passport-app #home .home-name-ticker-set{display:flex;flex:none;align-items:center;height:100%;padding:0;}
#buggy-passport-app #home .home-name-ticker-set span{
  display:flex;align-items:center;flex:none;margin:0 12px 0 0;padding:0;color:rgba(4,30,66,.56);white-space:nowrap;
  font:400 15px/1 "Permanent Marker","Comic Sans MS",cursive;letter-spacing:.01em;
}
#buggy-passport-app #home .home-name-ticker-set span:after{content:"•";display:inline-block;margin-left:12px;color:inherit;font-family:Arial,sans-serif;font-size:13px;opacity:1;}
#buggy-passport-app #home .home-name-ribbon.is-editing .home-name-ticker{opacity:0;transform:translateY(-3px);}
#buggy-passport-app #home .home-name-ribbon.is-editing .home-name-input{
  background:#fffdf7!important;color:var(--char)!important;caret-color:var(--red)!important;
}
@keyframes buggyNameTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:380px){#buggy-passport-app #home .home-name-ribbon{min-height:47px;}#buggy-passport-app #home .home-name-ticker-set span{font-size:14px;margin-right:10px;}#buggy-passport-app #home .home-name-ticker-set span:after{margin-left:10px;}}
@media(prefers-reduced-motion:reduce){#buggy-passport-app #home .home-name-ticker-track{animation-duration:72s;}}
@media(prefers-reduced-motion:reduce){#buggy-passport-app .section-switcher .core-section-tab{transition:none!important;}}

/* Two-screen entry flow and Rip size system:
   full-size Rip for Welcome/onboarding, narrow Rip for training guidance. */
#buggy-passport-app #home .home-entry-action{
  width:calc(100% - 40px);max-width:352px;margin:0 auto;
}
#buggy-passport-app #home .home-entry-button{
  width:100%;min-height:64px;padding:14px 18px!important;border:2px solid rgba(255,253,247,.18)!important;
  border-radius:999px!important;background:var(--navy)!important;color:var(--fog)!important;
  box-shadow:0 18px 34px rgba(4,30,66,.22)!important;
  font:400 18px/1.1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #home .home-entry-button:hover,
#buggy-passport-app #home .home-entry-button:focus-visible{transform:translateY(-1px);box-shadow:0 20px 38px rgba(4,30,66,.27)!important;}
#buggy-passport-app #passportActivate .setup-shell{padding-bottom:34px;}
#buggy-passport-app #passportActivate .home-name-rip-prompt{
  width:100%;max-width:380px;min-height:238px;margin:6px auto 0;
  display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:10px;align-items:end;
}
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech{
  position:relative;left:auto;top:auto;z-index:3;width:100%;min-height:160px;margin:18px 0 0;
  align-self:start;overflow:visible;
}
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-rip{
  width:165px;height:230px;justify-self:end;
}
#buggy-passport-app #passportSetup .rip-notification-scene,
#buggy-passport-app #passportLogin .rip-notification-scene{
  width:100%;max-width:380px;min-height:238px;margin:6px auto 0;
  display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:10px;align-items:end;
}
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  position:relative;left:auto;top:auto;z-index:3;width:100%;min-height:142px;margin:18px 0 0;
  align-self:start;overflow:visible;
}
#buggy-passport-app #passportSetup .rip-notification-scene .setup-rip,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-rip{
  width:165px;height:230px;justify-self:end;
}
#buggy-passport-app #passportActivate .passport-activation-card{
  width:100%;max-width:352px;margin:0 auto;padding:19px 16px 17px;border:2px solid rgba(255,253,247,.18);
  border-radius:30px;background:var(--navy);color:var(--fog);box-shadow:0 18px 34px rgba(4,30,66,.22);
}
#buggy-passport-app #passportActivate .activation-title{
  margin:0 0 12px;color:var(--fog);text-align:center;
  font:400 18px/1.05 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app #passportActivate .activation-title.home-activate-title{margin:3px 0 12px;}
#buggy-passport-app #passportActivate .home-name-ribbon{position:relative;width:100%;min-height:50px;margin:0 0 12px;overflow:hidden;border-radius:17px;}
#buggy-passport-app #passportActivate .home-name-input{
  position:relative;z-index:2;width:100%;min-height:50px;margin:0;padding:12px 14px;border:1px solid rgba(255,253,247,.34);
  border-radius:17px;background:transparent;color:transparent;caret-color:transparent;outline:none;
  box-shadow:0 7px 15px rgba(0,0,0,.10);font:800 14px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app #passportActivate .home-name-ticker{
  position:absolute;inset:0;z-index:1;display:flex;align-items:center;overflow:hidden;border:1px solid rgba(4,30,66,.10);
  border-radius:17px;background:#e4e6e5;opacity:1;transition:opacity .18s ease,transform .18s ease;pointer-events:none;
}
#buggy-passport-app #passportActivate .home-name-ticker-track{
  display:flex;flex:none;width:max-content;height:100%;align-items:center;will-change:transform;animation:buggyNameTicker 46s linear infinite;
}
#buggy-passport-app #passportActivate .home-name-ticker-set{display:flex;flex:none;align-items:center;height:100%;padding:0;}
#buggy-passport-app #passportActivate .home-name-ticker-set span{
  display:flex;align-items:center;flex:none;margin:0 12px 0 0;padding:0;color:rgba(4,30,66,.56);white-space:nowrap;
  font:400 15px/1 "Permanent Marker","Comic Sans MS",cursive;letter-spacing:.01em;
}
#buggy-passport-app #passportActivate .home-name-ticker-set span:after{
  content:"•";display:inline-block;margin-left:12px;color:inherit;font-family:Arial,sans-serif;font-size:13px;
}
#buggy-passport-app #passportActivate .home-name-ribbon.is-editing .home-name-ticker{opacity:0;transform:translateY(-3px);}
#buggy-passport-app #passportActivate .home-name-ribbon.is-editing .home-name-input{
  background:#fffdf7;color:var(--char);caret-color:var(--red);border-color:var(--sun);
  box-shadow:0 0 0 3px rgba(254,189,59,.22),0 7px 15px rgba(0,0,0,.10);
}
#buggy-passport-app .rip-welcome-name{display:block;margin:0 0 5px;font:700 1.55em/.95 "Permanent Marker","Comic Sans MS",cursive;color:var(--red)}
#buggy-passport-app .rip-welcome-message{display:block;font:400 1em/1.16 "Permanent Marker","Comic Sans MS",cursive;color:var(--char)}
#buggy-passport-app #passportActivate .home-name-error{
  display:none;margin:-4px 2px 11px;padding:8px 9px;border-radius:12px;background:rgba(191,13,62,.22);
  border:1px solid rgba(255,215,223,.28);color:#ffd7df;font:800 11px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
#buggy-passport-app #passportActivate .home-name-error.show{display:block;}
#buggy-passport-app #passportActivate .home-gate-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
#buggy-passport-app #passportActivate .home-gate-card{
  min-height:54px;padding:12px 10px!important;border:1px solid rgba(255,253,247,.22)!important;border-radius:20px!important;
  background:var(--sun)!important;color:var(--char)!important;box-shadow:0 8px 16px rgba(0,0,0,.14)!important;
}
#buggy-passport-app #passportActivate .home-gate-card b{font:400 17px/1 "Permanent Marker","Comic Sans MS",cursive;}

/* Rip is the notification system. Guidance bubbles invert to a faint red solution state. */
#buggy-passport-app .speech,
#buggy-passport-app .setup-speech,
#buggy-passport-app .training-rip-message{
  border-color:var(--char)!important;color:var(--char)!important;
}
#buggy-passport-app .rip-notification-scene .setup-speech{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#buggy-passport-app .rip-notification-scene.rip-notification-error .setup-speech{
  background:#f5dfe4!important;color:var(--char)!important;border-color:var(--char)!important;
  box-shadow:0 14px 28px rgba(191,13,62,.13)!important;
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .rip-notification-scene.rip-notification-success .setup-speech{
  background:#e3ebe4!important;color:var(--char)!important;border-color:var(--char)!important;
  box-shadow:0 14px 28px rgba(88,97,95,.12)!important;
}
/* Retain accessible alert text without rendering a competing system-style error box. */
#buggy-passport-app #passportActivate .home-name-error,
#buggy-passport-app .setup-error,
#buggy-passport-app .setup-error.show,
#buggy-passport-app .setup-error.success{
  display:block!important;position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;
  padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important;
}
@media(max-width:430px){#buggy-passport-app #home .home-entry-action{width:calc(100% - 34px);}}
@media(max-width:380px){
  #buggy-passport-app #home .home-entry-action{width:calc(100% - 30px);}
  #buggy-passport-app #home .home-entry-button{min-height:58px;font-size:16px!important;}
  #buggy-passport-app #passportActivate .home-name-ribbon{min-height:47px;}
  #buggy-passport-app #passportActivate .home-name-input{min-height:47px;font-size:12.5px;}
  #buggy-passport-app #passportActivate .home-name-rip-prompt{grid-template-columns:minmax(0,1fr) 136px;gap:7px;}
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-rip{width:142px;height:210px;}
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech{min-height:178px;margin-top:8px;}
  #buggy-passport-app #passportSetup .rip-notification-scene,
  #buggy-passport-app #passportLogin .rip-notification-scene{grid-template-columns:minmax(0,1fr) 136px;gap:7px;}
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-rip,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-rip{width:142px;height:210px;}
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{min-height:154px;margin-top:8px;}
  #buggy-passport-app #passportActivate .home-name-ticker-set span{font-size:14px;margin-right:10px;}
  #buggy-passport-app #passportActivate .home-name-ticker-set span:after{margin-left:10px;}
}
@media(prefers-reduced-motion:reduce){#buggy-passport-app #passportActivate .home-name-ticker-track{animation-duration:72s;}}

/* RIP CALLOUT SPRITE SYSTEM
   Standard = full-size Welcome/onboarding, compact = reserved medium treatment,
   wide = narrow Passport/Training guide. Full-size speech uses the bottom-center panel. */
#buggy-passport-app{
  --rip-callout-standard-sprite:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/e8958838-d8e5-4895-a984-7bfa61c4d72a/rip-callouts-standard-sprite.png?content-type=image%2Fpng");
  --rip-callout-compact-sprite:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/93155a87-0e83-4454-a683-3c435ec069e5/rip-callouts-compact-sprite.png?content-type=image%2Fpng");
  --rip-callout-wide-sprite:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/18d90eda-292b-4f70-8389-b34880d47414/rip-callouts-wide-sprite.png?content-type=image%2Fpng");
}
#buggy-passport-app .rip-callout-copy{
  position:relative;z-index:2;display:block;width:100%;
}
#buggy-passport-app #home .home-speech,
#buggy-passport-app .setup-speech,
#buggy-passport-app .training-rip-message{
  isolation:isolate;background-color:transparent!important;background-repeat:no-repeat!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--char)!important;
  filter:drop-shadow(0 10px 15px rgba(42,47,45,.12));
}
#buggy-passport-app #home .home-speech{
  min-height:160px;background-image:var(--rip-callout-standard-sprite)!important;
  background-size:300% 300%!important;background-position:50% 100%!important;
  padding:18px 22px 38px!important;
}
#buggy-passport-app .setup-speech{
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;background-position:92.1% 50.4%!important;
  padding:19px 31px 18px 18px!important;
}
#buggy-passport-app .training-rip-message{
  min-height:108px;display:flex!important;align-items:center;
  background-image:var(--rip-callout-wide-sprite)!important;
  background-size:327.2% 471.1%!important;background-position:97.1% 48.1%!important;
  padding:17px 32px 17px 19px!important;
}
#buggy-passport-app .training-rip-message:before{content:none!important;display:none!important;}
#buggy-passport-app .rip-notification-scene .setup-speech:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  background:transparent;transition:opacity .18s ease,background-color .18s ease;
  -webkit-mask-image:var(--rip-callout-compact-sprite);mask-image:var(--rip-callout-compact-sprite);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:422.2% 535.9%;mask-size:422.2% 535.9%;
  -webkit-mask-position:92.1% 50.4%;mask-position:92.1% 50.4%;
  mix-blend-mode:multiply;
}
#buggy-passport-app .rip-notification-scene.rip-notification-error .setup-speech,
#buggy-passport-app .rip-notification-scene.rip-notification-success .setup-speech{
  background-color:transparent!important;border:0!important;box-shadow:none!important;
}
#buggy-passport-app .rip-notification-scene.rip-notification-error .setup-speech:after{
  opacity:.9;background:#f5dfe4;
}
#buggy-passport-app .rip-notification-scene.rip-notification-success .setup-speech:after{
  opacity:.82;background:#e3ebe4;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech{min-height:128px;padding:19px 28px 18px 17px!important;}
  #buggy-passport-app .setup-speech{padding:17px 27px 16px 16px!important;}
  #buggy-passport-app .training-rip-message{min-height:104px;padding:15px 28px 15px 17px!important;}
}

/*
  BUGGY painted trailhead — proposed controlled hybrid.
  Comic callouts belong to Rip. Painted swashes carry brand emphasis.
  Inputs, identity, status, map controls, and transactional UI stay clean.
*/
#buggy-passport-app{
  --buggy-paint-horizontal:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/10cb13f1-3ffe-47e1-8de0-c8437b0f53e3/buggy-painted-horizontal-sprite.png?content-type=image%2Fpng");
  --buggy-paint-vertical:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/3b0f7847-dd65-4135-8ded-ea41f82db753/buggy-painted-vertical-sprite.png?content-type=image%2Fpng");
  --buggy-paint-shapes:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/e836799c-e145-4fd0-9846-8f60ec7d8d6f/buggy-painted-shapes-sprite.png?content-type=image%2Fpng");
  --rip-callout-standard-sprite:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/e8958838-d8e5-4895-a984-7bfa61c4d72a/rip-callouts-standard-sprite.png?content-type=image%2Fpng");
  --rip-callout-compact-sprite:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/93155a87-0e83-4454-a683-3c435ec069e5/rip-callouts-compact-sprite.png?content-type=image%2Fpng");
  --rip-callout-wide-sprite:url("https://images.squarespace-cdn.com/content/66843e0815c6f81f1d07b618/18d90eda-292b-4f70-8389-b34880d47414/rip-callouts-wide-sprite.png?content-type=image%2Fpng");
}

/* The Welcome action is the strongest painted gesture in the experience. */
#buggy-passport-app #home .home-entry-button{
  position:relative;isolation:isolate;overflow:visible;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:var(--fog)!important;
}
#buggy-passport-app #home .home-entry-button:before{
  content:"";position:absolute;inset:-8px -11px;z-index:-1;pointer-events:none;
  background:var(--navy);
  -webkit-mask-image:var(--buggy-paint-horizontal);mask-image:var(--buggy-paint-horizontal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:312.8% 409.4%;mask-size:312.8% 409.4%;
  -webkit-mask-position:1% 83%;mask-position:1% 83%;
}
#buggy-passport-app #home .home-entry-button:hover,
#buggy-passport-app #home .home-entry-button:focus-visible{box-shadow:none!important;}
#buggy-passport-app #home .home-entry-button:focus-visible{outline:3px solid var(--sun);outline-offset:8px;}

/* New / Existing are friendly activation choices, not another pair of hard cards. */
#buggy-passport-app #passportActivate .home-gate-card{
  position:relative;isolation:isolate;overflow:visible;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:var(--char)!important;
}
#buggy-passport-app #passportActivate .home-gate-card:before{
  content:"";position:absolute;inset:-5px -7px;z-index:-1;pointer-events:none;background:var(--sun);
  -webkit-mask-image:var(--buggy-paint-horizontal);mask-image:var(--buggy-paint-horizontal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
#buggy-passport-app #passportActivate .home-gate-card:first-child:before{
  -webkit-mask-size:314.3% 477.1%;mask-size:314.3% 477.1%;
  -webkit-mask-position:1.1% 18.3%;mask-position:1.1% 18.3%;
}
#buggy-passport-app #passportActivate .home-gate-card:last-child:before{
  -webkit-mask-size:318.8% 396.9%;mask-size:318.8% 396.9%;
  -webkit-mask-position:50% 16.5%;mask-position:50% 16.5%;
}
#buggy-passport-app #passportActivate .home-gate-card:focus-visible{outline:3px solid var(--fog);outline-offset:7px;}

/* The selected application gets a brush highlight; the carousel remains one control. */
#buggy-passport-app .section-switcher .core-section-tab{position:relative;isolation:isolate;overflow:visible!important;}
#buggy-passport-app .section-switcher .core-section-tab.active{background:transparent!important;}
#buggy-passport-app .section-switcher .core-section-tab.active:before{
  content:"";position:absolute;inset:3px 0;z-index:-1;pointer-events:none;background:rgba(254,189,59,.14);
  -webkit-mask-image:var(--buggy-paint-horizontal);mask-image:var(--buggy-paint-horizontal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:312.8% 577.8%;mask-size:312.8% 577.8%;
  -webkit-mask-position:99% 80.2%;mask-position:99% 80.2%;
}
#buggy-passport-app .section-switcher .core-section-tab img{position:relative;z-index:1;}

/* Painted labels introduce the three substantial Passport actions. */
#buggy-passport-app .ride-launch>b,
#buggy-passport-app .map-launch>b,
#buggy-passport-app .passport-markers-heading{
  position:relative;isolation:isolate;display:inline-block!important;width:max-content;max-width:100%;
  margin:0 0 7px!important;padding:8px 15px 8px 12px;color:var(--char)!important;
  font:1000 14px/1.1 Arial,sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
#buggy-passport-app .ride-launch>b:before,
#buggy-passport-app .map-launch>b:before,
#buggy-passport-app .passport-markers-heading:before{
  content:"";position:absolute;inset:0 -5px;z-index:-1;pointer-events:none;background:var(--fog);
  -webkit-mask-image:var(--buggy-paint-horizontal);mask-image:var(--buggy-paint-horizontal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
#buggy-passport-app .ride-launch>b:before{
  -webkit-mask-size:314.3% 477.1%;mask-size:314.3% 477.1%;
  -webkit-mask-position:1.1% 18.3%;mask-position:1.1% 18.3%;
}
#buggy-passport-app .map-launch>b:before{
  -webkit-mask-size:318.8% 396.9%;mask-size:318.8% 396.9%;
  -webkit-mask-position:50% 16.5%;mask-position:50% 16.5%;
}
#buggy-passport-app .passport-markers-heading:before{
  -webkit-mask-size:327.5% 321%;mask-size:327.5% 321%;
  -webkit-mask-position:97.9% 13.7%;mask-position:97.9% 13.7%;
}

/* Training stays scannable. Only the row being viewed receives a faint swash. */
#buggy-passport-app:not(.home-active) .training-category-row{position:relative;isolation:isolate;}
#buggy-passport-app:not(.home-active) .training-category-row>*{position:relative;z-index:1;}
#buggy-passport-app:not(.home-active) .training-category-row.active:before{
  content:"";position:absolute;inset:3px -7px;z-index:0;pointer-events:none;background:rgba(254,189,59,.26);
  -webkit-mask-image:var(--buggy-paint-horizontal);mask-image:var(--buggy-paint-horizontal);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:312.8% 409.4%;mask-size:312.8% 409.4%;
  -webkit-mask-position:1% 83%;mask-position:1% 83%;
}

/* Ease and Trust remain clean utilities, with one hand-painted side rail each. */
#buggy-passport-app .passport-utilities button{position:relative;isolation:isolate;overflow:hidden;padding-left:25px!important;}
#buggy-passport-app .passport-utilities button:before{
  content:"";position:absolute;left:7px;top:6px;bottom:6px;width:11px;z-index:0;pointer-events:none;background:var(--sun);opacity:.82;
  -webkit-mask-image:var(--buggy-paint-vertical);mask-image:var(--buggy-paint-vertical);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:880.7% 212.8%;mask-size:880.7% 212.8%;
  -webkit-mask-position:12.5% 2.8%;mask-position:12.5% 2.8%;
}
#buggy-passport-app .passport-utilities button:nth-child(2):before{
  background:var(--sage);opacity:.72;
  -webkit-mask-size:406.8% 214.5%;mask-size:406.8% 214.5%;
  -webkit-mask-position:50% 3.3%;mask-position:50% 3.3%;
}
#buggy-passport-app .passport-utilities button>*{position:relative;z-index:1;}

/* Painted shapes are reserved for achieved Markers and available rewards. */
#buggy-passport-app .passport-earned-icon{
  border-radius:0!important;
  -webkit-mask-image:var(--buggy-paint-shapes);mask-image:var(--buggy-paint-shapes);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:519.2% 223.3%;mask-size:519.2% 223.3%;
  -webkit-mask-position:3.4% 4.7%;mask-position:3.4% 4.7%;
}
#buggy-passport-app .reward-wallet-card:not(.used){position:relative;padding-right:58px;}
#buggy-passport-app .reward-wallet-card:not(.used):after{
  content:"";position:absolute;right:10px;top:10px;width:38px;height:38px;pointer-events:none;background:var(--sun);
  -webkit-mask-image:var(--buggy-paint-shapes);mask-image:var(--buggy-paint-shapes);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:509.4% 224.4%;mask-size:509.4% 224.4%;
  -webkit-mask-position:65.2% 95.3%;mask-position:65.2% 95.3%;
}

/* Transactional and map surfaces deliberately stay unpainted. */
#buggy-passport-app .setup-input,
#buggy-passport-app .setup-select,
#buggy-passport-app .setup-action,
#buggy-passport-app .setup-secondary-action,
#buggy-passport-app .passport-verification-status,
#buggy-passport-app .passport-check-link,
#buggy-passport-app .training-status-pill,
#buggy-passport-app #map button{filter:none;}

@media(max-width:380px){
  #buggy-passport-app .ride-launch>b,
  #buggy-passport-app .map-launch>b,
  #buggy-passport-app .passport-markers-heading{padding:7px 13px 7px 10px;}
  #buggy-passport-app .passport-utilities button{padding-left:22px!important;}
}

/* Kiosk entry + quiet information footer.
   Welcome is the public front door; Passport content exists only inside an open session. */
#buggy-passport-app .app-info-footer{
  padding:7px 10px 8px;
  background:linear-gradient(180deg,#edf1ec 0%,#f7f5ee 100%);
  border-top:1px solid rgba(88,97,95,.18);
  color:var(--sage);text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
#buggy-passport-app .app-info-line{display:grid;gap:2px;justify-items:center;}
#buggy-passport-app .app-info-link{
  display:inline-flex;align-items:baseline;justify-content:center;gap:5px;max-width:100%;
  min-height:0!important;margin:0!important;padding:1px 2px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:var(--sage)!important;
  font:400 12px/1.3 "Courier Prime","Courier New",monospace!important;text-align:center;
}
#buggy-passport-app .app-info-label{
  color:var(--navy);font:400 10.5px/1.2 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.02em;text-transform:uppercase;
}
#buggy-passport-app .app-info-link:hover .app-info-copy,
#buggy-passport-app .app-info-link:focus-visible .app-info-copy{text-decoration:underline;text-underline-offset:3px;}
#buggy-passport-app .app-info-link:focus-visible{outline:2px solid var(--sun)!important;outline-offset:3px;}
#buggy-passport-app.public-info-active{background:var(--fog)!important;}
#buggy-passport-app.public-info-active .phone{
  min-height:100vh;background:var(--paper)!important;display:flex;flex-direction:column;
}
#buggy-passport-app.public-info-active header{display:none!important;}
#buggy-passport-app.public-info-active .pattern{
  display:flex!important;justify-content:center!important;height:38px!important;padding:0 5px!important;
  border-bottom:2px solid var(--sun)!important;background:var(--sage)!important;color:var(--fog)!important;
  font-size:10px!important;letter-spacing:0!important;text-align:center!important;
}
#buggy-passport-app.public-info-active main{flex:1;padding:10px 16px 18px!important;}
#buggy-passport-app .utility-back-link{
  min-height:0!important;margin:2px 0 8px!important;padding:3px 0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:var(--sage)!important;
  font:400 12px/1.2 "Courier Prime","Courier New",monospace!important;text-decoration:underline;text-underline-offset:3px;
}
@media(max-width:380px){
  #buggy-passport-app .app-info-link{font-size:10.5px!important;}
  #buggy-passport-app .app-info-label{font-size:10.5px!important;}
}

/* Every screen owns its own quiet Ease / Trust footer. Keeping the footer inside
   each section makes it impossible for a screen swap or map overlay to hide it. */
#buggy-passport-app .phone{display:flex;flex-direction:column;}
#buggy-passport-app main{flex:1 0 auto;}
#buggy-passport-app .screen-support-footer{
  position:relative;z-index:235;width:100%;margin-top:14px;padding:7px 10px 8px;
  display:grid;gap:2px;justify-items:center;flex:0 0 auto;
  background:linear-gradient(180deg,#edf1ec 0%,#f7f5ee 100%);
  border-top:1px solid rgba(88,97,95,.18);color:var(--sage);text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
#buggy-passport-app .screen-support-footer button{
  display:inline-flex;align-items:baseline;justify-content:center;gap:5px;max-width:100%;
  min-height:0!important;margin:0!important;padding:1px 2px!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  color:var(--sage)!important;font:400 12px/1.3 "Courier Prime","Courier New",monospace!important;
  text-align:center;
}
#buggy-passport-app .screen-support-label{
  color:var(--navy);font:400 10.5px/1.2 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.02em;text-transform:uppercase;
}
#buggy-passport-app .screen-support-footer button:hover span:last-child,
#buggy-passport-app .screen-support-footer button:focus-visible span:last-child{
  text-decoration:underline;text-underline-offset:3px;
}
#buggy-passport-app .screen-support-footer button:focus-visible{
  outline:2px solid var(--sun)!important;outline-offset:3px;
}
#buggy-passport-app .screen:not(#home) .screen-support-footer{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(430px,100vw);
  margin:0;padding-bottom:max(8px,env(safe-area-inset-bottom));
  background:rgba(237,241,236,.95);box-shadow:0 -6px 18px rgba(4,30,66,.10);
  backdrop-filter:blur(10px);
}
#buggy-passport-app:not(.home-active):not(.map-active) main{padding-bottom:58px!important;}
#buggy-passport-app #map .screen-support-footer{z-index:245;background:rgba(237,241,236,.92);}

/* These are new, independent rectangular banners. They do not inherit the old
   pattern/ribbon masks, border radii, pseudo-elements, or beveled clipping. */
#buggy-passport-app .core-values-banner{display:none;}
#buggy-passport-app.home-active .phone{
  border-radius:0!important;clip-path:none!important;-webkit-clip-path:none!important;
}
#buggy-passport-app.home-active .core-values-banner{
  display:block!important;width:100%!important;min-height:40px;margin:0!important;padding:12px 4px 11px;
  flex:0 0 auto;border:0!important;border-radius:0!important;clip-path:none!important;-webkit-clip-path:none!important;
  background:var(--sage)!important;color:rgba(255,253,247,.94)!important;overflow:hidden;
  box-shadow:none!important;font:900 12px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.012em;text-align:center;white-space:nowrap;
}
#buggy-passport-app.home-active .core-values-top{border-bottom:2px solid var(--sun)!important;}
#buggy-passport-app.home-active .core-values-bottom{border-top:2px solid var(--sun)!important;}

/* Welcome and every onboarding step use the same large Rip. The standard sprite
   is a 3 x 3 grid; 50% 100% selects the exact bottom-center-tail panel. */
#buggy-passport-app #passportActivate .home-name-rip-prompt,
#buggy-passport-app #passportSetup .rip-notification-scene,
#buggy-passport-app #passportLogin .rip-notification-scene{
  position:relative;width:100%;max-width:390px;min-height:clamp(356px,62vh,420px);
  margin:100px auto 2px;display:flex;align-items:flex-end;justify-content:flex-end;
  gap:0;overflow:visible;
}
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-rip,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-rip,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-rip{
  position:relative;z-index:2;width:min(67vw,296px);min-width:0;height:auto;
  max-height:396px;object-fit:contain;justify-self:auto;
}
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  position:absolute;left:clamp(48px,16%,64px);top:-100px;z-index:3;width:min(280px,72%);height:210px;min-height:210px;
  margin:0;align-self:auto;display:flex;align-items:center;overflow:visible;
  background-image:var(--rip-callout-standard-sprite)!important;
  background-size:300% 300%!important;background-position:50% 100%!important;
  padding:48px 28px 50px 32px!important;font-size:16.5px;line-height:1.24;
}
#buggy-passport-app #home .home-speech{
  left:clamp(48px,16%,64px)!important;top:-100px!important;width:min(280px,72%)!important;
  height:210px!important;min-height:210px!important;
  background-image:var(--rip-callout-standard-sprite)!important;
  background-size:300% 300%!important;background-position:50% 100%!important;
  padding:48px 28px 50px 32px!important;
}
#buggy-passport-app #passportActivate .rip-notification-scene .setup-speech:after,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech:after,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech:after{
  -webkit-mask-image:var(--rip-callout-standard-sprite);mask-image:var(--rip-callout-standard-sprite);
  -webkit-mask-size:300% 300%;mask-size:300% 300%;
  -webkit-mask-position:50% 100%;mask-position:50% 100%;
}
@media(max-width:430px){
  #buggy-passport-app.home-active .core-values-banner{font-size:11px;letter-spacing:0;}
}
@media(max-width:380px){
  #buggy-passport-app.home-active .core-values-banner{font-size:10px;letter-spacing:0;}
  #buggy-passport-app #passportActivate .home-name-rip-prompt,
  #buggy-passport-app #passportSetup .rip-notification-scene,
  #buggy-passport-app #passportLogin .rip-notification-scene{min-height:338px;margin-top:92px;}
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-rip,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-rip,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-rip{
    width:min(67vw,258px);max-height:338px;
  }
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
    left:clamp(34px,14%,52px);top:-92px;width:min(250px,72%);height:190px;min-height:190px;
    padding:43px 24px 46px 28px!important;font-size:14.5px;
  }
  #buggy-passport-app #home .home-speech{
    left:clamp(34px,14%,52px)!important;top:-92px!important;width:min(250px,72%)!important;
    height:190px!important;min-height:190px!important;padding:43px 24px 46px 28px!important;
  }
}

/* v25 targeted fixes: fixed footer, square home gutter, larger-callout text containment, onboarding grouping */
#buggy-passport-app #home .home-welcome{padding-bottom:0!important;}
#buggy-passport-app .screen:not(#map) .screen-support-footer{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;z-index:2;
  width:100%!important;max-width:100%!important;margin:16px 0 0!important;padding:7px 10px 8px!important;
  background:#edf1ec!important;box-shadow:none!important;backdrop-filter:none!important;
}
#buggy-passport-app #map .screen-support-footer{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;
  width:100%!important;max-width:100%!important;background:rgba(237,241,236,.92)!important;
}
#buggy-passport-app main{padding-bottom:16px!important;}
#buggy-passport-app.home-active main{padding-bottom:0!important;}
#buggy-passport-app.home-active .core-values-bottom{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;
  width:100%!important;max-width:100%!important;z-index:2;
}
#buggy-passport-app.home-active .phone,
#buggy-passport-app.home-active main,
#buggy-passport-app.home-active #home,
#buggy-passport-app.home-active #home .home-welcome{border-radius:0!important;clip-path:none!important;-webkit-clip-path:none!important;}
#buggy-passport-app.home-active .phone{padding-bottom:0!important;background:#f7f5ee!important;}
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  justify-content:flex-start!important;align-items:flex-start!important;
  font-size:15.5px!important;line-height:1.18!important;
}
#buggy-passport-app #home .home-speech .rip-callout-copy,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
  display:block;max-width:212px;white-space:normal;overflow-wrap:break-word;text-wrap:pretty;
}
#buggy-passport-app #passportStakeholder optgroup{font-style:normal;font-weight:800;color:rgba(42,47,45,.72);}
#buggy-passport-app .us-origin-grid{grid-template-columns:1fr 1fr;}
@media(max-width:430px){
  #buggy-passport-app .screen-support-footer button{font-size:10px!important;line-height:1.25!important;}
  #buggy-passport-app.home-active .screen-support-footer{bottom:auto!important;}
  #buggy-passport-app.home-active main{padding-bottom:0!important;}
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech .rip-callout-copy,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{max-width:188px;}
}


/* v26 targeted visual fixes: larger Rip bubble, unified footer, no beveled bottom edge */
#buggy-passport-app .phone,
#buggy-passport-app main,
#buggy-passport-app .screen,
#buggy-passport-app .core-values-banner,
#buggy-passport-app .screen-support-footer{
  border-radius:0!important;clip-path:none!important;-webkit-clip-path:none!important;
}
#buggy-passport-app .phone{overflow:hidden!important;box-shadow:none!important;}
#buggy-passport-app .screen-support-footer{
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  background:#edf1ec!important;
  gap:0!important;
  overflow:hidden!important;
}
#buggy-passport-app .screen-support-footer button{
  width:100%;
  display:flex!important;
  justify-content:center;
  padding:1px 2px 0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#buggy-passport-app .screen-support-footer button + button{margin-top:0!important;}
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  width:min(298px,76%)!important;
  height:228px!important;
  min-height:228px!important;
  padding:50px 32px 56px 34px!important;
}
#buggy-passport-app #home .home-speech .rip-callout-copy,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
  max-width:224px!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
    width:min(266px,76%)!important;
    height:204px!important;
    min-height:204px!important;
    padding:44px 28px 50px 30px!important;
  }
  #buggy-passport-app #home .home-speech .rip-callout-copy,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
    max-width:198px!important;
  }
}


/* v27 footer and bottom-ribbon containment */
#buggy-passport-app.home-active .core-values-bottom{
  display:block!important;
  align-self:stretch!important;
  flex:0 0 auto!important;
  margin:0!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
#buggy-passport-app.home-active .phone{
  border-radius:0!important;
  overflow:hidden!important;
}
#buggy-passport-app #home{
  padding-bottom:0!important;
}


/* v28 Rip callout timing, layering, and interior spacing */
#buggy-passport-app #home .home-rip-large,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-rip,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-rip,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-rip{
  z-index:2!important;
}
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  z-index:20!important;
  width:min(320px,82%)!important;
  height:244px!important;
  min-height:244px!important;
  padding:58px 44px 64px 42px!important;
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:none!important;
}
#buggy-passport-app #home .home-speech .rip-callout-copy,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
  max-width:230px!important;
  margin:0!important;
}
#buggy-passport-app .rip-bubble-pending{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#buggy-passport-app .rip-bubble-reveal{animation:ripBubbleRise .18s ease-out both!important;}
@keyframes ripBubbleRise{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
    width:min(286px,82%)!important;
    height:220px!important;
    min-height:220px!important;
    padding:52px 36px 58px 36px!important;
  }
  #buggy-passport-app #home .home-speech .rip-callout-copy,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
    max-width:212px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #buggy-passport-app .rip-bubble-reveal{animation:none!important;}
}


/* v30 full-size callout correction: compact bubble, preserved font, safe text inset */
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  left:20px!important;
  width:350px!important;
  max-width:calc(100% - 40px)!important;
  height:222px!important;
  min-height:222px!important;
  padding:0!important;
  display:block!important;
  z-index:20!important;
}
#buggy-passport-app #home .home-speech .rip-callout-copy,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:58px!important;
  right:58px!important;
  top:39px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  line-height:1.18!important;
}
#buggy-passport-app #home.home-apple,
#buggy-passport-app #home .home-welcome{
  overflow:visible!important;
}
#buggy-passport-app #home .home-entry-action{
  padding-bottom:16px!important;
  overflow:visible!important;
}
#buggy-passport-app #home .home-entry-button:before{
  inset:-8px -11px -5px!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
    left:10px!important;
    width:330px!important;
    max-width:calc(100% - 20px)!important;
    height:214px!important;
    min-height:214px!important;
  }
  #buggy-passport-app #home .home-speech .rip-callout-copy,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
    left:52px!important;
    right:52px!important;
    top:38px!important;
  }
}


/* v32 — Passport access-card indicator for an unused BUGGY BOGO. */
#buggy-passport-app .passport-unused-bogo{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--red);
  color:var(--fog);
  border:1px solid rgba(255,253,247,.34);
  font:400 10.5px/1.1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.01em;
  white-space:nowrap;
}



/* v33 — Passport reward line inside the access pill + centered, text-sized Rip callouts. */
#buggy-passport-app .passport-unused-bogo{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:5px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--red)!important;
  font:400 11px/1.15 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.015em!important;
  white-space:normal!important;
}
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
  display:block!important;
  width:350px!important;
  max-width:calc(100% - 40px)!important;
  padding:0!important;
}
#buggy-passport-app #home .home-speech.rip-callout-short,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-short,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-short,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-short{
  height:182px!important;
  min-height:182px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-medium,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-medium,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-medium,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-medium{
  height:202px!important;
  min-height:202px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-long,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-long,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-long,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-long{
  height:222px!important;
  min-height:222px!important;
}
#buggy-passport-app #home .home-speech .rip-callout-copy,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:56px!important;
  right:56px!important;
  top:25px!important;
  bottom:55px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
#buggy-passport-app #home .home-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-medium .rip-callout-copy{
  top:29px!important;
  bottom:59px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-long .rip-callout-copy{
  top:34px!important;
  bottom:64px!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech{
    width:330px!important;
    max-width:calc(100% - 20px)!important;
  }
  #buggy-passport-app #home .home-speech.rip-callout-short,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-short,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-short,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-short{height:176px!important;min-height:176px!important;}
  #buggy-passport-app #home .home-speech.rip-callout-medium,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-medium,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-medium,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-medium{height:195px!important;min-height:195px!important;}
  #buggy-passport-app #home .home-speech.rip-callout-long,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-long,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-long,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-long{height:214px!important;min-height:214px!important;}
  #buggy-passport-app #home .home-speech .rip-callout-copy,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
    left:50px!important;
    right:50px!important;
  }
}

/* v34 Rip bubble text optical centering: reserve more space for bottom tail area */
#buggy-passport-app #home .home-speech .rip-callout-copy,
#buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
#buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
  top:20px!important;
  bottom:70px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-medium .rip-callout-copy{
  top:24px!important;
  bottom:74px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-long .rip-callout-copy{
  top:28px!important;
  bottom:78px!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech .rip-callout-copy,
  #buggy-passport-app #passportActivate .home-name-rip-prompt .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportSetup .rip-notification-scene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin .rip-notification-scene .setup-speech .rip-callout-copy{
    top:18px!important;
    bottom:64px!important;
  }
  #buggy-passport-app #home .home-speech.rip-callout-medium .rip-callout-copy,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-medium .rip-callout-copy,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-medium .rip-callout-copy,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-medium .rip-callout-copy{
    top:21px!important;
    bottom:68px!important;
  }
  #buggy-passport-app #home .home-speech.rip-callout-long .rip-callout-copy,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-long .rip-callout-copy,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-long .rip-callout-copy,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-long .rip-callout-copy{
    top:24px!important;
    bottom:72px!important;
  }
}


/* v35 independent optical centering for short, medium, and long Rip callouts */
#buggy-passport-app #home .home-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-short .rip-callout-copy{
  top:17px!important;
  bottom:73px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-medium .rip-callout-copy{
  top:21px!important;
  bottom:77px!important;
}
#buggy-passport-app #home .home-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-long .rip-callout-copy{
  top:25px!important;
  bottom:81px!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-speech.rip-callout-short .rip-callout-copy,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-short .rip-callout-copy,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-short .rip-callout-copy,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-short .rip-callout-copy{
    top:15px!important;
    bottom:67px!important;
  }
  #buggy-passport-app #home .home-speech.rip-callout-medium .rip-callout-copy,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-medium .rip-callout-copy,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-medium .rip-callout-copy,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-medium .rip-callout-copy{
    top:18px!important;
    bottom:71px!important;
  }
  #buggy-passport-app #home .home-speech.rip-callout-long .rip-callout-copy,
  #buggy-passport-app #passportActivate .setup-speech.rip-callout-long .rip-callout-copy,
  #buggy-passport-app #passportSetup .setup-speech.rip-callout-long .rip-callout-copy,
  #buggy-passport-app #passportLogin .setup-speech.rip-callout-long .rip-callout-copy{
    top:21px!important;
    bottom:75px!important;
  }
}


/* v36 anonymous shared Pinboard + normalized ZIP/city capture */
#buggy-passport-app .world-board-copy,
#buggy-passport-app .world-board-note{display:none!important;}
#buggy-passport-app .world-board-map{isolation:isolate;}
#buggy-passport-app .world-board-shared-pins{
  position:absolute;inset:0;z-index:4;pointer-events:none;
}
#buggy-passport-app .world-board-account-dot{
  position:absolute;display:block;border-radius:50%;background:var(--red);
  border:1.5px solid rgba(255,253,247,.94);box-shadow:0 3px 9px rgba(4,30,66,.34);
  transform:translate(-50%,-50%);opacity:.92;
}
#buggy-passport-app .world-board-user-pin{
  width:13px!important;height:13px!important;border:2px solid var(--sun)!important;
  border-radius:50%!important;background:var(--red)!important;
  box-shadow:0 3px 10px rgba(4,30,66,.42)!important;
  transform:translate(-50%,-50%)!important;animation:buggyDotIn .24s ease-out!important;
}
#buggy-passport-app .world-board-user-pin:after{content:none!important;display:none!important;}
@keyframes buggyDotIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(.55)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
#buggy-passport-app .us-origin-grid .setup-select,
#buggy-passport-app .us-origin-grid .setup-input{
  width:100%!important;height:54px!important;min-height:54px!important;margin:0 0 10px!important;
}
#buggy-passport-app #passportOriginZip{font-variant-numeric:tabular-nums;letter-spacing:.04em;}
#buggy-passport-app #passportOriginZip[data-lookup-state="resolved"]{
  border-color:rgba(88,97,95,.58)!important;box-shadow:0 0 0 3px rgba(88,97,95,.12)!important;
}
#buggy-passport-app #passportOriginZip[data-lookup-state="not-found"]{border-color:rgba(191,13,62,.42)!important;}
#buggy-passport-app .world-board-card{padding-top:12px!important;}
#buggy-passport-app .world-board-title{margin-bottom:9px;}
@media(max-width:380px){
  #buggy-passport-app .us-origin-grid{grid-template-columns:1fr!important;gap:0!important;}
}



/* v37 three-level onboarding Pinboard + standalone full-viewport presentation */
html.buggy-passport-live,
html.buggy-passport-live body{
  width:100%!important;
  min-width:0!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  background:var(--paper,#F6F1E7)!important;
}
#buggy-passport-app{
  width:100vw!important;
  max-width:100vw!important;
  min-height:100dvh!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow-x:clip!important;
  background:var(--paper)!important;
}
#buggy-passport-app .phone{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow-x:clip!important;
  background:var(--paper)!important;
}
#buggy-passport-app header{
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
}
#buggy-passport-app header .brand{
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin:0 auto!important;
}
#buggy-passport-app main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
#buggy-passport-app main > .screen:not(#map){
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#buggy-passport-app .app-gutter-utilities{
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#buggy-passport-app .core-values-banner{
  width:100%!important;
  max-width:none!important;
}
#buggy-passport-app.home-active,
#buggy-passport-app.onboarding-active,
#buggy-passport-app.public-info-active{
  min-height:100dvh!important;
  background:var(--paper)!important;
}
#buggy-passport-app.home-active .phone,
#buggy-passport-app.onboarding-active .phone,
#buggy-passport-app.public-info-active .phone{
  min-height:100dvh!important;
  background:var(--paper)!important;
}
@media(min-width:760px){
  #buggy-passport-app{padding:0!important;}
  #buggy-passport-app .phone{min-height:100dvh!important;border-radius:0!important;box-shadow:none!important;}
}

#buggy-passport-app .world-board-card-three{
  padding:12px!important;
}
#buggy-passport-app .world-board-stack{
  display:grid;
  gap:11px;
}
#buggy-passport-app .world-board-map-panel{
  position:relative;
}
#buggy-passport-app .world-board-map-label{
  margin:0 0 5px 2px;
  color:var(--sun);
  font:400 11px/1 "Permanent Marker","Comic Sans MS",cursive;
  letter-spacing:.05em;
}
#buggy-passport-app .world-board-card-three .world-board-map{
  width:100%;
  aspect-ratio:2/1;
  min-height:0!important;
  border-radius:15px;
  overflow:hidden;
  background:#75c8d9;
  border:1px solid rgba(255,253,247,.25);
}
#buggy-passport-app .world-board-card-three .world-board-map-image{
  opacity:1!important;
  transform:scale(1)!important;
}
#buggy-passport-app .world-board-card-three .world-board-shared-pins{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
}
#buggy-passport-app .world-board-account-dot{
  background:var(--red)!important;
  border:1.5px solid var(--fog)!important;
}
#buggy-passport-app .world-board-card-three .world-board-user-pin{
  width:15px!important;
  height:15px!important;
  z-index:6!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:var(--navy)!important;
  box-shadow:0 0 0 1px rgba(4,30,66,.30),0 4px 11px rgba(4,30,66,.42)!important;
}
#buggy-passport-app .world-board-match{
  margin-top:10px!important;
}
@media(max-width:380px){
  #buggy-passport-app .world-board-card-three{padding:10px!important;}
  #buggy-passport-app .world-board-stack{gap:9px;}
  #buggy-passport-app .world-board-map-label{font-size:10px;}
}


/* v38 seamless standalone shell
   The viewport, header/ribbons, and utility footer share the same app surface.
   Primary interaction content remains centered and readable. */
html.buggy-passport-live,
html.buggy-passport-live body{
  background:#fbfaf6!important;
  min-height:100dvh!important;
}
#buggy-passport-app{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,#fbfaf6 0%,#F6F1E7 100%)!important;
}
#buggy-passport-app .phone,
#buggy-passport-app main{
  width:100%!important;
  max-width:none!important;
  background:transparent!important;
}

/* Home becomes one continuous full-width paper surface. */
#buggy-passport-app.home-active,
#buggy-passport-app.home-active .phone,
#buggy-passport-app.home-active main,
#buggy-passport-app #home.home-apple,
#buggy-passport-app #home .home-welcome{
  background:transparent!important;
}
#buggy-passport-app.home-active{
  background:
    radial-gradient(circle at 64% 8%,rgba(254,189,59,.16),transparent 28%),
    radial-gradient(circle at 36% 82%,rgba(4,30,66,.055),transparent 32%),
    linear-gradient(180deg,#fbfaf6 0%,#F6F1E7 100%)!important;
}

/* Full-width standalone bands; their content remains visually centered. */
#buggy-passport-app.home-active .core-values-banner,
#buggy-passport-app.home-active .screen-support-footer{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
}
#buggy-passport-app.home-active .screen-support-footer{
  padding-left:max(10px,calc((100vw - 430px)/2 + 10px))!important;
  padding-right:max(10px,calc((100vw - 430px)/2 + 10px))!important;
}

/* Business screens use the same edge-to-edge surface with centered sections. */
#buggy-passport-app:not(.home-active):not(.map-active) main{
  background:linear-gradient(180deg,#FFFDF7 0%,#F6F1E7 100%)!important;
}
#buggy-passport-app:not(.home-active):not(.map-active) header{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,rgba(255,253,247,.99),rgba(255,253,247,.94))!important;
}
#buggy-passport-app:not(.home-active):not(.map-active) .screen-support-footer{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:translateX(-50%)!important;
  padding-left:max(10px,calc((100vw - 430px)/2 + 10px))!important;
  padding-right:max(10px,calc((100vw - 430px)/2 + 10px))!important;
}

@media(max-width:430px){
  #buggy-passport-app.home-active .screen-support-footer,
  #buggy-passport-app:not(.home-active):not(.map-active) .screen-support-footer{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}


/* v39 true seamless standalone canvas
   Keep the working column readable, but remove the visual column itself.
   The page, app shell, working surface, and surrounding viewport are one exact color.
   Core-value ribbons and Ease/Trust bands bleed to the physical viewport edges. */
:root{--buggy-standalone-surface:#fbfaf6;}
html.buggy-passport-live,
html.buggy-passport-live body{
  width:100%!important;
  min-width:0!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  background:var(--buggy-standalone-surface)!important;
}
/* Break the dedicated BUGGY page out of Squarespace's centered content rail. */
html.buggy-passport-live .page-section:has(#buggy-passport-app),
html.buggy-passport-live .content-wrapper:has(#buggy-passport-app),
html.buggy-passport-live .sqs-layout:has(#buggy-passport-app),
html.buggy-passport-live .sqs-row:has(#buggy-passport-app),
html.buggy-passport-live .sqs-block:has(#buggy-passport-app),
html.buggy-passport-live .sqs-block-content:has(#buggy-passport-app){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
  background:var(--buggy-standalone-surface)!important;
}
#buggy-passport-app{
  position:relative!important;
  left:auto!important;
  transform:none!important;
  width:100vw!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow:visible!important;
  background:var(--buggy-standalone-surface)!important;
  box-shadow:none!important;
}
/* The narrow column controls reading width only; it is no longer a visible card. */
#buggy-passport-app .phone{
  position:relative!important;
  width:min(430px,100%)!important;
  max-width:430px!important;
  min-height:100dvh!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  background:transparent!important;
  box-shadow:none!important;
}
#buggy-passport-app main,
#buggy-passport-app main>.screen:not(#map),
#buggy-passport-app.home-active,
#buggy-passport-app.home-active .phone,
#buggy-passport-app.home-active main,
#buggy-passport-app #home.home-apple,
#buggy-passport-app #home .home-welcome,
#buggy-passport-app.onboarding-active,
#buggy-passport-app.onboarding-active .phone,
#buggy-passport-app.onboarding-active main,
#buggy-passport-app.public-info-active,
#buggy-passport-app.public-info-active .phone,
#buggy-passport-app.public-info-active main,
#buggy-passport-app:not(.home-active):not(.map-active) main{
  background:transparent!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
}
#buggy-passport-app main,
#buggy-passport-app .screen,
#buggy-passport-app #home,
#buggy-passport-app #home .home-welcome{
  overflow-x:visible!important;
}
/* Remove the residual centered-panel edge on every non-map screen. */
#buggy-passport-app main>.screen:not(#map){
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border:0!important;
  outline:0!important;
  filter:none!important;
}
/* Both Core Values ribbons are real viewport bands. Text repeats instead of ending at the content rail. */
#buggy-passport-app.home-active .core-values-banner{
  position:relative!important;
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  max-width:none!important;
  min-height:40px!important;
  margin:0!important;
  padding:12px 0 11px!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  background:var(--sage)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  text-align:left!important;
  text-indent:10px!important;
}
/* The Ease / Trust surface also reaches edge to edge; its words stay centered in the readable rail. */
#buggy-passport-app .screen:not(#map) .screen-support-footer,
#buggy-passport-app #map .screen-support-footer{
  position:relative!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:100vw!important;
  max-width:none!important;
  margin:16px 0 0!important;
  padding:7px 0 8px!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#edf1ec!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
#buggy-passport-app .screen-support-footer button{
  width:min(430px,calc(100% - 20px))!important;
  max-width:430px!important;
  margin:0 auto!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
/* Business header is a viewport band; only its controls remain centered. */
#buggy-passport-app:not(.home-active):not(.map-active) header{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  border:0!important;
  border-radius:0!important;
  background:var(--buggy-standalone-surface)!important;
  box-shadow:none!important;
}
#buggy-passport-app:not(.home-active):not(.map-active) header .brand{
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:430px){
  #buggy-passport-app .phone{width:100%!important;max-width:none!important;}
  #buggy-passport-app.home-active .core-values-banner{font-size:10.5px!important;text-indent:7px!important;}
  #buggy-passport-app .screen-support-footer button{width:100%!important;max-width:none!important;}
}


/* v40 Welcome-page structural correction
   Home is the full viewport. Only the primary Rip/action content is narrow.
   This removes the visible 430px Welcome rail instead of masking its edge. */
:root{--buggy-home-surface:#fbfaf6;}
html.buggy-passport-host-root,
body.buggy-passport-host-root,
.buggy-passport-host{
  background:var(--buggy-home-surface)!important;
}
.buggy-passport-host.sqs-block,
.buggy-passport-host.sqs-block-content,
.buggy-passport-host.sqs-row,
.buggy-passport-host.sqs-layout,
.buggy-passport-host.content-wrapper,
.buggy-passport-host.page-section,
.buggy-passport-host#page{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  grid-column:1 / -1!important;
  overflow:visible!important;
}
#buggy-passport-app.home-active{
  position:relative!important;
  left:auto!important;
  width:100vw!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0 calc(50% - 50vw)!important;
  transform:none!important;
  background:var(--buggy-home-surface)!important;
  overflow-x:hidden!important;
}
#buggy-passport-app.home-active .phone{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh!important;
  margin:0!important;
  background:var(--buggy-home-surface)!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#buggy-passport-app.home-active main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:var(--buggy-home-surface)!important;
  overflow:visible!important;
}
#buggy-passport-app.home-active main > #home.home-apple{
  position:relative!important;
  left:auto!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
  background:var(--buggy-home-surface)!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#buggy-passport-app.home-active #home .home-welcome{
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
/* On Home the phone is already viewport-wide, so bands should not perform another breakout. */
#buggy-passport-app.home-active .core-values-banner,
#buggy-passport-app.home-active #home .screen-support-footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
}
#buggy-passport-app.home-active #home .screen-support-footer{
  margin-top:16px!important;
}
#buggy-passport-app.home-active #home .screen-support-footer button{
  width:min(430px,calc(100% - 20px))!important;
  max-width:430px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:430px){
  #buggy-passport-app.home-active #home .home-welcome{width:100%!important;max-width:none!important;}
  #buggy-passport-app.home-active #home .screen-support-footer button{width:100%!important;max-width:none!important;}
}



/* v41 onboarding decision-button readability */
#buggy-passport-app #passportActivate .home-gate-card b,
#buggy-passport-app .setup-action,
#buggy-passport-app .setup-code-actions button{
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}
#buggy-passport-app .setup-action{
  min-height:56px!important;
  padding:13px 18px!important;
  white-space:normal!important;
}
#buggy-passport-app .setup-code-actions button{
  min-height:54px!important;
  padding:12px 14px!important;
  white-space:normal!important;
}
#buggy-passport-app .setup-secondary-action{
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.1!important;
  min-height:52px!important;
  padding:11px 13px!important;
  white-space:normal!important;
}
@media(max-width:380px){
  #buggy-passport-app #passportActivate .home-gate-card b,
  #buggy-passport-app .setup-action,
  #buggy-passport-app .setup-code-actions button{
    font-size:17px!important;
  }
  #buggy-passport-app .setup-secondary-action{font-size:14px!important;}
}


/* v42 Passport home orientation + contextual Rip guidance
   The large foreground tour runs once per account/version. The small Rip is now
   event-driven by Roll Out, BUGGY Zone Map, and Passport Markers—never sticky or scroll-triggered. */
html.buggy-passport-intro-open,
html.buggy-passport-intro-open body{overflow:hidden!important;}
#buggy-passport-app .passport-intro-overlay[hidden]{display:none!important;}
#buggy-passport-app .passport-intro-overlay{
  position:fixed;inset:0;z-index:320;display:grid;place-items:center;padding:12px;
  background:rgba(4,30,66,.76);backdrop-filter:blur(7px);
}
#buggy-passport-app .passport-intro-panel{
  width:min(430px,100%);max-height:calc(100dvh - 24px);overflow:auto;
  padding:14px 17px 18px;border:2px solid rgba(254,189,59,.72);border-radius:30px;
  background:linear-gradient(180deg,#fbfaf6,var(--paper));color:var(--char);
  box-shadow:0 30px 100px rgba(0,0,0,.38);
}
#buggy-passport-app .passport-intro-topline{
  display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;
}
#buggy-passport-app .passport-intro-kicker{
  color:var(--red);font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive;
  letter-spacing:.03em;text-transform:uppercase;
}
#buggy-passport-app .passport-intro-step{
  color:var(--sage);font:700 12px/1 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .passport-intro-scene{
  position:relative;width:100%;min-height:430px;margin:2px auto 0;overflow:visible;
}
#buggy-passport-app .passport-intro-rip{
  position:absolute;right:-3px;bottom:0;z-index:2;width:min(67vw,296px);height:auto;max-height:390px;
  object-fit:contain;filter:drop-shadow(0 20px 28px rgba(42,47,45,.24));animation:bob 3.4s ease-in-out infinite;
}
#buggy-passport-app .passport-intro-speech{
  position:absolute;left:8px;top:6px;z-index:3;width:350px;max-width:calc(100% - 16px);height:222px;min-height:222px;
  display:flex;align-items:center;justify-content:center;padding:34px 58px 72px;background-color:transparent;background-image:var(--rip-callout-standard-sprite);
  background-repeat:no-repeat;background-size:300% 300%;background-position:50% 100%;box-sizing:border-box;
  color:var(--char);filter:drop-shadow(0 10px 15px rgba(42,47,45,.13));
  font:400 17px/1.2 "Permanent Marker","Comic Sans MS",cursive;text-align:center;
}
#buggy-passport-app .passport-intro-speech .rip-callout-copy{
  position:static;display:block;width:100%;max-width:226px;margin:0 auto;white-space:normal;
  overflow-wrap:break-word;text-wrap:pretty;text-align:center;
}
#buggy-passport-app .passport-intro-dots{display:flex;justify-content:center;gap:7px;margin:0 0 13px;}
#buggy-passport-app .passport-intro-dot{
  width:8px;height:8px;border:0;border-radius:999px;background:rgba(4,30,66,.18);transition:width .18s ease,background .18s ease;
}
#buggy-passport-app .passport-intro-dot.active{width:25px;background:var(--sun);}
#buggy-passport-app .passport-intro-actions{display:grid;grid-template-columns:auto 1fr;gap:10px;}
#buggy-passport-app .passport-intro-actions button{
  min-height:54px;padding:12px 15px!important;border-radius:18px!important;
  font:400 17px/1.05 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .passport-intro-skip{
  background:transparent!important;color:var(--navy)!important;border:1px solid rgba(4,30,66,.18)!important;box-shadow:none!important;
}
#buggy-passport-app .passport-intro-next{background:var(--sun)!important;color:var(--char)!important;}

#buggy-passport-app #passport .passport-rip-guide{
  --passport-context-top:90px;
  position:fixed!important;left:50%!important;right:auto!important;top:var(--passport-context-top)!important;bottom:auto!important;z-index:250!important;
  width:min(430px,100vw)!important;height:282px!important;margin:0!important;padding:0!important;overflow:visible!important;
  display:block!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;backdrop-filter:none!important;pointer-events:none!important;
  opacity:0;visibility:hidden;transform:translate(-50%,18px) scale(.97);
  transform-origin:50% 100%;transition:opacity .2s ease,visibility .2s ease,transform .22s ease,top .24s ease;
}
#buggy-passport-app #passport .passport-rip-guide.open{
  opacity:1;visibility:visible;transform:translate(-50%,0) scale(1);
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-speech{
  position:absolute!important;left:5px!important;top:22px!important;z-index:3!important;
  width:286px!important;height:154px!important;min-height:154px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:25px 48px 25px 24px!important;background-color:transparent!important;
  background-image:var(--rip-callout-wide-sprite)!important;background-repeat:no-repeat!important;
  background-size:327.2% 471.1%!important;background-position:97.1% 48.1%!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 10px 15px rgba(42,47,45,.14));
  color:var(--char)!important;font:400 16px/1.23 "Permanent Marker","Comic Sans MS",cursive!important;text-align:center!important;
  pointer-events:none!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-speech .rip-callout-copy{
  position:static!important;display:block!important;width:100%!important;margin:0!important;
  text-align:center!important;white-space:normal!important;overflow-wrap:break-word!important;text-wrap:pretty!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
  position:absolute!important;right:-8px!important;bottom:-14px!important;z-index:2!important;
  width:min(57vw,242px)!important;height:274px!important;max-height:274px!important;object-fit:contain!important;object-position:center bottom!important;
  filter:drop-shadow(0 18px 24px rgba(4,30,66,.22))!important;animation:bob 3.4s ease-in-out infinite!important;
  pointer-events:none!important;
}
#buggy-passport-app #passport .passport-rip-close{
  position:absolute!important;top:14px!important;right:clamp(128px,34vw,148px)!important;z-index:5!important;
  width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;
  border-radius:999px!important;background:var(--navy)!important;color:var(--fog)!important;border:1px solid rgba(255,253,247,.42)!important;
  box-shadow:0 7px 16px rgba(4,30,66,.18)!important;font:700 15px/1 Arial,sans-serif!important;pointer-events:auto!important;
}
#buggy-passport-app #passport .ride-launch,
#buggy-passport-app #passport .map-launch,
#buggy-passport-app #passport .passport-markers-card{scroll-margin-top:16px;}
#buggy-passport-app.passport-intro-active #passport .passport-rip-guide{display:none!important;}
@media(max-width:380px){
  #buggy-passport-app .passport-intro-panel{padding-left:12px;padding-right:12px;border-radius:24px;}
  #buggy-passport-app .passport-intro-scene{min-height:380px;}
  #buggy-passport-app .passport-intro-rip{width:min(67vw,258px);max-height:338px;}
  #buggy-passport-app .passport-intro-speech{left:2px;width:330px;max-width:calc(100% - 4px);height:214px;min-height:214px;padding:32px 52px 68px;font-size:15.5px;}
  #buggy-passport-app .passport-intro-speech .rip-callout-copy{max-width:214px;}
  #buggy-passport-app .passport-intro-actions{grid-template-columns:1fr;}
  #buggy-passport-app .passport-intro-actions button{min-height:50px;font-size:16px!important;}
  #buggy-passport-app #passport .passport-rip-guide{width:100vw!important;height:254px!important;}
  #buggy-passport-app #passport .passport-rip-guide .passport-context-speech{
    left:2px!important;top:20px!important;width:258px!important;height:143px!important;min-height:143px!important;
    padding:22px 43px 22px 21px!important;font-size:14.5px!important;
  }
  #buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
    right:-12px!important;bottom:-12px!important;width:218px!important;height:246px!important;max-height:246px!important;
  }
  #buggy-passport-app #passport .passport-rip-close{top:11px!important;right:118px!important;}
}
@media(prefers-reduced-motion:reduce){
  #buggy-passport-app .passport-intro-rip,
  #buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{animation:none!important;}
  #buggy-passport-app #passport .passport-rip-guide{transition:none!important;}
}



/* v44 — Passport intro uses the same approved full-size bubble system as onboarding.
   Short / medium / long sizing prevents the panel from covering Rip, while the
   optical text box remains centered above the bottom-center tail. */
#buggy-passport-app .passport-intro-topline{position:relative;z-index:30;}
#buggy-passport-app .passport-intro-speech{
  top:-42px!important;
  display:block!important;
  width:350px!important;
  max-width:calc(100% - 16px)!important;
  padding:0!important;
  text-align:center!important;
}
#buggy-passport-app .passport-intro-speech.rip-callout-short{
  height:182px!important;
  min-height:182px!important;
}
#buggy-passport-app .passport-intro-speech.rip-callout-medium{
  height:202px!important;
  min-height:202px!important;
}
#buggy-passport-app .passport-intro-speech.rip-callout-long{
  height:222px!important;
  min-height:222px!important;
}
#buggy-passport-app .passport-intro-speech .rip-callout-copy{
  position:absolute!important;
  left:56px!important;
  right:56px!important;
  top:17px!important;
  bottom:73px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
#buggy-passport-app .passport-intro-speech.rip-callout-medium .rip-callout-copy{
  top:21px!important;
  bottom:77px!important;
}
#buggy-passport-app .passport-intro-speech.rip-callout-long .rip-callout-copy{
  top:25px!important;
  bottom:81px!important;
}
@media(max-width:380px){
  #buggy-passport-app .passport-intro-speech{
    top:-34px!important;
    width:330px!important;
    max-width:calc(100% - 4px)!important;
    padding:0!important;
  }
  #buggy-passport-app .passport-intro-speech.rip-callout-short{height:176px!important;min-height:176px!important;}
  #buggy-passport-app .passport-intro-speech.rip-callout-medium{height:195px!important;min-height:195px!important;}
  #buggy-passport-app .passport-intro-speech.rip-callout-long{height:214px!important;min-height:214px!important;}
  #buggy-passport-app .passport-intro-speech .rip-callout-copy{
    left:50px!important;
    right:50px!important;
    top:15px!important;
    bottom:67px!important;
  }
  #buggy-passport-app .passport-intro-speech.rip-callout-medium .rip-callout-copy{top:18px!important;bottom:71px!important;}
  #buggy-passport-app .passport-intro-speech.rip-callout-long .rip-callout-copy{top:21px!important;bottom:75px!important;}
}



/* v46 — Canonical Rip staging + Passport presenter focus system.
   All Rip stages use the same layer order. The large Passport presenter gets
   a controlled character drop so the wide bubble tail points toward Rip's
   head/voice rather than his chest. No additional artwork or runtime library. */
#buggy-passport-app{
  --rip-character-layer:2;
  --rip-bubble-layer:3;
  --rip-presenter-character-drop:30px;
}
#buggy-passport-app #home .home-rip-large,
#buggy-passport-app #passportActivate .setup-rip,
#buggy-passport-app #passportSetup .setup-rip,
#buggy-passport-app #passportLogin .setup-rip,
#buggy-passport-app .passport-intro-rip,
#buggy-passport-app #passport .passport-context-rip-image{z-index:var(--rip-character-layer)!important;}
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .setup-speech,
#buggy-passport-app #passportSetup .setup-speech,
#buggy-passport-app #passportLogin .setup-speech,
#buggy-passport-app .passport-intro-speech,
#buggy-passport-app #passport .passport-context-speech{z-index:var(--rip-bubble-layer)!important;}

/* Increasing the stage—not stretching Rip—moves the character down while the
   speech bubble remains fixed. This mirrors the approved onboarding geometry. */
#buggy-passport-app #passport .passport-rip-guide{
  height:calc(282px + var(--rip-presenter-character-drop))!important;
}
#buggy-passport-app #passport .passport-rip-close{
  width:auto!important;min-width:0!important;height:auto!important;min-height:28px!important;
  padding:6px 9px!important;border-radius:999px!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.02em!important;white-space:nowrap!important;
}

/* Context focus: a light, non-blocking haze falls over the rest of the app.
   The referenced Passport section and the presenter remain clear and elevated. */
#buggy-passport-app #passport.passport-context-active{
  position:relative!important;z-index:230!important;isolation:isolate!important;
}
#buggy-passport-app #passport.passport-context-active:before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background:rgba(246,241,231,.42);
  -webkit-backdrop-filter:blur(2px) saturate(.88);
  backdrop-filter:blur(2px) saturate(.88);
  animation:passportContextHazeIn .18s ease both;
}
/* Every non-target top-level Passport object forms a layer below the haze.
   This prevents a nested high-z element (notably the Marker folder tabs) from
   escaping above the blur when Rip is explaining a different object. */
#buggy-passport-app #passport.passport-context-active > :not(.passport-context-focus):not(.passport-rip-guide){
  position:relative!important;
  z-index:0!important;
  isolation:isolate!important;
}
#buggy-passport-app #passport.passport-context-active>.passport-context-focus{
  position:relative!important;z-index:2!important;isolation:isolate!important;opacity:1!important;filter:none!important;
  box-shadow:0 18px 42px rgba(4,30,66,.17),0 0 0 3px rgba(254,189,59,.30)!important;
  transition:box-shadow .18s ease!important;
}
#buggy-passport-app #passport.passport-context-active>.passport-rip-guide{z-index:3!important;}
@keyframes passportContextHazeIn{from{opacity:0}to{opacity:1}}
@media(max-width:380px){
  #buggy-passport-app #passport .passport-rip-guide{
    height:calc(254px + var(--rip-presenter-character-drop))!important;
  }
  #buggy-passport-app #passport .passport-rip-close{right:112px!important;font-size:11px!important;}
}
@media(prefers-reduced-motion:reduce){
  #buggy-passport-app #passport.passport-context-active:before{animation:none!important;}
}


/* v47 — Welcome check-in swoosh integrated with the unchanged Rip artwork.
   The existing painted navy mask is moved to screen left, enlarged vertically,
   and placed behind Rip. No Rip image source or character artwork is changed. */
#buggy-passport-app #home .home-rip-intro{
  isolation:isolate!important;
}

/* Move the existing activation control inside Rip's stage. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  position:absolute!important;
  left:8px!important;
  bottom:42px!important;
  z-index:1!important;
  width:min(252px,65%)!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

/* Preserve the existing painted-swoosh visual language while making it taller. */
#buggy-passport-app #home .home-rip-intro .home-entry-button{
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
  min-height:154px!important;
  margin:0!important;
  padding:22px 58px 23px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--fog)!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
  text-align:center!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:before{
  content:""!important;
  position:absolute!important;
  inset:-10px -17px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:var(--navy)!important;
  opacity:1!important;
  -webkit-mask-image:var(--buggy-paint-horizontal)!important;
  mask-image:var(--buggy-paint-horizontal)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:312.8% 409.4%!important;
  mask-size:312.8% 409.4%!important;
  -webkit-mask-position:1% 83%!important;
  mask-position:1% 83%!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button > span{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
}

#buggy-passport-app #home .home-entry-kicker{
  color:var(--fog)!important;
  font:400 15px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.045em!important;
}

#buggy-passport-app #home .home-entry-divider{
  width:78%!important;
  height:2px!important;
  flex:0 0 2px!important;
  background:rgba(255,253,247,.88)!important;
  border-radius:999px!important;
}

#buggy-passport-app #home .home-entry-main{
  color:var(--fog)!important;
  font:400 22px/.98 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:hover,
#buggy-passport-app #home .home-rip-intro .home-entry-button:focus-visible{
  transform:none!important;
  box-shadow:none!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:focus-visible{
  outline:3px solid var(--sun)!important;
  outline-offset:7px!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:active{
  transform:scale(.985)!important;
}

/* Keep the unchanged Rip image visually in front while allowing the full
   painted area—including the overlapped portion—to remain tappable. */
#buggy-passport-app #home .home-rip-large{
  position:relative!important;
  z-index:2!important;
  pointer-events:none!important;
}

#buggy-passport-app #home .home-speech{
  z-index:20!important;
}

@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:3px!important;
    bottom:38px!important;
    width:min(244px,66%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:148px!important;
    padding:20px 55px 21px 14px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:14px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:21px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:0!important;
    bottom:31px!important;
    width:min(224px,66%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:138px!important;
    gap:8px!important;
    padding:18px 48px 19px 12px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:13px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:19px!important;
  }
}



/* v48 — Scale the complete v47 Welcome swoosh treatment to 50%.
   Shape, mask crop, typography, color, and screen-left anchor remain unchanged.
   Scaling originates at the lower-left so the control stays in the same location. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  transform:scale(.5)!important;
  transform-origin:left bottom!important;
}



/* v49 — Move the painted Welcome sign to the user-marked upper-left location.
   Rip remains completely unchanged. The sign stays behind Rip and contains
   exactly two centered text lines separated by one rule. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  left:4px!important;
  top:116px!important;
  bottom:auto!important;
  width:min(228px,64%)!important;
  transform:none!important;
  transform-origin:left top!important;
  z-index:1!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button{
  min-height:116px!important;
  gap:8px!important;
  padding:19px 48px 20px 14px!important;
}

#buggy-passport-app #home .home-entry-kicker{
  font-size:15px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}

#buggy-passport-app #home .home-entry-divider{
  width:72%!important;
  height:2px!important;
  flex-basis:2px!important;
  margin:0 auto!important;
}

#buggy-passport-app #home .home-entry-main{
  font-size:17px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}

@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:2px!important;
    top:112px!important;
    width:min(220px,65%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:112px!important;
    padding:18px 45px 19px 13px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:14px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:16px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:0!important;
    top:103px!important;
    width:min(205px,64%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:104px!important;
    gap:7px!important;
    padding:17px 41px 18px 11px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:13px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:14.5px!important;
  }
}



/* v50 — Slightly smaller upper-left sign and a small rightward Rip shift.
   Rip artwork, source image, scale, and animation remain unchanged. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  left:4px!important;
  top:116px!important;
  width:min(210px,59%)!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button{
  min-height:106px!important;
  gap:7px!important;
  padding:17px 43px 18px 12px!important;
}

#buggy-passport-app #home .home-entry-kicker{
  font-size:14px!important;
}

#buggy-passport-app #home .home-entry-divider{
  width:70%!important;
}

#buggy-passport-app #home .home-entry-main{
  font-size:15.5px!important;
}

/* Position adjustment only; the Rip image itself is not edited. */
#buggy-passport-app #home .home-rip-large{
  right:-12px!important;
}

@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:2px!important;
    top:112px!important;
    width:min(204px,60%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:103px!important;
    padding:16px 41px 17px 11px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:13.5px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:15px!important;
  }
  #buggy-passport-app #home .home-rip-large{
    right:-10px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:0!important;
    top:103px!important;
    width:min(190px,59%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:96px!important;
    gap:6px!important;
    padding:15px 37px 16px 10px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:12.5px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:13.5px!important;
  }
  #buggy-passport-app #home .home-rip-large{
    right:-8px!important;
  }
}



/* v51 — Tighten the painted Welcome sign around its two text lines.
   Lettering size remains essentially unchanged; most excess navy bumper is removed.
   The sign moves slightly upward. Rip stays exactly as positioned in v50. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  top:104px!important;
  width:min(188px,54%)!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button{
  min-height:80px!important;
  gap:4px!important;
  padding:9px 28px 10px 10px!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:before{
  inset:-3px -6px!important;
}

#buggy-passport-app #home .home-entry-kicker{
  font-size:14px!important;
  line-height:1!important;
}

#buggy-passport-app #home .home-entry-divider{
  width:64%!important;
  height:1.5px!important;
  flex-basis:1.5px!important;
}

#buggy-passport-app #home .home-entry-main{
  font-size:15.5px!important;
  line-height:1!important;
}

@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    top:100px!important;
    width:min(182px,55%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:77px!important;
    padding:8px 26px 9px 9px!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button:before{
    inset:-3px -5px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    top:92px!important;
    width:min(170px,54%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:72px!important;
    gap:3px!important;
    padding:8px 23px 8px 8px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:12.5px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:13.5px!important;
  }
}



/* v52 — Raise the sign so its new center sits at the former top edge.
   Remove most remaining vertical bumper above and below the two text lines.
   Rip remains exactly unchanged from v50/v51. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  top:72px!important;
  width:min(188px,54%)!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button{
  min-height:64px!important;
  gap:3px!important;
  padding:4px 28px 5px 10px!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:before{
  inset:-1px -4px!important;
}

#buggy-passport-app #home .home-entry-kicker{
  font-size:14px!important;
  line-height:1!important;
}

#buggy-passport-app #home .home-entry-divider{
  width:64%!important;
  height:1.5px!important;
  flex-basis:1.5px!important;
  margin:1px auto!important;
}

#buggy-passport-app #home .home-entry-main{
  font-size:15.5px!important;
  line-height:1!important;
}

@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    top:69px!important;
    width:min(182px,55%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:62px!important;
    padding:4px 26px 5px 9px!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button:before{
    inset:-1px -4px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    top:63px!important;
    width:min(170px,54%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:58px!important;
    gap:2px!important;
    padding:3px 23px 4px 8px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:12.5px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:13.5px!important;
  }
}



/* v53 — Keep the current upper-left corner fixed while making the painted
   sign more square and restoring three centered text lines.
   Rip artwork and position remain unchanged. */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  left:4px!important;
  top:72px!important;
  width:min(166px,48%)!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button{
  min-height:94px!important;
  gap:4px!important;
  padding:10px 24px 11px 9px!important;
}

#buggy-passport-app #home .home-rip-intro .home-entry-button:before{
  inset:-2px -4px!important;
}

#buggy-passport-app #home .home-entry-kicker{
  font-size:14px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}

#buggy-passport-app #home .home-entry-divider{
  width:58%!important;
  height:1.5px!important;
  flex-basis:1.5px!important;
  margin:1px auto!important;
}

#buggy-passport-app #home .home-entry-main{
  font-size:16px!important;
  line-height:1.02!important;
  text-align:center!important;
  white-space:normal!important;
}

@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:2px!important;
    top:69px!important;
    width:min(162px,49%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:91px!important;
    padding:9px 22px 10px 8px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:13.5px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:15.5px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:0!important;
    top:63px!important;
    width:min(150px,48%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:86px!important;
    gap:3px!important;
    padding:8px 20px 9px 7px!important;
  }
  #buggy-passport-app #home .home-entry-kicker{
    font-size:12.5px!important;
  }
  #buggy-passport-app #home .home-entry-main{
    font-size:14px!important;
  }
}


/* v54 — tighter painted bumper on all four sides */
#buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
  left:4px!important;
  top:72px!important;
  width:min(154px,45%)!important;
}
#buggy-passport-app #home .home-rip-intro .home-entry-button{
  min-height:82px!important;
  gap:3px!important;
  padding:6px 15px 7px 6px!important;
}
#buggy-passport-app #home .home-rip-intro .home-entry-button:before{
  inset:0 -2px!important;
}
#buggy-passport-app #home .home-entry-divider{
  width:54%!important;
  margin:0 auto!important;
}
@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:2px!important;
    top:69px!important;
    width:min(150px,46%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:80px!important;
    padding:6px 14px 6px 6px!important;
  }
}
@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-entry-action-integrated{
    left:0!important;
    top:63px!important;
    width:min(140px,45%)!important;
  }
  #buggy-passport-app #home .home-rip-intro .home-entry-button{
    min-height:75px!important;
    gap:2px!important;
    padding:5px 12px 6px 5px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v55 — Visual Pin-First Onboarding
   Users place a pin before seeing the conventional connection question.
   The existing form fields remain the data model; the board becomes the UI.
   ========================================================================== */

#buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="4"].buggy-pin-flow{
  --pin-red:#BF0D3E;
}

#buggy-passport-app .buggy-pin-flow-intro{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin:0 0 12px;
  padding:12px 13px;
  border-radius:20px;
  background:rgba(254,189,59,.16);
  border:1px solid rgba(196,137,19,.34);
}

#buggy-passport-app .buggy-loose-pin{
  width:64px!important;
  min-height:78px!important;
  margin:0!important;
  padding:5px 4px!important;
  display:grid!important;
  place-items:center!important;
  gap:4px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--navy)!important;
  touch-action:none;
  cursor:grab;
}

#buggy-passport-app .buggy-loose-pin:active{cursor:grabbing;}

#buggy-passport-app .buggy-pin-token-shape{
  position:relative;
  width:36px;
  height:36px;
  display:block;
  border:3px solid var(--fog);
  border-radius:50% 50% 50% 0;
  background:var(--red);
  box-shadow:0 6px 13px rgba(4,30,66,.24);
  transform:rotate(-45deg);
}
#buggy-passport-app .buggy-pin-token-shape:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--sun);
  transform:translate(-50%,-50%);
}
#buggy-passport-app .buggy-loose-pin span:last-child{
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  color:var(--navy);
  white-space:nowrap;
}

#buggy-passport-app .buggy-pin-flow-copy b{
  display:block;
  color:var(--navy);
  font:400 17px/1.12 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .buggy-pin-flow-copy small{
  display:block;
  margin-top:5px;
  color:var(--sage)!important;
  font:400 12px/1.35 "Courier Prime","Courier New",monospace!important;
}

#buggy-passport-app .buggy-pin-drag-ghost{
  position:fixed;
  z-index:9999;
  width:34px;
  height:34px;
  pointer-events:none;
  border:3px solid var(--fog);
  border-radius:50% 50% 50% 0;
  background:var(--red);
  box-shadow:0 8px 22px rgba(4,30,66,.32);
  transform:translate(-50%,-90%) rotate(-45deg);
}
#buggy-passport-app .buggy-pin-drag-ghost:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--sun);
  transform:translate(-50%,-50%);
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  margin:0 0 10px!important;
  transition:transform .22s ease,padding .22s ease,border-radius .22s ease;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map{
  cursor:crosshair;
  outline:none;
  touch-action:manipulation;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map:focus-visible{
  box-shadow:0 0 0 4px var(--sun);
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map:after{
  content:"TAP TO PLACE";
  position:absolute;
  left:8px;
  bottom:7px;
  z-index:6;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(4,30,66,.84);
  color:var(--fog);
  font:400 8.5px/1 "Permanent Marker","Comic Sans MS",cursive;
  letter-spacing:.035em;
  pointer-events:none;
  opacity:.9;
}
#buggy-passport-app #passportSetup .buggy-pin-flow.pin-placed .world-board-map:after{
  content:"TAP TO MOVE";
  opacity:.72;
}

#buggy-passport-app .buggy-pin-flow-status{
  min-height:42px;
  margin:8px 0 10px;
  padding:10px 12px;
  border-radius:15px;
  background:rgba(4,30,66,.06);
  border:1px solid rgba(4,30,66,.12);
  color:var(--sage);
  font:400 12px/1.35 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .buggy-pin-flow-status strong{
  color:var(--navy);
  font-family:"Permanent Marker","Comic Sans MS",cursive;
  font-weight:400;
}
#buggy-passport-app .buggy-pin-flow-status.placed{
  background:rgba(88,97,95,.12);
  border-color:rgba(88,97,95,.28);
}

#buggy-passport-app .buggy-pin-placement-continue{
  display:none!important;
  width:100%!important;
  min-height:50px!important;
  margin:0 0 12px!important;
}
#buggy-passport-app .buggy-pin-flow.pin-placed .buggy-pin-placement-continue{
  display:block!important;
}

#buggy-passport-app .buggy-pin-flow .buggy-pin-connection-ui{
  display:none;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .buggy-pin-connection-ui{
  display:block;
}

#buggy-passport-app .buggy-pin-flow.placement-mode .buggy-connection-field,
#buggy-passport-app .buggy-pin-flow.placement-mode #localAreaPanel,
#buggy-passport-app .buggy-pin-flow.placement-mode #representativeContextPanel,
#buggy-passport-app .buggy-pin-flow.placement-mode > .setup-action[data-buggy-final-connection]{
  display:none!important;
}

/* Origin questions are now populated by the visual map. */
#buggy-passport-app .buggy-pin-flow #originContextPanel{
  display:none!important;
}

#buggy-passport-app .buggy-pin-flow.connection-mode .buggy-pin-flow-intro,
#buggy-passport-app .buggy-pin-flow.connection-mode .buggy-pin-placement-continue{
  display:none!important;
}

#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-card{
  padding:10px!important;
  border-radius:18px!important;
  margin-bottom:12px!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-title{
  font-size:15px!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map-panel{
  margin-bottom:7px!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map{
  max-height:125px;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map:after{
  display:none;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-match{
  margin-top:6px!important;
}

#buggy-passport-app .buggy-pin-connection-heading{
  margin:7px 2px 8px;
  color:var(--navy);
  font:400 18px/1.1 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .buggy-pin-connection-subcopy{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin:0 2px 9px;
  color:var(--sage);
  font:400 12px/1.35 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .buggy-move-pin{
  flex:0 0 auto;
  min-height:30px!important;
  padding:5px 9px!important;
  margin:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--red)!important;
  border:1px solid rgba(191,13,62,.28)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

#buggy-passport-app .buggy-pin-flow.connection-mode > .setup-action[data-buggy-final-connection]{
  display:block!important;
  margin-top:10px!important;
}

#buggy-passport-app .buggy-pin-flow .world-board-user-pin{
  width:22px!important;
  height:22px!important;
  z-index:8!important;
}

@media(max-width:380px){
  #buggy-passport-app .buggy-pin-flow-intro{
    grid-template-columns:60px minmax(0,1fr);
    gap:9px;
    padding:10px;
  }
  #buggy-passport-app .buggy-loose-pin{
    width:56px!important;
  }
  #buggy-passport-app .buggy-pin-flow-copy b{font-size:15px;}
  #buggy-passport-app .buggy-pin-flow-copy small{font-size:11px!important;}
}



/* ==========================================================================
   BUGGY Passport v57 — Four-level Pin Board + compact step-4 Rip presenter
   ========================================================================== */

/* The Pin Board becomes a vertical zoom ladder. Only one map is visible. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  position:relative!important;
  overflow:hidden!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-stack{
  display:block!important;
  height:214px!important;
  max-height:214px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scroll-snap-type:y mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  border-radius:17px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-stack::-webkit-scrollbar{
  display:none!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-panel{
  height:214px!important;
  min-height:214px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-rows:28px minmax(0,1fr)!important;
  align-content:stretch!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-label{
  min-height:28px!important;
  margin:0!important;
  padding:4px 5px 5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  color:var(--sun)!important;
  font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-label small{
  color:rgba(255,253,247,.58)!important;
  font:700 12px/1 "Courier Prime","Courier New",monospace!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map{
  width:100%!important;
  height:186px!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  border-radius:15px!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-image{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* Space Coast uses the existing local BUGGY destination artwork. */
#buggy-passport-app #passportSetup .buggy-pin-flow [data-map-level="spacecoast"] .world-board-map-image{
  object-position:50% 50%!important;
}

/* Subtle cue that the map itself scrolls without displaying multiple maps. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card:after{
  content:"SWIPE / SCROLL MAPS  ↕";
  position:absolute;
  right:15px;
  top:12px;
  z-index:12;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,253,247,.10);
  border:1px solid rgba(255,253,247,.15);
  color:rgba(255,253,247,.72);
  font:700 12px/1 "Courier Prime","Courier New",monospace;
  pointer-events:none;
}

/* Connection-mode copy stays compact but still shows one map only. */
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-stack{
  height:158px!important;
  max-height:158px!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map-panel{
  height:158px!important;
  min-height:158px!important;
  grid-template-rows:24px minmax(0,1fr)!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map-label{
  min-height:24px!important;
  padding:3px 5px 4px!important;
  font-size:10.5px!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map{
  height:134px!important;
  max-height:none!important;
}

/* On onboarding step 4, Rip moves below the active information/questions.
   His existing image is cropped into a compact "weatherman" presenter view. */
#buggy-passport-app #passportSetup .buggy-step4-presenter{
  position:relative!important;
  width:100%!important;
  height:126px!important;
  min-height:126px!important;
  margin:12px auto 8px!important;
  display:block!important;
  overflow:hidden!important;
  background:transparent!important;
}

#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech{
  position:absolute!important;
  left:0!important;
  top:8px!important;
  z-index:4!important;
  width:calc(100% - 92px)!important;
  max-width:none!important;
  height:108px!important;
  min-height:108px!important;
  margin:0!important;
  padding:20px 28px 18px 18px!important;
  display:flex!important;
  align-items:center!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
  font-size:13.5px!important;
  line-height:1.16!important;
  filter:drop-shadow(0 7px 10px rgba(42,47,45,.10))!important;
}

#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech .rip-callout-copy{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-rip{
  position:absolute!important;
  right:-3px!important;
  top:-3px!important;
  z-index:5!important;
  width:112px!important;
  height:190px!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:50% 5%!important;
  filter:drop-shadow(0 8px 12px rgba(42,47,45,.14))!important;
  animation:bob 3.4s ease-in-out infinite!important;
}

/* The big top-of-page Rip scene disappears only while step 4 owns it. */
#buggy-passport-app #passportSetup .setup-shell > .buggy-step4-presenter{
  margin-top:12px!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-pin-flow .world-board-stack{
    height:196px!important;
    max-height:196px!important;
  }
  #buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-panel{
    height:196px!important;
    min-height:196px!important;
    grid-template-rows:26px minmax(0,1fr)!important;
  }
  #buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map{
    height:170px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter{
    height:116px!important;
    min-height:116px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech{
    width:calc(100% - 82px)!important;
    height:100px!important;
    min-height:100px!important;
    padding:18px 24px 16px 16px!important;
    font-size:12.5px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-rip{
    width:102px!important;
    height:176px!important;
  }
}


/* v58 — segmented map scale pill + Passport-style Rip staging */
#buggy-passport-app #passportSetup .buggy-map-scale-slider{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1.35fr 1fr .62fr .82fr!important;
  gap:0!important;
  width:100%!important;
  margin:0 0 9px!important;
  padding:4px!important;
  border:2px solid var(--navy)!important;
  border-radius:999px!important;
  background:rgba(4,30,66,.08)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important;
  overflow:hidden!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
  min-height:32px!important;
  margin:0!important;
  padding:5px 7px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:700 12px/1 "Courier Prime","Courier New",monospace!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
  transform:none!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active{
  background:var(--navy)!important;
  color:var(--sun)!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button:focus-visible{
  outline:3px solid var(--sun)!important;
  outline-offset:-2px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button:active{
  transform:scale(.97)!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card:after{
  display:none!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  padding-top:10px!important;
}

/* Rip stays in the current lower page location, but is staged like the Passport:
   callout above, Rip in front. */
#buggy-passport-app #passportSetup .buggy-step4-presenter{
  position:relative!important;
  width:100%!important;
  height:202px!important;
  min-height:202px!important;
  margin:10px auto 8px!important;
  display:block!important;
  overflow:visible!important;
  background:transparent!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech{
  position:absolute!important;
  left:7px!important;
  top:0!important;
  z-index:4!important;
  width:calc(100% - 66px)!important;
  max-width:none!important;
  height:112px!important;
  min-height:112px!important;
  margin:0!important;
  padding:19px 27px 22px 18px!important;
  display:flex!important;
  align-items:center!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
  filter:drop-shadow(0 7px 10px rgba(42,47,45,.10))!important;
  font-size:13.5px!important;
  line-height:1.16!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-rip{
  position:absolute!important;
  right:2px!important;
  top:74px!important;
  bottom:auto!important;
  z-index:7!important;
  width:132px!important;
  height:auto!important;
  max-height:142px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center top!important;
  filter:drop-shadow(0 8px 12px rgba(42,47,45,.14))!important;
  animation:bob 3.4s ease-in-out infinite!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech:before,
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech:after{
  z-index:3!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .buggy-pin-connection-ui,
#buggy-passport-app #passportSetup .buggy-pin-flow .buggy-connection-field,
#buggy-passport-app #passportSetup .buggy-pin-flow #localAreaPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow #representativeContextPanel{
  position:relative!important;
  z-index:10!important;
}
@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-map-scale-slider{
    grid-template-columns:1.4fr 1fr .58fr .8fr!important;
    padding:3px!important;
  }
  #buggy-passport-app #passportSetup .buggy-map-scale-slider button{
    min-height:30px!important;
    padding:4px 5px!important;
    font-size:8.6px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter{
    height:188px!important;
    min-height:188px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech{
    left:4px!important;
    width:calc(100% - 58px)!important;
    height:104px!important;
    min-height:104px!important;
    padding:17px 24px 20px 15px!important;
    font-size:12.5px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-rip{
    right:0!important;
    top:70px!important;
    width:120px!important;
    max-height:132px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v59 — Geography carousel mirrors core app carousel logic
   ========================================================================== */

/* Float the geography control in front of the board rather than inline. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  position:relative!important;
  overflow:visible!important;
  margin-top:38px!important;
  padding:11px!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider{
  position:absolute!important;
  left:7px!important;
  right:7px!important;
  top:-31px!important;
  z-index:45!important;

  display:flex!important;
  align-items:center!important;
  gap:3px!important;

  width:auto!important;
  height:60px!important;
  margin:0!important;
  padding:5px!important;

  overflow:visible!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:999px!important;
  background:rgba(255,253,247,.92)!important;
  box-shadow:0 12px 30px rgba(4,30,66,.22)!important;
  backdrop-filter:blur(14px)!important;
}

/* Same visual logic as Passport / Training / Map:
   inactive = smaller + faded; active = larger + full strength. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider button{
  position:relative!important;
  isolation:isolate!important;

  display:grid!important;
  place-items:center!important;
  align-content:center!important;

  flex:.72 1 0!important;
  min-width:0!important;
  height:48px!important;
  margin:0!important;
  padding:4px 6px!important;

  overflow:visible!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;

  color:var(--navy)!important;
  opacity:.36!important;
  transform:scale(.84)!important;
  transition:
    flex-grow .34s cubic-bezier(.22,.78,.22,1),
    opacity .26s ease,
    transform .34s cubic-bezier(.22,.78,.22,1)!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active{
  flex:1.72 1 0!important;
  opacity:1!important;
  transform:scale(1)!important;
  background:transparent!important;
  color:var(--navy)!important;
}

/* The selected geography gets the same painted BUGGY emphasis. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active:before{
  content:""!important;
  position:absolute!important;
  inset:3px -2px!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:rgba(254,189,59,.20)!important;
  -webkit-mask-image:var(--buggy-paint-horizontal)!important;
  mask-image:var(--buggy-paint-horizontal)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:312.8% 577.8%!important;
  mask-size:312.8% 577.8%!important;
  -webkit-mask-position:99% 80.2%!important;
  mask-position:99% 80.2%!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-primary,
#buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-secondary{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  white-space:normal!important;
  pointer-events:none!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-primary{
  color:inherit!important;
  font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-secondary{
  margin-top:2px!important;
  color:inherit!important;
  font:700 12px/1.02 "Courier Prime","Courier New",monospace!important;
  letter-spacing:-.01em!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="spacecoast"]{
  flex-basis:142px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="florida"]{
  flex-basis:62px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="us"]{
  flex-basis:36px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="world"]{
  flex-basis:54px!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button:focus-visible{
  outline:3px solid var(--red)!important;
  outline-offset:2px!important;
}

/* The pill now owns the map names. Remove duplicated inline map-name rows. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-title,
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-label{
  display:none!important;
}

/* Reclaim the full single-map viewport after hiding the old map-name row. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-panel{
  display:block!important;
  height:214px!important;
  min-height:214px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map{
  height:214px!important;
  max-height:none!important;
}

#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map-panel{
  height:158px!important;
  min-height:158px!important;
}
#buggy-passport-app .buggy-pin-flow.connection-mode .world-board-map{
  height:158px!important;
  max-height:none!important;
}

/* Inactive geography names remain readable, but deliberately subordinate. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider button:not(.active) .geo-primary,
#buggy-passport-app #passportSetup .buggy-map-scale-slider button:not(.active) .geo-secondary{
  opacity:.72!important;
}

/* Keep the floating carousel clear of the map edge on compact phones. */
@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
    margin-top:35px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider{
    left:4px!important;
    right:4px!important;
    top:-29px!important;
    height:56px!important;
    padding:4px!important;
    gap:1px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider button{
    height:46px!important;
    padding:3px 4px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="spacecoast"]{
    flex-basis:132px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-primary{
    font-size:8.4px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-secondary{
    font-size:6.9px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v60 — separate geography selector frame above map frame
   ========================================================================== */

/* Return the map card to normal flow. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  position:relative!important;
  overflow:hidden!important;
  margin-top:0!important;
  padding:11px!important;
  border-radius:22px!important;
}

/* The geography selector becomes its own framed row ABOVE the map card. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  z-index:12!important;

  display:flex!important;
  align-items:center!important;
  gap:3px!important;

  width:100%!important;
  height:58px!important;
  margin:0 0 9px!important;
  padding:5px!important;

  overflow:visible!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:999px!important;
  background:rgba(255,253,247,.94)!important;
  box-shadow:0 8px 20px rgba(4,30,66,.12)!important;
  backdrop-filter:blur(12px)!important;
}

/* Active geography = larger and full strength.
   Inactive geographies remain visible but smaller/faded. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider button{
  position:relative!important;
  isolation:isolate!important;

  display:grid!important;
  place-items:center!important;
  align-content:center!important;

  flex:.72 1 0!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:4px 5px!important;

  overflow:visible!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;

  color:var(--navy)!important;
  opacity:.32!important;
  transform:scale(.84)!important;
  transition:
    flex-grow .34s cubic-bezier(.22,.78,.22,1),
    opacity .24s ease,
    transform .34s cubic-bezier(.22,.78,.22,1)!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active{
  flex:1.68 1 0!important;
  opacity:1!important;
  transform:scale(1)!important;
  color:var(--navy)!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active:before{
  content:""!important;
  position:absolute!important;
  inset:3px -2px!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:rgba(254,189,59,.20)!important;
  -webkit-mask-image:var(--buggy-paint-horizontal)!important;
  mask-image:var(--buggy-paint-horizontal)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:312.8% 577.8%!important;
  mask-size:312.8% 577.8%!important;
  -webkit-mask-position:99% 80.2%!important;
  mask-position:99% 80.2%!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-primary{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  color:inherit!important;
  font:400 9.2px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:0!important;
  white-space:normal!important;
  pointer-events:none!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button:not(.active) .geo-primary{
  opacity:.68!important;
}

/* Give the long labels enough base width. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="spacecoast"]{
  flex-basis:82px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="florida"]{
  flex-basis:66px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="us"]{
  flex-basis:96px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="world"]{
  flex-basis:66px!important;
}

#buggy-passport-app #passportSetup .buggy-map-scale-slider button:focus-visible{
  outline:3px solid var(--red)!important;
  outline-offset:2px!important;
}

/* Map frame is its own distinct block below the selector. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-stack{
  border-radius:16px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:var(--navy)!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map{
  border-radius:15px!important;
}

/* No duplicate inline geography labels inside the frame. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-title,
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-map-label{
  display:none!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-map-scale-slider{
    height:54px!important;
    margin-bottom:8px!important;
    padding:4px!important;
    gap:1px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider button{
    height:44px!important;
    padding:3px 3px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider .geo-primary{
    font-size:8.1px!important;
  }

  #buggy-passport-app #passportSetup .buggy-map-scale-slider button[data-map-level="us"]{
    flex-basis:88px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v70 flow — Confirm → Detail → Connection → Age / Guardian
   ========================================================================== */

#buggy-passport-app .passport-role-status{
  min-height:24px!important;
  padding:4px 8px!important;
  margin:0!important;
  border:1px solid rgba(4,30,66,.18)!important;
  border-radius:999px!important;
  background:rgba(254,189,59,.16)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:700 12px/1 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .passport-role-status[data-role="minor"]{background:rgba(191,13,62,.08)!important;}
#buggy-passport-app .passport-role-status[data-role="companion"],
#buggy-passport-app .passport-role-status[data-role="guardian"]{background:rgba(88,97,95,.15)!important;}

#buggy-passport-app .v62-onboarding-panel{
  display:none;
  margin:10px 0 12px;
  padding:13px;
  border:1px solid rgba(4,30,66,.14);
  border-radius:18px;
  background:rgba(255,253,247,.96);
  box-shadow:0 8px 18px rgba(4,30,66,.08);
}
#buggy-passport-app .v62-onboarding-panel.show{display:block;}
#buggy-passport-app .v62-panel-title{
  margin-bottom:5px;
  color:var(--navy);
  font:400 17px/1.08 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .v62-panel-copy{
  color:var(--sage);
  font:400 12px/1.4 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v62-recognized-location{
  margin:10px 0 11px;
  padding:10px 11px;
  border-radius:14px;
  background:rgba(254,189,59,.17);
  color:var(--navy);
  font:400 17px/1.1 "Permanent Marker","Comic Sans MS",cursive;
  text-align:center;
}
#buggy-passport-app .v62-choice-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:9px;
}
#buggy-passport-app .v62-choice{
  min-height:48px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid rgba(4,30,66,.18)!important;
  border-radius:16px!important;
  background:var(--fog)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:400 13px/1.08 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v62-choice.selected{
  background:var(--navy)!important;
  color:var(--sun)!important;
  border-color:var(--navy)!important;
}
#buggy-passport-app .v62-status-card{
  margin:10px 0;
  padding:11px 12px;
  border-radius:15px;
  background:rgba(4,30,66,.06);
  border:1px solid rgba(4,30,66,.12);
  color:var(--sage);
  font:400 12px/1.38 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v62-status-card b{
  display:block;
  margin-bottom:3px;
  color:var(--navy);
  font:400 15px/1.08 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .v62-guardian-option{
  margin-top:10px;
  padding:10px 11px;
  border-radius:15px;
  background:rgba(254,189,59,.11);
}
#buggy-passport-app .v62-guardian-option label{
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:var(--navy);
  font:700 12px/1.3 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v62-guardian-option input[type="checkbox"]{
  margin-top:2px;
}
#buggy-passport-app .v62-inline-status{
  min-height:18px;
  margin-top:7px;
  color:var(--sage);
  font:400 12px/1.35 "Courier Prime","Courier New",monospace;
}

/* Stage visibility */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] .buggy-pin-placement-continue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] .buggy-pin-placement-continue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .buggy-pin-placement-continue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .buggy-pin-placement-continue{
  display:none!important;
}

#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #originContextPanel{
  display:block!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #travelerTripPanel{
  display:none!important;
}

/* Age step is intentionally focused: hide the map and map setup chrome. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .buggy-pin-flow-intro,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #buggyWorldBoard,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #buggyPinFlowStatus,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .buggy-map-scale-slider{
  display:none!important;
}

/* Connection precedes the final Age / Guardian substep and uses the saved map. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .v62-location-panel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .v62-age-panel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] #originContextPanel{
  display:none!important;
}

.buggy-guardian-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(4,30,66,.58);
  backdrop-filter:blur(7px);
}
.buggy-guardian-overlay[hidden]{display:none!important;}
.buggy-guardian-modal{
  position:relative;
  width:min(430px,100%);
  padding:22px 18px 18px;
  border-radius:24px;
  background:#fffdf7;
  box-shadow:0 24px 60px rgba(4,30,66,.32);
}
.buggy-guardian-title{
  margin-bottom:7px;
  color:#041e42;
  font:400 22px/1.05 "Permanent Marker","Comic Sans MS",cursive;
}
.buggy-guardian-copy{
  margin-bottom:12px;
  color:#58615f;
  font:400 12px/1.45 "Courier Prime","Courier New",monospace;
}
.buggy-guardian-close{
  position:absolute!important;
  right:10px!important;
  top:8px!important;
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#041e42!important;
  box-shadow:none!important;
  font-size:24px!important;
}
.buggy-guardian-status{
  min-height:20px;
  margin-top:8px;
  color:#58615f;
  font:400 12px/1.35 "Courier Prime","Courier New",monospace;
}

@media(max-width:380px){
  #buggy-passport-app .v62-choice-row{grid-template-columns:1fr;}
}



/* ==========================================================================
   BUGGY Passport v63 — Rip-led onboarding cleanup
   ========================================================================== */

/* Keep the intro tile simple; Rip handles the explanation. */
#buggy-passport-app #passportSetup .buggy-pin-flow-intro{
  grid-template-columns:72px minmax(0,1fr)!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow-copy small{
  display:none!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow-copy b{
  font-size:16px!important;
}

/* The explanatory sentences belong to Rip, not floating cards. */
#buggy-passport-app .v62-panel-copy,
#buggy-passport-app .v62-status-card{
  display:none!important;
}
#buggy-passport-app .v62-inline-status{
  margin-top:6px!important;
  color:var(--sage)!important;
  font:400 12px/1.3 "Courier Prime","Courier New",monospace!important;
}

/* Re-stage Rip so the callout is large enough and the copy fully resets
   inside the bubble instead of inheriting the generic setup-speech offsets. */
#buggy-passport-app #passportSetup .buggy-step4-presenter{
  height:244px!important;
  min-height:244px!important;
  margin:10px auto 10px!important;
  overflow:visible!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech{
  left:4px!important;
  top:0!important;
  width:calc(100% - 78px)!important;
  height:148px!important;
  min-height:148px!important;
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:44px!important;
  right:48px!important;
  top:20px!important;
  bottom:43px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:var(--navy)!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-rip{
  right:0!important;
  top:115px!important;
  width:132px!important;
  max-height:136px!important;
  z-index:8!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech:before,
#buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech:after{
  z-index:2!important;
}

/* Let the final continue button breathe above Rip. */
#buggy-passport-app #passportSetup .buggy-pin-flow > .setup-action[data-buggy-final-connection="true"]{
  margin-bottom:6px!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-step4-presenter{
    height:228px!important;
    min-height:228px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech{
    width:calc(100% - 68px)!important;
    height:138px!important;
    min-height:138px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-speech .rip-callout-copy{
    left:38px!important;
    right:42px!important;
    top:18px!important;
    bottom:40px!important;
    line-height:1.12!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter .setup-rip{
    top:108px!important;
    width:124px!important;
    max-height:130px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v64 — Rip-led simplified step 4
   ========================================================================== */

/* Reduce the top note to a simple identifier instead of a second explainer. */
#buggy-passport-app #passportSetup .buggy-pin-flow-intro{
  margin:0 0 10px!important;
  padding:10px 12px!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:10px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow-copy b{
  display:flex!important;
  align-items:center!important;
  min-height:100%!important;
  margin:0!important;
  font-size:15px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow-copy small{
  display:none!important;
}

/* Rip is the guide. Hide duplicate/extraneous helper copy in the main flow. */
#buggy-passport-app #passportSetup .buggy-pin-flow-status,
#buggy-passport-app #passportSetup .world-board-match,
#buggy-passport-app #passportSetup .v62-panel-copy,
#buggy-passport-app #passportSetup .v62-status-card{
  display:none!important;
}

/* Help toggle for optional extra detail */
#buggy-passport-app .buggy-help-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  margin:8px 0 0 auto!important;
  padding:6px 12px!important;
  border:1px solid rgba(4,30,66,.18)!important;
  border-radius:999px!important;
  background:rgba(255,253,247,.96)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .buggy-help-panel{
  display:none;
  margin:8px 0 0!important;
  padding:11px 12px!important;
  border:1px solid rgba(4,30,66,.12)!important;
  border-radius:16px!important;
  background:rgba(255,253,247,.96)!important;
  color:var(--sage)!important;
  font:400 12px/1.42 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .buggy-help-panel.show{display:block;}
#buggy-passport-app .buggy-help-panel b{
  display:block;
  margin-bottom:4px;
  color:var(--navy);
  font:400 14px/1.08 "Permanent Marker","Comic Sans MS",cursive;
}

/* Tighter map card composition */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  margin-bottom:0!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card .world-board-title{
  display:none!important;
}

/* Reduce card stack noise during placement */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] #v62LocationConfirmPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] #v62LocationDetailPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] #v62AgePanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] .buggy-pin-connection-ui,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] .buggy-connection-field,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] #localAreaPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] #representativeContextPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Confirm step should focus on confirming, not on connection. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] .buggy-pin-connection-ui,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] .buggy-connection-field,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] #localAreaPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] #representativeContextPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Detail step also remains location-only. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] .buggy-pin-connection-ui,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] .buggy-connection-field,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #localAreaPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #representativeContextPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Age step remains simplified and Rip-led. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .buggy-pin-connection-ui,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .buggy-connection-field,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #localAreaPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #representativeContextPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Connection step is the first time connection UI appears. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .buggy-pin-connection-ui{
  display:block!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .buggy-connection-field{
  display:block!important;
}

/* Continue button wording and spacing stay visually clear */
#buggy-passport-app #passportSetup #buggyPinPlacementContinue{
  margin-top:10px!important;
}

/* Rip presenter stays primary, with more breathing room below the main control. */
#buggy-passport-app #passportSetup .buggy-step4-presenter{
  margin-top:12px!important;
}

/* Simplify the recognized location card. */
#buggy-passport-app #passportSetup .v62-recognized-location{
  margin:8px 0 4px!important;
}

/* Optional detail under age step / send guardian */
#buggy-passport-app #passportSetup .v62-inline-status{
  margin-top:6px!important;
}




/* ==========================================================================
   BUGGY Passport v65 — Rip overlays map / callout carries top instruction
   ========================================================================== */

/* Reduce the top card to essentially the pin token only. */
#buggy-passport-app #passportSetup .buggy-pin-flow-intro{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:fit-content!important;
  min-width:0!important;
  margin:0 0 10px!important;
  padding:10px 12px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow-copy{
  display:none!important;
}
#buggy-passport-app #passportSetup .buggy-loose-pin{
  width:58px!important;
  min-height:74px!important;
}

/* Hide the old external help toggle; help is now inside Rip's callout. */
#buggy-passport-app .buggy-help-toggle{
  display:none!important;
}

/* The map card becomes the stage for Rip + callout overlay. */
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card{
  position:relative!important;
  overflow:visible!important;
  padding-bottom:0!important;
}

/* Rip presenter moves onto the map card and partially covers the map at bottom right. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay{
  position:absolute!important;
  right:-6px!important;
  bottom:-10px!important;
  z-index:18!important;
  width:180px!important;
  height:184px!important;
  min-height:184px!important;
  margin:0!important;
  overflow:visible!important;
  pointer-events:none!important;
  background:transparent!important;
}

/* Callout sits at the top of the map card, driven by Rip. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech{
  position:absolute!important;
  left:-148px!important;
  top:-2px!important;
  width:286px!important;
  height:108px!important;
  min-height:108px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
  pointer-events:auto!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
  filter:drop-shadow(0 8px 12px rgba(42,47,45,.14))!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:40px!important;
  right:46px!important;
  top:16px!important;
  bottom:30px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  color:var(--navy)!important;
  line-height:1.14!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-rip{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  width:120px!important;
  height:auto!important;
  max-height:130px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  z-index:20!important;
  pointer-events:none!important;
}

/* Help button embedded in the callout. */
#buggy-passport-app #passportSetup .buggy-callout-help{
  position:absolute!important;
  left:22px!important;
  bottom:13px!important;
  z-index:21!important;
  min-height:22px!important;
  margin:0!important;
  padding:3px 9px!important;
  border:1px solid rgba(4,30,66,.18)!important;
  border-radius:999px!important;
  background:rgba(255,253,247,.95)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  pointer-events:auto!important;
  font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

/* Put help content below the map card as optional detail. */
#buggy-passport-app #passportSetup .buggy-help-panel{
  margin:10px 0 0!important;
}

/* Make room below the map for the Rip overlap, then put action buttons underneath. */
#buggy-passport-app #passportSetup #buggyWorldBoard{
  margin-bottom:28px!important;
}
#buggy-passport-app #passportSetup #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup #v62LocationDetailContinue,
#buggy-passport-app #passportSetup #v62AgeContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow > .setup-action[data-buggy-final-connection="true"]{
  display:block!important;
  width:100%!important;
  margin-top:12px!important;
  position:relative!important;
  z-index:5!important;
}

/* Connection text must stay out of the placement scene. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] .buggy-pin-connection-heading,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"] .buggy-pin-connection-subcopy{
  display:none!important;
}

/* On connection step the presenter can remain, but keep it visually subordinate. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .buggy-step4-presenter.v65-map-overlay{
  opacity:.92!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay{
    right:-4px!important;
    bottom:-8px!important;
    width:165px!important;
    height:172px!important;
    min-height:172px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech{
    left:-136px!important;
    width:264px!important;
    height:102px!important;
    min-height:102px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech .rip-callout-copy{
    left:36px!important;
    right:42px!important;
    top:15px!important;
    bottom:29px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-rip{
    width:111px!important;
    max-height:122px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v66 — Pin token lives inside Rip's callout
   ========================================================================== */

/* Remove the old top token card entirely. */
#buggy-passport-app #passportSetup .buggy-pin-flow-intro{
  display:none!important;
}

/* Make the callout large enough to carry both the pin token and the instruction. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech{
  left:-160px!important;
  width:302px!important;
  height:112px!important;
  min-height:112px!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech .rip-callout-copy{
  left:104px!important;
  right:34px!important;
  top:18px!important;
  bottom:30px!important;
  justify-content:flex-start!important;
  text-align:left!important;
}

/* The original draggable pin becomes an embedded callout token. */
#buggy-passport-app #passportSetup .buggy-callout-pin{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:22!important;
  width:72px!important;
  min-height:72px!important;
  padding:4px 4px 2px!important;
  display:grid!important;
  place-items:center!important;
  gap:2px!important;
  border-radius:16px!important;
  background:rgba(248,188,47,.94)!important;
  box-shadow:0 4px 10px rgba(4,30,66,.16)!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passportSetup .buggy-callout-pin .buggy-pin-token-shape{
  width:34px!important;
  height:34px!important;
}
#buggy-passport-app #passportSetup .buggy-callout-pin span:last-child{
  font-size:8.5px!important;
  line-height:1!important;
}

/* Keep help inside the callout without colliding with the pin token. */
#buggy-passport-app #passportSetup .buggy-callout-help{
  left:104px!important;
  bottom:12px!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech{
    left:-148px!important;
    width:284px!important;
    height:106px!important;
    min-height:106px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v65-map-overlay .setup-speech .rip-callout-copy{
    left:96px!important;
    right:30px!important;
    top:17px!important;
    bottom:28px!important;
  }
  #buggy-passport-app #passportSetup .buggy-callout-pin{
    left:12px!important;
    top:13px!important;
    width:66px!important;
    min-height:68px!important;
  }
  #buggy-passport-app #passportSetup .buggy-callout-help{
    left:96px!important;
    bottom:10px!important;
  }
}



/* ==========================================================================
   BUGGY Passport v67 — single action + floating Rip + working EXPLAIN
   ========================================================================== */

/* Rip is no longer owned by the map card. It sits immediately AFTER the map
   in document flow, then visually floats upward over the map bottom-right. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide{
  position:relative!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;

  width:100%!important;
  height:158px!important;
  min-height:158px!important;
  margin:-116px 0 8px!important;

  z-index:35!important;
  overflow:visible!important;
  background:transparent!important;
  pointer-events:none!important;
}

/* Drawn callout floats left/above Rip, matching the Passport home-page logic. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-speech{
  position:absolute!important;
  left:4px!important;
  top:0!important;
  width:286px!important;
  max-width:calc(100% - 92px)!important;
  height:112px!important;
  min-height:112px!important;
  margin:0!important;
  padding:0!important;

  z-index:36!important;
  overflow:hidden!important;
  display:block!important;
  pointer-events:auto!important;

  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
  filter:drop-shadow(0 8px 12px rgba(42,47,45,.14))!important;
}

#buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:96px!important;
  right:34px!important;
  top:16px!important;
  bottom:29px!important;

  width:auto!important;
  max-width:none!important;
  margin:0!important;

  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;

  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.13!important;
  color:var(--navy)!important;
}

/* Pin token remains part of Rip's callout. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .buggy-callout-pin{
  position:absolute!important;
  left:13px!important;
  top:13px!important;
  z-index:40!important;

  width:66px!important;
  min-height:70px!important;
  margin:0!important;
  padding:4px 4px 2px!important;

  display:grid!important;
  place-items:center!important;
  gap:2px!important;

  border-radius:15px!important;
  background:rgba(248,188,47,.95)!important;
  box-shadow:0 4px 10px rgba(4,30,66,.16)!important;
  pointer-events:auto!important;
}

/* Rip partially covers the bottom-right of the map. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-rip{
  position:absolute!important;
  right:-2px!important;
  bottom:0!important;
  top:auto!important;

  z-index:42!important;
  width:120px!important;
  height:auto!important;
  max-height:132px!important;
  margin:0!important;

  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 8px 12px rgba(42,47,45,.14))!important;
  pointer-events:none!important;
}

/* EXPLAIN is embedded in Rip's callout and actually changes his guidance. */
#buggy-passport-app #passportSetup .buggy-explain-button{
  position:absolute!important;
  left:96px!important;
  bottom:9px!important;
  z-index:45!important;

  min-height:24px!important;
  margin:0!important;
  padding:4px 10px!important;

  border:1px solid rgba(4,30,66,.20)!important;
  border-radius:999px!important;
  background:rgba(255,253,247,.96)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  pointer-events:auto!important;

  font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

/* Old Help mechanisms are retired. */
#buggy-passport-app #buggyPinHelpToggle,
#buggy-passport-app #buggyPinHelpPanel,
#buggy-passport-app .buggy-callout-help{
  display:none!important;
}

/* ------------------------------------------------------------
   SINGLE PRIMARY ACTION RULE
   ------------------------------------------------------------ */

/* Default: hide both the generated pin action and the old static final action. */
#buggy-passport-app #passportSetup #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Placement: ONLY Confirm Location. It follows Rip in document flow. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"].pin-placed #buggyPinPlacementContinue{
  display:block!important;
  width:100%!important;
  margin:10px 0 12px!important;
  position:relative!important;
  z-index:8!important;
}

/* Confirm stage uses its YES / NOT QUITE buttons only. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="confirm"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Detail stage uses Confirm Location from the detail fields only. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #v62LocationDetailContinue{
  display:block!important;
  width:100%!important;
  margin:12px 0!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Age stage uses its one Continue button. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #v62AgeContinue{
  display:block!important;
  width:100%!important;
  margin:12px 0!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* Connection stage: ONLY the original final Continue action returns. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] > .setup-action[data-buggy-final-connection="true"]{
  display:block!important;
  width:100%!important;
  margin:12px 0!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] #buggyPinPlacementContinue{
  display:none!important;
}

/* The old final button text is no longer "Add My Pin..." once it becomes
   the connection-stage action. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] > .setup-action[data-buggy-final-connection="true"]{
  position:relative!important;
  z-index:8!important;
}

/* The map retains enough space for the floating guide overlap. */
#buggy-passport-app #passportSetup #buggyWorldBoard{
  margin-bottom:0!important;
}

/* When the map is hidden (age stage), Rip remains visible in normal flow. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .buggy-step4-presenter.v67-floating-guide{
  margin:10px 0 8px!important;
}

/* Connection uses the compact saved map and Rip can still float over it. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .buggy-step4-presenter.v67-floating-guide{
  margin:-90px 0 8px!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide{
    height:150px!important;
    min-height:150px!important;
    margin:-108px 0 8px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-speech{
    width:270px!important;
    max-width:calc(100% - 82px)!important;
    height:106px!important;
    min-height:106px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-speech .rip-callout-copy{
    left:90px!important;
    right:30px!important;
    top:15px!important;
    bottom:28px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .buggy-callout-pin{
    left:11px!important;
    top:12px!important;
    width:62px!important;
    min-height:66px!important;
  }
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-rip{
    width:112px!important;
    max-height:124px!important;
  }
  #buggy-passport-app #passportSetup .buggy-explain-button{
    left:90px!important;
    bottom:8px!important;
  }
}

/* v68 — the horizontal waist-up artwork is reserved for compact presenter
   placements, while full-body RIP remains the large-scene source of truth. */
#buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-rip{
  width:150px!important;
  max-height:132px!important;
}
#buggy-passport-app:not(.home-active) button.training-fast-shortcut{
  grid-template-columns:minmax(0,1fr) 92px;
}
#buggy-passport-app button.training-fast-shortcut .training-rip-image{
  width:92px;
  height:72px;
  object-position:center bottom;
}
#buggy-passport-app .lesson-top .rip.small.rip-waist{
  width:96px;
  min-width:96px;
  height:72px;
  object-position:center bottom;
}
@media(max-width:380px){
  #buggy-passport-app #passportSetup .buggy-step4-presenter.v67-floating-guide .setup-rip{
    width:140px!important;
    max-height:124px!important;
  }
  #buggy-passport-app:not(.home-active) button.training-fast-shortcut{
    grid-template-columns:minmax(0,1fr) 84px;
  }
  #buggy-passport-app button.training-fast-shortcut .training-rip-image{
    width:84px;
    height:68px;
  }
  #buggy-passport-app .lesson-top .rip.small.rip-waist{
    width:88px;
    min-width:88px;
    height:68px;
  }
}

/* ==========================================================================
   BUGGY Passport v69 — viewport-level RIP presenter system
   ========================================================================== */
#buggy-passport-app{
  --rip-presenter-bottom:44px;
  --rip-presenter-bottom:max(44px,calc(36px + env(safe-area-inset-bottom)));
  --rip-presenter-height:246px;
  --rip-presenter-image-width:190px;
  --rip-presenter-bubble-width:306px;
  --rip-presenter-bubble-height:154px;
}

/* Setup, activation, and login share one stable presenter geometry. The scene
   no longer contributes height to the page; content scrolls behind it. */
#buggy-passport-app #passportActivate #activationRipScene,
#buggy-passport-app #passportSetup #setupRipScene,
#buggy-passport-app #passportLogin #loginRipScene{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:var(--rip-presenter-bottom)!important;
  transform:translateX(-50%)!important;

  width:min(430px,100vw)!important;
  max-width:none!important;
  height:var(--rip-presenter-height)!important;
  min-height:0!important;
  margin:0!important;
  padding:0 10px!important;

  display:block!important;
  overflow:visible!important;
  background:transparent!important;
  z-index:260!important;
  isolation:isolate!important;
  pointer-events:none!important;
}

#buggy-passport-app #passportActivate #activationRipScene .setup-rip,
#buggy-passport-app #passportSetup #setupRipScene .setup-rip,
#buggy-passport-app #passportLogin #loginRipScene .setup-rip{
  position:absolute!important;
  right:8px!important;
  left:auto!important;
  top:auto!important;
  bottom:0!important;

  width:var(--rip-presenter-image-width)!important;
  min-width:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;

  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 12px 18px rgba(42,47,45,.20))!important;
  animation:none!important;
  z-index:4!important;
  pointer-events:none!important;
}

#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech{
  position:absolute!important;
  left:8px!important;
  right:auto!important;
  top:auto!important;
  bottom:86px!important;

  width:var(--rip-presenter-bubble-width)!important;
  max-width:calc(100% - 86px)!important;
  height:var(--rip-presenter-bubble-height)!important;
  min-height:var(--rip-presenter-bubble-height)!important;
  margin:0!important;

  z-index:3!important;
  overflow:visible!important;
  filter:drop-shadow(0 9px 14px rgba(42,47,45,.14))!important;
  animation:none!important;
  pointer-events:none!important;
}

/* Standard activation/login callouts retain their drawn bubble artwork while
   aligning as one unit with the waist-up presenter. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:31px 44px 43px 27px!important;
  background-image:var(--rip-callout-standard-sprite)!important;
  background-size:300% 300%!important;
  background-position:50% 100%!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:220px!important;
  margin:0 auto!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech.rip-callout-long .rip-callout-copy{
  font-size:12.5px!important;
  line-height:1.16!important;
}

/* The setup callout supports both ordinary account guidance and the special
   Pin context without changing the presenter's fixed position. */
#buggy-passport-app #passportSetup #setupRipScene .setup-speech{
  display:block!important;
  padding:0!important;
  background-image:var(--rip-callout-compact-sprite)!important;
  background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;
  left:31px!important;
  right:38px!important;
  top:22px!important;
  bottom:34px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  color:var(--navy)!important;
  text-align:left!important;
  line-height:1.14!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech.rip-callout-long .rip-callout-copy{
  font-size:12px!important;
  line-height:1.12!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
  left:96px!important;
}
#buggy-passport-app #passportSetup #setupRipScene:not(.v70-pin-context) .buggy-callout-pin{
  display:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-explain-button{
  left:31px!important;
  bottom:10px!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .buggy-explain-button{
  left:96px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  pointer-events:auto!important;
}

/* Compose the initial account/login view with the fields above and left of
   RIP. The lower field may sit under the bubble until the user scrolls. */
#buggy-passport-app #passportActivate .setup-shell,
#buggy-passport-app #passportSetup .setup-shell,
#buggy-passport-app #passportLogin .setup-shell{
  min-height:calc(100vh - 68px)!important;
  min-height:calc(100svh - 68px)!important;
  padding-bottom:360px!important;
  padding-bottom:clamp(330px,44svh,410px)!important;
}
#buggy-passport-app #passportActivate .passport-activation-card{
  margin-top:320px!important;
  margin-top:clamp(220px,calc(100svh - 470px),390px)!important;
}
#buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="3"].active,
#buggy-passport-app #passportLogin .passport-setup-step.active{
  padding-top:320px!important;
  padding-top:clamp(220px,calc(100svh - 470px),390px)!important;
}

/* Passport contextual guidance already opened as an overlay. v69 pins it to
   the same lower-right presenter position instead of chasing page sections. */
#buggy-passport-app #passport .passport-rip-guide{
  top:auto!important;
  bottom:var(--rip-presenter-bottom)!important;
  width:min(430px,100vw)!important;
  height:var(--rip-presenter-height)!important;
  transform:translate(-50%,18px) scale(.97)!important;
}
#buggy-passport-app #passport .passport-rip-guide.open{
  transform:translate(-50%,0) scale(1)!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-speech{
  left:8px!important;
  right:auto!important;
  top:auto!important;
  bottom:86px!important;
  width:var(--rip-presenter-bubble-width)!important;
  max-width:calc(100% - 86px)!important;
  height:var(--rip-presenter-bubble-height)!important;
  min-height:var(--rip-presenter-bubble-height)!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
  right:8px!important;
  left:auto!important;
  top:auto!important;
  bottom:0!important;
  width:var(--rip-presenter-image-width)!important;
  height:auto!important;
  max-height:none!important;
  object-position:center bottom!important;
  animation:none!important;
}
#buggy-passport-app #passport .passport-rip-close{
  top:38px!important;
  right:116px!important;
}
/* v175: obsolete Passport fixed RIP dock removed; RIP floats independently. */

/* Training guidance uses the same fixed presenter, while the message remains
   the interactive target for opening the training RIP is describing. */
#buggy-passport-app #trainingPage #trainingRipGuide{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:var(--rip-presenter-bottom)!important;
  transform:translateX(-50%)!important;

  width:min(430px,100vw)!important;
  height:var(--rip-presenter-height)!important;
  min-height:0!important;
  margin:0!important;
  padding:0 10px!important;

  display:block!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  z-index:260!important;
  pointer-events:none!important;
}
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message{
  position:absolute!important;
  left:8px!important;
  right:auto!important;
  top:auto!important;
  bottom:86px!important;
  width:var(--rip-presenter-bubble-width)!important;
  max-width:calc(100% - 86px)!important;
  height:var(--rip-presenter-bubble-height)!important;
  min-height:var(--rip-presenter-bubble-height)!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:auto!important;
}
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
  position:absolute!important;
  right:8px!important;
  left:auto!important;
  top:auto!important;
  bottom:0!important;
  width:var(--rip-presenter-image-width)!important;
  height:auto!important;
  max-height:none!important;
  object-position:center bottom!important;
  animation:none!important;
  pointer-events:none!important;
}
#buggy-passport-app #trainingPage{
  padding-bottom:360px!important;
}

/* The modal Passport introduction is a contained exception, but its RIP and
   bubble now use the same compact grouped geometry instead of a tall scene. */
#buggy-passport-app .passport-intro-scene{
  min-height:258px!important;
}
#buggy-passport-app .passport-intro-rip{
  right:-2px!important;
  bottom:0!important;
  width:168px!important;
  height:auto!important;
  max-height:224px!important;
  animation:none!important;
}
#buggy-passport-app .passport-intro-speech{
  left:2px!important;
  top:0!important;
  width:294px!important;
  max-width:calc(100% - 64px)!important;
  height:160px!important;
  min-height:160px!important;
  padding:30px 48px 46px 27px!important;
}

@media(max-width:380px){
  #buggy-passport-app{
    --rip-presenter-height:232px;
    --rip-presenter-image-width:174px;
    --rip-presenter-bubble-width:282px;
    --rip-presenter-bubble-height:146px;
  }
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech,
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech,
  #buggy-passport-app #passport .passport-rip-guide .passport-context-speech,
  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message{
    left:5px!important;
    bottom:80px!important;
    max-width:calc(100% - 78px)!important;
  }
  #buggy-passport-app #passportActivate #activationRipScene .setup-rip,
  #buggy-passport-app #passportSetup #setupRipScene .setup-rip,
  #buggy-passport-app #passportLogin #loginRipScene .setup-rip,
  #buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image,
  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
    right:4px!important;
  }
  #buggy-passport-app #passportActivate .setup-shell,
  #buggy-passport-app #passportSetup .setup-shell,
  #buggy-passport-app #passportLogin .setup-shell{
    padding-bottom:330px!important;
  }
  #buggy-passport-app #passportActivate .passport-activation-card{
    margin-top:clamp(200px,calc(100svh - 430px),330px)!important;
  }
  #buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="3"].active,
  #buggy-passport-app #passportLogin .passport-setup-step.active{
    padding-top:18px!important;
  }
}

/* ==========================================================================
   BUGGY Passport v70 — compact onboarding + one action per state
   ========================================================================== */

/* Forms begin immediately below the top controls. RIP remains fixed in front
   of the viewport, so there is no reason to reserve a presenter-sized void. */
#buggy-passport-app #passportActivate .passport-activation-card{
  margin-top:18px!important;
}
#buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="3"].active,
#buggy-passport-app #passportLogin .passport-setup-step.active{
  padding-top:18px!important;
}

/* Start from a hard-hidden state. Older onboarding layers forced every one of
   these buttons to display, which allowed Confirm Location to leak into later
   screens. Each state below explicitly owns exactly one primary action. */
#buggy-passport-app #passportSetup .buggy-pin-flow #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow #v62LocationDetailContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow #v62AgeContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow [hidden]{
  display:none!important;
}

/* Pin placement owns Confirm Location. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"].pin-placed #buggyPinPlacementContinue{
  display:block!important;
  width:100%!important;
  margin:10px 0 12px!important;
}

/* Location detail owns its location confirmation action. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #v62LocationDetailContinue{
  display:block!important;
  width:100%!important;
  margin:12px 0!important;
}

/* Connection now precedes the last Age / Guardian questions. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] > .setup-action[data-buggy-final-connection="true"]{
  display:block!important;
  width:100%!important;
  margin:12px 0!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow #travelerTripPanel{
  display:none!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] #travelerTripPanel:not([hidden]){
  display:block!important;
}

/* Age / Guardian is the final onboarding state before verification. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] #v62AgeContinue{
  display:block!important;
  width:100%!important;
  margin:12px 0!important;
}

/* ---- preserved former <style> boundary ---- */

/* v71 final cascade: onboarding follows its active content; dashboard stays low. */
#buggy-passport-app{
  --rip-onboarding-presenter-top:320px;
}
#buggy-passport-app #passportActivate #activationRipScene,
#buggy-passport-app #passportSetup #setupRipScene,
#buggy-passport-app #passportLogin #loginRipScene{
  top:var(--rip-onboarding-presenter-top)!important;
  bottom:auto!important;
  transition:top .18s ease-out!important;
}
#buggy-passport-app #passportActivate .setup-shell,
#buggy-passport-app #passportSetup .setup-shell,
#buggy-passport-app #passportLogin .setup-shell{
  padding-bottom:max(360px,46svh)!important;
  scroll-padding-bottom:300px!important;
}
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech,
#buggy-passport-app .passport-intro-speech,
#buggy-passport-app #passport .passport-context-speech,
#buggy-passport-app #trainingPage .training-rip-message{
  overflow:hidden!important;
  contain:paint!important;
}
#buggy-passport-app .rip-callout-copy{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-wrap:pretty!important;
  box-sizing:border-box!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  max-height:calc(100% - 56px)!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  max-width:72px!important;
  max-height:84px!important;
  overflow:hidden!important;
  contain:paint!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin > *{
  max-width:100%!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-explain-button{
  right:34px!important;
  width:max-content!important;
  max-width:calc(100% - 65px)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .buggy-explain-button{
  max-width:calc(100% - 130px)!important;
}
@media(max-width:380px){
  #buggy-passport-app #passportActivate .setup-shell,
  #buggy-passport-app #passportSetup .setup-shell,
  #buggy-passport-app #passportLogin .setup-shell{
    padding-bottom:max(330px,48svh)!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
    max-width:66px!important;
    max-height:78px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #buggy-passport-app #passportActivate #activationRipScene,
  #buggy-passport-app #passportSetup #setupRipScene,
  #buggy-passport-app #passportLogin #loginRipScene{
    transition:none!important;
  }
}

/* v72 ABSOLUTE FINAL CASCADE — callout oval, mouth pointer, front layer. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech{
  left:6px!important;right:auto!important;top:auto!important;bottom:0!important;
  width:calc(100% - 120px)!important;max-width:none!important;height:154px!important;min-height:154px!important;
  margin:0!important;padding:0!important;z-index:6!important;overflow:hidden!important;contain:paint!important;pointer-events:none!important;
  background-image:var(--rip-callout-compact-sprite)!important;background-size:422.2% 535.9%!important;
  background-position:92.1% 50.4%!important;background-repeat:no-repeat!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-rip,
#buggy-passport-app #passportSetup #setupRipScene .setup-rip,
#buggy-passport-app #passportLogin #loginRipScene .setup-rip{z-index:4!important;}
#buggy-passport-app #passportActivate #activationRipScene .setup-speech:after,
#buggy-passport-app #passportSetup #setupRipScene .setup-speech:after,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech:after{
  -webkit-mask-image:var(--rip-callout-compact-sprite)!important;mask-image:var(--rip-callout-compact-sprite)!important;
  -webkit-mask-size:422.2% 535.9%!important;mask-size:422.2% 535.9%!important;
  -webkit-mask-position:92.1% 50.4%!important;mask-position:92.1% 50.4%!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;left:27px!important;right:53px!important;top:21px!important;bottom:22px!important;
  width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  overflow:hidden!important;overflow-wrap:anywhere!important;text-wrap:pretty!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  position:absolute!important;left:27px!important;right:53px!important;top:19px!important;bottom:43px!important;
  width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  overflow:hidden!important;overflow-wrap:anywhere!important;text-wrap:pretty!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{left:89px!important;right:47px!important;}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  left:13px!important;top:34px!important;width:64px!important;min-height:70px!important;max-width:64px!important;max-height:76px!important;
  margin:0!important;z-index:8!important;overflow:hidden!important;pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-explain-button{
  left:50%!important;right:auto!important;bottom:11px!important;width:max-content!important;max-width:94px!important;
  margin:0!important;transform:translateX(-50%)!important;z-index:8!important;overflow:hidden!important;white-space:nowrap!important;pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .buggy-explain-button{left:60%!important;max-width:94px!important;}
@media(max-width:380px){
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech,
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech{
    left:2px!important;bottom:0!important;width:calc(100% - 104px)!important;height:146px!important;min-height:146px!important;
  }
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{left:23px!important;right:47px!important;top:19px!important;bottom:20px!important;}
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{left:23px!important;right:47px!important;top:17px!important;bottom:41px!important;}
  #buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{left:81px!important;right:42px!important;}
  #buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{left:10px!important;top:33px!important;width:59px!important;min-height:65px!important;max-width:59px!important;max-height:71px!important;}
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"].pin-placed #buggyPinPlacementContinue{
  margin:90px 0 12px!important;
}

/* ---- preserved former <style> boundary ---- */

/* v76 ABSOLUTE FINAL CALLOUT TEXT BUMPER
   Keep a minimum clear-air zone around RIP's words inside every callout.
   This applies to the copy box only: it does not move RIP, the painted callout,
   the mouth pointer, the pin token, or EXPLAIN. The existing fit routine may
   still reduce font size when needed, but it must fit inside this bumper. */
#buggy-passport-app{
  --rip-callout-copy-buffer-y:8px;
  --rip-callout-copy-buffer-x:10px;
}
#buggy-passport-app .rip-callout-copy{
  padding:var(--rip-callout-copy-buffer-y) var(--rip-callout-copy-buffer-x)!important;
  box-sizing:border-box!important;
}
@media(max-width:380px){
  #buggy-passport-app{
    --rip-callout-copy-buffer-y:7px;
    --rip-callout-copy-buffer-x:8px;
  }
}

/* ---- preserved former <style> boundary ---- */

/* v75 callout tune-up: show a bit more of RIP and expand the placement EXPLAIN state. */
#buggy-passport-app #passportSetup #setupRipScene.v75-explain-open .setup-speech{
  width:calc(100% - 92px)!important;
  height:178px!important;
  min-height:178px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v75-explain-open .setup-speech .rip-callout-copy{
  left:24px!important;
  right:42px!important;
  top:18px!important;
  bottom:46px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v75-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
  left:82px!important;
  right:38px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v75-explain-open .buggy-explain-button{
  bottom:12px!important;
}
@media(max-width:380px){
  #buggy-passport-app #passportSetup #setupRipScene.v75-explain-open .setup-speech{
    width:calc(100% - 80px)!important;
    height:170px!important;
    min-height:170px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v75-explain-open .setup-speech .rip-callout-copy{
    left:20px!important;
    right:36px!important;
    top:16px!important;
    bottom:44px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v75-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
    left:76px!important;
    right:34px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* v76 action alignment + ZIP suggestion + guardian spacing tune-up */
#buggy-passport-app #passportSetup #passportOriginZip{
  font-variant-numeric:tabular-nums;
}
#buggy-passport-app #passportSetup #v62AgePanel .v62-choice-row{
  margin-bottom:12px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v62MinorOptions:not([hidden]){
  display:grid!important;
  gap:12px!important;
  margin-top:12px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v62AdultOptions:not([hidden]){
  margin-top:12px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v62GuardianEmail{
  margin-top:0!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v62GuardianSend{
  margin-top:0!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v62GuardianSendStatus{
  margin-top:0!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v62AgeContinue{
  margin-top:14px!important;
}

/* ---- preserved former <style> boundary ---- */

/* v77 locked Passport hierarchy UI */
#buggy-passport-app #passportSetup .setup-code-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
}
#buggy-passport-app #passportSetup #setupFullyVerifyButton,
#buggy-passport-app #passportSetup #setupFinishOnboardingButton{
  width:100%!important;
  min-height:48px!important;
}
#buggy-passport-app #passportSetup #setupFullyVerifyButton{
  background:var(--sun)!important;
  color:var(--char)!important;
}
#buggy-passport-app #passportSetup #setupFinishOnboardingButton{
  background:var(--navy)!important;
  color:var(--fog)!important;
}
#buggy-passport-app .passport-role-status{
  max-width:220px!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.15!important;
}

/* ---- preserved former <style> boundary ---- */

/* v78 callout readability system — bigger type, universal bumper, paged explain actions. */
#buggy-passport-app{
  --rip-callout-copy-buffer-y:10px;
  --rip-callout-copy-buffer-x:12px;
  --rip-callout-font-short:28px;
  --rip-callout-font-medium:24px;
  --rip-callout-font-long:20px;
}
#buggy-passport-app .rip-callout-copy{
  padding:var(--rip-callout-copy-buffer-y) var(--rip-callout-copy-buffer-x)!important;
  box-sizing:border-box!important;
}
#buggy-passport-app #home .home-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app .passport-intro-speech.rip-callout-short .rip-callout-copy{
  font-size:var(--rip-callout-font-short)!important;
}
#buggy-passport-app #home .home-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app .passport-intro-speech.rip-callout-medium .rip-callout-copy{
  font-size:var(--rip-callout-font-medium)!important;
}
#buggy-passport-app #home .home-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportActivate .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportSetup .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportLogin .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app .passport-intro-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passport .passport-context-speech .rip-callout-copy,
#buggy-passport-app #trainingPage .training-rip-message .rip-callout-copy{
  font-size:var(--rip-callout-font-long)!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech{
  overflow:hidden!important;
  overflow:clip!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech{
  width:calc(100% - 86px)!important;
  min-height:186px!important;
  height:186px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
  top:18px!important;
  bottom:52px!important;
  left:24px!important;
  right:40px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
  left:82px!important;
  right:36px!important;
}
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions{
  position:absolute!important;
  left:50%!important;
  bottom:11px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  z-index:8!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions .buggy-explain-button,
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions .buggy-explain-more-button{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:max-content!important;
  max-width:none!important;
  margin:0!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
}
@media(max-width:380px){
  #buggy-passport-app{
    --rip-callout-copy-buffer-y:8px;
    --rip-callout-copy-buffer-x:10px;
    --rip-callout-font-short:24px;
    --rip-callout-font-medium:20px;
    --rip-callout-font-long:17px;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech{
    width:calc(100% - 78px)!important;
    min-height:176px!important;
    height:176px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
    left:20px!important;
    right:34px!important;
    top:16px!important;
    bottom:48px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
    left:74px!important;
    right:30px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ========================================================================== 
   BUGGY Passport v79 — HARD RIP CALLOUT COMMUNICATION BOUNDARY
   Inspired by the proven textFit/fitty pattern: explicit safe box + measured
   width/height fit + refit after font/layout changes. CSS clipping is the final
   safety net; JS fitting preserves readability before clipping is ever needed.
   ========================================================================== */
#buggy-passport-app{
  --rip-callout-copy-buffer-y:10px;
  --rip-callout-copy-buffer-x:12px;
}

/* Every RIP communication surface is a hard paint boundary. */
#buggy-passport-app #home .home-speech,
#buggy-passport-app #passportActivate .setup-speech,
#buggy-passport-app #passportSetup .setup-speech,
#buggy-passport-app #passportLogin .setup-speech,
#buggy-passport-app .passport-intro-speech,
#buggy-passport-app #passport .passport-context-speech,
#buggy-passport-app #trainingPage .training-rip-message{
  overflow:hidden!important;
  overflow:clip!important;
  overflow-clip-margin:0!important;
  contain:paint!important;
}

/* The bumper belongs to the text SAFE BOX itself, so no later font change can
   consume the clear-air margin around RIP's words. */
#buggy-passport-app .rip-callout-copy{
  box-sizing:border-box!important;
  padding:var(--rip-callout-copy-buffer-y) var(--rip-callout-copy-buffer-x)!important;
  max-width:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  overflow:clip!important;
  overflow-clip-margin:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  text-wrap:pretty!important;
  line-height:1.05!important;
}

/* Prevent the old v78 rule from reopening the paint boundary. */
#buggy-passport-app #passportSetup #setupRipScene .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech,
#buggy-passport-app #passportSetup #setupRipScene.v75-explain-open .setup-speech{
  overflow:hidden!important;
  overflow:clip!important;
}

/* EXPLAIN pages are intentionally roomy, but their words still live inside a
   bounded copy rectangle above the GOT IT / MORE controls. */
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
  top:18px!important;
  bottom:54px!important;
  left:24px!important;
  right:40px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
  left:82px!important;
  right:36px!important;
}

/* Emergency fitting is intentionally rare and visible to QA via the data/class
   hooks. It still remains clipped to the safe box instead of escaping. */
#buggy-passport-app .v79-emergency-fit .rip-callout-copy{
  letter-spacing:-0.015em!important;
}

@media(max-width:380px){
  #buggy-passport-app{
    --rip-callout-copy-buffer-y:8px;
    --rip-callout-copy-buffer-x:10px;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
    top:16px!important;
    bottom:50px!important;
    left:20px!important;
    right:34px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
    left:74px!important;
    right:30px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v80 — usability cleanup + stronger onboarding callouts
   ========================================================================== */
#buggy-passport-app #passportSetup #buggyWorldBoard.world-board-card-three{
  padding:12px!important;
  border-radius:24px!important;
}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-title{
  margin:0 0 10px!important;
}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-stack{
  display:grid!important;
  gap:10px!important;
}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-map{
  border-radius:16px!important;
  margin:0!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow .world-board-card,
#buggy-passport-app #passportSetup #buggyWorldBoard{
  margin-bottom:6px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow-intro{
  margin-bottom:8px!important;
}
#buggy-passport-app #passportSetup #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup #v62LocationDetailContinue{
  margin-top:6px!important;
}

/* Onboarding callout: slightly roomier bubble, smaller embedded pin, and a
   wider safe box so the words stay inside the painted speech shape. */
#buggy-passport-app #passportSetup #setupRipScene .setup-speech{
  width:calc(100% - 94px)!important;
  height:166px!important;
  min-height:166px!important;
  bottom:24px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  left:28px!important;
  right:42px!important;
  top:18px!important;
  bottom:46px!important;
  text-align:left!important;
  justify-content:flex-start!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
  left:70px!important;
  right:38px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  left:10px!important;
  top:30px!important;
  width:40px!important;
  min-height:48px!important;
  max-width:40px!important;
  max-height:48px!important;
  padding:3px 2px 2px!important;
  border-radius:12px!important;
  gap:1px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin .buggy-pin-token-shape{
  width:18px!important;
  height:18px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin span:last-child{
  font-size:6px!important;
  line-height:1!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech{
  height:190px!important;
  min-height:190px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
  top:18px!important;
  bottom:56px!important;
  left:24px!important;
  right:40px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
  left:64px!important;
  right:36px!important;
}

/* GOT IT / MORE visual parity */
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions .buggy-explain-button,
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions .buggy-explain-more-button{
  min-height:28px!important;
  padding:5px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(4,30,66,.16)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions .buggy-explain-button{
  background:var(--navy)!important;
  color:var(--fog)!important;
}
#buggy-passport-app #passportSetup #setupRipScene #buggyCalloutActions .buggy-explain-more-button{
  background:var(--sun)!important;
  color:var(--navy)!important;
}

/* Traveler follow-on questions */
#buggy-passport-app .v80-traveler-followups{
  display:grid!important;
  gap:10px!important;
}
#buggy-passport-app .v80-traveler-followups[hidden]{display:none!important;}
#buggy-passport-app .v80-traveler-row{
  display:grid!important;
  gap:6px!important;
}
#buggy-passport-app .v80-traveler-help{
  margin-top:-2px!important;
  color:rgba(42,47,45,.72)!important;
  font:400 12px/1.35 "Courier Prime","Courier New",monospace!important;
}

/* Refined age panel */
#buggy-passport-app #passportSetup #v62AgePanel .v80-age-stack,
#buggy-passport-app #passportSetup #v62AgePanel .v80-minor-choice-grid{
  display:grid!important;
  gap:12px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v80-minor-choice-grid{
  margin-top:12px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v80-age-note,
#buggy-passport-app #passportSetup #v62AgePanel .v80-minor-note{
  border:1px solid rgba(4,30,66,.10)!important;
  border-radius:16px!important;
  background:rgba(255,253,247,.72)!important;
  padding:10px 12px!important;
  color:var(--charcoal)!important;
  font:400 12px/1.4 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v80-minor-note[hidden]{display:none!important;}
#buggy-passport-app #passportSetup #v62AgePanel .v80-minor-choice{
  width:100%!important;
  text-align:center!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v80-under18-actions[hidden],
#buggy-passport-app #passportSetup #v62AgePanel .v80-companion-flow[hidden],
#buggy-passport-app #passportSetup #v62AgePanel .v80-limited-flow[hidden]{display:none!important;}

/* Passport intro + passport home guide */
#buggy-passport-app #passportIntroSpeech .rip-callout-copy{
  font-size:18px!important;
  line-height:1.12!important;
}
#buggy-passport-app #passport .passport-context-speech .rip-callout-copy{
  font-size:20px!important;
  line-height:1.1!important;
}
#buggy-passport-app #passport .passport-context-speech{
  min-height:120px!important;
}

/* Ease / Trust on Passport homepage belongs below markers, not floating */
#buggy-passport-app #passport > .screen-support-footer{
  position:static!important;
  inset:auto!important;
  margin:12px 0 20px!important;
  display:grid!important;
  gap:8px!important;
}

/* Richer Passport status pill */
#buggy-passport-app .passport-role-status{
  display:inline-grid!important;
  gap:2px!important;
  align-items:flex-start!important;
  text-align:left!important;
  padding:7px 12px!important;
}
#buggy-passport-app .passport-role-status .v80-role-main{
  display:block!important;
}
#buggy-passport-app .passport-role-status .v80-role-sub{
  display:block!important;
  opacity:.88!important;
  font:400 12px/1.2 "Courier Prime","Courier New",monospace!important;
  text-transform:none!important;
  letter-spacing:0!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech{
    width:calc(100% - 88px)!important;
    height:158px!important;
    min-height:158px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
    left:24px!important;
    right:36px!important;
    top:17px!important;
    bottom:44px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
    left:60px!important;
    right:32px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
    width:36px!important;
    min-height:44px!important;
    max-width:36px!important;
    max-height:44px!important;
    top:32px!important;
  }
  #buggy-passport-app #passportIntroSpeech .rip-callout-copy,
  #buggy-passport-app #passport .passport-context-speech .rip-callout-copy{
    font-size:17px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v81 — QA corrections
   ========================================================================== */

/* v80 accidentally changed the single-map carousel stack to a grid. Restore
   the intended one-map viewport while keeping equal navy padding all around. */
#buggy-passport-app #passportSetup #buggyWorldBoard.world-board-card-three{
  padding:12px!important;
  overflow:hidden!important;
}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-stack{
  display:block!important;
  width:100%!important;
  height:214px!important;
  max-height:214px!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-radius:16px!important;
  scroll-snap-type:y mandatory!important;
  scrollbar-width:none!important;
}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-stack::-webkit-scrollbar{display:none!important;}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-map-panel{
  display:block!important;
  width:100%!important;
  height:214px!important;
  min-height:214px!important;
  margin:0!important;
  padding:0!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
#buggy-passport-app #passportSetup #buggyWorldBoard .world-board-map{
  width:100%!important;
  height:214px!important;
  max-height:214px!important;
  margin:0!important;
  border-radius:16px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider{
  margin-bottom:8px!important;
}
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="placement"].pin-placed #buggyPinPlacementContinue{
  margin:6px 0 10px!important;
}

/* Harder speech-shape safe box. This rectangle is intentionally conservative:
   it sits inside the visible oval rather than merely inside the DOM element. */
#buggy-passport-app #passportSetup #setupRipScene{
  width:min(424px,calc(100vw - 8px))!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech{
  left:4px!important;
  width:calc(100% - 92px)!important;
  height:172px!important;
  min-height:172px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  left:58px!important;
  right:54px!important;
  top:32px!important;
  bottom:54px!important;
  padding:8px 10px!important;
  overflow:hidden!important;
  overflow:clip!important;
  text-align:center!important;
  justify-content:center!important;
  align-items:center!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
  left:82px!important;
  right:50px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech{
  height:194px!important;
  min-height:194px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
  left:54px!important;
  right:50px!important;
  top:30px!important;
  bottom:62px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
  left:78px!important;
  right:46px!important;
}
/* Keep the pin visually useful but out of the text rectangle. */
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  left:13px!important;
  top:48px!important;
  width:36px!important;
  min-height:42px!important;
  max-width:36px!important;
  max-height:42px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin .buggy-pin-token-shape{
  width:16px!important;
  height:16px!important;
}

/* Traveler questions are short button choices instead of a giant native menu. */
#buggy-passport-app .v81-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#buggy-passport-app .v81-choice-grid.v81-choice-grid-five .v81-trip-choice:last-child{
  grid-column:1 / -1!important;
}
#buggy-passport-app .v81-trip-choice{
  min-height:48px!important;
  margin:0!important;
  padding:8px 9px!important;
  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:15px!important;
  background:rgba(255,253,247,.96)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:400 12px/1.12 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v81-trip-choice.selected{
  background:var(--navy)!important;
  color:var(--sun)!important;
  border-color:var(--navy)!important;
}
#buggy-passport-app .v81-followup-block{
  display:grid!important;
  gap:7px!important;
}
#buggy-passport-app .v81-followup-block[hidden]{display:none!important;}

/* Passport status relationship drawer */
#buggy-passport-app .v81-status-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:560!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  background:rgba(4,30,66,.34)!important;
  backdrop-filter:blur(6px)!important;
}
#buggy-passport-app .v81-status-overlay[hidden]{display:none!important;}
#buggy-passport-app .v81-status-panel{
  width:min(390px,100%)!important;
  max-height:min(78vh,620px)!important;
  overflow:auto!important;
  padding:16px!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:22px!important;
  background:var(--fog)!important;
  color:var(--navy)!important;
  box-shadow:0 20px 52px rgba(4,30,66,.24)!important;
}
#buggy-passport-app .v81-status-title{
  margin:0 34px 10px 0!important;
  font:400 20px/1.05 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v81-status-close{
  float:right!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:4px!important;
  border-radius:999px!important;
  background:var(--navy)!important;
  color:var(--fog)!important;
}
#buggy-passport-app .v81-status-grid{
  display:grid!important;
  gap:8px!important;
}
#buggy-passport-app .v81-status-row{
  padding:9px 10px!important;
  border:1px solid rgba(4,30,66,.10)!important;
  border-radius:14px!important;
  background:rgba(254,189,59,.08)!important;
}
#buggy-passport-app .v81-status-row b{
  display:block!important;
  margin-bottom:2px!important;
  font:700 12px/1.1 "Courier Prime","Courier New",monospace!important;
  text-transform:uppercase!important;
}
#buggy-passport-app .v81-status-row span,
#buggy-passport-app .v81-status-row button{
  font:400 13px/1.25 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v81-registry-link{
  width:100%!important;
  text-align:left!important;
  padding:7px 9px!important;
  margin-top:5px!important;
  border-radius:11px!important;
  background:rgba(4,30,66,.06)!important;
  color:var(--navy)!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
#buggy-passport-app .v81-status-action{
  width:100%!important;
  margin-top:10px!important;
  background:var(--sun)!important;
  color:var(--navy)!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech{
    width:calc(100% - 84px)!important;
    height:166px!important;
    min-height:166px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
    left:50px!important;
    right:44px!important;
    top:30px!important;
    bottom:52px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
    left:72px!important;
    right:42px!important;
  }
  #buggy-passport-app .v81-choice-grid{grid-template-columns:1fr!important;}
  #buggy-passport-app .v81-choice-grid.v81-choice-grid-five .v81-trip-choice:last-child{grid-column:auto!important;}
}

/* ---- preserved former <style> boundary ---- */

/* ========================================================================== 
   BUGGY Passport v82 — native Back + oval-body copy centering
   ========================================================================== */
/* The setup Back control belongs to the page chrome, not the action-button
   language. Keep it handwritten and quiet instead of a lantern CTA pill. */
#buggy-passport-app #passportSetupBackButton{
  appearance:none!important;
  min-height:28px!important;
  margin:0!important;
  padding:3px 5px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-decoration:none!important;
}
#buggy-passport-app #passportSetupBackButton:hover,
#buggy-passport-app #passportSetupBackButton:focus-visible{
  background:transparent!important;
  color:var(--red)!important;
  outline:0!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

/* Center words on the painted OVAL BODY, not on the full sprite including its
   mouth tail. The larger right-side clear zone removes the visual right bias. */
#buggy-passport-app .rip-callout-copy{
  padding-left:10px!important;
  padding-right:34px!important;
}
#buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
  left:38px!important;
  right:76px!important;
  padding-left:10px!important;
  padding-right:14px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
  left:60px!important;
  right:76px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open .setup-speech .rip-callout-copy{
  left:38px!important;
  right:76px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open.v70-pin-context .setup-speech .rip-callout-copy{
  left:60px!important;
  right:76px!important;
}
/* Activation/login use the same compact painted callout/tail geometry. */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
  left:28px!important;
  right:72px!important;
}
/* Passport intro/context/training bubbles also reserve extra air on the tail
   side. Their existing height fitting remains in charge of font size. */
#buggy-passport-app .passport-intro-speech .rip-callout-copy,
#buggy-passport-app #passport .passport-context-speech .rip-callout-copy,
#buggy-passport-app #trainingPage .training-rip-message .rip-callout-copy,
#buggy-passport-app #home .home-speech .rip-callout-copy{
  padding-left:10px!important;
  padding-right:34px!important;
}

@media(max-width:380px){
  #buggy-passport-app #passportSetup #setupRipScene .setup-speech .rip-callout-copy{
    left:34px!important;
    right:68px!important;
  }
  #buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
    left:56px!important;
    right:68px!important;
  }
  #buggy-passport-app #passportActivate #activationRipScene .setup-speech .rip-callout-copy,
  #buggy-passport-app #passportLogin #loginRipScene .setup-speech .rip-callout-copy{
    left:24px!important;
    right:64px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* v84 Under-18 gating + stable Guardian entry */
#buggy-passport-app #passportSetup #v62AgePanel #v80AgeContinue[hidden]{display:none!important;}
#buggy-passport-app #passportSetup #v62AgePanel #v80CompanionFlow{
  contain:layout paint!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v80GuardianEmail{
  scroll-margin-top:18px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v80GuardianStatus{
  min-height:34px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v80-minor-note b{
  color:var(--navy)!important;
}

/* ---- preserved former <style> boundary ---- */

/* v85 two-step Guardian relationship model */
#buggy-passport-app .v85-two-step{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:8px 0!important;
}
#buggy-passport-app .v85-two-step > span{
  padding:8px 9px!important;
  border:1px solid rgba(4,30,66,.12)!important;
  border-radius:13px!important;
  background:rgba(254,189,59,.10)!important;
  font:400 12px/1.3 "Courier Prime","Courier New",monospace!important;
}

/* ---- preserved former <style> boundary ---- */

/* ========================================================================== 
   BUGGY Passport v86 — customer-facing age flow + Traveler multi-select
   ========================================================================== */
/* Callout pin now matches the map's blue/white location marker language. */
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin{
  width:30px!important;
  min-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  padding:0!important;
  left:18px!important;
  top:58px!important;
  display:block!important;
  overflow:visible!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin .buggy-pin-token-shape{
  position:absolute!important;
  inset:2px!important;
  width:auto!important;
  height:auto!important;
  border:3px solid var(--fog)!important;
  border-radius:50%!important;
  background:var(--navy)!important;
  box-shadow:0 0 0 1.5px rgba(4,30,66,.34),0 3px 7px rgba(4,30,66,.24)!important;
  transform:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin .buggy-pin-token-shape:after,
#buggy-passport-app #passportSetup #setupRipScene .buggy-callout-pin > span:last-child{
  display:none!important;
  content:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v70-pin-context .setup-speech .rip-callout-copy{
  left:62px!important;
}

/* True multi-select visit reasons. */
#buggy-passport-app .v86-trip-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
#buggy-passport-app .v86-trip-choice,
#buggy-passport-app .v86-school-choice{
  min-height:48px!important;
  margin:0!important;
  padding:8px 9px!important;
  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:15px!important;
  background:var(--sun)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  font:400 12px/1.12 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v86-trip-choice.selected,
#buggy-passport-app .v86-school-choice.selected{
  background:var(--navy)!important;
  color:var(--sun)!important;
  border-color:var(--navy)!important;
}
#buggy-passport-app .v86-trip-note{
  margin-top:7px!important;
  color:rgba(42,47,45,.72)!important;
  font:400 12px/1.35 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v86-followup{
  display:grid!important;
  gap:9px!important;
  margin-top:12px!important;
}
#buggy-passport-app .v86-followup[hidden]{display:none!important;}
#buggy-passport-app .v86-reasons-continue{
  width:100%!important;
  min-height:48px!important;
  margin:2px 0 0!important;
}
#buggy-passport-app .v86-reasons-continue:disabled{
  opacity:.48!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

/* Minor sequence stays simple and question-driven. */
#buggy-passport-app #v62AgePanel .v86-age-flow{
  display:grid!important;
  gap:12px!important;
}
#buggy-passport-app #v62AgePanel .v86-question-card{
  display:grid!important;
  gap:8px!important;
}
#buggy-passport-app #v62AgePanel .v86-question-card[hidden],
#buggy-passport-app #v62AgePanel .v86-adult-box[hidden],
#buggy-passport-app #v62AgePanel .v86-access-panel[hidden],
#buggy-passport-app #v62AgePanel .v86-companion-panel[hidden],
#buggy-passport-app #v62AgePanel .v86-limited-panel[hidden]{display:none!important;}
#buggy-passport-app #v62AgePanel .v86-adult-box{
  padding:11px 12px!important;
  border:1px solid rgba(4,30,66,.11)!important;
  border-radius:16px!important;
  background:rgba(254,189,59,.10)!important;
}
#buggy-passport-app #v62AgePanel .v86-adult-box label,
#buggy-passport-app #v62AgePanel .v86-limited-ack{
  display:flex!important;
  gap:8px!important;
  align-items:flex-start!important;
  color:var(--navy)!important;
  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #v62AgePanel .v86-customer-step{
  padding:9px 11px!important;
  border:1px solid rgba(4,30,66,.10)!important;
  border-radius:14px!important;
  background:rgba(255,253,247,.82)!important;
  color:var(--charcoal)!important;
  font:400 12px/1.35 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #v62AgePanel .v86-customer-step b{
  color:var(--navy)!important;
}
#buggy-passport-app #v62AgePanel .v86-grade-school-grid{
  display:grid!important;
  gap:9px!important;
}
#buggy-passport-app #v62AgePanel #v86AgeContinue{
  margin-top:2px!important;
}

/* Passport-created page: Fast Pass visually reads as an optional shortcut. */
#buggy-passport-app #passportSetup #setupFullyVerifyButton{
  background:var(--navy)!important;
  color:var(--sun)!important;
}
#buggy-passport-app #passportSetup #setupFinishOnboardingButton{
  background:var(--sun)!important;
  color:var(--navy)!important;
}
@media(max-width:380px){
  #buggy-passport-app .v86-trip-grid{grid-template-columns:1fr!important;}
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v87 — testing utility + Guardian link recovery */
#buggy-passport-app .v87-test-reset{
  border-style:dashed!important;
  opacity:.82!important;
}
#buggy-passport-app .v87-guardian-recovery{
  display:grid!important;
  gap:8px!important;
  margin-top:8px!important;
}
#buggy-passport-app .v87-guardian-recovery[hidden]{display:none!important;}
#buggy-passport-app .v87-guardian-recovery .setup-secondary-action{
  width:100%!important;
}

/* ---- preserved former <style> boundary ---- */

/* ========================================================================== 
   BUGGY Passport v89 — Passport-home containment + readable identity/status UI
   ========================================================================== */

/* Never allow the Passport identity card to exceed the app viewport. */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top,
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-copy{
  min-width:0!important;
  max-width:100%!important;
}
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-id{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  max-width:100%!important;
  line-height:1.25!important;
}
#buggy-passport-app #passport .passport-verification-text{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px 8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
}
#buggy-passport-app #passport .passport-verification-text > *{
  max-width:100%!important;
}
#buggy-passport-app #passport .passport-check-link{
  white-space:nowrap!important;
}

/* The role/tag pill must be legible against the navy Passport card. */
#buggy-passport-app #passport .passport-role-status,
#buggy-passport-app #passport .passport-role-status[data-role="minor"],
#buggy-passport-app #passport .passport-role-status[data-role="companion"],
#buggy-passport-app #passport .passport-role-status[data-role="guardian"]{
  background:rgba(254,189,59,.96)!important;
  color:var(--navy)!important;
  border:1px solid rgba(255,253,247,.42)!important;
  max-width:min(240px,100%)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#buggy-passport-app #passport .passport-role-status .v80-role-main{
  color:var(--navy)!important;
  font-weight:900!important;
}
#buggy-passport-app #passport .passport-role-status .v80-role-sub{
  color:rgba(4,30,66,.82)!important;
  opacity:1!important;
  overflow-wrap:anywhere!important;
}

/* Passport-home RIP: use an explicit interior rectangle inside the oval BODY.
   Do not let the natural text height become the fit target. */
#buggy-passport-app #passport .passport-rip-guide .passport-context-speech{
  padding:0!important;
  overflow:hidden!important;
  overflow:clip!important;
  contain:paint!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-speech .rip-callout-copy{
  position:absolute!important;
  left:30px!important;
  right:78px!important;
  top:31px!important;
  bottom:36px!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:8px 10px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.08!important;
}

/* The Ease/Trust utility ribbon belongs after Passport Markers. */
#buggy-passport-app #passport > .screen-support-footer{
  order:5!important;
  position:static!important;
  inset:auto!important;
  margin:12px 0 20px!important;
}

@media(max-width:380px){
  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{padding:12px!important;}
  #buggy-passport-app #passport .passport-avatar{width:44px!important;height:44px!important;}
  #buggy-passport-app #passport .passport-rip-guide .passport-context-speech .rip-callout-copy{
    left:25px!important;
    right:68px!important;
    top:28px!important;
    bottom:32px!important;
    padding:7px 8px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v91 — reusable test-email reset */
#buggy-passport-app .v91-test-reset-help{
  margin-top:6px!important;
  color:rgba(42,47,45,.72)!important;
  font:400 12px/1.35 "Courier Prime","Courier New",monospace!important;
}

/* ---- preserved former <style> boundary ---- */

/* Hard rule: only the active BUGGY screen is allowed to participate in page
   layout. This prevents old/hidden screens from creating a long continuation
   below the current Passport in Squarespace. */
#buggy-passport-app main > .screen:not(.active){
  display:none!important;
  position:static!important;
  inset:auto!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#buggy-passport-app main > .screen.active{
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Squarespace Fluid Engine containment. The BUGGY page is a dedicated app
   page, so its host section/block should size itself from the live app instead
   of retaining a Fluid Engine grid height. */
html.buggy-passport-live .buggy-v92-host-section,
html.buggy-passport-live .buggy-v92-host-wrapper,
html.buggy-passport-live .buggy-v92-host-layout,
html.buggy-passport-live .buggy-v92-host-row,
html.buggy-passport-live .buggy-v92-host-fluid,
html.buggy-passport-live .buggy-v92-host-block,
html.buggy-passport-live .buggy-v92-host-content{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
html.buggy-passport-live .buggy-v92-host-fluid{
  display:block!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;
}
html.buggy-passport-live .buggy-v92-host-block{
  position:relative!important;
  inset:auto!important;
  grid-area:auto!important;
  width:100%!important;
  max-width:none!important;
  transform:none!important;
}

/* The verification line is useful account information, so make Email status
   tappable/clickable on desktop and mobile. */
#buggy-passport-app #emailStatusItem.v92-email-clickable{
  cursor:pointer!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
#buggy-passport-app #emailStatusItem.v92-email-clickable:focus-visible{
  outline:2px solid var(--sun)!important;
  outline-offset:3px!important;
  border-radius:4px!important;
}
#buggy-passport-app .v92-email-address{
  display:block!important;
  margin-bottom:3px!important;
  color:var(--navy)!important;
  font:700 13px/1.25 "Courier Prime","Courier New",monospace!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app .v92-email-state{
  display:block!important;
  color:#59615f!important;
  font:700 12px/1.2 "Courier Prime","Courier New",monospace!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
#buggy-passport-app .v92-test-reset-status{
  display:block!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:11px 12px!important;
  border:1px dashed rgba(191,13,62,.55)!important;
  border-radius:14px!important;
  background:rgba(191,13,62,.08)!important;
  color:var(--red)!important;
  font:400 12px/1.15 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v92-test-reset-note{
  margin:5px 2px 0!important;
  color:#6b716f!important;
  font:700 12px/1.25 "Courier Prime","Courier New",monospace!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================\n   BUGGY Passport v93 — visual map thumbnails + unobstructed CTA + early email\n   ========================================================================== */
#buggy-passport-app #passportSetup .buggy-map-scale-slider{
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 10px!important;
  padding:2px 1px 6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider::-webkit-scrollbar{display:none!important;}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button{
  flex:0 0 72px!important;
  width:72px!important;
  min-width:72px!important;
  height:64px!important;
  min-height:64px!important;
  padding:4px!important;
  border:2px solid rgba(8,43,75,.18)!important;
  border-radius:13px!important;
  background:#fffdf8!important;
  opacity:.62!important;
  transform:none!important;
  scroll-snap-align:center!important;
  display:grid!important;
  grid-template-rows:42px 12px!important;
  gap:2px!important;
  box-shadow:0 3px 8px rgba(8,43,75,.08)!important;
  transition:opacity .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active{
  flex-basis:86px!important;
  width:86px!important;
  min-width:86px!important;
  height:72px!important;
  min-height:72px!important;
  grid-template-rows:48px 14px!important;
  opacity:1!important;
  transform:translateY(-2px)!important;
  border-color:var(--lantern-yellow,#ffbd38)!important;
  box-shadow:0 5px 13px rgba(8,43,75,.16)!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button:before{display:none!important;content:none!important;}
#buggy-passport-app #passportSetup .v93-map-thumb{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border-radius:9px!important;
  overflow:hidden!important;
  background:#eef2ed!important;
}
#buggy-passport-app #passportSetup .v93-map-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
#buggy-passport-app #passportSetup .v93-map-thumb-label{
  display:block!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font:700 12px/12px "Courier New",monospace!important;
  letter-spacing:.02em!important;
  text-align:center!important;
  color:var(--navy,#082b4b)!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active .v93-map-thumb-label{
  font-size:8.5px!important;
  line-height:14px!important;
}

/* Rip remains the guide, but action controls must never disappear behind him. */
#buggy-passport-app #passportSetup .buggy-step4-presenter{
  z-index:1!important;
  margin-bottom:30px!important;
}
#buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="4"] .setup-action,
#buggy-passport-app #passportSetup #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup #v62LocationDetailContinue,
#buggy-passport-app #passportSetup #v62AgeContinue{
  position:relative!important;
  z-index:12!important;
}
#buggy-passport-app #passportSetup .buggy-step4-presenter + .setup-action,
#buggy-passport-app #passportSetup .buggy-step4-presenter ~ button[data-buggy-final-connection="true"]{
  margin-top:12px!important;
}

#buggy-passport-app #passportSetup .v93-email-verification-banner{
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border:1.5px solid rgba(8,43,75,.16)!important;
  border-radius:16px!important;
  background:#fff8e8!important;
  color:var(--charcoal,#2a2f2d)!important;
  font:600 12px/1.35 "Courier New",monospace!important;
  box-shadow:0 3px 9px rgba(8,43,75,.06)!important;
}
#buggy-passport-app #passportSetup .v93-email-verification-banner b{
  color:var(--navy,#082b4b)!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app #passportSetup .v93-email-verification-banner[data-verified="true"]{
  background:#eef4e8!important;
}
#buggy-passport-app #passportSetup .v93-email-resend{
  display:inline-block!important;
  margin:7px 0 0!important;
  padding:5px 9px!important;
  border:1px solid rgba(8,43,75,.28)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--navy,#082b4b)!important;
  font:700 12px/1.1 "Courier New",monospace!important;
  cursor:pointer!important;
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v94 — RIP callout stability lock.
   Font fitting is an instantaneous layout calculation, never an animation. */
#buggy-passport-app .rip-callout-copy{
  transition:none!important;
  animation:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================\n   BUGGY Passport v96 — quieter verification + explicit ZIP choice + clear CTA\n   ========================================================================== */
/* The verification request is automatic. Do not put a persistent resend CTA
   in the middle of onboarding; resend lives quietly in Passport Status. */
#buggy-passport-app #passportSetup .v93-email-resend{
  display:none!important;
}

/* State remains the left control. ZIP becomes an explicit dropdown when BUGGY
   has a confident city/state match. "Other ZIP…" exposes the original editable
   five-digit field so the user can always correct BUGGY. */
#buggy-passport-app #passportSetup .v96-zip-control{
  min-width:0!important;
  display:grid!important;
  gap:6px!important;
}
#buggy-passport-app #passportSetup .v96-zip-select{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  font-size:16px!important;
}
#buggy-passport-app #passportSetup .v96-zip-control #passportOriginZip[hidden]{
  display:none!important;
}
#buggy-passport-app #passportSetup .v96-zip-control.v96-other-zip #passportOriginZip{
  display:block!important;
  width:100%!important;
  margin:0!important;
}

/* If the fixed RIP guide is viewport-clamped, the location confirmation CTA
   must remain the actionable foreground control. JS also scrolls it clear. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #v62LocationDetailContinue{
  position:relative!important;
  z-index:320!important;
  scroll-margin-bottom:290px!important;
}

/* Resend is available, but only inside Passport Status when email is pending. */
#buggy-passport-app .v96-status-resend{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:7px 0 0!important;
  padding:2px 4px!important;
  border:1px solid rgba(8,43,75,.22)!important;
  border-radius:999px!important;
  background:#fffdf8!important;
  color:var(--navy,#082b4b)!important;
  font:700 12px/1.1 "Courier New",monospace!important;
  cursor:pointer!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v97 — complete thumbnail maps + RIP-safe detail CTA
   ========================================================================== */

/* The carousel thumbnails are miniature MAPS, not cropped photo tiles.
   Show the whole geography inside every thumbnail. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider{
  align-items:center!important;
  min-height:84px!important;
  padding:8px 2px 8px!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider button.active{
  transform:none!important;
}
#buggy-passport-app #passportSetup .v93-map-thumb{
  box-sizing:border-box!important;
  padding:3px!important;
  background:#f7f5ee!important;
}
#buggy-passport-app #passportSetup .v93-map-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* The fixed RIP presenter may never visually own the location CTA. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="detail"] #v62LocationDetailContinue{
  scroll-margin-top:32vh!important;
  scroll-margin-bottom:48vh!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v98 — RESTORE THE INTENDED TRAINING RIP UX
   Training is NOT a bottom-docked Passport-home presenter.
   RIP belongs immediately with the training information he is explaining.
   ========================================================================== */

/* Remove the old viewport-bottom presenter treatment from Training only. */
#buggy-passport-app #trainingPage #trainingRipGuide{
  position:sticky!important;
  left:auto!important;
  right:auto!important;
  top:8px!important;
  bottom:auto!important;
  transform:none!important;

  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 0 10px!important;
  padding:6px 0 12px!important;

  display:grid!important;
  grid-template-columns:minmax(0,1fr) 108px!important;
  gap:0!important;
  align-items:end!important;

  overflow:visible!important;
  background:
    linear-gradient(
      180deg,
      rgba(241,240,235,.99) 0%,
      rgba(241,240,235,.97) 76%,
      rgba(241,240,235,0) 100%
    )!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  z-index:14!important;
  pointer-events:auto!important;
  text-align:left!important;
}

/* Put the painted speech bubble back beside RIP, not 250px above him. */
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;

  width:100%!important;
  max-width:none!important;
  height:124px!important;
  min-height:124px!important;
  max-height:124px!important;
  margin:0!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:17px 34px 17px 18px!important;
  pointer-events:auto!important;
}

/* Make the Training callout communication-sized, not microscopic. */
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message .rip-callout-copy{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;

  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:100%!important;
  margin:0!important;

  padding:8px 25px 8px 8px!important;
  text-align:center!important;
  font-size:17px!important;
  line-height:1.08!important;
}

/* RIP is visible beside the callout and anchored to the same information. */
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;

  width:118px!important;
  max-width:118px!important;
  height:132px!important;
  max-height:132px!important;
  margin:0 0 -4px -12px!important;

  object-fit:contain!important;
  object-position:center bottom!important;
  align-self:end!important;
  animation:none!important;
  pointer-events:none!important;
  filter:drop-shadow(0 8px 12px rgba(4,30,66,.14))!important;
}

/* The old fixed presenter reserved a huge empty landing area at the bottom.
   Training returns to normal document flow. */
#buggy-passport-app #trainingPage{
  padding-bottom:24px!important;
}

/* The support footer belongs after the training content—not above a detached RIP. */
#buggy-passport-app #trainingPage .screen-support-footer{
  margin-top:14px!important;
}

/* Small phones keep the same relationship while protecting the callout. */
@media(max-width:380px){
  #buggy-passport-app #trainingPage #trainingRipGuide{
    grid-template-columns:minmax(0,1fr) 94px!important;
    top:6px!important;
  }
  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message{
    height:116px!important;
    min-height:116px!important;
    max-height:116px!important;
    padding:15px 30px 15px 16px!important;
  }
  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message .rip-callout-copy{
    padding:7px 21px 7px 7px!important;
    font-size:16px!important;
  }
  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
    width:104px!important;
    max-width:104px!important;
    height:120px!important;
    max-height:120px!important;
    margin-left:-10px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v99 — Rewards + Markers closes like Passport Status
   ========================================================================== */
#buggy-passport-app #rewardsPage{
  position:relative!important;
}

#buggy-passport-app #rewardsPage .v99-rewards-close{
  position:absolute!important;
  top:10px!important;
  right:12px!important;
  z-index:12!important;

  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;

  display:grid!important;
  place-items:center!important;

  border:0!important;
  border-radius:999px!important;
  background:var(--lantern, #FEBD3B)!important;
  color:var(--navy, #041E42)!important;
  box-shadow:0 5px 12px rgba(4,30,66,.12)!important;

  font:800 21px/1 Arial,sans-serif!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}

#buggy-passport-app #rewardsPage .v99-rewards-close:hover,
#buggy-passport-app #rewardsPage .v99-rewards-close:focus-visible{
  transform:scale(1.04)!important;
  outline:2px solid rgba(4,30,66,.28)!important;
  outline-offset:2px!important;
}

#buggy-passport-app #rewardsPage > .title{
  padding-right:46px!important;
}

/* ---- preserved former <style> boundary ---- */

#buggyCopyrightNotice.buggy-copyright-notice{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:980px!important;
  margin:18px auto 8px!important;
  padding:10px 16px!important;
  text-align:center!important;
  font:600 10px/1.35 Arial,sans-serif!important;
  letter-spacing:.04em!important;
  color:rgba(4,30,66,.58)!important;
}
#buggyCopyrightNotice .buggy-build-id{
  display:block!important;
  margin-top:3px!important;
  font-size:9px!important;
  letter-spacing:.06em!important;
  opacity:.72!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v149 — Page 2 Check-In / Name RIP communication
   ========================================================================== */
#buggy-passport-app #passportActivate #activationRipScene .setup-speech.activation-rip-silent{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip{
  position:absolute!important;
  z-index:40!important;
  right:2px!important;
  top:64px!important;
  width:max-content!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:2px 4px!important;
  border:2px solid rgba(4,30,66,.76)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 12px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  text-transform:none!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:rgba(4,30,66,.12)!important;
}
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip[hidden]{
  display:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip span{
  display:inline-block!important;
  margin-left:2px!important;
  font-family:Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:.8!important;
}
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip:hover,
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip:focus-visible{
  background:var(--fog,#fffdf7)!important;
  color:var(--navy,#041E42)!important;
  border-color:var(--navy,#041E42)!important;
  outline:none!important;
  box-shadow:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip:active,
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip.is-pressed{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  border-color:var(--navy,#041E42)!important;
  box-shadow:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip.is-asking{
  border-color:var(--navy,#041E42)!important;
}
@media(max-width:380px){
  #buggy-passport-app #passportActivate #activationRipScene .activation-ask-rip{
    right:0!important;
    top:60px!important;
    padding:2px 3px!important;
    font-size:11px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v104 — exact compact Passport card
   G | Gabe
     | BGY... · TRAVELER · GUARDIAN

   PASSPORT | EMAIL        | ID           | CHECK
   STATUS   | VERIFIED/... | VERIFIED/... | IN/OUT
   ========================================================================== */

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:14px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-areas:
    "avatar copy"
    "status status"!important;
  gap:9px 12px!important;
  align-items:start!important;
  min-width:0!important;
}

#buggy-passport-app #passport .passport-avatar{
  grid-area:avatar!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:18px!important;
  background:var(--lantern,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  display:grid!important;
  place-items:center!important;
  font-size:25px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}

#buggy-passport-app #passport .passport-avatar:focus-visible{
  outline:2px solid #fffdf7!important;
  outline-offset:3px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-copy{
  grid-area:copy!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  gap:5px!important;
  min-width:0!important;
  max-width:100%!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-name{
  margin:0!important;
  padding:0!important;
  color:#fffdf7!important;
  font-size:18px!important;
  line-height:1.05!important;
  font-weight:900!important;
  min-width:0!important;
  max-width:100%!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-id{
  margin:0!important;
  padding:0!important;
  color:rgba(255,253,247,.95)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Pull the existing verification row out as the full-width second row. */
#buggy-passport-app #passport .passport-verification-text{
  grid-area:status!important;
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  width:calc(100% + 70px)!important;
  min-width:0!important;
  max-width:none!important;
  margin:4px 0 0 -70px!important;
  white-space:normal!important;
}

/* Exact 4 compact cells. */
#buggy-passport-app #passport .passport-verification-text > *,
#buggy-passport-app #passport .passport-role-status,
#buggy-passport-app #passport .passport-check-link{
  position:relative!important;
  min-width:0!important;
  max-width:none!important;
  min-height:50px!important;
  margin:0!important;
  padding:22px 3px 7px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,253,247,.18)!important;
  border-radius:12px!important;
  background:rgba(255,253,247,.08)!important;
  color:#fffdf7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  text-decoration:none!important;
  overflow:hidden!important;
  cursor:pointer!important;
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Remove the old dot separators. */
#buggy-passport-app #passport .passport-verification-text .passport-verification-status + .passport-verification-status:before,
#buggy-passport-app #passport .passport-check-link:before{
  margin:0!important;
}

/* The 4 top labels are guaranteed by CSS, so legacy text cannot duplicate them. */
#buggy-passport-app #passport #passportRoleStatus:before,
#buggy-passport-app #passport #emailStatusItem:before,
#buggy-passport-app #passport #identityStatusItem:before,
#buggy-passport-app #passport #passportCheckLink:before{
  position:absolute!important;
  top:8px!important;
  left:2px!important;
  right:2px!important;
  display:block!important;
  margin:0!important;
  color:inherit!important;
  opacity:.74!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-align:center!important;
  white-space:nowrap!important;
}

#buggy-passport-app #passport #passportRoleStatus:before{content:"PASSPORT"!important;}
#buggy-passport-app #passport #emailStatusItem:before{content:"EMAIL"!important;}
#buggy-passport-app #passport #identityStatusItem:before{content:"ID"!important;}
#buggy-passport-app #passport #passportCheckLink:before{content:"CHECK"!important;}

/* Passport Status is always visually STATUS, regardless of legacy innerHTML. */
#buggy-passport-app #passport #passportRoleStatus{
  background:rgba(254,189,59,.96)!important;
  color:var(--navy,#041E42)!important;
  border-color:rgba(254,189,59,.98)!important;
  font-size:0!important;
}

#buggy-passport-app #passport #passportRoleStatus > *{
  display:none!important;
}

#buggy-passport-app #passport #passportRoleStatus:after{
  content:"STATUS"!important;
  display:block!important;
  color:inherit!important;
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:900!important;
}

/* Email/ID show only state; the label is above. */
#buggy-passport-app #passport #emailStatus,
#buggy-passport-app #passport #identityStatus{
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:900!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

#buggy-passport-app #passport #emailStatusItem[data-verified="true"],
#buggy-passport-app #passport #identityStatusItem[data-verified="true"]{
  background:rgba(203,217,204,.16)!important;
  border-color:rgba(203,217,204,.30)!important;
}

#buggy-passport-app #passport #emailStatusItem[data-verified="false"],
#buggy-passport-app #passport #identityStatusItem[data-verified="false"]{
  background:rgba(191,13,62,.15)!important;
  border-color:rgba(255,184,200,.28)!important;
}

#buggy-passport-app #passport #passportCheckLink{
  background:rgba(254,189,59,.10)!important;
  border-color:rgba(254,189,59,.30)!important;
  color:var(--lantern,#FEBD3B)!important;
}

@media(max-width:390px){
  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
    padding:12px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:7px 10px!important;
  }

  #buggy-passport-app #passport .passport-avatar{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    font-size:22px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-name{
    font-size:16px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-id{
    font-size:8.5px!important;
  }

  #buggy-passport-app #passport .passport-verification-text{
    width:calc(100% + 62px)!important;
    margin-left:-62px!important;
    gap:4px!important;
  }

  #buggy-passport-app #passport .passport-verification-text > *,
  #buggy-passport-app #passport .passport-role-status,
  #buggy-passport-app #passport .passport-check-link{
    min-height:47px!important;
    padding:21px 2px 6px!important;
    border-radius:10px!important;
    font-size:8.5px!important;
  }

  #buggy-passport-app #passport #passportRoleStatus:before,
  #buggy-passport-app #passport #emailStatusItem:before,
  #buggy-passport-app #passport #identityStatusItem:before,
  #buggy-passport-app #passport #passportCheckLink:before{
    top:7px!important;
    font-size:7px!important;
  }

  #buggy-passport-app #passport #passportRoleStatus:after,
  #buggy-passport-app #passport #emailStatus,
  #buggy-passport-app #passport #identityStatus{
    font-size:8.5px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v105 — light handwritten Passport status row
   No button shells. Permanent Marker throughout. Tight label/value spacing.
   ========================================================================== */

#buggy-passport-app #passport .passport-verification-text{
  gap:4px!important;
  margin-top:2px!important;
  align-items:start!important;
}

/* Remove the four button/card shells completely. */
#buggy-passport-app #passport .passport-verification-text > *,
#buggy-passport-app #passport .passport-role-status,
#buggy-passport-app #passport .passport-check-link{
  min-height:34px!important;
  padding:2px 1px!important;

  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;

  color:#fffdf7!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;

  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-weight:400!important;

  overflow:visible!important;
}

/* Keep all four columns visually equal and quiet. */
#buggy-passport-app #passport .passport-role-status,
#buggy-passport-app #passport .passport-role-status[data-role="minor"],
#buggy-passport-app #passport .passport-role-status[data-role="companion"],
#buggy-passport-app #passport .passport-role-status[data-role="guardian"]{
  background:transparent!important;
  color:#fffdf7!important;
  border:0!important;
  max-width:none!important;
}

/* Labels sit immediately above their state. */
#buggy-passport-app #passport #passportRoleStatus:before,
#buggy-passport-app #passport #emailStatusItem:before,
#buggy-passport-app #passport #identityStatusItem:before,
#buggy-passport-app #passport #passportCheckLink:before{
  position:static!important;
  inset:auto!important;

  display:block!important;
  margin:0 0 -1px!important;

  color:rgba(255,253,247,.72)!important;
  opacity:1!important;

  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:.015em!important;

  text-align:center!important;
  white-space:nowrap!important;
}

#buggy-passport-app #passport #passportRoleStatus:before{content:"PASSPORT"!important;}
#buggy-passport-app #passport #emailStatusItem:before{content:"EMAIL"!important;}
#buggy-passport-app #passport #identityStatusItem:before{content:"ID"!important;}
#buggy-passport-app #passport #passportCheckLink:before{content:"CHECK"!important;}

/* The clickable/value line is the visual link. */
#buggy-passport-app #passport #passportRoleStatus:after,
#buggy-passport-app #passport #emailStatus,
#buggy-passport-app #passport #identityStatus,
#buggy-passport-app #passport #passportCheckLink{
  color:inherit!important;

  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:0!important;

  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}

/* Passport legacy child content remains hidden; STATUS is supplied once. */
#buggy-passport-app #passport #passportRoleStatus{
  font-size:0!important;
}

#buggy-passport-app #passport #passportRoleStatus > *{
  display:none!important;
}

#buggy-passport-app #passport #passportRoleStatus:after{
  content:"STATUS"!important;
  display:block!important;
  margin:0!important;
}

/* Email + ID color is communicated by text, not by shells. */
#buggy-passport-app #passport #emailStatusItem[data-verified="true"],
#buggy-passport-app #passport #identityStatusItem[data-verified="true"],
#buggy-passport-app #passport #emailStatusItem[data-verified="false"],
#buggy-passport-app #passport #identityStatusItem[data-verified="false"]{
  background:transparent!important;
  border:0!important;
}

#buggy-passport-app #passport #emailStatusItem[data-verified="true"] #emailStatus,
#buggy-passport-app #passport #identityStatusItem[data-verified="true"] #identityStatus{
  color:#d8e5d9!important;
}

#buggy-passport-app #passport #emailStatusItem[data-verified="false"] #emailStatus,
#buggy-passport-app #passport #identityStatusItem[data-verified="false"] #identityStatus{
  color:#ffc0ce!important;
}

/* Check keeps BUGGY lantern emphasis but loses the button appearance. */
#buggy-passport-app #passport #passportCheckLink{
  color:var(--lantern,#FEBD3B)!important;
  background:transparent!important;
  border:0!important;
}

/* No legacy dot separators. */
#buggy-passport-app #passport .passport-verification-text .passport-verification-status + .passport-verification-status:before{
  margin:0 0 -1px!important;
}

/* Tap/focus indication without bringing shells back. */
#buggy-passport-app #passport .passport-role-status:hover:after,
#buggy-passport-app #passport #emailStatusItem:hover #emailStatus,
#buggy-passport-app #passport #identityStatusItem:hover #identityStatus,
#buggy-passport-app #passport #passportCheckLink:hover{
  text-decoration-thickness:2px!important;
}

#buggy-passport-app #passport .passport-role-status:focus-visible,
#buggy-passport-app #passport #emailStatusItem:focus-visible,
#buggy-passport-app #passport #identityStatus:focus-visible,
#buggy-passport-app #passport #passportCheckLink:focus-visible{
  outline:1px dashed rgba(254,189,59,.72)!important;
  outline-offset:3px!important;
  border-radius:4px!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .passport-verification-text{
    gap:2px!important;
    margin-top:1px!important;
  }

  #buggy-passport-app #passport .passport-verification-text > *,
  #buggy-passport-app #passport .passport-role-status,
  #buggy-passport-app #passport .passport-check-link{
    min-height:31px!important;
    padding:1px 0!important;
  }

  #buggy-passport-app #passport #passportRoleStatus:before,
  #buggy-passport-app #passport #emailStatusItem:before,
  #buggy-passport-app #passport #identityStatusItem:before,
  #buggy-passport-app #passport #passportCheckLink:before{
    font-size:7px!important;
    margin-bottom:-1px!important;
  }

  #buggy-passport-app #passport #passportRoleStatus:after,
  #buggy-passport-app #passport #emailStatus,
  #buggy-passport-app #passport #identityStatus,
  #buggy-passport-app #passport #passportCheckLink{
    font-size:8.5px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v106 — lighter status row spacing + larger handwritten type
   ========================================================================== */

/* More separation between identity and status/action row. */
#buggy-passport-app #passport .passport-verification-text{
  margin-top:8px!important;
  gap:6px!important;
}

/* Passport Status must have NO yellow shell at all. */
#buggy-passport-app #passport #passportRoleStatus,
#buggy-passport-app #passport #passportRoleStatus[data-role="minor"],
#buggy-passport-app #passport #passportRoleStatus[data-role="companion"],
#buggy-passport-app #passport #passportRoleStatus[data-role="guardian"]{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fffdf7!important;
}

/* Raise the entire handwritten row about 25%. */
#buggy-passport-app #passport #passportRoleStatus:before,
#buggy-passport-app #passport #emailStatusItem:before,
#buggy-passport-app #passport #identityStatusItem:before,
#buggy-passport-app #passport #passportCheckLink:before{
  font-size:10px!important;
  line-height:1!important;
  margin:0 0 3px!important;
}

#buggy-passport-app #passport #passportRoleStatus:after,
#buggy-passport-app #passport #emailStatus,
#buggy-passport-app #passport #identityStatus,
#buggy-passport-app #passport #passportCheckLink{
  font-size:12.5px!important;
  line-height:1.05!important;
}

/* Slightly more room inside each link stack without recreating button boxes. */
#buggy-passport-app #passport .passport-verification-text > *,
#buggy-passport-app #passport .passport-role-status,
#buggy-passport-app #passport .passport-check-link{
  min-height:42px!important;
  padding:3px 1px!important;
  gap:0!important;
}

/* Keep Passport Status visually identical to the other three text links. */
#buggy-passport-app #passport #passportRoleStatus{
  font-size:0!important;
}

#buggy-passport-app #passport #passportRoleStatus:after{
  content:"STATUS"!important;
  display:block!important;
  color:#fffdf7!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}

/* Preserve the subtle state colors without shells. */
#buggy-passport-app #passport #emailStatusItem[data-verified="true"] #emailStatus,
#buggy-passport-app #passport #identityStatusItem[data-verified="true"] #identityStatus{
  color:#d8e5d9!important;
}

#buggy-passport-app #passport #emailStatusItem[data-verified="false"] #emailStatus,
#buggy-passport-app #passport #identityStatusItem[data-verified="false"] #identityStatus{
  color:#ffc0ce!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .passport-verification-text{
    margin-top:7px!important;
    gap:4px!important;
  }

  #buggy-passport-app #passport #passportRoleStatus:before,
  #buggy-passport-app #passport #emailStatusItem:before,
  #buggy-passport-app #passport #identityStatusItem:before,
  #buggy-passport-app #passport #passportCheckLink:before{
    font-size:8.75px!important;
    margin-bottom:2px!important;
  }

  #buggy-passport-app #passport #passportRoleStatus:after,
  #buggy-passport-app #passport #emailStatus,
  #buggy-passport-app #passport #identityStatus,
  #buggy-passport-app #passport #passportCheckLink{
    font-size:10.75px!important;
  }

  #buggy-passport-app #passport .passport-verification-text > *,
  #buggy-passport-app #passport .passport-role-status,
  #buggy-passport-app #passport .passport-check-link{
    min-height:38px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v107 — clean varsity Passport card
   Identity stays crisp. Status/actions become one custom handwritten band.
   The legacy verification/role row is hidden and retained only as plumbing.
   ========================================================================== */

/* Hide every legacy status presentation, including the relationship strip. */
#buggy-passport-app #passport .passport-verification-text{
  display:none!important;
}

/* Rebuild the visible card geometry around identity + one new status band. */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-areas:
    "avatar identity"
    "status status"!important;
  column-gap:12px!important;
  row-gap:13px!important;
  align-items:start!important;
  min-width:0!important;
}

#buggy-passport-app #passport .passport-avatar{
  grid-area:avatar!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  min-height:58px!important;
  margin:0!important;
  align-self:start!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-copy{
  grid-area:identity!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  max-width:100%!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-name{
  margin:1px 0 0!important;
  font-size:19px!important;
  line-height:1.03!important;
  font-weight:900!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-id{
  margin:0!important;
  font-size:10.25px!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:.018em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* New visible status/action band. */
#buggy-passport-app #passport .v107-status-band{
  grid-area:status!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:start!important;
  gap:7px!important;

  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0 1px 1px!important;
  box-sizing:border-box!important;
}

#buggy-passport-app #passport .v107-status-link{
  appearance:none!important;
  -webkit-appearance:none!important;

  min-width:0!important;
  margin:0!important;
  padding:0 1px 3px!important;

  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;

  color:#fffdf7!important;
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:12px!important;
  line-height:1.12!important;
  font-weight:400!important;
  letter-spacing:0!important;

  text-align:center!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;

  cursor:pointer!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-tap-highlight-color:transparent!important;
}

#buggy-passport-app #passport .v107-status-link:hover{
  text-decoration-thickness:2px!important;
}

#buggy-passport-app #passport .v107-status-link:focus-visible{
  outline:1px dashed rgba(254,189,59,.86)!important;
  outline-offset:4px!important;
  border-radius:4px!important;
}

/* State color, without shells. */
#buggy-passport-app #passport #v107EmailStatus[data-verified="true"],
#buggy-passport-app #passport #v107IdStatus[data-verified="true"]{
  color:#dce8dd!important;
}

#buggy-passport-app #passport #v107EmailStatus[data-verified="false"],
#buggy-passport-app #passport #v107IdStatus[data-verified="false"]{
  color:#ffc1cf!important;
}

#buggy-passport-app #passport #v107CheckStatus{
  color:var(--lantern,#FEBD3B)!important;
}

/* Give the card deliberate bottom breathing room, not a second strip. */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
  padding:15px 14px 16px!important;
}

/* The avatar remains the Access/avatar doorway. */
#buggy-passport-app #passport .passport-avatar{
  cursor:pointer!important;
}

@media(max-width:390px){
  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
    grid-template-columns:52px minmax(0,1fr)!important;
    column-gap:10px!important;
    row-gap:11px!important;
  }

  #buggy-passport-app #passport .passport-avatar{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-name{
    font-size:17px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-id{
    font-size:8.8px!important;
  }

  #buggy-passport-app #passport .v107-status-band{
    gap:4px!important;
  }

  #buggy-passport-app #passport .v107-status-link{
    font-size:10.5px!important;
    line-height:1.1!important;
    padding-bottom:3px!important;
    text-underline-offset:2px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
    padding:13px 12px 14px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v108 — larger handwritten status band + better line spacing
   ========================================================================== */

#buggy-passport-app #passport .v107-status-band{
  gap:8px!important;
  margin-top:2px!important;
}

#buggy-passport-app #passport .v107-status-link{
  font-size:15px!important;
  line-height:1.16!important;
  padding:0 1px 7px!important;

  text-decoration-thickness:1px!important;
  text-underline-offset:5px!important;
}

/* Check becomes a deliberate two-line action. */
#buggy-passport-app #passport #v107CheckStatus{
  line-height:1.18!important;
}

#buggy-passport-app #passport #v107CheckStatus .v108-check-line{
  display:block!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-band{
    gap:5px!important;
    margin-top:1px!important;
  }

  #buggy-passport-app #passport .v107-status-link{
    font-size:13px!important;
    line-height:1.15!important;
    padding-bottom:6px!important;
    text-underline-offset:4px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v109 — more breathing room between wrapped status lines
   ========================================================================== */

#buggy-passport-app #passport .v107-status-link{
  line-height:1.36!important;
}

/* CHECK / IN-OUT is explicitly two lines, so give those lines the same air. */
#buggy-passport-app #passport #v107CheckStatus{
  line-height:1.36!important;
}

#buggy-passport-app #passport #v107CheckStatus .v108-check-line + .v108-check-line{
  margin-top:2px!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-link,
  #buggy-passport-app #passport #v107CheckStatus{
    line-height:1.32!important;
  }

  #buggy-passport-app #passport #v107CheckStatus .v108-check-line + .v108-check-line{
    margin-top:2px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v110 — TRAINING RIP RETURNS TO FOREGROUND PRESENTER UX
   RIP and his callout float in front of Training, like Passport Home.
   They no longer consume a dedicated header/section in document flow.
   ========================================================================== */

#buggy-passport-app #trainingPage{
  position:relative!important;
  padding-bottom:24px!important;
  scroll-padding-bottom:235px!important;
}

/* The generated guide remains first in the DOM but is removed from layout flow. */
#buggy-passport-app #trainingPage #trainingRipGuide{
  position:fixed!important;

  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;

  transform:translateX(-50%)!important;

  width:min(430px,100vw)!important;
  height:224px!important;
  min-height:224px!important;
  max-height:224px!important;

  margin:0!important;
  padding:0!important;

  display:block!important;

  overflow:visible!important;

  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;

  z-index:310!important;

  pointer-events:none!important;
  text-align:left!important;
}

/* Wide painted callout floats above/left of RIP and slightly overlaps him.
   The overlap keeps the callout tail visually connected to RIP's mouth. */
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message{
  position:absolute!important;

  left:7px!important;
  right:auto!important;
  top:auto!important;
  bottom:72px!important;

  width:298px!important;
  max-width:calc(100% - 88px)!important;

  height:144px!important;
  min-height:144px!important;
  max-height:144px!important;

  margin:0!important;
  padding:0!important;

  display:block!important;

  overflow:hidden!important;
  overflow:clip!important;

  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;

  filter:drop-shadow(0 10px 15px rgba(42,47,45,.15))!important;

  z-index:312!important;

  pointer-events:auto!important;
  cursor:pointer!important;
}

/* Explicit safe rectangle inside the painted oval.
   Fixed geometry avoids reintroducing the old oscillating callout fit behavior. */
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message .rip-callout-copy{
  position:absolute!important;

  left:25px!important;
  right:48px!important;
  top:25px!important;
  bottom:29px!important;

  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;

  margin:0!important;
  padding:5px 7px!important;

  box-sizing:border-box!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  color:var(--char,#2a2f2d)!important;
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:16px!important;
  line-height:1.12!important;
  font-weight:400!important;

  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow:clip!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* RIP is in front of the training screen, not below it. */
#buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
  position:absolute!important;

  right:2px!important;
  left:auto!important;
  top:auto!important;
  bottom:-2px!important;

  width:166px!important;
  max-width:166px!important;
  height:188px!important;
  max-height:188px!important;

  margin:0!important;

  object-fit:contain!important;
  object-position:center bottom!important;

  filter:drop-shadow(0 15px 20px rgba(4,30,66,.22))!important;

  animation:none!important;

  z-index:311!important;

  pointer-events:none!important;
}

/* No old sticky/gradient/header presentation may survive. */
#buggy-passport-app #trainingPage #trainingRipGuide::before,
#buggy-passport-app #trainingPage #trainingRipGuide::after{
  content:none!important;
  display:none!important;
}

/* Give only the END of the training list enough room to scroll above the
   foreground presenter. RIP does not create a blank block at the top. */
#buggy-passport-app #trainingPage .training-category-list{
  padding-bottom:205px!important;
}

/* The support footer follows the training list normally. */
#buggy-passport-app #trainingPage .screen-support-footer{
  position:relative!important;
  z-index:2!important;
  margin-top:14px!important;
}

/* Training cards can scroll clear of the foreground presenter when targeted. */
#buggy-passport-app #trainingPage .training-card,
#buggy-passport-app #trainingPage [data-training-id]{
  scroll-margin-bottom:225px!important;
}

/* Phone geometry: still foreground, slightly tighter. */
@media(max-width:390px){
  #buggy-passport-app #trainingPage{
    scroll-padding-bottom:215px!important;
  }

  #buggy-passport-app #trainingPage #trainingRipGuide{
    width:100vw!important;
    height:208px!important;
    min-height:208px!important;
    max-height:208px!important;

    bottom:max(6px,env(safe-area-inset-bottom))!important;
  }

  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message{
    left:2px!important;
    bottom:68px!important;

    width:270px!important;
    max-width:calc(100% - 82px)!important;

    height:134px!important;
    min-height:134px!important;
    max-height:134px!important;
  }

  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-message .rip-callout-copy{
    left:22px!important;
    right:43px!important;
    top:22px!important;
    bottom:27px!important;

    padding:4px 6px!important;

    font-size:14.5px!important;
    line-height:1.12!important;
  }

  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
    right:-2px!important;
    bottom:-2px!important;

    width:151px!important;
    max-width:151px!important;
    height:174px!important;
    max-height:174px!important;
  }

  #buggy-passport-app #trainingPage .training-category-list{
    padding-bottom:188px!important;
  }
}

/* Reduced motion: Training RIP remains stationary. */
@media(prefers-reduced-motion:reduce){
  #buggy-passport-app #trainingPage #trainingRipGuide,
  #buggy-passport-app #trainingPage #trainingRipGuide .training-rip-image{
    animation:none!important;
    transition:none!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v111 — GLOBAL POPOUT UX STANDARD
   Primary destinations = screens.
   Secondary detail / status / actions = centered BUGGY popouts.
   ========================================================================== */

body.buggy-modal-open{
  overflow:hidden!important;
}

/* --------------------------------------------------------------------------
   Global portal modal used by Rewards, Ease/Help, Trust/About, Marker detail.
   -------------------------------------------------------------------------- */
#buggyGlobalModal{
  position:fixed!important;
  inset:0!important;
  z-index:980!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:
    max(18px,env(safe-area-inset-top))
    16px
    max(18px,env(safe-area-inset-bottom))!important;

  box-sizing:border-box!important;

  background:rgba(4,30,66,.30)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

#buggyGlobalModal[hidden]{
  display:none!important;
}

#buggyGlobalModal .buggy-global-modal-panel{
  position:relative!important;

  width:min(430px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100dvh - 36px))!important;

  margin:0!important;
  padding:44px 14px 14px!important;

  box-sizing:border-box!important;

  overflow:hidden!important;

  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:24px!important;

  background:#fffaf0!important;
  color:var(--char,#2a2f2d)!important;

  box-shadow:
    0 22px 52px rgba(4,30,66,.24),
    0 4px 12px rgba(42,47,45,.12)!important;
}

#buggyGlobalModal .buggy-global-modal-close{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:6!important;

  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;

  margin:0!important;
  padding:0!important;

  display:grid!important;
  place-items:center!important;

  border:0!important;
  border-radius:999px!important;

  background:var(--lantern,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;

  font:900 21px/1 Arial,sans-serif!important;

  box-shadow:none!important;
  cursor:pointer!important;
}

#buggyGlobalModal .buggy-global-modal-body{
  width:100%!important;
  max-height:calc(100dvh - 108px)!important;

  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;

  box-sizing:border-box!important;

  scrollbar-width:thin!important;
}

/* A screen moved into the global popout becomes modal content, not a page. */
#buggyGlobalModal .buggy-modalized-screen{
  display:block!important;
  position:relative!important;

  width:100%!important;
  min-height:0!important;
  max-height:none!important;

  margin:0!important;
  padding:0!important;

  background:transparent!important;
  box-shadow:none!important;
  border:0!important;

  overflow:visible!important;
}

/* Don't show page-navigation chrome inside a popout. */
#buggyGlobalModal .buggy-modalized-screen > .utility-back-link,
#buggyGlobalModal .buggy-modalized-screen > .screen-support-footer,
#buggyGlobalModal .buggy-modalized-screen > .v99-rewards-close{
  display:none!important;
}

/* Titles inside modal sections match Passport Status. */
#buggyGlobalModal .buggy-modalized-screen > .title{
  margin:0 42px 12px 0!important;
  padding:0!important;

  display:block!important;

  border:0!important;
  background:transparent!important;
}

#buggyGlobalModal .buggy-modalized-screen > .title h3{
  margin:0 0 4px!important;

  color:var(--navy,#041E42)!important;

  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:18px!important;
  line-height:1.05!important;
  font-weight:400!important;

  text-transform:none!important;
  letter-spacing:0!important;
}

#buggyGlobalModal .buggy-modalized-screen > .title span{
  color:rgba(42,47,45,.68)!important;
  font-size:10px!important;
  line-height:1.3!important;
}

/* Utility/detail rows become the same quiet inset cards used by Status. */
#buggyGlobalModal .utility-stack{
  display:grid!important;
  gap:8px!important;
}

#buggyGlobalModal .utility-row,
#buggyGlobalModal .reward-wallet-card,
#buggyGlobalModal .reward-wallet-empty,
#buggyGlobalModal .achievement-detail > .marker-card{
  border:1px solid rgba(4,30,66,.13)!important;
  border-radius:14px!important;

  background:#fbf4e5!important;
  color:var(--char,#2a2f2d)!important;

  box-shadow:none!important;
}

#buggyGlobalModal .utility-row{
  padding:11px!important;
}

#buggyGlobalModal .utility-row b,
#buggyGlobalModal .reward-section-title{
  color:var(--navy,#041E42)!important;
}

#buggyGlobalModal .utility-row small{
  color:rgba(42,47,45,.72)!important;
}

/* Rewards + Markers must keep their structured BUGGY card language when
   the screen is modalized outside #buggy-passport-app. */
#buggyGlobalModal #rewardsWallet,
#buggyGlobalModal .reward-file{
  display:grid!important;
  gap:12px!important;
}

#buggyGlobalModal .access-wallet-card{
  padding:11px!important;
  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:15px!important;
  background:rgba(4,30,66,.06)!important;
  color:var(--navy,#041E42)!important;
}
#buggyGlobalModal .access-wallet-card b{
  display:block!important;
  color:var(--navy,#041E42)!important;
  font:900 12px/1.2 Arial,sans-serif!important;
}
#buggyGlobalModal .access-wallet-card small{
  display:block!important;
  margin-top:4px!important;
  color:var(--sage,#58615F)!important;
  font:700 10px/1.3 Arial,sans-serif!important;
}

#buggyGlobalModal .reward-section-block{
  padding:11px!important;
  border:1px solid rgba(4,30,66,.13)!important;
  border-radius:14px!important;
  background:#fbf4e5!important;
  box-shadow:none!important;
}

#buggyGlobalModal .reward-section-title{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:var(--navy,#041E42)!important;
  font:1000 11px/1 Arial,sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

#buggyGlobalModal .reward-section-count{
  min-width:28px!important;
  height:24px!important;
  padding:0 8px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:rgba(4,30,66,.08)!important;
  color:var(--navy,#041E42)!important;
  font:1000 11px/1 Arial,sans-serif!important;
}

#buggyGlobalModal .reward-wallet-list{
  display:grid!important;
  gap:8px!important;
  margin-top:8px!important;
}

#buggyGlobalModal .passport-earned-item{
  width:100%!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  gap:9px!important;
  align-items:center!important;
  padding:10px!important;
  border-radius:15px!important;
  border:1px solid rgba(255,253,247,.15)!important;
  background:var(--navy,#041E42)!important;
  color:var(--fog,#fffdf7)!important;
  box-shadow:none!important;
  text-align:left!important;
}

#buggyGlobalModal .passport-earned-icon{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--lantern,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  font:1000 14px/1 Arial,sans-serif!important;
}

#buggyGlobalModal .passport-earned-copy{
  min-width:0!important;
}

#buggyGlobalModal .passport-earned-copy b{
  display:block!important;
  color:var(--fog,#fffdf7)!important;
  font:900 12px/1.2 Arial,sans-serif!important;
  text-transform:uppercase!important;
}

#buggyGlobalModal .passport-earned-copy small{
  display:block!important;
  margin-top:3px!important;
  color:rgba(255,253,247,.72)!important;
  font:700 10px/1.25 Arial,sans-serif!important;
}

#buggyGlobalModal .passport-earned-open{
  color:var(--lantern,#FEBD3B)!important;
  font:1000 16px/1 Arial,sans-serif!important;
}

#buggyGlobalModal .reward-wallet-card{
  padding:13px!important;
  border-radius:18px!important;
  background:var(--navy,#041E42)!important;
  color:var(--fog,#fffdf7)!important;
}

#buggyGlobalModal .reward-wallet-card.used{
  background:rgba(88,97,95,.16)!important;
  color:var(--navy,#041E42)!important;
  border:1px solid rgba(88,97,95,.28)!important;
}

#buggyGlobalModal .reward-wallet-card b{
  display:block!important;
  color:var(--lantern,#FEBD3B)!important;
  font:1000 12px/1.15 Arial,sans-serif!important;
  text-transform:uppercase!important;
}

#buggyGlobalModal .reward-wallet-card.used b{
  color:var(--sage,#58615F)!important;
}

#buggyGlobalModal .reward-wallet-card small{
  display:block!important;
  margin-top:5px!important;
  color:rgba(255,253,247,.72)!important;
  font:700 10px/1.3 Arial,sans-serif!important;
}

#buggyGlobalModal .reward-wallet-card.used small{
  color:var(--sage,#58615F)!important;
}

#buggyGlobalModal .reward-wallet-card button{
  width:100%!important;
  margin-top:10px!important;
  background:var(--lantern,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
}

#buggyGlobalModal .reward-wallet-empty{
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(4,30,66,.06)!important;
  color:var(--sage,#58615F)!important;
  font:700 12px/1.35 Arial,sans-serif!important;
}

/* Modal action buttons use one BUGGY language. */
#buggyGlobalModal button:not(.buggy-global-modal-close),
#buggyGlobalModal .primary,
#buggyGlobalModal .secondary{
  border-radius:13px!important;
}

/* --------------------------------------------------------------------------
   Passport Status + Guardian overlays adopt the SAME shell.
   -------------------------------------------------------------------------- */
#buggy-passport-app .v81-status-overlay,
.buggy-guardian-overlay{
  background:rgba(4,30,66,.30)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;

  padding:
    max(18px,env(safe-area-inset-top))
    16px
    max(18px,env(safe-area-inset-bottom))!important;

  align-items:center!important;
  justify-content:center!important;
}

#buggy-passport-app .v81-status-panel,
.buggy-guardian-modal{
  width:min(430px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 36px)!important;

  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:24px!important;

  background:#fffaf0!important;
  color:var(--char,#2a2f2d)!important;

  box-shadow:
    0 22px 52px rgba(4,30,66,.24),
    0 4px 12px rgba(42,47,45,.12)!important;

  overflow:auto!important;
}

#buggy-passport-app .v81-status-close,
.buggy-guardian-close{
  width:34px!important;
  height:34px!important;

  border:0!important;
  border-radius:999px!important;

  background:var(--lantern,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;

  font:900 21px/1 Arial,sans-serif!important;
}

/* Passport Status row language becomes the canonical inset-card treatment. */
#buggy-passport-app .v81-status-row{
  border:1px solid rgba(4,30,66,.13)!important;
  border-radius:14px!important;

  background:#fbf4e5!important;
  box-shadow:none!important;
}

/* --------------------------------------------------------------------------
   Coupon/reward redemption uses the same visual modal shell.
   -------------------------------------------------------------------------- */
#buggy-passport-app .coupon-modal{
  background:rgba(4,30,66,.30)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;

  padding:
    max(18px,env(safe-area-inset-top))
    16px
    max(18px,env(safe-area-inset-bottom))!important;
}

#buggy-passport-app .coupon-sheet{
  width:min(430px,calc(100vw - 32px))!important;

  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:24px!important;

  background:#fffaf0!important;
  color:var(--char,#2a2f2d)!important;

  box-shadow:
    0 22px 52px rgba(4,30,66,.24),
    0 4px 12px rgba(42,47,45,.12)!important;
}

#buggy-passport-app .coupon-sheet h3{
  color:var(--navy,#041E42)!important;
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  text-transform:none!important;
}

#buggy-passport-app .coupon-sheet p{
  color:rgba(42,47,45,.76)!important;
}

@media(max-width:390px){
  #buggyGlobalModal{
    padding:
      max(10px,env(safe-area-inset-top))
      10px
      max(10px,env(safe-area-inset-bottom))!important;
  }

  #buggyGlobalModal .buggy-global-modal-panel{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    padding:42px 11px 11px!important;
    border-radius:21px!important;
  }

  #buggyGlobalModal .buggy-global-modal-body{
    max-height:calc(100dvh - 88px)!important;
  }

  #buggy-passport-app .v81-status-panel,
  .buggy-guardian-modal,
  #buggy-passport-app .coupon-sheet{
    width:calc(100vw - 20px)!important;
    border-radius:21px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================\n   BUGGY Passport v114 — signed-in test reset lives in Passport Status\n   ========================================================================== */
#buggy-passport-app #v81PassportStatusOverlay .v114-test-reset-divider{
  width:100%!important;
  height:1px!important;
  margin:12px 0 2px!important;
  background:rgba(7,43,78,.14)!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v115 — immediate map thumbnails + silent email verification
   ========================================================================== */

/* Email verification runs quietly in the background. No onboarding notice. */
#buggy-passport-app #passportSetup #v93EmailVerificationBanner,
#buggy-passport-app #passportSetup .v93-email-verification-banner{
  display:none!important;
}

/* Thumbnail shell is visible immediately, before/while the CDN image paints. */
#buggy-passport-app #passportSetup .v93-map-thumb{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background:#f7f5ee!important;
}
#buggy-passport-app #passportSetup .v93-map-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v116 — RIP talks to a section, never over its controls
   ========================================================================== */
#buggy-passport-app{
  --v116-rip-dock:92px;
}

/* Account and login are now explicit sections of related controls. The lower
   dock belongs to RIP: his callout may overlap this empty part of the card,
   just as it overlaps the lower edge of the Pin Map container. */
#buggy-passport-app #passportSetup .v116-guided-panel,
#buggy-passport-app #passportLogin .v116-guided-panel{
  position:relative!important;
  width:100%!important;
  max-width:350px!important;
  margin:14px auto 0!important;
  padding:14px 14px var(--v116-rip-dock)!important;
  border:1.5px solid rgba(4,30,66,.16)!important;
  border-radius:24px!important;
  background:rgba(255,253,247,.94)!important;
  box-shadow:0 14px 30px rgba(4,30,66,.08)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* Old presenter-era top padding is specifically removed. */
#buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="3"].v116-guided-panel.active,
#buggy-passport-app #passportLogin .passport-setup-step.v116-guided-panel.active{
  padding-top:14px!important;
}

/* Inputs are the foreground content. RIP's fixed scene stays above the page,
   but the controls themselves never need to share his overlap zone. */
#buggy-passport-app #passportSetup .v116-guided-panel .setup-input,
#buggy-passport-app #passportLogin .v116-guided-panel .setup-input,
#buggy-passport-app #passportSetup .v116-guided-panel .setup-action,
#buggy-passport-app #passportLogin .v116-guided-panel .setup-action,
#buggy-passport-app #passportLogin .v116-guided-panel .setup-secondary-action,
#buggy-passport-app #passportSetup .v116-guided-panel .password-rules,
#buggy-passport-app #passportLogin .v116-guided-panel .setup-footnote,
#buggy-passport-app #passportSetup .v116-guided-panel .setup-error,
#buggy-passport-app #passportLogin .v116-guided-panel .setup-error{
  position:relative!important;
  z-index:2!important;
}

/* The card itself supplies spacing; preserve the existing input rhythm. */
#buggy-passport-app #passportSetup .v116-guided-panel .setup-input:last-of-type{
  margin-bottom:8px!important;
}
#buggy-passport-app #passportSetup .v116-guided-panel .setup-action{
  margin-top:10px!important;
}
#buggy-passport-app #passportLogin .v116-guided-panel .login-actions{
  position:relative!important;
  z-index:2!important;
}

/* No onboarding delivery receipt. Verification is silent here and actionable
   later from Passport Status. */
#buggy-passport-app #v93EmailVerificationBanner,
#buggy-passport-app .v93-email-verification-banner{
  display:none!important;
  visibility:hidden!important;
}

/* Slider thumbnails are real children at build time in v116. */
#buggy-passport-app #passportSetup .buggy-map-scale-slider .v93-map-thumb{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#eef2ed!important;
}
#buggy-passport-app #passportSetup .buggy-map-scale-slider .v93-map-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}

@media(max-width:430px){
  #buggy-passport-app{
    --v116-rip-dock:96px;
  }
  #buggy-passport-app #passportSetup .v116-guided-panel,
  #buggy-passport-app #passportLogin .v116-guided-panel{
    width:calc(100% - 18px)!important;
    margin-top:12px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    border-radius:22px!important;
  }
}

@media(max-width:380px){
  #buggy-passport-app{
    --v116-rip-dock:104px;
  }
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v117 — verified email uses BUGGY Guide Sage.
   Keep this at the end of the cascade so both the current v107 status band and
   the legacy Passport status element resolve to the same verified color. */
#buggy-passport-app #passport #v107EmailStatus[data-verified="true"],
#buggy-passport-app #passport #emailStatusItem[data-verified="true"] #emailStatus{
  color:var(--sage,#58615F)!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================\n   BUGGY Passport v118 — one Firebase verification truth everywhere\n   ========================================================================== */
#buggy-passport-app .v118-status-resend{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:8px 0 0!important;
  padding:7px 10px!important;
  border:1px solid rgba(4,30,66,.22)!important;
  border-radius:999px!important;
  background:#fffdf7!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:700 12px/1.15 "Courier Prime","Courier New",monospace!important;
  cursor:pointer!important;
}
#buggy-passport-app .v118-status-resend:disabled{
  opacity:.64!important;
  cursor:default!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v119 — verification color follows status immediately
   ========================================================================== */
#buggy-passport-app #passport #v107EmailStatus[data-verified="true"]{
  color:var(--sage,#58615F)!important;
}
#buggy-passport-app #passport #v107EmailStatus[data-verified="false"]{
  color:#ffc1cf!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v122 — Guardian/Companion state + modal polish
   ========================================================================== */
#buggy-passport-app .setup-back{
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:0 8px 18px rgba(4,30,66,.10)!important;
  font:400 11px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
}
.buggy-guardian-modal{
  padding:48px 18px 18px!important;
}
.buggy-guardian-title{
  margin:0 42px 8px 0!important;
  color:var(--navy,#041E42)!important;
  font:400 23px/1.05 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
}
.buggy-guardian-copy{
  margin:0 0 14px!important;
  color:rgba(42,47,45,.78)!important;
  font:400 13px/1.48 "Courier Prime","Courier New",monospace!important;
}
.buggy-guardian-modal .setup-input{
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  margin:0 0 10px!important;
  padding:12px 14px!important;
  border:1px solid rgba(4,30,66,.18)!important;
  border-radius:15px!important;
  background:#fffdf7!important;
  color:var(--char,#2A2F2D)!important;
  box-shadow:0 7px 16px rgba(4,30,66,.06)!important;
  outline:none!important;
  font:700 14px/1.2 "Courier Prime","Courier New",monospace!important;
}
.buggy-guardian-modal .setup-input:focus{
  border-color:var(--sun,#FEBD3B)!important;
  box-shadow:0 0 0 3px rgba(254,189,59,.22)!important;
}
.buggy-guardian-modal .setup-action{
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:11px 14px!important;
  border:0!important;
  border-radius:15px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  box-shadow:0 10px 20px rgba(4,30,66,.10)!important;
  font:400 14px/1.1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
}
.buggy-guardian-status{
  min-height:0!important;
  margin:10px 1px 0!important;
  color:var(--sage,#58615F)!important;
  font:400 12px/1.45 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v122-status-value{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
}
#buggy-passport-app .v122-status-primary{
  display:block!important;
  color:var(--char,#2A2F2D)!important;
  font:400 13px/1.28 "Courier Prime","Courier New",monospace!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app .v122-status-state{
  display:block!important;
  color:var(--sage,#58615F)!important;
  font:400 10.5px/1.25 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v122-status-state.pending{color:#94620a!important;}
#buggy-passport-app .v122-status-state.problem{color:var(--red,#BF0D3E)!important;}
#buggy-passport-app .v118-status-resend{
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  margin:8px 0 0!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  font:400 10.5px/1.1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  white-space:normal!important;
}
#buggy-passport-app .v96-status-resend{display:none!important;}
#buggy-passport-app #v81StatusAction{
  font:400 13px/1.1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v123 — isolated Age/Access + Passport change controls
   ========================================================================== */
#buggy-passport-app #v123PassportTools{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(4,30,66,.12)!important;
}
#buggy-passport-app #v123PassportTools button{
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font:400 12px/1.15 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #v123UpdateAgeAccess{
  background:var(--navy,#041E42)!important;
  color:var(--fog,#FFFDF7)!important;
}
#buggy-passport-app #v123RequestBaseChange{
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
}
#buggy-passport-app .v123-base-request-state{
  display:block!important;
  margin-top:5px!important;
  color:#8a650a!important;
  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v123-change-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:430!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  background:rgba(4,30,66,.58)!important;
  backdrop-filter:blur(7px)!important;
}
#buggy-passport-app .v123-change-overlay[hidden]{display:none!important;}
#buggy-passport-app .v123-change-panel{
  position:relative!important;
  width:min(390px,100%)!important;
  padding:22px 18px 18px!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:26px!important;
  background:#fffaf0!important;
  color:var(--char,#2A2F2D)!important;
  box-shadow:0 24px 70px rgba(4,30,66,.24)!important;
}
#buggy-passport-app .v123-change-close{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  box-shadow:none!important;
  font:900 20px/1 Arial,sans-serif!important;
}
#buggy-passport-app .v123-change-title{
  margin:0 42px 10px 0!important;
  color:var(--navy,#041E42)!important;
  font:400 22px/1.1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v123-change-copy{
  margin:0 0 12px!important;
  color:rgba(42,47,45,.74)!important;
  font:400 12px/1.45 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v123-change-choices{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
#buggy-passport-app .v123-change-choice{
  min-height:46px!important;
  padding:10px 12px!important;
  border:1px solid rgba(4,30,66,.15)!important;
  border-radius:15px!important;
  background:#fffdf7!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  text-align:left!important;
  font:400 14px/1.15 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v123-change-choice.selected{
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  border-color:#d79b1c!important;
}
#buggy-passport-app #v123ChangeReason{
  width:100%!important;
  min-height:76px!important;
  margin:10px 0 0!important;
  padding:11px 12px!important;
  resize:vertical!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:14px!important;
  background:#fffdf7!important;
  color:var(--char,#2A2F2D)!important;
  font:400 12px/1.4 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #v123SubmitBaseChange{
  width:100%!important;
  margin-top:10px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
}
#buggy-passport-app #v62AgePanel.v123-age-panel{
  isolation:isolate!important;
}
#buggy-passport-app #v62AgePanel .v123-age-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  background:rgba(4,30,66,.055)!important;
  color:rgba(42,47,45,.72)!important;
  font:400 12px/1.4 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #v62AgePanel .v123-flow-card{
  margin-top:10px!important;
  padding:12px!important;
  border:1px solid rgba(4,30,66,.12)!important;
  border-radius:18px!important;
  background:rgba(255,253,247,.84)!important;
}
#buggy-passport-app #v62AgePanel .v123-flow-card[hidden]{display:none!important;}
#buggy-passport-app #v62AgePanel .v123-guardian-status{
  margin-top:8px!important;
  color:var(--sage,#58615F)!important;
  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v124 — Guardian invitation enters through Welcome
   ========================================================================== */
#buggy-passport-app .v124-guardian-welcome{
  display:none;
  width:calc(100% - 40px);
  max-width:352px;
  margin:10px auto 0;
  padding:13px 14px;
  border:1px solid rgba(4,30,66,.14);
  border-radius:19px;
  background:rgba(254,189,59,.20);
  color:var(--char,#2A2F2D);
  box-shadow:0 10px 24px rgba(4,30,66,.08);
}
#buggy-passport-app .v124-guardian-welcome.show{display:block;}
#buggy-passport-app .v124-guardian-welcome b{
  display:block;
  margin-bottom:5px;
  color:var(--navy,#041E42);
  font:400 15px/1.15 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .v124-guardian-welcome span{
  display:block;
  color:rgba(42,47,45,.76);
  font:400 12px/1.45 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v124-guardian-welcome strong{color:var(--navy,#041E42);}
#buggy-passport-app .v124-guardian-welcome button{
  width:auto!important;
  min-height:30px!important;
  margin:8px 0 0!important;
  padding:6px 9px!important;
  border:1px solid rgba(4,30,66,.15)!important;
  border-radius:999px!important;
  background:#fffdf7!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v124-invite-email-note{
  display:none;
  margin:-1px 1px 10px;
  padding:8px 10px;
  border-radius:13px;
  background:rgba(254,189,59,.17);
  color:rgba(42,47,45,.78);
  font:400 12px/1.4 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v124-invite-email-note.show{display:block;}
#buggy-passport-app .v124-invite-email-note strong{color:var(--navy,#041E42);}
@media(max-width:430px){
  #buggy-passport-app .v124-guardian-welcome{width:calc(100% - 34px);}
}
@media(max-width:380px){
  #buggy-passport-app .v124-guardian-welcome{width:calc(100% - 30px);}
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v125 — confirm local geography once
   ========================================================================== */
#buggy-passport-app #v62LocationConfirmPanel.v125-local-confirm{
  padding-bottom:14px!important;
}
#buggy-passport-app .v125-local-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:10px 0 8px;
}
#buggy-passport-app .v125-local-fact{
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(4,30,66,.12);
  border-radius:13px;
  background:rgba(255,253,247,.78);
}
#buggy-passport-app .v125-local-fact b{
  display:block;
  margin-bottom:3px;
  color:var(--navy,#041E42);
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v125-local-fact span{
  display:block;
  color:var(--char,#2A2F2D);
  font:700 12px/1.25 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v125-local-once{
  margin:7px 1px 1px;
  color:rgba(42,47,45,.68);
  font:400 12px/1.4 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v125-local-assumption{
  display:none;
  margin:8px 0 11px;
  padding:10px 11px;
  border:1px solid rgba(4,30,66,.13);
  border-radius:16px;
  background:rgba(254,189,59,.13);
  color:var(--char,#2A2F2D);
}
#buggy-passport-app .v125-local-assumption.show{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#buggy-passport-app .v125-local-assumption b{
  display:block;
  color:var(--navy,#041E42);
  font:400 13px/1.15 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v125-local-assumption small{
  display:block;
  margin-top:3px;
  color:rgba(42,47,45,.66)!important;
  font:400 12px/1.3 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v125-local-assumption button{
  flex:0 0 auto;
  min-height:32px!important;
  margin:0!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:#fffdf7!important;
  color:var(--navy,#041E42)!important;
  border:1px solid rgba(4,30,66,.16)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
@media(max-width:380px){
  #buggy-passport-app .v125-local-facts{grid-template-columns:1fr;}
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v126 — Passport Status email is an actual data point
   ========================================================================== */
#buggy-passport-app .v126-status-email{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  margin-top:2px!important;
}
#buggy-passport-app .v126-status-email-address{
  display:block!important;
  color:var(--char,#2A2F2D)!important;
  font:400 13px/1.3 "Courier Prime","Courier New",monospace!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app .v126-status-email-state{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  min-height:25px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:rgba(191,13,62,.10)!important;
  color:var(--red,#BF0D3E)!important;
  font:700 12px/1 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v126-status-email-state.verified{
  background:var(--sage,#58615F)!important;
  color:var(--fog,#FFFDF7)!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v131 — complete Passport file + relationship truth
   ========================================================================== */
#buggy-passport-app .v131-file-section{
  margin:10px 2px 4px!important;
  color:var(--navy,#041E42)!important;
  font:400 12px/1.1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v131-file-section:first-child{margin-top:0!important;}
#buggy-passport-app .v131-status-value{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-width:0!important;
}
#buggy-passport-app .v131-status-primary{
  color:var(--char,#2A2F2D)!important;
  font:400 13px/1.32 "Courier Prime","Courier New",monospace!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app .v131-status-state{
  color:rgba(42,47,45,.66)!important;
  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;
  overflow-wrap:anywhere!important;
}
#buggy-passport-app .v131-status-state.pending{color:#94620a!important;}
#buggy-passport-app .v131-status-state.ready{color:var(--sage,#58615F)!important;}
#buggy-passport-app .v131-status-state.problem{color:var(--red,#BF0D3E)!important;}
#buggy-passport-app .v131-badge{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  min-height:25px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:rgba(191,13,62,.10)!important;
  color:var(--red,#BF0D3E)!important;
  font:700 12px/1 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v131-badge.verified,
#buggy-passport-app .v131-badge.ready{
  background:var(--sage,#58615F)!important;
  color:var(--fog,#FFFDF7)!important;
}
#buggy-passport-app .v131-badge.pending{
  background:rgba(254,189,59,.28)!important;
  color:#75500a!important;
}
#buggy-passport-app .v131-relationship-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
#buggy-passport-app .v131-relationship-item + .v131-relationship-item{
  padding-top:8px!important;
  border-top:1px dashed rgba(4,30,66,.13)!important;
}
#buggy-passport-app .v131-file-loading{
  padding:10px 11px!important;
  border-radius:14px!important;
  background:rgba(4,30,66,.05)!important;
  color:var(--sage,#58615F)!important;
  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v81-status-panel{
  max-height:min(84vh,720px)!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v140 — Welcome kiosk RIP dialogue only
   ========================================================================== */
#buggy-passport-app #home .home-ask-rip{
  position:absolute!important;
  z-index:40!important;
  left:auto!important;
  right:2px!important;
  top:69px!important;
  bottom:auto!important;
  transform:none!important;
  width:max-content!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:5px 8px!important;
  border:1px solid rgba(4,30,66,.16)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 12px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  text-transform:none!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:rgba(4,30,66,.12)!important;
}



#buggy-passport-app #home .home-ask-rip span{
  display:inline-block!important;
  margin-left:2px!important;
  font-family:Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:.8!important;
}
#buggy-passport-app #home .home-ask-rip:hover,
#buggy-passport-app #home .home-ask-rip:focus-visible{
  background:var(--fog,#fffdf7)!important;
  color:var(--navy,#041E42)!important;
  border-color:var(--navy,#041E42)!important;
  outline:none!important;
  box-shadow:none!important;
}
#buggy-passport-app #home .home-ask-rip:active,
#buggy-passport-app #home .home-ask-rip.is-pressed{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  border-color:var(--navy,#041E42)!important;
  transform:none!important;
  box-shadow:none!important;
}
#buggy-passport-app #home .home-ask-rip.is-asking{
  border-color:var(--navy,#041E42)!important;
  box-shadow:none!important;
}
#buggy-passport-app #home .home-speech.rip-home-logo-frame{
  display:block!important;
  position:absolute!important;
  padding:0!important;
}
#buggy-passport-app #home .home-speech.rip-home-logo-frame .rip-home-passport-frame{
  position:absolute!important;
  display:block!important;
  left:45%!important;
  top:37%!important;
  width:min(58%,190px)!important;
  max-width:190px!important;
  max-height:80px!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translate(-50%,-50%)!important;
}
@media(max-width:380px){
  #buggy-passport-app #home .home-ask-rip{
    right:0!important;
    top:65px!important;
    min-width:0!important;
    min-height:0!important;
    padding:2px 3px!important;
    font-size:9px!important;
  }
  #buggy-passport-app #home .home-speech.rip-home-logo-frame .rip-home-passport-frame{
    top:36%!important;
    width:min(60%,184px)!important;
    max-width:184px!important;
    max-height:76px!important;
  }
}

#buggy-passport-app #home .home-speech .rip-callout-copy{
  transform:translateX(5px)!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v136 — app-wide movable RIP presenter handle
   The Welcome page remains untouched. The MOVE swoosh sits over the waist of
   the primary waist-up RIP presenter and drags the entire RIP + callout unit.
   ========================================================================== */
#buggyRipMoveHandle{
  position:fixed!important;
  left:0;
  top:0;
  z-index:995!important;
  width:86px!important;
  height:32px!important;
  min-width:86px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0 12px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(4,30,66,.14)!important;
  border-radius:999px!important;
  background:var(--lantern,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  text-shadow:none!important;
  box-shadow:0 7px 16px rgba(4,30,66,.22)!important;
  font:400 11px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-touch-callout:none!important;
  cursor:grab!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center!important;
  pointer-events:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
#buggyRipMoveHandle[hidden]{display:none!important;}
#buggyRipMoveHandle:before{content:none!important;}
#buggyRipMoveHandle.is-dragging{
  cursor:grabbing!important;
  transform:translate(-50%,-50%) scale(1.04)!important;
  box-shadow:0 9px 20px rgba(4,30,66,.28)!important;
}

@media(max-width:380px){
  #buggyRipMoveHandle{
    width:80px!important;
    min-width:80px!important;
    height:30px!important;
    min-height:30px!important;
    font-size:10px!important;
    padding:0 10px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #buggyRipMoveHandle{transition:none!important;}
}

/* Individual translate is deliberately separate from the presenter's existing
   transform rules, so centering/open animations and callout geometry remain
   untouched. */
#buggy-passport-app .buggy-rip-movable-presenter{
  translate:var(--buggy-rip-user-x,0px) var(--buggy-rip-user-y,0px)!important;
}

@media(max-width:380px){
  #buggyRipMoveHandle{
    width:50px!important;
    min-width:50px!important;
    height:23px!important;
    min-height:23px!important;
    font-size:8.8px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #buggyRipMoveHandle{transition:none!important;}
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v152 — FINAL Page 2 RIP control pair
   MOVE RIP | ASK RIP, two separate buttons, zero gap, same viewport layer.
   ========================================================================== */
#buggyRipMoveHandle,
#activationAskRipButton{
  box-sizing:border-box!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0 3px!important;
  border:2px solid rgba(4,30,66,.76)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 11.5px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  text-transform:none!important;
  align-items:center!important;
  justify-content:center!important;
}
#buggyRipMoveHandle,
#activationAskRipButton{
  position:fixed!important;
  z-index:995!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
}
#buggyRipMoveHandle{
  display:flex!important;
}
#activationAskRipButton{
  display:flex!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:rgba(4,30,66,.12)!important;
}
#activationAskRipButton[hidden]{
  display:none!important;
}
#buggyRipMoveHandle.is-dragging{
  transform:translate(-50%,-50%) scale(1.03)!important;
  box-shadow:none!important;
}
#activationAskRipButton:hover,
#activationAskRipButton:focus-visible{
  background:var(--fog,#fffdf7)!important;
  color:var(--navy,#041E42)!important;
  border-color:var(--navy,#041E42)!important;
  outline:none!important;
  box-shadow:none!important;
  transform:translate(-50%,-50%)!important;
}
#activationAskRipButton:active,
#activationAskRipButton.is-pressed{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  border-color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  transform:translate(-50%,-50%)!important;
}
@media(max-width:380px){
  #buggyRipMoveHandle,
  #activationAskRipButton{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    padding:0 3px!important;
    font-size:11.5px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v153 — app-wide non-Welcome RIP controls
   Primary waist-up RIP presenters use MOVE RIP | ASK RIP.
   ========================================================================== */

/* Shared body-layer ASK RIP is intentionally outside #buggy-passport-app. */
#buggyRipMoveHandle,
#activationAskRipButton{
  box-sizing:border-box!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:0 3px!important;
  border:2px solid rgba(4,30,66,.76)!important;
  border-radius:999px!important;
  background:#FEBD3B!important;
  color:#041E42!important;
  box-shadow:none!important;
  font:400 11.5px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  text-transform:none!important;
  align-items:center!important;
  justify-content:center!important;
  position:fixed!important;
  z-index:995!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
}
#buggyRipMoveHandle{display:flex!important;}
#activationAskRipButton{
  display:flex!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:rgba(4,30,66,.12)!important;
}
#activationAskRipButton[hidden]{display:none!important;}
#activationAskRipButton:hover,
#activationAskRipButton:focus-visible{
  background:#fffdf7!important;
  color:#041E42!important;
  border-color:#041E42!important;
  outline:none!important;
  box-shadow:none!important;
  transform:translate(-50%,-50%)!important;
}
#activationAskRipButton:active,
#activationAskRipButton.is-pressed{
  background:#041E42!important;
  color:#FEBD3B!important;
  border-color:#041E42!important;
  box-shadow:none!important;
  transform:translate(-50%,-50%)!important;
}

/* On Setup, the waist-level ASK RIP is the closed-state help affordance.
   Once expanded, the existing GOT IT / MORE actions remain inside the callout. */
#buggy-passport-app #passportSetup #setupRipScene:not(.v78-explain-open) #buggyExplainButton{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v78-explain-open #buggyExplainButton{
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:380px){
  #buggyRipMoveHandle,
  #activationAskRipButton{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:24px!important;
    min-height:24px!important;
    max-height:24px!important;
    padding:0 3px!important;
    font-size:11.5px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v154 — Page 3A New Passport RIP one-shot communication
   ========================================================================== */
#buggy-passport-app #passportSetup #setupRipScene .setup-speech.setup-rip-silent{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v155 — vertical password requirements */
#buggy-passport-app #passportSetup .password-rules{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:2px!important;
}
#buggy-passport-app #passportSetup .password-rules span{
  display:block!important;
  width:100%!important;
}
#buggy-passport-app #passportSetup .password-rules span::before{
  content:"• ";
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v156 — remove obsolete RIP dock from New Passport only */
#buggy-passport-app #passportSetup .passport-setup-step[data-setup-step="3"].v116-guided-panel.active{
  padding-bottom:14px!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v157 — Existing Passport reviewed RIP behavior
   ========================================================================== */
#buggy-passport-app #passportLogin #loginRipScene .setup-speech.login-rip-silent{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* RIP now floats independently; the old 92px login dock is obsolete. */
#buggy-passport-app #passportLogin .passport-setup-step.v116-guided-panel.active{
  padding-bottom:14px!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v159 — FROM → Home Area → Connection
   ========================================================================== */

/* One-shot Step 4 RIP communication: hide only the callout, never RIP. */
#buggy-passport-app #passportSetup #setupRipScene .setup-speech.v159-rip-silent{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Optional Home Area panel lives inside Step 4 but is its own onboarding stage. */
#buggy-passport-app #passportSetup #v159HomeAreaPanel{
  display:none;
  margin:10px 0 14px;
  padding:14px;
  border:1px solid rgba(4,30,66,.16);
  border-radius:18px;
  background:rgba(255,253,247,.96);
  color:var(--navy);
}
#buggy-passport-app #passportSetup #v159HomeAreaPanel.show{
  display:block!important;
}
#buggy-passport-app #passportSetup #v159HomeAreaPanel .v159-home-title{
  margin:0 0 5px;
  color:var(--navy);
  font:1000 15px/1.15 Arial,sans-serif;
  text-transform:uppercase;
}
#buggy-passport-app #passportSetup #v159HomeAreaPanel .v159-home-from{
  margin:0 0 8px;
  color:var(--sage);
  font:900 10px/1.2 Arial,sans-serif;
  text-transform:uppercase;
}
#buggy-passport-app #passportSetup #v159HomeAreaPanel .v159-home-copy{
  margin:0 0 10px;
  color:var(--char);
  font:800 11px/1.35 Arial,sans-serif;
}
#buggy-passport-app #passportSetup #v159HomeAreaChoices{
  display:grid;
  gap:7px;
}
#buggy-passport-app #passportSetup .v159-home-choice{
  width:100%;
  min-height:40px;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid rgba(4,30,66,.18)!important;
  border-radius:14px!important;
  background:var(--fog)!important;
  color:var(--navy)!important;
  box-shadow:none!important;
  text-align:left!important;
  font:900 11px/1.2 Arial,sans-serif!important;
  text-transform:none!important;
}
#buggy-passport-app #passportSetup .v159-home-choice.selected{
  border:2px solid var(--navy)!important;
  background:rgba(254,189,59,.22)!important;
}
#buggy-passport-app #passportSetup #v159HomeAreaOther{
  margin-top:8px;
}
#buggy-passport-app #passportSetup #v159HomeAreaOther[hidden]{
  display:none!important;
}
#buggy-passport-app #passportSetup .v159-home-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:12px;
}
#buggy-passport-app #passportSetup #v159HomeAreaContinue,
#buggy-passport-app #passportSetup #v159HomeAreaSkip{
  min-height:42px!important;
  margin:0!important;
}
#buggy-passport-app #passportSetup #v159HomeAreaSkip{
  padding:8px 11px!important;
  background:transparent!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.25)!important;
  box-shadow:none!important;
}

/* Home Area is between location confirmation and BUGGY connection. */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] .buggy-pin-flow-intro,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #buggyWorldBoard,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #buggyPinFlowStatus,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #buggyPinPlacementContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #v62LocationConfirmPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #v62LocationDetailPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #v62LocationDetailContinue,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #v62AgePanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #originContextPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] .buggy-pin-connection-ui,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] .buggy-connection-field,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #localAreaPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] #representativeContextPanel,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="homeArea"] > .setup-action[data-buggy-final-connection="true"]{
  display:none!important;
}

/* The confirmation choices explicitly support both retry and manual entry. */
#buggy-passport-app #passportSetup #v159TryPinAgain{
  background:var(--fog)!important;
  color:var(--navy)!important;
  border:1px solid rgba(4,30,66,.24)!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v160 — ASK RIP user-controlled help cadence
   ========================================================================== */
#buggy-passport-app #passportSetup #setupRipScene .v160-ask-advance{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:10px!important;
  z-index:9!important;
  width:max-content!important;
  min-width:58px!important;
  min-height:25px!important;
  margin:0!important;
  padding:3px 9px!important;
  transform:translateX(-50%)!important;
  border:2px solid rgba(4,30,66,.76)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10.5px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#buggy-passport-app #passportSetup #setupRipScene .v160-ask-advance[hidden]{
  display:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .v160-ask-advance:hover,
#buggy-passport-app #passportSetup #setupRipScene .v160-ask-advance:focus-visible{
  background:var(--fog,#fffdf7)!important;
  color:var(--navy,#041E42)!important;
  outline:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .v160-ask-advance:active{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v160-ask-open .setup-speech{
  pointer-events:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v160-ask-open .setup-speech .rip-callout-copy{
  bottom:48px!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v161 — Final: Age + Access RIP guidance
   ========================================================================== */
#buggy-passport-app #passportSetup #setupRipScene .v161-age-ask-advance{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:10px!important;
  z-index:10!important;
  width:max-content!important;
  min-width:58px!important;
  min-height:25px!important;
  margin:0!important;
  padding:3px 9px!important;
  transform:translateX(-50%)!important;
  border:2px solid rgba(4,30,66,.76)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10.5px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#buggy-passport-app #passportSetup #setupRipScene .v161-age-ask-advance[hidden]{
  display:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .v161-age-ask-advance:hover,
#buggy-passport-app #passportSetup #setupRipScene .v161-age-ask-advance:focus-visible{
  background:var(--fog,#fffdf7)!important;
  color:var(--navy,#041E42)!important;
  outline:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene .v161-age-ask-advance:active{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v161-age-ask-open .setup-speech{
  pointer-events:none!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v161-age-ask-open .setup-speech .rip-callout-copy{
  bottom:48px!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v162 — Guardian pending Minor continuation
   ========================================================================== */
#buggy-passport-app #passportSetup #v123AgeContinue{
  white-space:normal!important;
}
#buggy-passport-app #passportSetup #v123GuardianStatus{
  line-height:1.35!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v163 — Guardian invitation locks Minor age path
   ========================================================================== */
#buggy-passport-app #passportSetup #v123Adult.guardian-invite-locked,
#buggy-passport-app #passportSetup #v123Adult:disabled{
  opacity:.42!important;
  cursor:not-allowed!important;
  filter:grayscale(.35)!important;
  box-shadow:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v165 — Onboarding RIP communication standard
   Primary: readable → disappear
   ASK RIP: one thought → CONT. → GOT IT
   ========================================================================== */

/* Retire the older in-callout Explain/MORE controls and v160/v161 buttons.
   The waist-level ASK RIP remains the single closed-state help affordance. */
#buggy-passport-app #passportSetup #buggyCalloutActions,
#buggy-passport-app #passportSetup #v160AskAdvance,
#buggy-passport-app #passportSetup #v161AgeAskAdvance{
  display:none!important;
}

/* Generic v165 in-callout ASK control. */
#buggy-passport-app .v165-ask-advance{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:10px!important;
  z-index:30!important;
  width:max-content!important;
  min-width:58px!important;
  min-height:25px!important;
  margin:0!important;
  padding:3px 10px!important;
  transform:translateX(-50%)!important;
  border:2px solid rgba(4,30,66,.76)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10.5px/1 "Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  white-space:nowrap!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
#buggy-passport-app .v165-ask-advance[hidden]{
  display:none!important;
}
#buggy-passport-app .v165-ask-advance:hover,
#buggy-passport-app .v165-ask-advance:focus-visible{
  background:var(--fog,#fffdf7)!important;
  color:var(--navy,#041E42)!important;
  outline:none!important;
}
#buggy-passport-app .v165-ask-advance:active{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app .v165-ask-open .rip-callout-copy{
  bottom:48px!important;
}
#buggy-passport-app .v165-ask-open{
  pointer-events:auto!important;
}

/* "Full Access" is no longer Passport terminology. */
#buggy-passport-app #v123Companion{
  white-space:normal!important;
}

/* ---- preserved former <style> boundary ---- */

/* ========================================================================== 
   BUGGY Passport v169 — Guardian legal-responsibility attestation
   ========================================================================== */
#buggy-passport-app .v169-guardian-attestation-overlay{
  position:fixed!important;inset:0!important;z-index:470!important;
  display:grid!important;place-items:center!important;padding:18px!important;
  background:rgba(4,30,66,.62)!important;backdrop-filter:blur(8px)!important;
}
#buggy-passport-app .v169-guardian-attestation-overlay[hidden]{display:none!important;}
#buggy-passport-app .v169-guardian-attestation-panel{
  position:relative!important;width:min(410px,100%)!important;
  padding:22px 18px 18px!important;border:1px solid rgba(4,30,66,.16)!important;
  border-radius:26px!important;background:#fffaf0!important;color:var(--char,#2A2F2D)!important;
  box-shadow:0 24px 70px rgba(4,30,66,.28)!important;
}
#buggy-passport-app .v169-guardian-attestation-close{
  position:absolute!important;top:10px!important;right:10px!important;
  width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;
  border-radius:50%!important;background:var(--sun,#FEBD3B)!important;color:var(--navy,#041E42)!important;
  box-shadow:none!important;font:900 19px/1 Arial,sans-serif!important;
}
#buggy-passport-app .v169-guardian-attestation-title{
  margin:0 42px 12px 0!important;color:var(--navy,#041E42)!important;
  font:400 22px/1.08 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v169-guardian-attestation-person{
  display:flex!important;flex-direction:column!important;gap:4px!important;
  margin:0 0 12px!important;padding:10px 11px!important;border-radius:15px!important;
  background:rgba(254,189,59,.17)!important;color:var(--char,#2A2F2D)!important;
  font:400 12px/1.4 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v169-guardian-attestation-person b{
  color:var(--navy,#041E42)!important;
  font:400 11px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v169-guardian-attestation-check{
  display:grid!important;grid-template-columns:22px 1fr!important;gap:9px!important;align-items:start!important;
  margin:0 0 14px!important;padding:12px!important;border:1px solid rgba(4,30,66,.14)!important;
  border-radius:16px!important;background:#fffdf7!important;color:var(--char,#2A2F2D)!important;
  font:400 12px/1.48 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v169-guardian-attestation-check input{
  width:19px!important;height:19px!important;margin:1px 0 0!important;accent-color:var(--navy,#041E42)!important;
}
#buggy-passport-app #v169GuardianAttestationContinue{width:100%!important;margin:0!important;}
#buggy-passport-app .v169-guardian-attestation-status{
  min-height:18px!important;margin:8px 2px 0!important;color:var(--red,#BF0D3E)!important;
  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v170 — Multi-Guardian onboarding list
   ========================================================================== */
#buggy-passport-app #v170GuardianRequests{
  display:grid;
  gap:7px;
  margin:8px 0;
}
#buggy-passport-app #v170GuardianRequests[hidden]{display:none!important;}
#buggy-passport-app .v170-guardian-request{
  padding:9px 10px;
  border:1px solid rgba(4,30,66,.13);
  border-radius:14px;
  background:rgba(255,253,247,.9);
}
#buggy-passport-app .v170-guardian-request-email{
  overflow-wrap:anywhere;
  color:var(--navy,#041E42);
  font:800 11px/1.25 Arial,sans-serif;
}
#buggy-passport-app .v170-guardian-request-status{
  margin-top:4px;
  font:700 12px/1.3 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v170-guardian-request-status.pending{color:#9a6200;}
#buggy-passport-app .v170-guardian-request-status.linked{color:var(--navy,#041E42);}
#buggy-passport-app .v170-guardian-request-status.ready{color:var(--sage,#58615f);}
#buggy-passport-app .v170-guardian-request-status.error{color:var(--red,#BF0D3E);}
#buggy-passport-app #v170GuardianEntry[hidden]{display:none!important;}
#buggy-passport-app #v170GuardianAddAnother{
  width:100%!important;
  min-height:38px!important;
  margin:7px 0 0!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
#buggy-passport-app #v170GuardianAddAnother[hidden]{display:none!important;}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v171 — Guardian recovery + Passport bottom cleanup
   ========================================================================== */
#buggy-passport-app #passport{
  padding-bottom:16px!important;
}
#buggy-passport-app .v171-guardian-review{
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  margin:2px 0 0!important;
  padding:7px 11px!important;
  border:1.5px solid var(--navy,#041E42)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  cursor:pointer!important;
}
#buggy-passport-app .v171-guardian-review:hover,
#buggy-passport-app .v171-guardian-review:focus-visible{
  background:var(--fog,#FFFDF7)!important;
  outline:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v175 — Passport bottom + Status reset cleanup
   ========================================================================== */
#buggy-passport-app #passport{
  padding-bottom:16px!important;
  min-height:0!important;
}

#buggy-passport-app .v175-status-reset{
  width:max-content!important;
  max-width:100%!important;
  min-height:34px!important;
  margin:2px 0 0!important;
  padding:7px 11px!important;
  border:1.5px solid var(--navy,#041E42)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  cursor:pointer!important;
}
#buggy-passport-app .v175-status-reset:disabled{
  opacity:.58!important;
  cursor:wait!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v176 — Guardian controls + single reset polish
   ========================================================================== */

/* Legal attestation is a focused confirmation, not a RIP-presenter screen. */
body.v176-guardian-attestation-open #buggyRipMoveHandle,
body.v176-guardian-attestation-open #activationAskRipButton{
  display:none!important;
}

/* The in-dossier reset replaces the retired bottom v92 reset. */
#buggy-passport-app .v175-reset-row{
  display:block!important;
  grid-template-columns:1fr!important;
}
#buggy-passport-app .v176-reset-wrap{
  display:block!important;
  width:100%!important;
}
#buggy-passport-app .v175-status-reset{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:40px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px dashed rgba(191,13,62,.58)!important;
  border-radius:14px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 12px/1.15 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #v92StatusReset,
#buggy-passport-app #v92StatusResetNote{
  display:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v177 — Passport Markers modal hardening
   ========================================================================== */
body > #buggyGlobalModal #rewardsPage.buggy-modalized-screen,
body > #buggyGlobalModal #rewardsPage.buggy-modalized-screen #rewardsWallet,
body > #buggyGlobalModal #rewardsPage.buggy-modalized-screen .reward-file{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  visibility:visible!important;
  opacity:1!important;
}
body > #buggyGlobalModal #rewardsPage.buggy-modalized-screen #rewardsWallet,
body > #buggyGlobalModal #rewardsPage.buggy-modalized-screen .reward-file{
  display:grid!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v179 — Passport Markers / Access + Incentives wallet
   ========================================================================== */

#buggyGlobalModal #rewardsPage.buggy-modalized-screen > .title{
  margin-bottom:9px!important;
}
#buggyGlobalModal #rewardsPage.buggy-modalized-screen > .title h3{
  position:relative!important;
  display:inline-block!important;
  margin:0!important;
  padding:2px 7px 4px!important;
  color:var(--navy,#041E42)!important;
  font:400 21px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-transform:uppercase!important;
  isolation:isolate!important;
}
#buggyGlobalModal #rewardsPage.buggy-modalized-screen > .title h3:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:-4px!important;
  right:-8px!important;
  bottom:1px!important;
  height:9px!important;
  background:var(--sun,#FEBD3B)!important;
  opacity:.92!important;
  transform:rotate(-1deg)!important;
  clip-path:polygon(0 28%,5% 0,13% 18%,24% 4%,38% 18%,52% 0,66% 18%,80% 4%,92% 18%,100% 0,98% 78%,86% 90%,72% 78%,58% 94%,44% 80%,29% 96%,15% 80%,2% 100%)!important;
}

#buggyGlobalModal .v179-reward-file{
  display:grid!important;
  gap:11px!important;
}

#buggyGlobalModal .v179-wallet-summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  padding:8px!important;
  border-radius:18px!important;
  background:var(--navy,#041E42)!important;
}
#buggyGlobalModal .v179-wallet-summary > div{
  min-width:0!important;
  padding:8px 5px!important;
  border:1px solid rgba(255,253,247,.13)!important;
  border-radius:12px!important;
  text-align:center!important;
}
#buggyGlobalModal .v179-wallet-summary b{
  display:block!important;
  color:var(--sun,#FEBD3B)!important;
  font:900 17px/1 Arial,sans-serif!important;
}
#buggyGlobalModal .v179-wallet-summary span{
  display:block!important;
  margin-top:4px!important;
  color:var(--fog,#FFFDF7)!important;
  font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.035em!important;
}

#buggyGlobalModal .v179-wallet-hero{
  position:relative!important;
  overflow:hidden!important;
  padding:14px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:21px!important;
  background:#fffaf0!important;
  color:var(--navy,#041E42)!important;
  box-shadow:0 7px 18px rgba(4,30,66,.10)!important;
}
#buggyGlobalModal .v179-wallet-hero.is-bogo{
  background:var(--sun,#FEBD3B)!important;
}
#buggyGlobalModal .v179-wallet-hero-kicker{
  display:inline-block!important;
  margin-bottom:5px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:var(--navy,#041E42)!important;
  color:var(--fog,#FFFDF7)!important;
  font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .v179-wallet-hero-title{
  color:var(--navy,#041E42)!important;
  font:400 26px/.98 "Permanent Marker","Comic Sans MS",cursive!important;
  text-transform:uppercase!important;
}
#buggyGlobalModal .v179-wallet-hero-copy{
  margin-top:7px!important;
  color:var(--char,#2A2F2D)!important;
  font:800 12px/1.28 Arial,sans-serif!important;
}
#buggyGlobalModal .v179-wallet-hero-copy span{
  display:block!important;
  margin-top:4px!important;
  color:rgba(42,47,45,.74)!important;
  font:700 10px/1.3 Arial,sans-serif!important;
}
#buggyGlobalModal .v179-wallet-hero button{
  width:100%!important;
  min-height:42px!important;
  margin-top:11px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:14px!important;
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  box-shadow:none!important;
  font:400 13px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

#buggyGlobalModal .reward-section-block{
  position:relative!important;
  overflow:hidden!important;
  padding:12px!important;
  border:1px solid rgba(4,30,66,.13)!important;
  border-radius:18px!important;
  background:#fbf4e5!important;
}
#buggyGlobalModal .reward-section-title{
  color:var(--navy,#041E42)!important;
  font:400 13px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
}
#buggyGlobalModal .reward-section-count{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  font:900 11px/1 Arial,sans-serif!important;
}

#buggyGlobalModal .v179-available-section{
  border-color:rgba(254,189,59,.78)!important;
}
#buggyGlobalModal .v179-available-section .reward-section-title:before{
  content:"READY TO GO!"!important;
  position:absolute!important;
  right:48px!important;
  top:14px!important;
  color:rgba(191,13,62,.74)!important;
  font:400 8px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  transform:rotate(-2deg)!important;
}

#buggyGlobalModal .reward-wallet-card{
  padding:12px!important;
  border:1px solid rgba(255,253,247,.15)!important;
  border-radius:16px!important;
  background:var(--navy,#041E42)!important;
}
#buggyGlobalModal .reward-wallet-card.primary-vendor-incentive{
  border:2px solid var(--sun,#FEBD3B)!important;
  box-shadow:0 0 0 2px rgba(254,189,59,.12)!important;
}
#buggyGlobalModal .v179-wallet-card-kicker{
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 5px!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font:400 8px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .reward-wallet-card.used .v179-wallet-card-kicker{
  background:rgba(88,97,95,.18)!important;
  color:var(--sage,#58615F)!important;
}
#buggyGlobalModal .reward-wallet-card b{
  font:400 15px/1.08 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .reward-wallet-card button{
  min-height:38px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font:400 11px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

#buggyGlobalModal .passport-earned-item{
  border-radius:16px!important;
}
#buggyGlobalModal .passport-earned-item.v179-marker-has-bogo{
  border:2px solid var(--sun,#FEBD3B)!important;
}
#buggyGlobalModal .passport-unused-bogo{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:6px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font:400 8px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

#buggyGlobalModal .access-wallet-card{
  position:relative!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(4,30,66,.065)!important;
}
#buggyGlobalModal .access-wallet-card .v179-wallet-card-kicker{
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
}

@media(max-width:390px){
  #buggyGlobalModal .v179-wallet-hero-title{
    font-size:22px!important;
  }
  #buggyGlobalModal .v179-wallet-summary{
    gap:5px!important;
    padding:6px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v180 — Passport Home / Markers / Relationships polish
   ========================================================================== */

/* Passport Home no longer reserves viewport filler beneath EASE / TRUST.
   Other screens keep their existing fixed support-footer behavior. */
#buggy-passport-app.passport-screen-active{
  min-height:0!important;
}
#buggy-passport-app.passport-screen-active .phone{
  min-height:0!important;
  height:auto!important;
}
#buggy-passport-app.passport-screen-active main{
  flex:0 0 auto!important;
  padding-bottom:0!important;
}
#buggy-passport-app.passport-screen-active #passport{
  padding-bottom:0!important;
  min-height:0!important;
}
#buggy-passport-app.passport-screen-active #passport > .screen-support-footer{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:calc(100% + 32px)!important;
  margin:14px -16px 0!important;
  padding:7px 10px 8px!important;
  backdrop-filter:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}

/* Passport Home Marker = permanent Marker identity + Incentive state only. */
#buggy-passport-app #passport .v180-home-marker{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  min-height:58px!important;
  padding:10px 11px!important;
  border:1px solid rgba(255,253,247,.14)!important;
  border-radius:15px!important;
  background:var(--navy,#041E42)!important;
  color:var(--fog,#FFFDF7)!important;
  text-align:left!important;
  box-shadow:none!important;
}
#buggy-passport-app #passport .v180-home-marker .passport-earned-copy b{
  color:var(--fog,#FFFDF7)!important;
  font:900 12px/1.15 Arial,sans-serif!important;
  text-transform:uppercase!important;
}
#buggy-passport-app .v180-home-marker-incentive,
#buggyGlobalModal .v180-wallet-marker-incentive{
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:6px!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  font:400 8.5px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-transform:uppercase!important;
}
#buggy-passport-app .v180-home-marker-incentive.available,
#buggyGlobalModal .v180-wallet-marker-incentive.available{
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
}
#buggy-passport-app .v180-home-marker-incentive.used,
#buggyGlobalModal .v180-wallet-marker-incentive.used{
  background:rgba(88,97,95,.22)!important;
  color:var(--sage,#58615F)!important;
}

/* Markers wallet hierarchy: Available Now is visually first and unique. */
#buggyGlobalModal .v180-reward-file{
  display:grid!important;
  gap:11px!important;
}
#buggyGlobalModal .v180-reward-file > .v179-wallet-hero{order:1!important;}
#buggyGlobalModal .v180-reward-file > .v179-wallet-summary{order:2!important;}
#buggyGlobalModal .v180-reward-file > .v179-markers-section{order:3!important;}
#buggyGlobalModal .v180-reward-file > .v179-access-section{order:4!important;}
#buggyGlobalModal .v180-reward-file > .v180-other-available-section{order:5!important;}
#buggyGlobalModal .v180-reward-file > .v179-used-section{order:6!important;}
#buggyGlobalModal .v180-wallet-marker{min-height:58px!important;}
#buggyGlobalModal .v180-wallet-marker .passport-earned-copy small{display:none!important;}

/* Guardian / Companion actions live with Relationships, not at dossier bottom. */
#buggy-passport-app .v180-relationship-action{
  width:100%!important;
  min-height:40px!important;
  margin:2px 0 6px!important;
  padding:9px 12px!important;
  border:0!important;
  border-radius:14px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 12px/1.1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #v81StatusAction{
  display:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v181 — Passport Marker Folder
   ========================================================================== */
#buggyGlobalModal #rewardsPage.buggy-modalized-screen > .title span{
  color:rgba(42,47,45,.70)!important;
  font:700 12px/1.25 "Courier Prime","Courier New",monospace!important;
}
#buggyGlobalModal #rewardsWallet{display:block!important;}
#buggyGlobalModal .v181-marker-wallet{display:grid!important;gap:11px!important;width:100%!important;}

#buggyGlobalModal .v181-reward-shelf{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
#buggyGlobalModal .v181-reward-ticket{
  min-width:0!important;min-height:82px!important;padding:10px 7px!important;
  border:2px solid var(--navy,#041E42)!important;border-radius:15px 15px 9px 9px!important;
  background:#fffaf0!important;color:var(--navy,#041E42)!important;
  box-shadow:0 5px 12px rgba(4,30,66,.08)!important;text-align:left!important;
}
#buggyGlobalModal .v181-reward-ticket.is-bogo{background:var(--sun,#FEBD3B)!important;}
#buggyGlobalModal .v181-reward-ticket-family{display:block!important;font:400 14px/1 "Permanent Marker","Comic Sans MS",cursive!important;}
#buggyGlobalModal .v181-reward-ticket-state{
  display:inline-block!important;margin-top:6px!important;padding:3px 5px!important;border-radius:999px!important;
  background:var(--navy,#041E42)!important;color:var(--fog,#FFFDF7)!important;
  font:400 7.5px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .v181-reward-ticket small{
  display:block!important;margin-top:7px!important;overflow:hidden!important;text-overflow:ellipsis!important;
  color:rgba(42,47,45,.70)!important;font:700 12px/1.15 "Courier Prime","Courier New",monospace!important;
}

#buggyGlobalModal .v181-marker-folder{position:relative!important;padding-top:36px!important;}
#buggyGlobalModal .v181-folder-tabs{
  position:absolute!important;z-index:2!important;top:0!important;left:9px!important;right:9px!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;
}
#buggyGlobalModal .v181-folder-tabs button{
  min-width:0!important;min-height:42px!important;padding:8px 5px 12px!important;
  border:1.5px solid rgba(4,30,66,.34)!important;border-bottom:0!important;border-radius:13px 13px 0 0!important;
  background:#eee4cf!important;color:var(--navy,#041E42)!important;box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .v181-folder-tabs button.active{background:var(--sun,#FEBD3B)!important;transform:translateY(-2px)!important;}
#buggyGlobalModal .v181-folder-face{
  position:relative!important;z-index:1!important;overflow:hidden!important;min-height:255px!important;padding:15px 13px 14px!important;
  border:2px solid var(--navy,#041E42)!important;border-radius:8px 8px 20px 20px!important;background:#fff6df!important;
  box-shadow:0 9px 22px rgba(4,30,66,.14)!important;
}
#buggyGlobalModal .v181-folder-title{margin:1px 0 9px!important;color:var(--navy,#041E42)!important;font:400 18px/1 "Permanent Marker","Comic Sans MS",cursive!important;}

#buggyGlobalModal .v181-folder-summary{display:grid!important;gap:4px!important;padding:8px!important;border-radius:13px!important;background:rgba(4,30,66,.055)!important;}
#buggyGlobalModal .v181-folder-summary button{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;
  width:100%!important;min-height:31px!important;padding:4px 6px!important;border:0!important;border-bottom:1px dashed rgba(4,30,66,.18)!important;
  border-radius:0!important;background:transparent!important;color:var(--navy,#041E42)!important;box-shadow:none!important;text-align:left!important;
}
#buggyGlobalModal .v181-folder-summary button:last-child{border-bottom:0!important;}
#buggyGlobalModal .v181-folder-summary span{font:700 12px/1.1 "Courier Prime","Courier New",monospace!important;}
#buggyGlobalModal .v181-folder-summary b{min-width:24px!important;color:var(--red,#BF0D3E)!important;font:400 18px/1 "Permanent Marker","Comic Sans MS",cursive!important;text-align:right!important;}
#buggyGlobalModal .v181-folder-divider{height:2px!important;margin:11px -13px 10px!important;background:var(--navy,#041E42)!important;opacity:.14!important;}

#buggyGlobalModal .v181-folder-content{display:grid!important;gap:7px!important;}
#buggyGlobalModal .v181-folder-marker{
  display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;
  width:100%!important;min-height:53px!important;padding:8px 9px!important;border:1px solid rgba(4,30,66,.14)!important;
  border-radius:13px!important;background:#fffdf7!important;color:var(--navy,#041E42)!important;box-shadow:none!important;text-align:left!important;
}
#buggyGlobalModal .v181-folder-marker-check{
  display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:50%!important;
  background:var(--navy,#041E42)!important;color:var(--sun,#FEBD3B)!important;font:900 13px/1 Arial,sans-serif!important;
}
#buggyGlobalModal .v181-folder-marker-copy b{display:block!important;color:var(--navy,#041E42)!important;font:900 11px/1.15 Arial,sans-serif!important;text-transform:uppercase!important;}
#buggyGlobalModal .v181-folder-marker-reward{
  display:inline-block!important;width:max-content!important;max-width:100%!important;margin-top:5px!important;padding:3px 6px!important;
  border-radius:999px!important;font:400 8px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .v181-folder-marker-reward.available{background:var(--sun,#FEBD3B)!important;color:var(--navy,#041E42)!important;}
#buggyGlobalModal .v181-folder-marker-reward.used{background:rgba(88,97,95,.17)!important;color:var(--sage,#58615F)!important;}
#buggyGlobalModal .v181-folder-open{color:var(--red,#BF0D3E)!important;font:900 20px/1 Arial,sans-serif!important;}

#buggyGlobalModal .v181-folder-record{padding:10px!important;border:1px solid rgba(4,30,66,.14)!important;border-radius:13px!important;background:#fffdf7!important;}
#buggyGlobalModal .v181-folder-record.reward.available{border-color:rgba(254,189,59,.80)!important;}
#buggyGlobalModal .v181-folder-record-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;}
#buggyGlobalModal .v181-folder-record-head b{color:var(--navy,#041E42)!important;font:400 13px/1 "Permanent Marker","Comic Sans MS",cursive!important;}
#buggyGlobalModal .v181-folder-record-head span{
  flex:0 0 auto!important;padding:3px 5px!important;border-radius:999px!important;background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;font:400 7.5px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .v181-folder-record small{display:block!important;margin-top:6px!important;color:rgba(42,47,45,.72)!important;font:700 12px/1.28 "Courier Prime","Courier New",monospace!important;}
#buggyGlobalModal .v181-folder-record button{
  width:100%!important;min-height:37px!important;margin-top:8px!important;border:0!important;border-radius:11px!important;
  background:var(--sun,#FEBD3B)!important;color:var(--navy,#041E42)!important;box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggyGlobalModal .v181-folder-record-note{margin-top:7px!important;color:var(--sage,#58615F)!important;font:700 12px/1.25 "Courier Prime","Courier New",monospace!important;}
#buggyGlobalModal .v181-folder-empty{padding:13px!important;border:1px dashed rgba(4,30,66,.20)!important;border-radius:13px!important;color:rgba(42,47,45,.68)!important;font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;}

@media(max-width:390px){
  #buggyGlobalModal .v181-reward-shelf{gap:5px!important;}
  #buggyGlobalModal .v181-reward-ticket{min-height:76px!important;padding:9px 6px!important;}
  #buggyGlobalModal .v181-reward-ticket-family{font-size:12px!important;}
  #buggyGlobalModal .v181-folder-tabs button{font-size:9px!important;}
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================\n   BUGGY Passport v182 — Marker Folder on Passport Home\n   Physical file-folder tabs + wallet-style reward tickets.\n   ========================================================================== */
#buggy-passport-app #passport .v182-passport-markers-card{
  position:relative!important;
  overflow:visible!important;
  padding:15px 13px 16px!important;
  border:1.5px solid rgba(4,30,66,.22)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fffdf7 0%,#f7f0e3 100%)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:0 14px 28px rgba(4,30,66,.12)!important;
}
#buggy-passport-app #passport .v182-passport-markers-card .passport-markers-heading{
  position:relative!important;
  z-index:1!important;
  display:inline-block!important;
  margin:0 0 12px 8px!important;
  padding:2px 5px 4px!important;
  color:var(--navy,#041E42)!important;
  font:400 18px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-transform:uppercase!important;
}
#buggy-passport-app #passport .v182-passport-markers-card .passport-markers-heading:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  left:-9px!important;right:-11px!important;bottom:0!important;height:9px!important;
  background:var(--sun,#FEBD3B)!important;
  transform:rotate(-1deg)!important;
  clip-path:polygon(0 32%,7% 3%,15% 19%,26% 5%,39% 20%,52% 0,67% 18%,82% 4%,94% 20%,100% 8%,98% 78%,86% 92%,70% 79%,56% 96%,42% 81%,26% 96%,11% 80%,1% 100%)!important;
}
#buggy-passport-app #passport .v182-home-marker-folder{display:grid!important;gap:9px!important;}

/* Reward tickets sit visibly above the folder only when available. */
#buggy-passport-app #passport .v182-home-reward-rail{
  display:flex!important;
  gap:7px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:1px 2px 4px!important;
  scrollbar-width:none!important;
}
#buggy-passport-app #passport .v182-home-reward-rail::-webkit-scrollbar{display:none!important;}
#buggy-passport-app #passport .v182-home-reward-ticket{
  position:relative!important;
  flex:0 0 104px!important;
  min-height:58px!important;
  padding:10px 9px 9px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:13px 13px 7px 7px!important;
  background:#fff6df!important;
  color:var(--navy,#041E42)!important;
  box-shadow:0 5px 10px rgba(4,30,66,.10)!important;
  text-align:left!important;
  clip-path:polygon(0 0,100% 0,100% 82%,94% 87%,100% 93%,100% 100%,0 100%,0 93%,6% 87%,0 82%)!important;
}
#buggy-passport-app #passport .v182-home-reward-ticket.is-bogo{background:var(--sun,#FEBD3B)!important;}
#buggy-passport-app #passport .v182-home-reward-ticket.is-boost{background:#dfe9df!important;}
#buggy-passport-app #passport .v182-home-reward-ticket.is-box{background:#fffaf0!important;}
#buggy-passport-app #passport .v182-home-reward-ticket span{
  display:block!important;font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #passport .v182-home-reward-ticket small{
  display:inline-block!important;margin-top:8px!important;padding:3px 6px!important;border-radius:999px!important;
  background:var(--navy,#041E42)!important;color:var(--fog,#FFFDF7)!important;
  font:400 7.5px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}

/* The folder is intentionally unmistakable: indexed tabs on a manila body. */
#buggy-passport-app #passport .v182-home-folder-shell{position:relative!important;padding-top:32px!important;}
#buggy-passport-app #passport .v182-home-folder-tabs{
  position:absolute!important;z-index:3!important;top:0!important;left:7px!important;right:7px!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;
}
#buggy-passport-app #passport .v182-home-folder-tabs button{
  min-width:0!important;min-height:38px!important;padding:8px 3px 11px!important;
  border:1.5px solid var(--navy,#041E42)!important;border-bottom:0!important;border-radius:12px 12px 0 0!important;
  background:#e9ddc5!important;color:var(--navy,#041E42)!important;box-shadow:none!important;
  font:400 9.5px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #passport .v182-home-folder-tabs button.active{
  background:var(--sun,#FEBD3B)!important;transform:translateY(-2px)!important;
}
#buggy-passport-app #passport .v182-home-folder-body{
  position:relative!important;z-index:2!important;overflow:hidden!important;
  padding:13px 11px 12px!important;border:2px solid var(--navy,#041E42)!important;border-radius:8px 8px 18px 18px!important;
  background:linear-gradient(180deg,#f8e7bd 0%,#f2dca6 100%)!important;
  box-shadow:0 8px 16px rgba(4,30,66,.13), inset 0 1px 0 rgba(255,255,255,.55)!important;
}
#buggy-passport-app #passport .v182-home-folder-body:after{
  content:""!important;position:absolute!important;pointer-events:none!important;inset:0!important;opacity:.18!important;
  background:repeating-linear-gradient(0deg,rgba(4,30,66,.04) 0 1px,transparent 1px 5px)!important;
}
#buggy-passport-app #passport .v182-home-folder-summary,
#buggy-passport-app #passport .v182-home-folder-detail{position:relative!important;z-index:1!important;}
#buggy-passport-app #passport .v182-home-folder-summary{
  display:grid!important;gap:2px!important;padding:6px 8px!important;border-radius:11px!important;background:rgba(255,253,247,.50)!important;
}
#buggy-passport-app #passport .v182-home-folder-summary button{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;
  min-height:28px!important;padding:4px 2px!important;border:0!important;border-bottom:1px dashed rgba(4,30,66,.20)!important;
  border-radius:0!important;background:transparent!important;color:var(--navy,#041E42)!important;box-shadow:none!important;text-align:left!important;
}
#buggy-passport-app #passport .v182-home-folder-summary button:last-child{border-bottom:0!important;}
#buggy-passport-app #passport .v182-home-folder-summary span{font:700 12px/1.1 "Courier Prime","Courier New",monospace!important;}
#buggy-passport-app #passport .v182-home-folder-summary b{color:var(--red,#BF0D3E)!important;font:400 17px/1 "Permanent Marker","Comic Sans MS",cursive!important;}
#buggy-passport-app #passport .v182-home-folder-detail{
  display:grid!important;gap:6px!important;margin-top:9px!important;padding-top:9px!important;border-top:2px solid rgba(4,30,66,.15)!important;
}
#buggy-passport-app #passport .v182-home-marker-row,
#buggy-passport-app #passport .v182-home-folder-record{
  display:grid!important;grid-template-columns:27px minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;
  width:100%!important;min-height:49px!important;padding:7px 8px!important;border:1px solid rgba(4,30,66,.16)!important;border-radius:11px!important;
  background:#fffaf0!important;color:var(--navy,#041E42)!important;box-shadow:none!important;text-align:left!important;
}
#buggy-passport-app #passport .v182-home-folder-record{grid-template-columns:minmax(0,1fr) auto!important;}
#buggy-passport-app #passport .v182-home-marker-check{
  display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:50%!important;
  background:var(--navy,#041E42)!important;color:var(--sun,#FEBD3B)!important;font:900 13px/1 Arial,sans-serif!important;
}
#buggy-passport-app #passport .v182-home-marker-copy b,
#buggy-passport-app #passport .v182-home-folder-record b{
  display:block!important;color:var(--navy,#041E42)!important;font:900 10.5px/1.15 Arial,sans-serif!important;text-transform:uppercase!important;
}
#buggy-passport-app #passport .v182-home-marker-reward{
  display:inline-block!important;width:max-content!important;max-width:100%!important;margin-top:4px!important;padding:3px 6px!important;border-radius:999px!important;
  font:400 7.8px/1 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #passport .v182-home-marker-reward.available{background:var(--sun,#FEBD3B)!important;color:var(--navy,#041E42)!important;}
#buggy-passport-app #passport .v182-home-marker-reward.used{background:rgba(88,97,95,.18)!important;color:var(--sage,#58615F)!important;}
#buggy-passport-app #passport .v182-home-marker-open{color:var(--red,#BF0D3E)!important;font:900 18px/1 Arial,sans-serif!important;}
#buggy-passport-app #passport .v182-home-folder-record span{min-width:0!important;}
#buggy-passport-app #passport .v182-home-folder-record small{display:block!important;margin-top:3px!important;color:rgba(42,47,45,.64)!important;font:700 12px/1.15 "Courier Prime","Courier New",monospace!important;}
#buggy-passport-app #passport .v182-home-folder-record em{
  padding:4px 6px!important;border-radius:999px!important;background:var(--navy,#041E42)!important;color:var(--sun,#FEBD3B)!important;
  font:400 7.5px/1 "Permanent Marker","Comic Sans MS",cursive!important;font-style:normal!important;
}
#buggy-passport-app #passport .v182-home-folder-record.reward.available{border-color:rgba(254,189,59,.92)!important;}
#buggy-passport-app #passport .v182-home-folder-record:disabled{opacity:.72!important;}
#buggy-passport-app #passport .v182-home-folder-empty{
  padding:10px!important;border:1px dashed rgba(4,30,66,.22)!important;border-radius:10px!important;background:rgba(255,253,247,.42)!important;
  color:rgba(42,47,45,.72)!important;font:700 12px/1.3 "Courier Prime","Courier New",monospace!important;
}
@media(max-width:390px){
  #buggy-passport-app #passport .v182-passport-markers-card{padding:13px 10px 14px!important;}
  #buggy-passport-app #passport .v182-home-reward-ticket{flex-basis:96px!important;min-height:55px!important;}
  #buggy-passport-app #passport .v182-home-folder-tabs button{font-size:8.8px!important;}
  #buggy-passport-app #passport .v182-home-folder-summary span{font-size:9.4px!important;}
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v183 — shared painted titles + BUGGY BOGO ticket
   ========================================================================== */

/* PASSPORT MARKERS now uses the exact same display language as ROLL OUT and
   BUGGY Zone Map: bold uppercase Arial on the white painted BUGGY swash. */
#buggy-passport-app #passport .v182-passport-markers-card .passport-markers-heading{
  position:relative!important;
  isolation:isolate!important;
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 10px!important;
  padding:8px 15px 8px 12px!important;
  color:var(--char,#2A2F2D)!important;
  font:1000 14px/1.1 Arial,sans-serif!important;
  text-transform:uppercase!important;
  letter-spacing:0!important;
}
#buggy-passport-app #passport .v182-passport-markers-card .passport-markers-heading:before{
  content:""!important;
  position:absolute!important;
  inset:0 -5px!important;
  z-index:-1!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  pointer-events:none!important;
  background:var(--fog,#FFFDF7)!important;
  transform:none!important;
  clip-path:none!important;
  opacity:1!important;
  -webkit-mask-image:var(--buggy-paint-horizontal)!important;
  mask-image:var(--buggy-paint-horizontal)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:318.8% 396.9%!important;
  mask-size:318.8% 396.9%!important;
  -webkit-mask-position:50% 16.5%!important;
  mask-position:50% 16.5%!important;
  filter:drop-shadow(0 1px 0 rgba(4,30,66,.12))!important;
}

/* Shared two-line BUGGY reward titles; keep each ticket's existing colors. */
#buggy-passport-app #passport .v182-home-reward-ticket.has-stacked-name{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-height:72px!important;
  padding:8px 10px 9px!important;
}
#buggy-passport-app #passport .v182-home-reward-ticket .v183-bogo-name{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  margin:0!important;
  color:inherit!important;
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  line-height:.88!important;
  text-transform:uppercase!important;
}
#buggy-passport-app #passport .v182-home-reward-ticket .v183-bogo-name strong{
  display:block!important;
  color:inherit!important;
  font:400 19px/.88 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
}
#buggy-passport-app #passport .v182-home-reward-ticket.is-bogo .v183-bogo-name{color:var(--red,#BF0D3E)!important;}
#buggy-passport-app #passport .v182-home-reward-ticket.has-stacked-name small{
  margin-top:8px!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v182-home-reward-ticket.has-stacked-name{
    flex-basis:104px!important;
    min-height:68px!important;
  }
  #buggy-passport-app #passport .v182-home-reward-ticket .v183-bogo-name strong{
    font-size:18px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v184 — navy Passport Markers container
   ========================================================================== */

/* Match the BUGGY Zone Map card language: the outer Markers field stays navy
   so the white painted PASSPORT MARKERS swash has clear contrast. */
#buggy-passport-app #passport .v182-passport-markers-card{
  background:var(--navy,#041E42)!important;
  border-color:var(--navy,#041E42)!important;
  color:var(--fog,#FFFDF7)!important;
  box-shadow:0 10px 22px rgba(4,30,66,.16)!important;
}

/* Preserve separation between the navy field and the paper/folder objects. */
#buggy-passport-app #passport .v182-home-marker-folder{
  margin-top:1px!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v185 — single Guardian invitation landing
   ========================================================================== */
/* The legacy overlay remains available for Minor-side SEND GUARDIAN INVITE,
   but it is never a Guardian-email landing screen anymore. */
body.v185-guardian-invite-landing #buggyGuardianOverlay{
  display:none!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v186 — integrated Passport Marker dashboard
   ========================================================================== */

#buggy-passport-app #passport .v182-home-marker-folder{
  display:grid!important;
  gap:11px!important;
}

/* Reward tickets float above the folder, as in the sketch. */
#buggy-passport-app #passport .v186-home-reward-rail{
  padding:1px 3px 2px!important;
}

/* The three top controls read as rounded file-folder humps, not rectangles. */
#buggy-passport-app #passport .v186-marker-dashboard{
  position:relative!important;
  padding-top:39px!important;
}
#buggy-passport-app #passport .v186-folder-hump-tabs{
  position:absolute!important;
  z-index:4!important;
  top:0!important;
  left:7px!important;
  right:7px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
}
#buggy-passport-app #passport .v186-folder-hump-tabs button{
  position:relative!important;
  min-width:0!important;
  min-height:45px!important;
  padding:12px 4px 10px!important;
  border:2px solid var(--sun,#FEBD3B)!important;
  border-bottom:0!important;
  border-radius:999px 999px 0 0!important;
  background:#fff6df!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  font:400 10px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  transform:none!important;
}
#buggy-passport-app #passport .v186-folder-hump-tabs button + button{
  margin-left:-2px!important;
}
#buggy-passport-app #passport .v186-folder-hump-tabs button.active{
  z-index:2!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  transform:translateY(-3px)!important;
}

/* One integrated folder body: changing left panel + fixed right ledger. */
#buggy-passport-app #passport .v186-dashboard-body{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(112px,.72fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  padding:13px!important;
  border:2px solid var(--sun,#FEBD3B)!important;
  border-radius:14px 14px 20px 20px!important;
  background:linear-gradient(180deg,#fff7e3 0%,#f5e3bc 100%)!important;
  box-shadow:
    0 8px 17px rgba(4,30,66,.15),
    inset 0 1px 0 rgba(255,255,255,.72)!important;
}
#buggy-passport-app #passport .v186-dashboard-body:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.13!important;
  background:repeating-linear-gradient(
    0deg,
    rgba(4,30,66,.045) 0 1px,
    transparent 1px 5px
  )!important;
}
#buggy-passport-app #passport .v186-dashboard-left,
#buggy-passport-app #passport .v186-dashboard-ledger{
  position:relative!important;
  z-index:1!important;
  min-width:0!important;
}

/* TRAINING left panel is the existing Training Readiness image and a link. */
#buggy-passport-app #passport .v186-training-readiness-link{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  height:100%!important;
  min-height:146px!important;
  padding:10px!important;
  border:1.5px solid rgba(4,30,66,.22)!important;
  border-radius:14px!important;
  background:var(--fog,#FFFDF7)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
}
#buggy-passport-app #passport .v186-training-readiness-link img{
  display:block!important;
  width:100%!important;
  max-width:185px!important;
  max-height:92px!important;
  margin:auto!important;
  object-fit:contain!important;
}
#buggy-passport-app #passport .v186-training-readiness-link span{
  display:block!important;
  width:100%!important;
  margin-top:8px!important;
  padding:7px 8px!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font:400 9px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-align:center!important;
}

/* Permanent count ledger remains visible regardless of selected tab. */
#buggy-passport-app #passport .v186-dashboard-ledger{
  display:grid!important;
  align-content:center!important;
  gap:0!important;
  padding:8px 9px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:13px!important;
  background:rgba(255,253,247,.88)!important;
}
#buggy-passport-app #passport .v186-dashboard-ledger button{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:37px!important;
  padding:6px 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(4,30,66,.20)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  text-align:left!important;
}
#buggy-passport-app #passport .v186-dashboard-ledger button:last-child{
  border-bottom:0!important;
}
#buggy-passport-app #passport .v186-dashboard-ledger span{
  min-width:0!important;
  font:400 11px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-transform:uppercase!important;
}
#buggy-passport-app #passport .v186-dashboard-ledger b{
  color:var(--red,#BF0D3E)!important;
  font:400 18px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-align:right!important;
}

/* Rewards / Access swap into the left dashboard panel. */
#buggy-passport-app #passport .v186-dashboard-list{
  display:grid!important;
  gap:7px!important;
  align-content:start!important;
}
#buggy-passport-app #passport .v186-dashboard-record{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-height:54px!important;
  padding:8px 9px!important;
  border:1px solid rgba(4,30,66,.17)!important;
  border-radius:12px!important;
  background:var(--fog,#FFFDF7)!important;
  color:var(--navy,#041E42)!important;
  box-shadow:none!important;
  text-align:left!important;
}
#buggy-passport-app #passport .v186-dashboard-record.reward.available{
  border-color:rgba(254,189,59,.95)!important;
}
#buggy-passport-app #passport .v186-dashboard-record span{
  min-width:0!important;
}
#buggy-passport-app #passport .v186-dashboard-record b{
  display:block!important;
  color:var(--navy,#041E42)!important;
  font:900 9.5px/1.15 Arial,sans-serif!important;
  text-transform:uppercase!important;
}
#buggy-passport-app #passport .v186-dashboard-record small{
  display:block!important;
  margin-top:4px!important;
  color:rgba(42,47,45,.62)!important;
  font:700 12px/1.2 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #passport .v186-dashboard-record em{
  padding:4px 6px!important;
  border-radius:999px!important;
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  font:400 7px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  font-style:normal!important;
}
#buggy-passport-app #passport .v186-dashboard-record:disabled{
  opacity:.68!important;
}
#buggy-passport-app #passport .v186-dashboard-empty{
  display:grid!important;
  place-items:center!important;
  min-height:146px!important;
  padding:12px!important;
  border:1px dashed rgba(4,30,66,.25)!important;
  border-radius:13px!important;
  background:rgba(255,253,247,.60)!important;
  color:rgba(42,47,45,.68)!important;
  font:700 12px/1.3 "Courier Prime","Courier New",monospace!important;
  text-align:center!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v186-marker-dashboard{
    padding-top:37px!important;
  }
  #buggy-passport-app #passport .v186-folder-hump-tabs button{
    min-height:42px!important;
    padding:11px 2px 9px!important;
    font-size:8.7px!important;
  }
  #buggy-passport-app #passport .v186-dashboard-body{
    grid-template-columns:minmax(0,1.18fr) minmax(104px,.82fr)!important;
    gap:7px!important;
    padding:9px!important;
  }
  #buggy-passport-app #passport .v186-training-readiness-link{
    min-height:132px!important;
    padding:8px!important;
  }
  #buggy-passport-app #passport .v186-training-readiness-link img{
    max-height:78px!important;
  }
  #buggy-passport-app #passport .v186-dashboard-ledger{
    padding:7px!important;
  }
  #buggy-passport-app #passport .v186-dashboard-ledger button{
    min-height:34px!important;
  }
  #buggy-passport-app #passport .v186-dashboard-ledger span{
    font-size:9.2px!important;
  }
  #buggy-passport-app #passport .v186-dashboard-ledger b{
    font-size:16px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v187 — visible PASSPORT MARKERS paint swash
   ========================================================================== */

/* v183 accidentally collapsed this pseudo-element by setting inset and then
   top/right/bottom/left:auto. Give the swash explicit bounds again. */
#buggy-passport-app #passport .v182-passport-markers-card .passport-markers-heading{
  position:relative!important;
  isolation:isolate!important;
  z-index:0!important;
  color:var(--char,#2A2F2D)!important;
}

#buggy-passport-app #passport .v182-passport-markers-card .passport-markers-heading:before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;

  top:0!important;
  right:-8px!important;
  bottom:0!important;
  left:-8px!important;

  width:auto!important;
  height:auto!important;

  display:block!important;
  pointer-events:none!important;
  background:var(--fog,#FFFDF7)!important;
  opacity:1!important;

  -webkit-mask-image:var(--buggy-paint-horizontal)!important;
  mask-image:var(--buggy-paint-horizontal)!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-size:318.8% 396.9%!important;
  mask-size:318.8% 396.9%!important;
  -webkit-mask-position:50% 16.5%!important;
  mask-position:50% 16.5%!important;

  filter:drop-shadow(0 1px 0 rgba(4,30,66,.12))!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v190 — unified Passport Status dossier action
   ========================================================================== */
#buggy-passport-app #v81PassportStatusOverlay .v190-id-verify-action{
  display:block!important;
  width:100%!important;
  margin-top:10px!important;
  padding:10px 14px!important;
  border:0!important;
  border-radius:999px!important;
  background:#ffbd38!important;
  color:#072b4e!important;
  font:700 13px/1.1 Arial,sans-serif!important;
  letter-spacing:.03em!important;
  cursor:pointer!important;
}
#buggy-passport-app #v81PassportStatusOverlay .v190-id-verify-action:disabled{
  opacity:.65!important;
  cursor:default!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v191 — Passport Dossier + RIP status instructions
   + universal Passport utility
   ========================================================================== */

/* Status Band is now three status entry points only. */
#buggy-passport-app #passport .v107-status-band{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
#buggy-passport-app #passport #v107CheckStatus{
  display:none!important;
}

/* The dossier reads like a physical Passport file. */
#buggy-passport-app #v81PassportStatusOverlay .v81-status-panel{
  position:relative!important;
  overflow:auto!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:18px 18px 10px 10px!important;
  background:
    linear-gradient(rgba(255,253,247,.965),rgba(255,253,247,.965)),
    repeating-linear-gradient(
      0deg,
      rgba(4,30,66,.035) 0,
      rgba(4,30,66,.035) 1px,
      transparent 1px,
      transparent 28px
    )!important;
  box-shadow:0 20px 55px rgba(4,30,66,.28)!important;
}
#buggy-passport-app #v81PassportStatusOverlay .v81-status-panel:before{
  content:"PASSPORT DOSSIER";
  display:block;
  width:max-content;
  max-width:70%;
  margin:-1px 0 10px 10px;
  padding:6px 14px 5px;
  border:2px solid var(--navy,#041E42);
  border-top:0;
  border-radius:0 0 12px 12px;
  background:var(--navy,#041E42);
  color:var(--fog,#FFFDF7);
  font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive;
  letter-spacing:.04em;
}
#buggy-passport-app #v81PassportStatusOverlay .v81-status-title{
  margin-top:2px!important;
  color:var(--navy,#041E42)!important;
  font:400 22px/1.05 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app #v81PassportStatusOverlay .v190-id-verify-action{
  display:none!important;
}

#buggy-passport-app .v191-dossier-identity{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin:8px 0 13px;
  padding:10px;
  border:1px solid rgba(4,30,66,.18);
  border-radius:14px;
  background:rgba(4,30,66,.045);
}
#buggy-passport-app .v191-dossier-avatar{
  width:58px;
  height:58px;
  padding:0;
  display:grid;
  place-items:center;
  border:2px solid var(--navy,#041E42);
  border-radius:10px;
  background:var(--fog,#FFFDF7);
  color:var(--navy,#041E42);
  font:400 30px/1 "Permanent Marker","Comic Sans MS",cursive;
  cursor:pointer;
}
#buggy-passport-app .v191-dossier-name{
  color:var(--char,#2A2F2D);
  font:700 15px/1.15 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v191-dossier-meta{
  margin-top:4px;
  color:rgba(42,47,45,.68);
  font:700 12px/1.35 "Courier Prime","Courier New",monospace;
  overflow-wrap:anywhere;
}
#buggy-passport-app .v191-dossier-avatar-help{
  margin-top:5px;
  color:var(--navy,#041E42);
  font:400 10px/1.15 "Permanent Marker","Comic Sans MS",cursive;
}

#buggy-passport-app .v191-security-action{
  appearance:none;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:7px 11px;
  border:1px solid var(--navy,#041E42);
  border-radius:999px;
  background:var(--fog,#FFFDF7);
  color:var(--navy,#041E42);
  font:700 12px/1 "Courier Prime","Courier New",monospace;
  cursor:pointer;
}
#buggy-passport-app .v191-security-action:disabled{opacity:.6;cursor:default;}

/* Universal Passport utility — same element moves between header and Map. */
#buggy-passport-app .v191-passport-utility{
  flex:0 0 48px;
  width:48px;
  min-width:48px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  z-index:20;
}
#buggy-passport-app .v191-passport-utility[hidden]{display:none!important;}
#buggy-passport-app .v191-universal-avatar{
  appearance:none;
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  display:grid;
  place-items:center;
  border:2px solid var(--fog,#FFFDF7);
  border-radius:9px;
  background:var(--navy,#041E42);
  color:var(--sun,#FEBD3B);
  box-shadow:0 5px 14px rgba(4,30,66,.22);
  font:400 21px/1 "Permanent Marker","Comic Sans MS",cursive;
  cursor:pointer;
}
#buggy-passport-app .v191-quick-exit{
  appearance:none;
  margin:0;
  padding:0 1px 2px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--fog,#FFFDF7);
  font:400 8.5px/1 "Permanent Marker","Comic Sans MS",cursive;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  white-space:nowrap;
}
#buggy-passport-app #map .v191-passport-utility{
  position:absolute;
  top:max(62px,calc(env(safe-area-inset-top) + 62px));
  left:12px;
  z-index:7;
  padding:5px 4px;
  border-radius:12px;
  background:rgba(4,30,66,.91);
  box-shadow:0 10px 28px rgba(4,30,66,.25);
}
#buggy-passport-app #map .v191-quick-exit{
  color:var(--sun,#FEBD3B);
}
#buggy-passport-app .logo,
#buggy-passport-app .map-header-lockup{
  cursor:pointer!important;
}

/* RIP Instruction Window */
#buggy-passport-app .v191-rip-instruction-overlay{
  position:fixed;
  inset:0;
  z-index:760;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(4,30,66,.58);
  backdrop-filter:blur(4px);
}
#buggy-passport-app .v191-rip-instruction-overlay[hidden]{display:none!important;}
#buggy-passport-app .v191-rip-instruction{
  position:relative;
  width:min(390px,100%);
  padding:16px 16px 14px;
  border:2px solid var(--navy,#041E42);
  border-radius:22px;
  background:var(--fog,#FFFDF7);
  box-shadow:0 20px 55px rgba(4,30,66,.32);
}
#buggy-passport-app .v191-rip-instruction-close{
  position:absolute;
  top:8px;
  right:10px;
  z-index:3;
  width:32px;
  height:32px;
  border:0;
  background:transparent;
  color:var(--navy,#041E42);
  font:700 24px/1 Arial,sans-serif;
  cursor:pointer;
}
#buggy-passport-app .v191-rip-instruction-kicker{
  padding-right:34px;
  color:var(--red,#BF0D3E);
  font:400 13px/1 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .v191-rip-instruction-scene{
  position:relative;
  min-height:170px;
  margin-top:7px;
}
#buggy-passport-app .v191-rip-instruction-bubble{
  position:relative;
  z-index:2;
  width:calc(100% - 54px);
  min-height:92px;
  margin-left:54px;
  box-sizing:border-box;
  padding:13px 22px 13px 15px;
  border:3px solid #050505;
  border-radius:24px;
  background:var(--fog,#FFFDF7);
  color:var(--char,#2A2F2D);
  font:400 16px/1.28 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .v191-rip-instruction-bubble:after{
  content:"";
  position:absolute;
  left:-22px;
  bottom:18px;
  width:28px;
  height:22px;
  background:var(--fog,#FFFDF7);
  border-left:3px solid #050505;
  border-bottom:3px solid #050505;
  transform:skew(-28deg) rotate(7deg);
}
#buggy-passport-app .v191-rip-instruction-rip{
  position:absolute;
  left:-5px;
  bottom:-4px;
  z-index:1;
  width:105px;
  height:135px;
  object-fit:contain;
  filter:drop-shadow(0 10px 15px rgba(4,30,66,.22));
}
#buggy-passport-app .v191-rip-instruction-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:3px;
}
#buggy-passport-app .v191-rip-action{
  appearance:none;
  min-height:38px;
  padding:9px 13px;
  border:2px solid var(--navy,#041E42);
  border-radius:999px;
  background:var(--sun,#FEBD3B);
  color:var(--navy,#041E42);
  font:400 11px/1 "Permanent Marker","Comic Sans MS",cursive;
  cursor:pointer;
}
#buggy-passport-app .v191-rip-action.secondary{
  background:transparent;
}
#buggy-passport-app .v191-rip-action:disabled{opacity:.58;cursor:default;}

@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-band{gap:5px!important;}
  #buggy-passport-app .v191-passport-utility{
    flex-basis:44px;
    width:44px;
    min-width:44px;
  }
  #buggy-passport-app .v191-universal-avatar{
    width:36px;height:36px;min-width:36px;font-size:19px;
  }
  #buggy-passport-app .v191-quick-exit{font-size:8px;}
  #buggy-passport-app .v191-rip-instruction-bubble{
    font-size:14px;
    width:calc(100% - 48px);
    margin-left:48px;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v192 — four-item Status Band + display-only Dossier avatar
   ========================================================================== */
#buggy-passport-app #passport .v107-status-band{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
#buggy-passport-app #passport #v107TagStatus{
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="ready"]{
  color:#dce8dd!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="pending"]{
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="none"]{
  color:rgba(255,253,247,.78)!important;
}

/* Dossier avatar is identity display only — no click/action affordance. */
#buggy-passport-app #v81PassportStatusOverlay .v191-dossier-avatar,
#buggy-passport-app #v81PassportStatusOverlay .v192-dossier-avatar{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:10px!important;
  background:var(--fog,#FFFDF7)!important;
  color:var(--navy,#041E42)!important;
  font:400 30px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  cursor:default!important;
  pointer-events:none!important;
  user-select:none!important;
}
#buggy-passport-app #v81PassportStatusOverlay .v192-dossier-avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border:0!important;
}
#buggy-passport-app #v81PassportStatusOverlay .v191-dossier-avatar-help{
  color:rgba(42,47,45,.58)!important;
}
@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-band{gap:3px!important;}
  #buggy-passport-app #passport .v107-status-link{
    font-size:9.7px!important;
    line-height:1.08!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v193 — BUGGY logo + Passport avatar + core-app pills
   ========================================================================== */

/* Keep the active Passport identity physically with the global BUGGY navigation. */
#buggy-passport-app header .lock{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
}
#buggy-passport-app header .logo{
  order:1!important;
  flex:0 0 auto!important;
}
#buggy-passport-app header #v191PassportUtility{
  order:2!important;
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  z-index:3!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#buggy-passport-app header #v191PassportUtility[hidden]{
  display:none!important;
}
#buggy-passport-app header .section-switcher{
  order:2!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#buggy-passport-app header .header-training-reset{
  order:4!important;
}
#buggy-passport-app header .bottom-status-data{
  order:5!important;
}

/* The avatar itself is the Check In/Out control. */
#buggy-passport-app #v191PassportUtility .v191-universal-avatar{
  position:relative!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  border:2px solid var(--sun,#FEBD3B)!important;
  border-radius:11px!important;
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  box-shadow:0 6px 16px rgba(4,30,66,.24)!important;
  font:400 22px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  cursor:pointer!important;
}
#buggy-passport-app #v191PassportUtility .v191-universal-avatar:after{
  content:"";
  position:absolute;
  right:2px;
  bottom:2px;
  width:7px;
  height:7px;
  border:1.5px solid var(--navy,#041E42);
  border-radius:50%;
  background:#78a47d;
  pointer-events:none;
}
#buggy-passport-app #v191PassportUtility .v191-universal-avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border:0!important;
  pointer-events:none!important;
}
#buggy-passport-app #v191PassportUtility .v191-quick-exit{
  display:none!important;
}

/* The former Passport Home avatar is replaced by the universal header identity. */
#buggy-passport-app #passportHolderCard #passportAvatar{
  display:none!important;
}
#buggy-passport-app #passportHolderCard .passport-holder-top{
  grid-template-columns:minmax(0,1fr) auto!important;
}

/* v191 used to move the utility into the map body. v193 keeps it in the header. */
#buggy-passport-app #map #v191PassportUtility{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:44px!important;
  min-width:44px!important;
  height:52px!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* The Dossier avatar stays explicitly non-interactive. */
#buggy-passport-app #v81PassportStatusOverlay #v191DossierAvatar,
#buggy-passport-app #v81PassportStatusOverlay .v192-dossier-avatar{
  cursor:default!important;
  pointer-events:none!important;
}

@media(max-width:390px){
  #buggy-passport-app header .lock{gap:4px!important;}
  #buggy-passport-app header #v191PassportUtility{
    flex-basis:38px!important;
    width:38px!important;
    min-width:38px!important;
  }
  #buggy-passport-app #v191PassportUtility .v191-universal-avatar{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    font-size:19px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v194 — locked universal header
   BUGGY logo | Map/Passport/Training pills | Passport avatar/letter (C61)
   ========================================================================== */

/* Retire the older dynamically-created utility. */
#buggy-passport-app header #v191PassportUtility,
#buggy-passport-app #map #v191PassportUtility{
  display:none!important;
}

/* The universal header group is a single row. */
#buggy-passport-app header .lock{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  gap:7px!important;
}
#buggy-passport-app header .logo{
  order:1!important;
  flex:0 0 auto!important;
  cursor:pointer!important;
}
#buggy-passport-app header #v194HeaderPassportUtility{
  order:3!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
#buggy-passport-app header #v194HeaderPassportUtility[hidden]{
  display:none!important;
}
#buggy-passport-app header .section-switcher{
  order:2!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
#buggy-passport-app header .header-training-reset{order:4!important;}
#buggy-passport-app header .bottom-status-data{order:5!important;}

#buggy-passport-app .v194-header-passport-avatar{
  appearance:none!important;
  position:relative!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  border:2px solid var(--sun,#FEBD3B)!important;
  border-radius:11px!important;
  background:var(--navy,#041E42)!important;
  color:var(--sun,#FEBD3B)!important;
  box-shadow:0 6px 16px rgba(4,30,66,.24)!important;
  font:400 22px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  cursor:pointer!important;
}
#buggy-passport-app .v194-header-passport-avatar:after{
  content:"";
  position:absolute;
  right:2px;
  bottom:2px;
  width:7px;
  height:7px;
  border:1.5px solid var(--navy,#041E42);
  border-radius:50%;
  background:#78a47d;
  pointer-events:none;
}
#buggy-passport-app .v194-header-passport-avatar img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  border:0!important;
  pointer-events:none!important;
}

/* Passport Home no longer needs a second actionable avatar. */
#buggy-passport-app #passportHolderCard #passportAvatar{
  display:none!important;
}

/* Dossier avatar remains visual identity only. */
#buggy-passport-app #v81PassportStatusOverlay #v191DossierAvatar,
#buggy-passport-app #v81PassportStatusOverlay .v192-dossier-avatar{
  cursor:default!important;
  pointer-events:none!important;
}

@media(max-width:390px){
  #buggy-passport-app header .lock{gap:4px!important;}
  #buggy-passport-app header #v194HeaderPassportUtility{
    flex-basis:38px!important;
    width:38px!important;
    min-width:38px!important;
  }
  #buggy-passport-app .v194-header-passport-avatar{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    font-size:19px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v195 — force the universal Passport avatar into the
   BUGGY logo + Map / Passport / Training header group on every core screen.
   ========================================================================== */
#buggy-passport-app header #v194HeaderPassportUtility{
  display:none!important;
}
#buggy-passport-app.passport-screen-active header #v194HeaderPassportUtility,
#buggy-passport-app.training-screen-active header #v194HeaderPassportUtility,
#buggy-passport-app.training-module-active header #v194HeaderPassportUtility,
#buggy-passport-app.map-active header #v194HeaderPassportUtility,
#buggy-passport-app.passport-screen-active header #v194HeaderPassportUtility[hidden],
#buggy-passport-app.training-screen-active header #v194HeaderPassportUtility[hidden],
#buggy-passport-app.training-module-active header #v194HeaderPassportUtility[hidden],
#buggy-passport-app.map-active header #v194HeaderPassportUtility[hidden]{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
}

/* Guarantee physical order: BUGGY | pills | Avatar (C61). */
#buggy-passport-app header .logo{order:1!important;}
#buggy-passport-app header #v194HeaderPassportUtility{order:3!important;}
#buggy-passport-app header .section-switcher{order:2!important;}

@media(max-width:390px){
  #buggy-passport-app.passport-screen-active header #v194HeaderPassportUtility,
  #buggy-passport-app.training-screen-active header #v194HeaderPassportUtility,
  #buggy-passport-app.training-module-active header #v194HeaderPassportUtility,
  #buggy-passport-app.map-active header #v194HeaderPassportUtility{
    flex-basis:38px!important;
    width:38px!important;
    min-width:38px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v196 — Status RIP Instruction Window
   Matches the approved onboarding presenter-card visual language.
   ========================================================================== */

#buggy-passport-app .v191-rip-instruction-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:760!important;
  display:grid!important;
  place-items:center!important;
  padding:16px!important;
  background:rgba(4,30,66,.78)!important;
  backdrop-filter:blur(5px)!important;
}
#buggy-passport-app .v191-rip-instruction-overlay[hidden]{
  display:none!important;
}

#buggy-passport-app .v191-rip-instruction{
  position:relative!important;
  width:min(430px,calc(100vw - 28px))!important;
  min-height:390px!important;
  box-sizing:border-box!important;
  padding:18px 16px 16px!important;
  overflow:hidden!important;
  border:2px solid var(--sun,#FEBD3B)!important;
  border-radius:30px!important;
  background:var(--fog,#FFFDF7)!important;
  box-shadow:0 22px 54px rgba(4,30,66,.38)!important;
}

/* Onboarding-style top line. */
#buggy-passport-app .v196-status-presenter-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:22px!important;
  margin:1px 2px 6px!important;
}
#buggy-passport-app .v196-status-presenter-brand{
  color:var(--red,#BF0D3E)!important;
  font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.02em!important;
}
#buggy-passport-app .v191-rip-instruction-kicker{
  position:static!important;
  flex:0 1 auto!important;
  margin:0!important;
  padding:0!important;
  color:rgba(42,47,45,.74)!important;
  font:700 12px/1.1 "Courier Prime","Courier New",monospace!important;
  text-align:right!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

/* No floating X — the presenter actions are the exit controls. */
#buggy-passport-app .v191-rip-instruction-close{
  display:none!important;
}

/* Main presenter stage. */
#buggy-passport-app .v191-rip-instruction-scene{
  position:relative!important;
  min-height:240px!important;
  margin:0!important;
  padding:8px 0 0!important;
}

#buggy-passport-app .v191-rip-instruction-bubble{
  position:relative!important;
  z-index:3!important;
  width:70%!important;
  min-height:132px!important;
  box-sizing:border-box!important;
  margin:12px auto 0 4%!important;
  padding:18px 19px 17px!important;
  display:grid!important;
  place-items:center!important;
  border:2px solid rgba(42,47,45,.82)!important;
  border-radius:48% 44% 50% 45% / 42% 50% 44% 50%!important;
  background:var(--fog,#FFFDF7)!important;
  color:var(--char,#2A2F2D)!important;
  font:400 18px/1.18 "Permanent Marker","Comic Sans MS",cursive!important;
  text-align:center!important;
  box-shadow:none!important;
}

/* Bubble tail points toward Rip on the right. */
#buggy-passport-app .v191-rip-instruction-bubble:after{
  content:""!important;
  position:absolute!important;
  right:-18px!important;
  left:auto!important;
  bottom:9px!important;
  width:30px!important;
  height:26px!important;
  background:var(--fog,#FFFDF7)!important;
  border-right:2px solid rgba(42,47,45,.82)!important;
  border-bottom:2px solid rgba(42,47,45,.82)!important;
  border-left:0!important;
  transform:skew(25deg) rotate(12deg)!important;
}

#buggy-passport-app .v191-rip-instruction-rip{
  position:absolute!important;
  z-index:2!important;
  right:-2px!important;
  left:auto!important;
  bottom:-3px!important;
  width:145px!important;
  height:210px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  filter:drop-shadow(0 9px 12px rgba(4,30,66,.18))!important;
}

/* Small onboarding-style progress marker. */
#buggy-passport-app .v196-status-presenter-progress{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  height:18px!important;
  margin:-5px 0 5px!important;
}
#buggy-passport-app .v196-status-presenter-progress .dot{
  width:8px!important;
  height:8px!important;
  border-radius:50%!important;
  background:#c7cbd0!important;
}
#buggy-passport-app .v196-status-presenter-progress .dot.active{
  width:26px!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
}

/* Bottom action row mirrors SKIP INTRO / NEXT proportions. */
#buggy-passport-app .v191-rip-instruction-actions{
  display:flex!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:10px!important;
  margin:2px 0 0!important;
}
#buggy-passport-app .v191-rip-action{
  order:2!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:54px!important;
  box-sizing:border-box!important;
  padding:11px 14px!important;
  border:0!important;
  border-radius:16px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font:400 15px/1 "Permanent Marker","Comic Sans MS",cursive!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:inset 0 0 0 1px rgba(4,30,66,.08)!important;
}
#buggy-passport-app .v191-rip-action.secondary{
  order:1!important;
  flex:0 0 34%!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  border:1px solid rgba(4,30,66,.16)!important;
}
#buggy-passport-app .v191-rip-action:only-child{
  flex:1 1 100%!important;
}
#buggy-passport-app .v191-rip-action:disabled{
  opacity:.58!important;
  cursor:default!important;
}

@media(max-width:390px){
  #buggy-passport-app .v191-rip-instruction{
    width:calc(100vw - 24px)!important;
    min-height:370px!important;
    padding:15px 13px 14px!important;
    border-radius:26px!important;
  }
  #buggy-passport-app .v191-rip-instruction-scene{
    min-height:225px!important;
  }
  #buggy-passport-app .v191-rip-instruction-bubble{
    width:71%!important;
    min-height:124px!important;
    margin-left:1%!important;
    padding:15px 16px!important;
    font-size:16px!important;
  }
  #buggy-passport-app .v191-rip-instruction-rip{
    right:-8px!important;
    width:132px!important;
    height:195px!important;
  }
  #buggy-passport-app .v191-rip-action{
    min-height:50px!important;
    padding:9px 10px!important;
    font-size:13px!important;
  }
  #buggy-passport-app .v191-rip-action.secondary{
    flex-basis:35%!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v197 — compact square BUGGY logo
   ========================================================================== */
#buggy-passport-app header .logo{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  box-sizing:border-box!important;
  padding:1px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:12px!important;
  flex:0 0 54px!important;
}
@media(max-width:390px){
  #buggy-passport-app header .logo{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    flex-basis:48px!important;
    padding:1px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v198 — permanent four-item Status Band
   ========================================================================== */
#buggy-passport-app #passport .v107-status-band{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
#buggy-passport-app #passport #v107TagStatus{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0 1px 3px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:12px!important;
  line-height:1.12!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
  cursor:pointer!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  -webkit-tap-highlight-color:transparent!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="ready"]{
  color:#dce8dd!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="pending"]{
  color:var(--lantern,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="none"]{
  color:#fffdf7!important;
}
@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-band{gap:3px!important;}
  #buggy-passport-app #passport #v107TagStatus{font-size:10px!important;}
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v199 — equal-size logo + Passport avatar
   ========================================================================== */

/* Desktop: both universal identity squares are exactly 54 x 54. */
#buggy-passport-app header .logo{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  flex:0 0 54px!important;
}
#buggy-passport-app header #v194HeaderPassportUtility{
  flex:0 0 54px!important;
  width:54px!important;
  min-width:54px!important;
  height:54px!important;
}
#buggy-passport-app .v194-header-passport-avatar{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  border-radius:12px!important;
  font-size:27px!important;
}

/* Mobile: both are exactly 48 x 48. */
@media(max-width:390px){
  #buggy-passport-app header .logo{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    flex:0 0 48px!important;
  }
  #buggy-passport-app header #v194HeaderPassportUtility{
    flex:0 0 48px!important;
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
  }
  #buggy-passport-app .v194-header-passport-avatar{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    font-size:24px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v200 — identity is permanent; status explains relationship
   ========================================================================== */

/* Fourth Status Band item is relationship/status, not a "Tag" label. */
#buggy-passport-app #passport #v107TagStatus{
  white-space:pre-line!important;
  text-transform:uppercase!important;
  line-height:1.02!important;
}

/* Keep all four status controls visually aligned when one uses two lines. */
#buggy-passport-app #passport .v107-status-band{
  align-items:stretch!important;
}
#buggy-passport-app #passport .v107-status-link{
  min-height:32px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v201 — tidy compact universal header
   BUGGY logo | Map/Passport/Training pills | avatar/letter (C61)
   ========================================================================== */

/* Give the three header groups a deliberate, even rhythm. */
#buggy-passport-app header .lock{
  gap:8px!important;
  align-items:center!important;
}

/* Desktop: logo and avatar are the exact same 44 x 44 square. */
#buggy-passport-app header .logo{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  flex:0 0 44px!important;
  padding:1px!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:10px!important;
}

#buggy-passport-app header #v194HeaderPassportUtility{
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
}

#buggy-passport-app .v194-header-passport-avatar{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  margin:0!important;
  padding:0!important;
  border-radius:10px!important;
  font-size:22px!important;
}

/* Keep a clean visual break before the pill group without wasting width. */
#buggy-passport-app header .section-switcher{
  margin-left:0!important;
  min-width:0!important;
}

/* Mobile: still equal, slightly tighter. */
@media(max-width:390px){
  #buggy-passport-app header .lock{
    gap:6px!important;
  }
  #buggy-passport-app header .logo{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    flex:0 0 40px!important;
    border-radius:9px!important;
  }
  #buggy-passport-app header #v194HeaderPassportUtility{
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
  }
  #buggy-passport-app .v194-header-passport-avatar{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    border-radius:9px!important;
    font-size:20px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

#buggy-passport-app .v202-guardian-invite-overlay{
  position:fixed;inset:0;z-index:790;display:grid;place-items:center;padding:16px;
  background:rgba(4,30,66,.78);backdrop-filter:blur(5px);
}
#buggy-passport-app .v202-guardian-invite-overlay[hidden]{display:none!important;}
#buggy-passport-app .v202-guardian-invite-card{
  position:relative;width:min(430px,calc(100vw - 28px));min-height:390px;box-sizing:border-box;
  padding:18px 16px 16px;overflow:hidden;border:2px solid var(--sun,#FEBD3B);border-radius:30px;
  background:var(--fog,#FFFDF7);box-shadow:0 22px 54px rgba(4,30,66,.38);
}
#buggy-passport-app .v202-guardian-top{display:flex;justify-content:space-between;gap:12px;margin:1px 2px 6px;}
#buggy-passport-app .v202-guardian-brand{color:var(--red,#BF0D3E);font:400 12px/1 "Permanent Marker","Comic Sans MS",cursive;}
#buggy-passport-app .v202-guardian-status{color:rgba(42,47,45,.74);font:700 12px/1.1 "Courier Prime","Courier New",monospace;text-align:right;letter-spacing:.06em;}
#buggy-passport-app .v202-guardian-scene{position:relative;min-height:240px;padding-top:8px;}
#buggy-passport-app .v202-guardian-bubble{
  position:relative;z-index:3;width:70%;min-height:142px;box-sizing:border-box;margin:10px auto 0 4%;
  padding:18px 19px 17px;display:grid;place-items:center;border:2px solid rgba(42,47,45,.82);
  border-radius:48% 44% 50% 45% / 42% 50% 44% 50%;background:var(--fog,#FFFDF7);
  color:var(--char,#2A2F2D);font:400 17px/1.2 "Permanent Marker","Comic Sans MS",cursive;text-align:center;
}
#buggy-passport-app .v202-guardian-bubble:after{
  content:"";position:absolute;right:-18px;bottom:9px;width:30px;height:26px;background:var(--fog,#FFFDF7);
  border-right:2px solid rgba(42,47,45,.82);border-bottom:2px solid rgba(42,47,45,.82);
  transform:skew(25deg) rotate(12deg);
}
#buggy-passport-app .v202-guardian-rip{
  position:absolute;z-index:2;right:-2px;bottom:-3px;width:145px;height:210px;object-fit:contain;object-position:right bottom;
  filter:drop-shadow(0 9px 12px rgba(4,30,66,.18));
}
#buggy-passport-app .v202-guardian-progress{display:flex;justify-content:center;gap:6px;height:18px;margin:-5px 0 5px;}
#buggy-passport-app .v202-guardian-progress span{width:8px;height:8px;border-radius:50%;background:#c7cbd0;}
#buggy-passport-app .v202-guardian-progress span:first-child{width:26px;border-radius:999px;background:var(--sun,#FEBD3B);}
#buggy-passport-app .v202-guardian-actions{display:flex;gap:10px;margin-top:2px;}
#buggy-passport-app .v202-guardian-action{
  appearance:none;min-height:54px;padding:11px 14px;border:0;border-radius:16px;background:var(--sun,#FEBD3B);
  color:var(--navy,#041E42);font:400 15px/1 "Permanent Marker","Comic Sans MS",cursive;cursor:pointer;
}
#buggy-passport-app .v202-guardian-action.secondary{flex:0 0 34%;border:1px solid rgba(4,30,66,.16);}
#buggy-passport-app .v202-guardian-action.primary{flex:1 1 auto;}
#buggy-passport-app .v202-guardian-email{display:block;margin-top:8px;color:var(--red,#BF0D3E);font:700 12px/1.25 "Courier Prime","Courier New",monospace;overflow-wrap:anywhere;}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v203 — short CONTINUE / GOT IT status communication
   ========================================================================== */

/* Status Band: four equal, tidy status controls. */
#buggy-passport-app #passport .v107-status-band{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  align-items:stretch!important;
}
#buggy-passport-app #passport .v107-status-link{
  min-height:38px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  padding:0 2px 3px!important;
  line-height:1.04!important;
  text-align:center!important;
}

/* Presenter card: shorter, not smaller type. */
#buggy-passport-app .v191-rip-instruction{
  width:min(430px,calc(100vw - 28px))!important;
  min-height:0!important;
  padding:16px 15px 14px!important;
  border-radius:28px!important;
}
#buggy-passport-app .v191-rip-instruction-scene{
  min-height:190px!important;
  padding-top:4px!important;
}
#buggy-passport-app .v191-rip-instruction-bubble{
  width:64%!important;
  min-height:112px!important;
  margin:10px auto 0 2%!important;
  padding:16px 17px!important;
  border-radius:46% 43% 48% 44% / 43% 49% 45% 48%!important;
  font-size:18px!important; /* keep approved readable size */
  line-height:1.16!important;
}
#buggy-passport-app .v191-rip-instruction-bubble:after{
  right:-18px!important;
  left:auto!important;
  top:58px!important;
  bottom:auto!important;
  width:28px!important;
  height:22px!important;
  transform:skew(24deg) rotate(-3deg)!important;
}
#buggy-passport-app .v191-rip-instruction-rip{
  right:-1px!important;
  bottom:-1px!important;
  width:128px!important;
  height:184px!important;
}
#buggy-passport-app .v196-status-presenter-progress{
  height:16px!important;
  margin:-2px 0 5px!important;
}
#buggy-passport-app .v196-status-presenter-progress .dot{
  width:8px!important;
  height:8px!important;
}
#buggy-passport-app .v196-status-presenter-progress .dot:nth-child(n+3){
  display:none!important;
}
#buggy-passport-app .v191-rip-instruction-actions{
  gap:9px!important;
  margin-top:0!important;
}
#buggy-passport-app .v191-rip-action{
  min-height:52px!important;
  padding:10px 13px!important;
  font-size:15px!important;
}
#buggy-passport-app .v191-rip-action.secondary{
  flex:0 0 34%!important;
}

/* Harden the actual universal Passport avatar/letter.
   The existing header utility remains the only active check-out control. */
#buggy-passport-app #v194HeaderPassportAvatar{
  text-indent:0!important;
  font-family:"Permanent Marker","Comic Sans MS",cursive!important;
  line-height:1!important;
}

/* Dossier avatar remains display-only. */
#buggy-passport-app #v81PassportStatusOverlay #v191DossierAvatar{
  pointer-events:none!important;
  cursor:default!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-band{gap:3px!important;}
  #buggy-passport-app #passport .v107-status-link{
    min-height:36px!important;
    font-size:10px!important;
  }
  #buggy-passport-app .v191-rip-instruction{
    width:calc(100vw - 22px)!important;
    padding:14px 12px 13px!important;
  }
  #buggy-passport-app .v191-rip-instruction-scene{
    min-height:182px!important;
  }
  #buggy-passport-app .v191-rip-instruction-bubble{
    width:65%!important;
    min-height:108px!important;
    margin-left:0!important;
    padding:14px 15px!important;
    font-size:17px!important;
  }
  #buggy-passport-app .v191-rip-instruction-bubble:after{
    top:55px!important;
  }
  #buggy-passport-app .v191-rip-instruction-rip{
    right:-8px!important;
    width:120px!important;
    height:176px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v204 — clean identity geometry + readable short presenter
   ========================================================================== */

/* Remove the old Passport-home avatar column, not merely the avatar itself. */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:
    "identity"
    "status"!important;
  column-gap:0!important;
  row-gap:11px!important;
  align-items:start!important;
}
#buggy-passport-app #passport .passport-avatar,
#buggy-passport-app #passport #passportAvatar{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-copy{
  grid-area:identity!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
#buggy-passport-app #passport .v107-status-band{
  grid-area:status!important;
  width:100%!important;
}

/* Keep the approved handwritten size; fix readability with real leading. */
#buggy-passport-app .v191-rip-instruction-bubble{
  font-size:18px!important;
  line-height:1.34!important;
  letter-spacing:0!important;
}
#buggy-passport-app .v191-rip-instruction-bubble > *{
  line-height:inherit!important;
}

/* Short two-step card: enough room for clean lines, not a giant empty modal. */
#buggy-passport-app .v191-rip-instruction{
  min-height:0!important;
}
#buggy-passport-app .v191-rip-instruction-scene{
  min-height:205px!important;
}
#buggy-passport-app .v191-rip-instruction-bubble{
  width:64%!important;
  min-height:120px!important;
  padding:16px 17px!important;
}
#buggy-passport-app .v191-rip-instruction-rip{
  width:126px!important;
  height:186px!important;
  right:-1px!important;
  bottom:-1px!important;
}
#buggy-passport-app .v191-rip-instruction-bubble:after{
  top:62px!important;
  right:-18px!important;
}

/* Force the universal avatar/letter to exist with the BUGGY logo + pills
   on every protected core screen, including moduleTraining. */
#buggy-passport-app header #v194HeaderPassportUtility.v194-header-passport-utility[data-passport-identity="visible"],
#buggy-passport-app header #v194HeaderPassportUtility.v204-active{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  order:3!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
}
#buggy-passport-app header #v194HeaderPassportUtility.v204-active[hidden]{
  display:grid!important;
}
/* Authenticated Passport state owns visibility; older page painters cannot
   hide Roll Out identity or expose it after sign-out. */
#buggy-passport-app header #v194HeaderPassportUtility.v194-header-passport-utility[data-passport-identity="hidden"]{
  display:none!important;
}
#buggy-passport-app header .logo{order:1!important;}
#buggy-passport-app header .section-switcher{order:2!important;}
#buggy-passport-app #v194HeaderPassportAvatar{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
}

@media(max-width:390px){
  #buggy-passport-app .v191-rip-instruction-bubble{
    font-size:17px!important;
    line-height:1.34!important;
  }
  #buggy-passport-app header #v194HeaderPassportUtility.v194-header-passport-utility[data-passport-identity="visible"],
  #buggy-passport-app header #v194HeaderPassportUtility.v204-active{
    flex-basis:40px!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
  }
  #buggy-passport-app #v194HeaderPassportAvatar{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v205 — Minor ID is Guardian-driven
   ========================================================================== */
#buggy-passport-app #passport #v107IdStatus[data-verified="true"]{
  color:#dce8dd!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v206 — readable two-line Status Band
   ========================================================================== */
#buggy-passport-app #passport .v107-status-link,
#buggy-passport-app #passport #v107TagStatus{
  line-height:1.28!important;
  min-height:42px!important;
  padding:2px 2px 5px!important;
  align-content:center!important;
  place-items:center!important;
  white-space:pre-line!important;
}

/* Preserve the existing font size — spacing is fixed with leading, not shrinking. */
@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-link,
  #buggy-passport-app #passport #v107TagStatus{
    line-height:1.26!important;
    min-height:40px!important;
    padding:2px 1px 4px!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v207 — tidy, equal Status Band typography
   ========================================================================== */

/* One typography system for all four status items. */
#buggy-passport-app #passport .v107-status-band{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  align-items:stretch!important;
}

#buggy-passport-app #passport .v107-status-link,
#buggy-passport-app #passport #v107PassportStatus,
#buggy-passport-app #passport #v107EmailStatus,
#buggy-passport-app #passport #v107IdStatus,
#buggy-passport-app #passport #v107TagStatus{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:0!important;
  min-height:46px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:3px 2px 6px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:"Permanent Marker","Chalkboard SE","Comic Sans MS",cursive!important;
  font-size:12px!important;
  font-weight:400!important;
  font-style:normal!important;
  line-height:1.38!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:4px!important;
  white-space:pre-line!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}

/* Keep state color semantics only — typography stays identical. */
#buggy-passport-app #passport #v107PassportStatus{
  color:var(--fog,#FFFDF7)!important;
}
#buggy-passport-app #passport #v107EmailStatus[data-verified="true"]{
  color:#6f7f79!important;
}
#buggy-passport-app #passport #v107EmailStatus[data-verified="false"]{
  color:var(--red,#BF0D3E)!important;
}
#buggy-passport-app #passport #v107IdStatus[data-verified="true"]{
  color:#dce8dd!important;
}
#buggy-passport-app #passport #v107IdStatus[data-verified="false"]{
  color:#ff9ab5!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="ready"]{
  color:#dce8dd!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="pending"]{
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="none"]{
  color:var(--fog,#FFFDF7)!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-band{
    gap:4px!important;
  }
  #buggy-passport-app #passport .v107-status-link,
  #buggy-passport-app #passport #v107PassportStatus,
  #buggy-passport-app #passport #v107EmailStatus,
  #buggy-passport-app #passport #v107IdStatus,
  #buggy-passport-app #passport #v107TagStatus{
    min-height:44px!important;
    padding:3px 1px 5px!important;
    font-size:11px!important;
    line-height:1.40!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v208 — relationship status lock
   ========================================================================== */

/* Adult default is NON-GUARDIAN in lantern yellow. */
#buggy-passport-app #passport #v107TagStatus[data-tag-state="non_guardian"]{
  color:var(--sun,#FEBD3B)!important;
}

/* A standalone Minor state is also informational, not a verified adult state. */
#buggy-passport-app #passport #v107TagStatus[data-tag-state="minor"]{
  color:var(--sun,#FEBD3B)!important;
}

/* Pending relationship remains lantern yellow. */
#buggy-passport-app #passport #v107TagStatus[data-tag-state="pending"]{
  color:var(--sun,#FEBD3B)!important;
}

/* Completed trusted relationship can stay the ready/sage family. */
#buggy-passport-app #passport #v107TagStatus[data-tag-state="ready"]{
  color:#dce8dd!important;
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v209 — reusable screen-thinking girl
   Exact approved BUGGY asset; animation only.
   ========================================================================== */
#buggy-passport-app .v209-thinking-overlay{
  position:fixed;
  inset:0;
  z-index:745;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(255,253,247,.72);
  backdrop-filter:blur(2px);
}
#buggy-passport-app .v209-thinking-overlay[hidden]{
  display:none!important;
}
#buggy-passport-app .v209-thinking-wrap{
  width:min(260px,68vw);
  display:grid;
  place-items:center;
  pointer-events:none;
}
#buggy-passport-app .v209-thinking-girl{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  opacity:.08;
  animation:buggyThinkingBreathV209 4.8s ease-in-out infinite;
  will-change:opacity;
  filter:drop-shadow(0 10px 18px rgba(4,30,66,.10));
}
@keyframes buggyThinkingBreathV209{
  0%,100%{opacity:.08;}
  50%{opacity:1;}
}
@media (prefers-reduced-motion: reduce){
  #buggy-passport-app .v209-thinking-girl{
    animation:none!important;
    opacity:.88!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v211 — Status Band +25% and Dossier thinking cover
   ========================================================================== */

/* v207 normalized these at 12px desktop / 11px mobile.
   v211 increases the approved Status Band type by exactly 25%. */
#buggy-passport-app #passport .v107-status-link,
#buggy-passport-app #passport #v107PassportStatus,
#buggy-passport-app #passport #v107EmailStatus,
#buggy-passport-app #passport #v107IdStatus,
#buggy-passport-app #passport #v107TagStatus{
  min-height:56px!important;
  padding:4px 2px 7px!important;
  font-size:15px!important;
  line-height:1.34!important;
  text-underline-offset:5px!important;
}

/* Thinking overlay deliberately covers the Dossier while it reconciles. */
#buggy-passport-app .v209-thinking-overlay.v211-dossier-thinking{
  z-index:780!important;
  background:rgba(255,253,247,.90)!important;
  backdrop-filter:blur(4px)!important;
}
#buggy-passport-app .v209-thinking-overlay.v211-dossier-thinking .v209-thinking-wrap{
  width:min(220px,58vw)!important;
}

@media(max-width:390px){
  #buggy-passport-app #passport .v107-status-link,
  #buggy-passport-app #passport #v107PassportStatus,
  #buggy-passport-app #passport #v107EmailStatus,
  #buggy-passport-app #passport #v107IdStatus,
  #buggy-passport-app #passport #v107TagStatus{
    min-height:52px!important;
    padding:4px 1px 6px!important;
    font-size:13.75px!important;
    line-height:1.34!important;
  }
}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v212 — app-wide foreground thinking
   ========================================================================== */

/* App-wide foreground waits use the same approved thinking-girl treatment. */
#buggy-passport-app .v209-thinking-overlay.v212-app-thinking{
  z-index:785!important;
  background:rgba(255,253,247,.88)!important;
  backdrop-filter:blur(4px)!important;
}
#buggy-passport-app .v209-thinking-overlay.v212-app-thinking .v209-thinking-wrap{
  width:min(230px,60vw)!important;
}

/* Never block emergency/explicit dismissal UI above the thinking layer. */
#buggy-passport-app .v191-rip-instruction-overlay,
#buggy-passport-app .v202-guardian-invite-overlay{
  z-index:790!important;
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v214 — verified states use BUGGY Guide Sage */
#buggy-passport-app #passport #v107IdStatus[data-verified="true"],
#buggy-passport-app #passport #v107TagStatus[data-tag-state="ready"]{
  color:#6F7F79!important;
}
#buggy-passport-app #passport #v107TagStatus[data-tag-state="pending"]{
  color:var(--sun,#FEBD3B)!important;
}

/* ---- preserved former <style> boundary ---- */

/* BUGGY Passport v216 — Active Devices */
#buggy-passport-app .v216-device-section{grid-column:1/-1;display:grid;gap:8px;margin-top:8px}
#buggy-passport-app .v216-device-intro{color:rgba(4,30,66,.72);font:700 11px/1.35 Arial,sans-serif}
#buggy-passport-app .v216-device-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid rgba(4,30,66,.14);border-radius:14px;background:rgba(255,253,247,.78)}
#buggy-passport-app .v216-device-card.current{border-color:rgba(111,127,121,.58);box-shadow:inset 0 0 0 1px rgba(111,127,121,.16)}
#buggy-passport-app .v216-device-label{color:var(--navy,#041E42);font:900 12px/1.2 Arial,sans-serif}
#buggy-passport-app .v216-device-meta{margin-top:3px;color:#6F7F79;font:800 10px/1.25 Arial,sans-serif;text-transform:uppercase}
#buggy-passport-app .v216-device-role{display:inline-block;margin-left:5px;padding:3px 6px;border-radius:999px;background:#6F7F79;color:#FFFDF7;font:900 8px/1 Arial,sans-serif}
#buggy-passport-app .v216-device-role.companion{background:var(--sun,#FEBD3B);color:var(--char,#2A2F2D)}
#buggy-passport-app .v216-device-action{border:0!important;border-radius:999px!important;background:var(--sun,#FEBD3B)!important;color:var(--char,#2A2F2D)!important;padding:8px 10px!important;font:900 9px/1 Arial,sans-serif!important;text-transform:uppercase!important;white-space:nowrap}
#buggy-passport-app .v216-device-action.secondary{background:transparent!important;border:1px solid rgba(4,30,66,.25)!important;color:var(--navy,#041E42)!important}
#buggy-passport-app .v216-control-mode-chip{display:inline-flex;align-items:center;justify-content:center;margin-top:5px;padding:4px 7px;border-radius:999px;background:#6F7F79;color:#FFFDF7;font:900 8px/1 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
#buggy-passport-app.buggy-companion-display .v216-control-mode-chip{background:var(--sun,#FEBD3B)!important;color:var(--char,#2A2F2D)!important}
#buggy-passport-app .v216-device-notice{position:fixed;inset:0;z-index:820;display:grid;place-items:center;padding:20px;background:rgba(4,30,66,.46)}
#buggy-passport-app .v216-device-notice[hidden]{display:none!important}
#buggy-passport-app .v216-device-notice-card{width:min(350px,92vw);padding:18px;border:3px solid var(--sun,#FEBD3B);border-radius:24px;background:var(--fog,#FFFDF7);box-shadow:0 24px 60px rgba(4,30,66,.28);text-align:center}
#buggy-passport-app .v216-device-notice-card b{display:block;color:var(--red,#BF0D3E);font:1000 15px/1.1 Arial,sans-serif;text-transform:uppercase}
#buggy-passport-app .v216-device-notice-card p{margin:10px 0 14px!important;color:var(--navy,#041E42)!important;font:800 13px/1.4 Arial,sans-serif!important}
#buggy-passport-app .v216-device-notice-card button{border:0!important;border-radius:999px!important;background:var(--sun,#FEBD3B)!important;color:var(--char,#2A2F2D)!important;padding:10px 16px!important;font:900 11px/1 Arial,sans-serif!important}

/* ---- preserved former <style> boundary ---- */

/* ==========================================================================
   BUGGY Passport v221 — Guardian ↔ Minor connection validation
   ========================================================================== */
#buggy-passport-app .v221-relationship-tools{
  grid-column:1/-1;
  display:grid;
  gap:9px;
  margin-top:8px;
}
#buggy-passport-app .v221-relationship-card{
  display:grid;
  gap:7px;
  padding:11px 12px;
  border:1px solid rgba(4,30,66,.14);
  border-radius:15px;
  background:rgba(255,253,247,.82);
}
#buggy-passport-app .v221-relationship-title{
  color:var(--navy,#041E42);
  font:400 13px/1.25 "Permanent Marker","Comic Sans MS",cursive;
}
#buggy-passport-app .v221-relationship-detail{
  color:#58615F;
  font:700 12px/1.42 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v221-relationship-detail.pending{color:#8a6110}
#buggy-passport-app .v221-relationship-detail.ready{color:#6F7F79}
#buggy-passport-app .v221-relationship-detail.problem{color:var(--red,#BF0D3E)}
#buggy-passport-app .v221-relationship-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
#buggy-passport-app .v221-relationship-action{
  border:0!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  padding:9px 11px!important;
  font:900 10px/1 Arial,sans-serif!important;
  text-transform:uppercase!important;
}
#buggy-passport-app .v221-relationship-action.secondary{
  background:transparent!important;
  border:1px solid rgba(4,30,66,.22)!important;
  color:var(--navy,#041E42)!important;
}
#buggy-passport-app .v221-relationship-action:disabled{
  opacity:.55!important;
  cursor:wait!important;
}

/* Connection-check modal */
#buggy-passport-app .v221-connection-overlay{
  position:fixed;
  inset:0;
  z-index:835;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(4,30,66,.50);
}
#buggy-passport-app .v221-connection-overlay[hidden]{
  display:none!important;
}
#buggy-passport-app .v221-connection-card{
  width:min(430px,94vw);
  max-height:min(88vh,760px);
  overflow:auto;
  box-sizing:border-box;
  padding:18px;
  border:3px solid var(--sun,#FEBD3B);
  border-radius:24px;
  background:var(--fog,#FFFDF7);
  box-shadow:0 26px 70px rgba(4,30,66,.30);
}
#buggy-passport-app .v221-connection-kicker{
  color:var(--red,#BF0D3E);
  font:900 11px/1 Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#buggy-passport-app .v221-connection-card h3{
  margin:7px 0 5px!important;
  color:var(--navy,#041E42)!important;
  font:400 22px/1.08 "Permanent Marker","Comic Sans MS",cursive!important;
}
#buggy-passport-app .v221-connection-copy{
  margin:0 0 12px!important;
  color:#58615F!important;
  font:700 12px/1.45 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app .v221-private-note{
  margin:9px 0!important;
  padding:9px 10px;
  border-radius:13px;
  background:rgba(254,189,59,.14);
  color:#5f4a16;
  font:700 12px/1.4 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v221-form{
  display:grid;
  gap:10px;
}
#buggy-passport-app .v221-field{
  display:grid;
  gap:5px;
}
#buggy-passport-app .v221-field > span{
  color:var(--navy,#041E42);
  font:900 10px/1.2 Arial,sans-serif;
  text-transform:uppercase;
}
#buggy-passport-app .v221-field input,
#buggy-passport-app .v221-field select{
  width:100%;
  box-sizing:border-box;
  min-height:44px;
  padding:10px 11px;
  border:1px solid rgba(4,30,66,.24);
  border-radius:12px;
  background:#fff;
  color:var(--char,#2A2F2D);
  font:700 14px/1.2 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v221-attest{
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:#58615F;
  font:700 12px/1.42 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v221-attest input{
  margin-top:2px;
}
#buggy-passport-app .v221-form-status{
  min-height:18px;
  color:var(--red,#BF0D3E);
  font:700 12px/1.35 "Courier Prime","Courier New",monospace;
}
#buggy-passport-app .v221-form-status.ready{color:#6F7F79}
#buggy-passport-app .v221-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:3px;
}
#buggy-passport-app .v221-modal-actions button{
  flex:1 1 130px;
  min-height:42px;
  border:0;
  border-radius:999px;
  padding:9px 11px;
  background:var(--sun,#FEBD3B);
  color:var(--char,#2A2F2D);
  font:900 10px/1 Arial,sans-serif;
  text-transform:uppercase;
}
#buggy-passport-app .v221-modal-actions button.secondary{
  background:transparent;
  border:1px solid rgba(4,30,66,.24);
  color:var(--navy,#041E42);
}
#buggy-passport-app .v221-modal-actions button.danger{
  background:rgba(191,13,62,.10);
  color:var(--red,#BF0D3E);
}

/* ---- preserved former <style> boundary ---- */

#buggy-passport-app .v224-hq-note{display:block;margin-top:3px;color:#6F7F79;font:800 9px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.03em}


/* BUGGY Passport v229 — permanent canonical build/version footer */
#buggyCopyrightNotice.buggy-copyright-notice{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  z-index:5!important;
  width:100%!important;
  max-width:980px!important;
  margin:10px auto 8px!important;
  padding:8px 16px 12px!important;
  box-sizing:border-box!important;
  text-align:center!important;
}
#buggyCopyrightNotice .buggy-version-line{
  display:block!important;
  margin-top:4px!important;
  color:rgba(4,30,66,.82)!important;
  font:700 10px/1.35 Arial,sans-serif!important;
  letter-spacing:.035em!important;
}
#buggyCopyrightNotice .buggy-build-id{
  display:block!important;
  margin-top:2px!important;
  font-size:8px!important;
  letter-spacing:.055em!important;
  opacity:.62!important;
}


/* BUGGY Passport v229 — onboarding edit/Guardian card + Training avatar repair */
#buggy-passport-app .v228-home-area-edit{
  display:block!important;
  width:100%!important;
  margin:0 0 10px!important;
  border:1.5px solid rgba(4,30,66,.28)!important;
  background:#fffdf7!important;
  color:#041E42!important;
  font:700 12px/1.25 "Courier New",monospace!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}
#buggy-passport-app .v228-guardian-onboarding-card{
  margin:12px 0!important;
  padding:14px!important;
  border:1.5px solid rgba(4,30,66,.20)!important;
  border-radius:16px!important;
  background:#fff8e8!important;
}
#buggy-passport-app .v228-guardian-onboarding-card[hidden]{display:none!important}
#buggy-passport-app .v228-guardian-kicker{
  color:#041E42!important;
  font:800 12px/1.2 "Courier New",monospace!important;
  letter-spacing:.06em!important;
}
#buggy-passport-app .v228-guardian-title{
  margin-top:5px!important;
  font:700 19px/1.1 "Permanent Marker","Comic Sans MS",cursive!important;
  color:#041E42!important;
}
#buggy-passport-app .v228-guardian-copy{
  margin:7px 0 11px!important;
  font:500 12px/1.45 "Courier New",monospace!important;
  color:#3b4340!important;
}
#buggy-passport-app.training-screen-active header #v194HeaderPassportUtility,
#buggy-passport-app #trainingPage.active ~ * header #v194HeaderPassportUtility{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}

/* ==========================================================================
   BUGGY Passport v230 — canonical Guardian/Minor relationship presentation
   ========================================================================== */

/* Minor identity trust is Guardian-link based, not adult-ID based. The legacy
   text remains in the DOM for compatibility, but the visible label is derived
   only from the canonical v230 relationship state. */
#buggy-passport-app #passport #v107IdStatus[data-v230-minor="1"]{
  font-size:0!important;
  white-space:pre-line!important;
}
#buggy-passport-app #passport #v107IdStatus[data-v230-minor="1"]::after{
  display:block;
  font-size:15px!important;
  line-height:1.34!important;
  white-space:pre-line!important;
}
#buggy-passport-app #passport #v107IdStatus[data-v230-link-state="connected"]::after{
  content:"GUARDIAN LINK\A CONNECTED";
  color:#6F7F79!important;
}
#buggy-passport-app #passport #v107IdStatus[data-v230-link-state="pending"]::after{
  content:"GUARDIAN LINK\A PENDING";
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107IdStatus[data-v230-link-state="none"]::after{
  content:"GUARDIAN LINK\A NONE";
  color:var(--fog,#FFFDF7)!important;
}

/* Relationship slot is explicit about CONNECTED vs PENDING. */
#buggy-passport-app #passport #v107TagStatus[data-v230-role]{
  font-size:0!important;
  white-space:pre-line!important;
}
#buggy-passport-app #passport #v107TagStatus[data-v230-role]::after{
  display:block;
  font-size:15px!important;
  line-height:1.34!important;
  white-space:pre-line!important;
}
#buggy-passport-app #passport #v107TagStatus[data-v230-role="minor"][data-v230-relation="connected"]::after{
  content:"COMPANION\A CONNECTED";
  color:#6F7F79!important;
}
#buggy-passport-app #passport #v107TagStatus[data-v230-role="minor"][data-v230-relation="pending"]::after{
  content:"COMPANION\A PENDING";
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107TagStatus[data-v230-role="minor"][data-v230-relation="minor"]::after{
  content:"MINOR";
  color:var(--sun,#FEBD3B)!important;
}
#buggy-passport-app #passport #v107TagStatus[data-v230-role="guardian"][data-v230-relation="connected"]::after{
  content:"GUARDIAN\A CONNECTED";
  color:#6F7F79!important;
}
#buggy-passport-app #passport #v107TagStatus[data-v230-role="guardian"][data-v230-relation="pending"]::after{
  content:"GUARDIAN\A PENDING";
  color:var(--sun,#FEBD3B)!important;
}

#buggy-passport-app .v230-guardian-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  width:min(100%,980px);
  margin:10px auto 12px;
  padding:13px 14px;
  box-sizing:border-box;
  border:1px solid rgba(4,30,66,.20);
  border-radius:16px;
  background:rgba(255,253,247,.94);
  box-shadow:0 8px 20px rgba(4,30,66,.06);
}
#buggy-passport-app .v230-guardian-card-copy{
  min-width:0;
}
#buggy-passport-app .v230-guardian-card-kicker{
  color:#6F7F79;
  font:900 9px/1.1 Arial,sans-serif;
  letter-spacing:.09em;
}
#buggy-passport-app .v230-guardian-card-title{
  margin-top:3px;
  color:var(--navy,#041E42);
  font:900 15px/1.15 Arial,sans-serif;
}
#buggy-passport-app .v230-guardian-card-detail{
  margin-top:4px;
  color:rgba(42,47,45,.76);
  font:700 11px/1.35 Arial,sans-serif;
}
#buggy-passport-app .v230-guardian-card-action,
#buggy-passport-app .v230-dossier-action{
  border:0!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--char,#2A2F2D)!important;
  padding:9px 11px!important;
  font:900 9px/1.1 Arial,sans-serif!important;
  text-transform:uppercase!important;
  white-space:nowrap;
  cursor:pointer;
}
#buggy-passport-app .v230-dossier-action{
  display:inline-flex;
  width:max-content;
  margin-top:7px;
}
#buggy-passport-app .v230-dossier-action.secondary{
  background:transparent!important;
  border:1px solid rgba(4,30,66,.25)!important;
  color:var(--navy,#041E42)!important;
}
#buggy-passport-app .v230-relationship-row .v131-badge.pending{
  background:rgba(254,189,59,.20)!important;
  color:#6d5000!important;
}

@media(max-width:520px){
  #buggy-passport-app #passport #v107IdStatus[data-v230-minor="1"]::after,
  #buggy-passport-app #passport #v107TagStatus[data-v230-role]::after{
    font-size:13.75px!important;
  }
  #buggy-passport-app .v230-guardian-card{
    grid-template-columns:1fr;
    gap:9px;
    margin:8px 10px 12px;
    width:auto;
  }
  #buggy-passport-app .v230-guardian-card-action{
    width:100%;
  }
}
/* ========================================================================== 
   BUGGY Passport v232 — deterministic auth, normalized status, and Dossier UI
   ========================================================================== */
html:has(#buggy-passport-app),body:has(#buggy-passport-app){overflow-x:clip!important;}
html.buggy-v232-auth-pending #buggy-passport-app{
  visibility:hidden!important;
  pointer-events:none!important;
}
#buggyStartupGateV232{
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;
  padding:24px;background:#041E42;color:#FFFDF7;
}
#buggyStartupGateV232[hidden]{display:none!important;}
#buggyStartupGateV232 .v232-startup-card{
  display:grid;gap:10px;width:min(420px,100%);padding:24px;border:2px solid #FEBD3B;
  border-radius:22px;background:#FFFDF7;color:#2A2F2D;box-shadow:0 20px 50px rgba(0,0,0,.28);
  text-align:center;
}
#buggyStartupGateV232 b{color:#041E42;font:900 18px/1.1 Arial,sans-serif;}
#buggyStartupGateV232 span{font:700 14px/1.45 "Courier Prime","Courier New",monospace;}
#buggyStartupGateV232 button{justify-self:center;min-height:44px;padding:10px 18px;background:#BF0D3E;color:#FFFDF7;}
.v235-noscript{
  position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;
  padding:32px;background:#041E42;color:#FFFDF7;text-align:center;
  font:800 18px/1.5 Arial,sans-serif;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;
  width:100%!important;min-width:0!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
  display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:12px!important;
  align-items:center!important;width:100%!important;min-width:0!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;
  width:100%!important;min-width:0!important;margin:0!important;padding:0!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-name{margin:0!important;font-size:22px!important;line-height:1.05!important;font-weight:900!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-id{margin:0!important;font-size:12px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
  display:grid!important;place-items:center!important;width:76px!important;height:82px!important;min-width:76px!important;
  padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;}
#buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon:focus-visible{outline:3px solid #FEBD3B!important;outline-offset:2px;}
#buggy-passport-app #passport .passport-verification-text{display:none!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;width:100%!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
  appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:50px!important;padding:3px 1px 6px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;font:400 clamp(12px,2.85vw,13.5px)/1.32 "Permanent Marker","Comic Sans MS",cursive!important;
  text-align:center!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important;
  white-space:pre!important;cursor:pointer!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button[data-v232-state="ready"]{color:#6F7F79!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button[data-v232-state="pending"]{color:#FEBD3B!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button[data-v232-state="action"]{color:#BF0D3E!important;}

#v194HeaderPassportUtility{align-items:center!important;gap:7px!important;}
#v232InternalDossier{
  display:grid;place-items:center;width:42px;height:44px;min-width:42px;padding:2px;border:0;border-radius:9px;background:transparent;box-shadow:none;
}
#v232InternalDossier[hidden]{display:none!important;}
#v232InternalDossier img{width:100%;height:100%;object-fit:contain;pointer-events:none;}

body.v232-dossier-open{overflow:hidden!important;}
.v232-dossier,.v232-dossier *{box-sizing:border-box;}
.v232-dossier{
  position:fixed;inset:0;z-index:2147482000;display:grid;align-items:start;justify-items:center;overflow:auto;
  padding:clamp(12px,4vw,40px);background:rgba(4,30,66,.78);backdrop-filter:blur(5px);
}
.v232-dossier[hidden]{display:none!important;}
.v232-dossier-sheet{
  width:min(820px,100%);margin:auto;padding:clamp(16px,3.2vw,30px);border:2px solid #041E42;border-radius:20px 16px 24px 18px;
  background:#FFFDF7;color:#2A2F2D;box-shadow:0 24px 70px rgba(0,0,0,.34);transform:rotate(-.08deg);
}
.v232-dossier-head{display:grid;grid-template-columns:76px minmax(0,1fr) 44px;gap:13px;align-items:center;padding-bottom:16px;border-bottom:2px solid rgba(4,30,66,.16);}
.v232-dossier-head>img{display:block;width:76px;height:82px;object-fit:contain;}
.v232-dossier-head small,.v232-section-title small,.v232-action-head small,.v232-link-card small{display:block;color:#BF0D3E;font:900 12px/1.1 Arial,sans-serif;letter-spacing:.05em;}
.v232-dossier-head h2,.v232-section-title h3,.v232-action-head h3,.v232-link-card h3{margin:3px 0;color:#041E42;font:400 clamp(20px,4vw,29px)/1.05 "Permanent Marker","Comic Sans MS",cursive;}
.v232-dossier-head p,.v232-section-title p{margin:3px 0 0;color:#58615F;font:700 13px/1.35 "Courier Prime","Courier New",monospace;}
.v232-dossier-head>button,.v232-action-head>button{align-self:start;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#041E42;color:#FFFDF7;font:900 28px/1 Arial,sans-serif;}
#v232DossierBody{display:grid;gap:18px;padding-top:16px;}
.v232-dossier-status,.v232-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.v232-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.v232-fact{display:grid;align-content:center;gap:4px;min-width:0;min-height:62px;padding:9px 8px;border:1px solid rgba(4,30,66,.15);border-radius:12px;background:#F1F0EB;text-align:center;}
.v232-fact span{color:#58615F;font:900 12px/1.1 Arial,sans-serif;}
.v232-fact b{color:#2A2F2D;font:700 13px/1.25 "Courier Prime","Courier New",monospace;overflow-wrap:anywhere;}
.v232-fact[data-tone="ready"] b,.v232-dossier-footer[data-tone="ready"]{color:#58615F;}
.v232-fact[data-tone="pending"] b,.v232-dossier-footer[data-tone="pending"]{color:#9B6900;}
.v232-fact[data-tone="action"] b{color:#BF0D3E;}
.v232-processing{padding:11px 13px;border-radius:12px;background:#FEBD3B;color:#041E42;font:900 13px/1.25 Arial,sans-serif;text-align:center;}
.v232-processing[hidden]{display:none!important;}
.v232-dossier-sheet section{padding:15px;border:1.5px solid rgba(4,30,66,.16);border-radius:16px;background:#FFFDF7;}
.v232-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.v232-section-title button,.v232-card-actions button,.v232-action-panel button,.v232-link-card button{
  min-height:42px;padding:9px 13px;border:1px solid #041E42;border-radius:999px;background:#BF0D3E;color:#FFFDF7;font:900 12px/1.15 Arial,sans-serif;
}
.v232-section-title button.secondary,.v232-card-actions button.secondary,.v232-action-panel button.secondary{background:#FFFDF7;color:#041E42;}
.v232-relationship{display:grid;gap:11px;margin-top:9px;padding:13px;border-left:5px solid #FEBD3B;border-radius:12px;background:#F1F0EB;}
.v232-relationship[data-tone="ready"]{border-left-color:#6F7F79;}
.v232-relationship[data-tone="action"]{border-left-color:#BF0D3E;}
.v232-relationship h4{margin:3px 0;color:#041E42;font:900 15px/1.15 Arial,sans-serif;}
.v232-relationship p{margin:4px 0 0;font:700 13px/1.35 "Courier Prime","Courier New",monospace;}
.v232-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.v232-sequence .v232-fact{min-height:54px;padding:7px 6px;}
.v232-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.v232-device{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding:11px;border:1px solid rgba(4,30,66,.14);border-radius:12px;background:#F1F0EB;}
.v232-device b,.v232-device span{display:block;}.v232-device b{color:#041E42;font:900 13px/1.1 Arial,sans-serif;}.v232-device span{margin-top:3px;font:700 12px/1.25 "Courier Prime","Courier New",monospace;}.v232-device em{color:#58615F;font:900 12px/1 Arial,sans-serif;font-style:normal;}
.v232-empty{padding:14px;border:1px dashed rgba(4,30,66,.24);border-radius:12px;color:#58615F;font:700 13px/1.4 "Courier Prime","Courier New",monospace;text-align:center;}
.v232-dossier-footer{padding:10px 12px;border-top:1px dashed rgba(4,30,66,.25);font:700 12px/1.35 "Courier Prime","Courier New",monospace;text-align:center;}
.v232-action-panel{position:fixed;inset:0;z-index:2;display:grid;place-items:center;padding:18px;background:rgba(4,30,66,.72);}
.v232-action-panel[hidden]{display:none!important;}
.v232-action-panel form,.v232-link-card{width:min(520px,100%);max-height:90vh;overflow:auto;padding:20px;border:2px solid #041E42;border-radius:17px;background:#FFFDF7;color:#2A2F2D;box-shadow:0 18px 55px rgba(0,0,0,.3);}
.v232-action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.v232-action-panel form>p,.v232-link-card p{font:700 13px/1.45 "Courier Prime","Courier New",monospace;}
.v232-action-panel label{display:grid;gap:6px;margin-top:12px;color:#041E42;font:900 13px/1.2 Arial,sans-serif;}
.v232-action-panel input,.v232-action-panel select{width:100%;min-height:44px;padding:10px 11px;border:1.5px solid #041E42;border-radius:10px;background:#FFFDF7;color:#2A2F2D;font:700 14px/1.2 Arial,sans-serif;box-sizing:border-box;}
.v232-action-panel .v232-check{grid-template-columns:24px minmax(0,1fr);align-items:start;font:700 13px/1.4 "Courier Prime","Courier New",monospace;}
.v232-action-panel .v232-check input{width:20px;min-height:20px;margin:0;}
.v232-form-status{min-height:20px;margin-top:10px;font:900 12px/1.3 Arial,sans-serif;text-align:center;}.v232-form-status[data-tone="action"]{color:#BF0D3E;}.v232-form-status[data-tone="ready"]{color:#58615F;}

.v232-notice{position:fixed;z-index:2147483001;right:14px;bottom:14px;width:min(390px,calc(100vw - 28px));}
.v232-notice[hidden]{display:none!important;}
.v232-notice>div{position:relative;padding:14px 48px 14px 15px;border:2px solid #041E42;border-radius:14px;background:#FFFDF7;box-shadow:0 12px 35px rgba(0,0,0,.24);}
.v232-notice small{color:#BF0D3E;font:900 12px/1 Arial,sans-serif;}.v232-notice p{margin:5px 0 0;font:700 13px/1.4 "Courier Prime","Courier New",monospace;}.v232-notice button{position:absolute;right:7px;top:7px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#041E42;color:#FFFDF7;font-size:22px;}
.v232-notice .v232-notice-control[hidden]{display:none!important;}
.v232-notice .v232-notice-control p{margin-top:10px;font-size:12px;}
.v232-notice #buggyNoticeTakeControlV232{position:static;width:100%;height:auto;min-height:44px;margin-top:10px;padding:10px 12px;border:1px solid #041E42;border-radius:13px;background:#FEBD3B;color:#041E42;font:900 13px/1.2 Arial,sans-serif;cursor:pointer;}
.v232-notice #buggyNoticeTakeControlV232:focus-visible{outline:3px solid #041E42;outline-offset:3px;}

/* Marker-folder cleanup: readable Training action, folder-colored art field,
   and a slightly irregular hand-built edge without changing Training itself. */
#buggy-passport-app #passport .v186-training-readiness-link{
  background:#F2DCA6!important;border-color:#041E42!important;border-radius:13px 17px 11px 16px!important;
  box-shadow:2px 3px 0 rgba(4,30,66,.16)!important;transform:rotate(-.25deg)!important;
}
#buggy-passport-app #passport .v186-training-readiness-link img{mix-blend-mode:multiply;filter:contrast(1.04) saturate(.92);}
#buggy-passport-app #passport .v186-training-readiness-link span{font-size:18px!important;line-height:1.1!important;min-height:40px!important;display:grid!important;place-items:center!important;}

@media(max-width:560px){
  .v232-dossier{padding:8px;}.v232-dossier-sheet{padding:13px;border-radius:15px;transform:none;}
  .v232-dossier-head{grid-template-columns:64px minmax(0,1fr) 42px;gap:9px;}.v232-dossier-head>img{width:64px;height:70px;}
  .v232-dossier-status{grid-template-columns:repeat(2,minmax(0,1fr));}.v232-detail-grid{grid-template-columns:1fr;}.v232-sequence{grid-template-columns:repeat(2,minmax(0,1fr));}
  .v232-section-title{display:grid;}.v232-section-title>div:last-child{display:flex;flex-wrap:wrap;gap:7px;}
  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;}
  #buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{width:68px!important;height:74px!important;min-width:68px!important;}
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{font-size:12px!important;min-height:48px!important;}
  #buggy-passport-app #passport .v186-training-readiness-link span{font-size:17px!important;}
}


/* ==========================================================================
   BUGGY Passport v232.4 — identity layout + standing/tag line
   ========================================================================== */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
  padding:18px 16px 16px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  gap:13px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
  width:86px!important;
  height:92px!important;
  min-width:86px!important;
  align-self:center!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
  gap:3px!important;
  align-items:flex-start!important;
  text-align:left!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-name{
  width:100%!important;
  margin:0 0 2px!important;
  font-size:22px!important;
  line-height:1.04!important;
  text-align:left!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-id{
  width:100%!important;
  margin:0!important;
  color:rgba(255,253,247,.82)!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  letter-spacing:.025em!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line{
  appearance:none!important;
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:3px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font:400 13px/1.2 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.01em!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:normal!important;
  cursor:pointer!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line[data-v232-state="ready"]{color:#AFC1B7!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line[data-v232-state="pending"]{color:#FEBD3B!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line[data-v232-state="action"]{color:#FF7E9E!important;}
#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line:focus-visible{
  outline:2px solid #FEBD3B!important;
  outline-offset:3px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding-top:11px!important;
  border-top:1px solid rgba(255,253,247,.15)!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
  min-height:48px!important;
  padding:2px 4px 4px!important;
  font-size:13.5px!important;
  line-height:1.28!important;
}

@media(max-width:420px){
  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
    padding:16px 14px 14px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:12px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
    width:78px!important;
    height:84px!important;
    min-width:78px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-name{
    font-size:21px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-id{
    font-size:11px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-standing-line{
    font-size:12.5px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
    gap:4px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
    min-height:46px!important;
    font-size:13px!important;
  }
}

@media(max-width:340px){
  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:10px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
    width:68px!important;
    height:74px!important;
    min-width:68px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
    font-size:12.5px!important;
  }
}


/* ==========================================================================
   BUGGY Passport v232.4 — CELL operational status
   ========================================================================== */
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
  min-width:0!important;
  font-size:13px!important;
}
@media(max-width:420px){
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px 6px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
    min-height:48px!important;
    font-size:13.5px!important;
  }
}


/* ==========================================================================
   BUGGY Passport v232.4 — header alignment + compact 4-up status fit
   ========================================================================== */
#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
  padding-top:14px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  gap:8px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
  align-items:start!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
  align-self:start!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
  justify-content:flex-start!important;
  align-self:start!important;
  padding-top:6px!important;
  gap:2px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-name{
  margin:0 0 1px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line{
  margin-top:2px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
  padding-top:8px!important;
  gap:4px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
  min-height:44px!important;
  padding:2px 0 3px!important;
  font-size:11px!important;
  line-height:1.22!important;
  letter-spacing:-.01em!important;
  white-space:pre!important;
  overflow:visible!important;
}

@media(max-width:420px){
  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
    padding-top:4px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
    min-height:46px!important;
    font-size:12.5px!important;
    letter-spacing:0!important;
  }
}


/* ==========================================================================
   BUGGY Passport v232.4 — identity grid placement correction
   The legacy .passport-holder-copy grid-area was creating an implicit second
   grid row inside v232IdentityRow. Reset it here so copy actually shares the
   Dossier row.
   ========================================================================== */
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
  grid-area:auto!important;
  align-self:start!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  padding-top:5px!important;
}

/* Keep the Dossier and identity stack on the same first grid row. */
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .v232-dossier-icon{
  grid-column:1!important;
  grid-row:1!important;
}
#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
  grid-column:2!important;
  grid-row:1!important;
}

/* Compact four-column desktop status band so each value stays in its column. */
#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
  font-size:10px!important;
  line-height:1.18!important;
  letter-spacing:-.015em!important;
  white-space:pre-line!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* Mobile remains intentionally larger in a 2 x 2 layout. */
@media(max-width:420px){
  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
    font-size:12.5px!important;
    line-height:1.22!important;
    letter-spacing:0!important;
    white-space:pre-line!important;
  }
}


/* ==========================================================================
   BUGGY Passport v232.4 — compact Passport card
   Goal: remove the empty block created once identity moves up and tuck the
   operational status row directly beneath Dossier + identity.
   ========================================================================== */

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
  padding:10px 12px 10px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .passport-holder-top{
  gap:4px!important;
  margin:0!important;
  padding:0!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  margin:0!important;
  padding:0!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
  width:74px!important;
  height:80px!important;
  min-width:74px!important;
  margin:0!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-copy{
  grid-column:2!important;
  grid-row:1!important;
  grid-area:auto!important;
  align-self:start!important;
  justify-self:stretch!important;
  justify-content:flex-start!important;
  padding:2px 0 0!important;
  margin:0!important;
  gap:1px!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-name{
  margin:0!important;
  font-size:21px!important;
  line-height:1!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-identity-row .passport-holder-id{
  margin:1px 0 0!important;
  font-size:10.8px!important;
  line-height:1.15!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-standing-line{
  margin:1px 0 0!important;
  font-size:12px!important;
  line-height:1.12!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
  margin:4px 0 0!important;
  padding:5px 0 0!important;
  border-top:1px solid rgba(255,253,247,.15)!important;
  gap:3px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

#buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
  min-height:38px!important;
  padding:1px 0 1px!important;
  font-size:10px!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
  white-space:pre-line!important;
  overflow:hidden!important;
}

/* Mobile still uses 2 x 2 so status text remains readable. */
@media(max-width:420px){
  #buggy-passport-app :is(#passport,#ridePage) .passport-holder-card{
    padding:10px 12px 11px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .v232-identity-row{
    grid-template-columns:74px minmax(0,1fr)!important;
    gap:9px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .v232-dossier-icon{
    width:70px!important;
    height:76px!important;
    min-width:70px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band{
    margin-top:5px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }

  #buggy-passport-app :is(#passport,#ridePage) .v232-status-band button{
    min-height:42px!important;
    font-size:12.5px!important;
    line-height:1.18!important;
    letter-spacing:0!important;
  }
}


/* ==========================================================================
   BUGGY Passport v232.4 — Passport CTA font-size normalization
   Match Book/Buy BUGGY + Open Map to OPEN TRAINING exactly.
   ========================================================================== */
#buggy-passport-app #passport .ride-launch button,
#buggy-passport-app #passport #openMapButton{
  font-size:18px!important;
}

@media(max-width:420px){
  #buggy-passport-app #passport .ride-launch button,
  #buggy-passport-app #passport #openMapButton{
    font-size:17px!important;
  }
}

/* ========================================================================== 
   BUGGY Passport v232.5 — Google / Apple entry, verified CELL, avatar
   ========================================================================== */
#buggy-passport-app .buggy-provider-doors{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0 4px;
}
#buggy-passport-app .buggy-provider-button{
  min-height:52px!important;
  margin:0!important;
  padding:10px 12px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:2px solid rgba(4,30,66,.18)!important;
  border-radius:14px!important;
  background:var(--fog)!important;
  color:var(--navy)!important;
  font:900 13px/1.1 Arial,sans-serif!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
#buggy-passport-app .buggy-provider-button:hover,
#buggy-passport-app .buggy-provider-button:focus-visible{
  border-color:var(--sun)!important;
  transform:translateY(-1px);
}
#buggy-passport-app img.buggy-provider-mark{
  width:22px;
  height:22px;
  display:block;
  flex:0 0 22px;
  object-fit:contain;
}
#buggy-passport-app .buggy-provider-apple img.buggy-provider-mark{width:24px;height:24px;flex-basis:24px;}

.v232-action-panel [data-email-reauth][hidden]{display:none!important;}
.buggy-email-correction-hint{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0;padding:8px 10px;border:1px solid rgba(4,30,66,.2);border-radius:12px;font:700 12px/1.3 "Courier Prime",monospace;overflow-wrap:anywhere;}
.buggy-email-correction-hint[hidden]{display:none!important;}
.buggy-email-correction-hint button{min-height:40px;padding:6px 10px;font-size:12px;}

#buggyCellVerificationV232{
  --navy:#041E42;
  --sun:#FEBD3B;
  --fog:#FFFDF7;
  --char:#2A2F2D;
  --sage:#58615F;
  --red:#BF0D3E;
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(4,30,66,.68);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  font-family:"Courier Prime",Courier,monospace;
}
#buggyCellVerificationV232[hidden]{display:none!important;}
#buggyCellVerificationV232 .buggy-cell-sheet{
  position:relative;
  width:min(100%,430px);
  max-height:min(88svh,720px);
  overflow:auto;
  box-sizing:border-box;
  padding:24px 24px 22px;
  border:2px solid var(--sun);
  border-radius:24px;
  background:var(--fog);
  color:var(--char);
  box-shadow:0 22px 64px rgba(4,30,66,.38);
}
#buggyCellVerificationV232 .buggy-cell-waypoint{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 9px 3px;
  border:1px solid rgba(4,30,66,.22);
  border-radius:999px;
  background:rgba(254,189,59,.22);
  color:var(--navy);
  font:700 11px/1 "Courier Prime",Courier,monospace;
  letter-spacing:.08em;
}
#buggyCellVerificationV232 .buggy-cell-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border:1px solid rgba(4,30,66,.18);
  border-radius:50%;
  background:transparent;
  color:var(--navy);
  font:700 24px/1 Arial,sans-serif;
  cursor:pointer;
}
#buggyCellVerificationV232 .buggy-cell-guide-row{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:13px;
  align-items:start;
  margin-top:18px;
}
#buggyCellVerificationV232 .buggy-cell-route-dot{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  box-sizing:border-box;
  border:3px solid var(--navy);
  border-radius:50%;
  background:var(--sun);
  color:var(--navy);
  font:400 18px/1 "Permanent Marker",cursive;
  transform:rotate(-3deg);
}
#buggyCellVerificationV232 .buggy-cell-guide-copy{min-width:0;}
#buggyCellVerificationV232 h2{
  margin:0 0 5px;
  color:var(--navy);
  font:400 27px/1.05 "Permanent Marker",cursive;
  letter-spacing:.01em;
}
#buggyCellVerificationV232 .buggy-cell-guide-copy p{
  margin:0;
  max-width:32ch;
  color:var(--sage);
  font:700 13px/1.4 "Courier Prime",Courier,monospace;
}
#buggyCellVerificationV232 .buggy-cell-trail{
  display:flex;
  align-items:center;
  gap:6px;
  margin:18px 0 17px 8px;
}
#buggyCellVerificationV232 .buggy-cell-trail:before{
  content:"";
  width:10px;
  height:10px;
  border:2px solid var(--navy);
  border-radius:50%;
  background:var(--fog);
}
#buggyCellVerificationV232 .buggy-cell-trail:after{
  content:"";
  flex:1;
  height:2px;
  background:repeating-linear-gradient(90deg,var(--navy) 0 9px,transparent 9px 16px);
  opacity:.52;
}
#buggyCellVerificationV232 .buggy-cell-trail span{display:none;}
#buggyCellVerificationV232 form{margin:0;}
#buggyCellVerificationV232 label{
  display:block;
  margin:0;
  color:var(--navy);
  font:700 12px/1.2 "Courier Prime",Courier,monospace;
  letter-spacing:.045em;
}
#buggyCellVerificationV232 input{
  width:100%;
  min-height:54px;
  box-sizing:border-box;
  margin-top:8px;
  padding:12px 15px;
  border:2px solid var(--navy);
  border-radius:12px;
  outline:0;
  background:#fff;
  color:var(--navy);
  box-shadow:3px 3px 0 rgba(254,189,59,.44);
  font:700 21px/1 "Courier Prime",Courier,monospace;
  letter-spacing:.035em;
}
#buggyCellVerificationV232 input:focus{
  border-color:var(--red);
  box-shadow:3px 3px 0 rgba(254,189,59,.62);
}
#buggyCellVerificationV232 input::placeholder{
  color:rgba(4,30,66,.36);
  opacity:1;
}
#buggyCellVerificationV232 .buggy-cell-hint{
  margin-top:7px;
  color:var(--sage);
  font:700 10.5px/1.25 "Courier Prime",Courier,monospace;
  letter-spacing:.045em;
}
#buggyCellVerificationV232 .buggy-cell-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:18px;
}
#buggyCellVerificationV232 .buggy-cell-actions button{
  min-height:50px;
  padding:10px 17px;
  border:2px solid var(--navy);
  border-radius:14px;
  background:var(--sun);
  color:var(--navy);
  box-shadow:3px 3px 0 var(--navy);
  font:400 16px/1 "Permanent Marker",cursive;
  cursor:pointer;
}
#buggyCellVerificationV232 .buggy-cell-actions button:active{
  transform:translate(2px,2px);
  box-shadow:1px 1px 0 var(--navy);
}
#buggyCellVerificationV232 .buggy-cell-actions button.secondary{
  background:var(--fog)!important;
  color:var(--navy)!important;
  box-shadow:none;
}
#buggyCellVerificationV232 .buggy-cell-text-link{
  display:inline-block;
  margin:12px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--navy);
  box-shadow:none;
  font:700 11px/1.2 "Courier Prime",Courier,monospace;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
#buggyCellVerificationV232 .buggy-cell-status{
  min-height:20px;
  margin-top:12px;
  color:var(--sage);
  font:700 12.5px/1.35 "Courier Prime",Courier,monospace;
}
#buggyCellVerificationV232 .buggy-cell-status:empty{min-height:0;margin-top:0;}
#buggyCellVerificationV232 .buggy-cell-status[data-tone="error"]{color:var(--red);}
#buggyCellVerificationV232 .buggy-cell-status[data-tone="ready"]{color:#167248;}
@media(max-width:460px){
  #buggyCellVerificationV232{padding:12px;}
  #buggyCellVerificationV232 .buggy-cell-sheet{padding:21px 18px 19px;border-radius:21px;}
  #buggyCellVerificationV232 .buggy-cell-guide-row{grid-template-columns:39px minmax(0,1fr);gap:11px;}
  #buggyCellVerificationV232 .buggy-cell-route-dot{width:38px;height:38px;font-size:16px;}
  #buggyCellVerificationV232 h2{font-size:24px;}
  #buggyCellVerificationV232 .buggy-cell-guide-copy p{font-size:13px;}
  #buggyCellVerificationV232 input{font-size:19px;}
  #buggyCellVerificationV232 .buggy-cell-actions{grid-template-columns:1fr;}
}

#buggy-passport-app #v194HeaderPassportAvatar[data-avatar-ready="true"]{
  color:transparent!important;
  background-color:var(--sun)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

@media(max-width:460px){
  #buggy-passport-app .buggy-provider-doors{grid-template-columns:1fr;gap:8px;}
  #buggyCellVerificationV232 .buggy-cell-actions{grid-template-columns:1fr;}
}

/* ========================================================================== 
   BUGGY Passport v233 — reviewed Pin-first sequence and guide clearance
   ========================================================================== */
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="connection"] .v228-home-area-edit,
#buggy-passport-app #passportSetup .buggy-pin-flow[data-v62-stage="age"] .v228-home-area-edit{
  display:none!important;
}
#buggy-passport-app #passportSetup #setupRipSpeech.rip-callout-short .rip-callout-copy{
  bottom:44px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v165-ask-open .setup-speech .rip-callout-copy,
#buggy-passport-app #passportActivate #activationRipScene.v165-ask-open .setup-speech .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene.v165-ask-open .setup-speech .rip-callout-copy{
  top:14px!important;
  bottom:32px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v165-ask-open .v233-rip-advance,
#buggy-passport-app #passportActivate #activationRipScene.v165-ask-open .v233-rip-advance,
#buggy-passport-app #passportLogin #loginRipScene.v165-ask-open .v233-rip-advance{
  bottom:4px!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v165-ask-open .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportActivate #activationRipScene.v165-ask-open .setup-speech.rip-callout-short .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene.v165-ask-open .setup-speech.rip-callout-short .rip-callout-copy{
  font-size:22px!important;
  line-height:1.08!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v165-ask-open .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportActivate #activationRipScene.v165-ask-open .setup-speech.rip-callout-medium .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene.v165-ask-open .setup-speech.rip-callout-medium .rip-callout-copy{
  font-size:20px!important;
  line-height:1.1!important;
}
#buggy-passport-app #passportSetup #setupRipScene.v165-ask-open .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportActivate #activationRipScene.v165-ask-open .setup-speech.rip-callout-long .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene.v165-ask-open .setup-speech.rip-callout-long .rip-callout-copy{
  font-size:18px!important;
  line-height:1.12!important;
}

/* v233 review: the Welcome ASK RIP control belongs directly beneath the
   painted Check-In sign, not beside Rip's face. */
#buggy-passport-app #home .home-rip-intro .home-ask-rip{
  left:81px!important;
  right:auto!important;
  top:162px!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
}
#buggy-passport-app #home .home-rip-intro .home-ask-rip:hover,
#buggy-passport-app #home .home-rip-intro .home-ask-rip:focus-visible,
#buggy-passport-app #home .home-rip-intro .home-ask-rip:active,
#buggy-passport-app #home .home-rip-intro .home-ask-rip.is-pressed{
  transform:translateX(-50%)!important;
}
@media(max-width:430px){
  #buggy-passport-app #home .home-rip-intro .home-ask-rip{
    left:77px!important;
    top:157px!important;
  }
}
@media(max-width:380px){
  #buggy-passport-app #home .home-rip-intro .home-ask-rip{
    left:70px!important;
    top:146px!important;
  }
}

/* v233 Dossier brand correction: fog paper and only the two loaded BUGGY
   type families. This is deliberately scoped to the Dossier and its actions. */
.v232-dossier-sheet,
.v232-action-panel form,
.v232-link-card{
  background:#F1F0EB!important;
}
.v232-dossier-sheet section{
  background:#F6F1E7!important;
}
.v232-dossier-sheet .v232-fact,
.v232-dossier-sheet .v232-relationship,
.v232-dossier-sheet .v232-device{
  background:rgba(88,97,95,.09)!important;
}
.v232-dossier,
.v232-dossier small,
.v232-dossier p,
.v232-dossier span,
.v232-dossier b,
.v232-dossier em,
.v232-dossier label,
.v232-dossier input,
.v232-dossier select,
.v232-dossier .v232-dossier-footer{
  font-family:"Courier Prime",monospace!important;
}
.v232-dossier h2,
.v232-dossier h3,
.v232-dossier h4,
.v232-dossier button{
  font-family:"Permanent Marker",cursive!important;
}

/* ========================================================================== 
   BUGGY Passport v233 — one universal RIP callout system
   One fog oval, one intact mouth-pointed tail, one contained copy box.
   ========================================================================== */
#buggy-passport-app{
  --v233-rip-callout-paper:#F1F0EB;
  --v233-rip-callout-ink:#041E42;
  --v233-rip-callout-line:rgba(88,97,95,.82);
  --v233-rip-callout-radius:49% 46% 51% 47% / 46% 51% 47% 52%;
}

#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy
){
  --v233-tail-right:-39px;
  --v233-tail-top:61px;
  --v233-tail-rotate:-8deg;
  box-sizing:border-box!important;
  overflow:visible!important;
  contain:none!important;
  border:2px solid var(--v233-rip-callout-line)!important;
  border-radius:var(--v233-rip-callout-radius)!important;
  background:var(--v233-rip-callout-paper)!important;
  background-color:var(--v233-rip-callout-paper)!important;
  background-image:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  color:var(--v233-rip-callout-ink)!important;
  box-shadow:0 10px 24px rgba(4,30,66,.09)!important;
  isolation:isolate!important;
}

/* The two nested triangles form one closed tail. Its tip lands at Rip's mouth. */
#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy
)::before,
#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy
)::after{
  content:""!important;
  position:absolute!important;
  left:auto!important;
  bottom:auto!important;
  width:0!important;
  height:0!important;
  display:block!important;
  border-top-style:solid!important;
  border-bottom-style:solid!important;
  border-left-style:solid!important;
  border-right:0!important;
  transform:rotate(var(--v233-tail-rotate))!important;
  transform-origin:left center!important;
  pointer-events:none!important;
}
#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy
)::before{
  z-index:-2!important;
  right:var(--v233-tail-right)!important;
  top:var(--v233-tail-top)!important;
  border-top-width:15px!important;
  border-bottom-width:13px!important;
  border-left-width:42px!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  border-left-color:var(--v233-rip-callout-line)!important;
}
#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy
)::after{
  z-index:-1!important;
  right:calc(var(--v233-tail-right) + 5px)!important;
  top:calc(var(--v233-tail-top) + 3px)!important;
  border-top-width:12px!important;
  border-bottom-width:10px!important;
  border-left-width:37px!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  border-left-color:var(--v233-rip-callout-paper)!important;
}

#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy
) > .rip-callout-copy{
  position:absolute!important;
  z-index:2!important;
  inset:19px 27px 24px 27px!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  color:var(--v233-rip-callout-ink)!important;
  font:400 clamp(18px,4.7vw,22px)/1.12 "Permanent Marker",cursive!important;
  letter-spacing:0!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Passport introduction: Rip sits under/right of the shared bubble. */
#buggy-passport-app .passport-intro-scene{
  min-height:248px!important;
  height:248px!important;
  overflow:visible!important;
}
#buggy-passport-app #passportIntroSpeech{
  --v233-tail-right:-42px;
  --v233-tail-top:62px;
  --v233-tail-rotate:-10deg;
  left:5px!important;
  right:auto!important;
  top:10px!important;
  bottom:auto!important;
  width:min(276px,68vw)!important;
  max-width:none!important;
  min-height:0!important;
  height:142px!important;
  padding:0!important;
}
#buggy-passport-app #passportIntroSpeech > .rip-callout-copy{
  inset:19px 27px 22px 25px!important;
}
#buggy-passport-app .passport-intro-rip{
  z-index:1!important;
  right:-3px!important;
  bottom:-1px!important;
  width:158px!important;
  height:218px!important;
  max-height:218px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}

/* Passport section guide: no target overlap from an oversized or open copy box. */
#buggy-passport-app #passport .passport-rip-guide{
  width:min(414px,calc(100vw - 12px))!important;
  height:260px!important;
  min-height:260px!important;
  overflow:visible!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech{
  --v233-tail-right:-53px;
  --v233-tail-top:138px;
  --v233-tail-rotate:45deg;
  left:6px!important;
  right:auto!important;
  top:4px!important;
  bottom:auto!important;
  width:min(304px,74vw)!important;
  max-width:none!important;
  min-height:0!important;
  height:156px!important;
  padding:0!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech::before{
  border-left-width:56px!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech::after{
  border-left-width:51px!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech > .rip-callout-copy{
  inset:18px 28px 38px 26px!important;
  font-size:20px!important;
  line-height:1.1!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
  z-index:2!important;
  right:13px!important;
  left:auto!important;
  top:auto!important;
  bottom:52px!important;
  width:150px!important;
  height:205px!important;
  max-height:205px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-continue{
  position:absolute!important;
  z-index:9!important;
  left:114px!important;
  top:125px!important;
  min-width:68px!important;
  min-height:28px!important;
  margin:0!important;
  padding:4px 11px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:999px!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font:400 13px/1 "Permanent Marker",cursive!important;
  box-shadow:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-rip-close{
  z-index:10!important;
}

/* Status presenter: the same bubble and mouth-connected tail, with paged copy. */
#buggy-passport-app .v191-rip-instruction-scene{
  min-height:214px!important;
  height:214px!important;
  overflow:visible!important;
}
#buggy-passport-app #v191RipInstructionCopy{
  --v233-tail-right:-43px;
  --v233-tail-top:69px;
  --v233-tail-rotate:-13deg;
  position:absolute!important;
  left:2px!important;
  right:auto!important;
  top:10px!important;
  bottom:auto!important;
  width:min(276px,68vw)!important;
  max-width:none!important;
  min-height:0!important;
  height:148px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  font-size:inherit!important;
}
#buggy-passport-app #v191RipInstructionCopy > .rip-callout-copy{
  inset:18px 28px 20px 27px!important;
  font-size:18px!important;
  line-height:1.2!important;
}
#buggy-passport-app .v191-rip-instruction-rip{
  z-index:1!important;
  right:-2px!important;
  left:auto!important;
  top:auto!important;
  bottom:0!important;
  width:136px!important;
  height:198px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
#buggy-passport-app .v196-status-presenter-progress .dot:nth-child(n){
  display:block!important;
}

/* Thinking Girl is the only visible presenter while BUGGY is processing. */
body.v233-thinking-active #buggyRipMoveHandle,
body.v233-thinking-active #activationAskRipButton,
body.v233-thinking-active #homeAskRipButton{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:390px){
  #buggy-passport-app #passportIntroSpeech{
    width:min(264px,71vw)!important;
    height:138px!important;
  }
  #buggy-passport-app .passport-intro-rip{
    right:-8px!important;
    width:146px!important;
    height:208px!important;
  }
  #buggy-passport-app #passport .passport-rip-guide #passportRipSpeech{
    width:min(286px,75vw)!important;
    height:150px!important;
  }
  #buggy-passport-app #passport .passport-rip-guide #passportRipSpeech > .rip-callout-copy{
    inset:17px 26px 37px 24px!important;
    font-size:18px!important;
  }
  #buggy-passport-app #passport .passport-rip-guide .passport-context-continue{
    left:103px!important;
    top:120px!important;
  }
  #buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
    right:-4px!important;
    bottom:48px!important;
    width:140px!important;
    height:198px!important;
  }
  #buggy-passport-app #v191RipInstructionCopy{
    width:min(258px,69vw)!important;
    height:146px!important;
  }
  #buggy-passport-app #v191RipInstructionCopy > .rip-callout-copy{
    inset:17px 25px 19px 24px!important;
    font-size:17px!important;
  }
  #buggy-passport-app .v191-rip-instruction-rip{
    right:-8px!important;
    width:126px!important;
    height:190px!important;
  }
}

/* RC19 final cascade: onboarding uses the same oval and closed mouth pointer. */
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech,
#buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech,
#buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech{
  --v233-tail-right:-53px;
  --v233-tail-top:118px;
  --v233-tail-rotate:38deg;
  box-sizing:border-box!important;
  overflow:visible!important;
  contain:none!important;
  left:6px!important;
  right:auto!important;
  top:14px!important;
  bottom:auto!important;
  width:276px!important;
  max-width:calc(100vw - 126px)!important;
  min-height:0!important;
  height:142px!important;
  padding:0!important;
  border:2px solid var(--v233-rip-callout-line)!important;
  border-radius:var(--v233-rip-callout-radius)!important;
  background:var(--v233-rip-callout-paper)!important;
  background-color:var(--v233-rip-callout-paper)!important;
  background-image:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  color:var(--v233-rip-callout-ink)!important;
  box-shadow:0 10px 24px rgba(4,30,66,.09)!important;
  isolation:isolate!important;
}
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech{
  top:-14px!important;
}
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech::before,
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech::after,
#buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech::before,
#buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech::after,
#buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech::before,
#buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech::after{
  content:""!important;
  position:absolute!important;
  left:auto!important;
  bottom:auto!important;
  width:0!important;
  height:0!important;
  display:block!important;
  border-top-style:solid!important;
  border-bottom-style:solid!important;
  border-left-style:solid!important;
  border-right:0!important;
  transform:rotate(var(--v233-tail-rotate))!important;
  transform-origin:left center!important;
  pointer-events:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech::before,
#buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech::before,
#buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech::before{
  z-index:-2!important;
  right:var(--v233-tail-right)!important;
  top:var(--v233-tail-top)!important;
  border-top-width:15px!important;
  border-bottom-width:13px!important;
  border-left-width:56px!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  border-left-color:var(--v233-rip-callout-line)!important;
}
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech::after,
#buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech::after,
#buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech::after{
  z-index:-1!important;
  right:calc(var(--v233-tail-right) + 5px)!important;
  top:calc(var(--v233-tail-top) + 3px)!important;
  border-top-width:12px!important;
  border-bottom-width:10px!important;
  border-left-width:51px!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  border-left-color:var(--v233-rip-callout-paper)!important;
}
#buggy-passport-app #passportActivate #activationRipSpeech > .rip-callout-copy,
#buggy-passport-app #passportSetup #setupRipSpeech > .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipSpeech > .rip-callout-copy{
  position:absolute!important;
  z-index:2!important;
  inset:18px 26px 25px!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  color:var(--v233-rip-callout-ink)!important;
  font:400 21px/1.1 "Permanent Marker",cursive!important;
  letter-spacing:0!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}
#buggy-passport-app #passportActivate #activationRipScene.v165-ask-open #activationRipSpeech > .rip-callout-copy,
#buggy-passport-app #passportSetup #setupRipScene.v165-ask-open #setupRipSpeech > .rip-callout-copy,
#buggy-passport-app #passportLogin #loginRipScene.v165-ask-open #loginRipSpeech > .rip-callout-copy{
  bottom:40px!important;
  font-size:19px!important;
}

/* No live DOM normalizer: legacy short status pages are contained by CSS. */
#buggy-passport-app #v191RipInstructionCopy{
  padding:18px 28px 20px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--v233-rip-callout-ink)!important;
  font:400 18px/1.2 "Permanent Marker",cursive!important;
  text-align:center!important;
}
#buggy-passport-app #v191RipInstructionCopy > .rip-callout-copy{
  inset:0!important;
  padding:18px 28px 20px!important;
}

@media(max-width:390px){
  #buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech,
  #buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech,
  #buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech{
    width:264px!important;
    max-width:calc(100vw - 112px)!important;
    height:138px!important;
    --v233-tail-top:114px;
  }
  #buggy-passport-app #passportActivate #activationRipSpeech > .rip-callout-copy,
  #buggy-passport-app #passportSetup #setupRipSpeech > .rip-callout-copy,
  #buggy-passport-app #passportLogin #loginRipSpeech > .rip-callout-copy{
    inset:17px 24px 23px!important;
    font-size:19px!important;
  }
}

/* RC19 placement fix: the presenter is part of onboarding flow, immediately
   after the active form. Fixed viewport anchoring caused both large gaps and
   overlap on short browser windows. */
#buggy-passport-app #passportActivate .setup-shell,
#buggy-passport-app #passportSetup .setup-shell,
#buggy-passport-app #passportLogin .setup-shell{
  display:flex!important;
  flex-direction:column!important;
  padding-bottom:16px!important;
  overflow:visible!important;
}
#buggy-passport-app #passportActivate .setup-topline,
#buggy-passport-app #passportSetup .setup-topline,
#buggy-passport-app #passportLogin .setup-topline{
  order:1!important;
}
#buggy-passport-app #passportActivate #homeActivationGate,
#buggy-passport-app #passportSetup .passport-setup-step,
#buggy-passport-app #passportSetup .setup-error,
#buggy-passport-app #passportLogin .passport-setup-step,
#buggy-passport-app #passportLogin .setup-error{
  order:2!important;
}
#buggy-passport-app #passportActivate #activationRipScene,
#buggy-passport-app #passportSetup #setupRipScene,
#buggy-passport-app #passportLogin #loginRipScene{
  order:3!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:min(430px,100%)!important;
  height:190px!important;
  min-height:190px!important;
  margin:8px auto 0!important;
  overflow:visible!important;
}
#buggy-passport-app #passportActivate #activationRipScene #activationRipSpeech,
#buggy-passport-app #passportSetup #setupRipScene #setupRipSpeech,
#buggy-passport-app #passportLogin #loginRipScene #loginRipSpeech{
  --v233-tail-top:74px;
  --v233-tail-rotate:18deg;
  top:0!important;
  bottom:auto!important;
}
#buggy-passport-app #passportActivate #activationRipScene .setup-rip,
#buggy-passport-app #passportSetup #setupRipScene .setup-rip,
#buggy-passport-app #passportLogin #loginRipScene .setup-rip{
  top:auto!important;
  bottom:0!important;
}

/* Tail fill sits above the oval surface, with the outline behind it. This
   keeps one continuous pointer instead of the gray/broken legacy triangle. */
#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy,
  #activationRipSpeech,
  #setupRipSpeech,
  #loginRipSpeech
)::before{
  z-index:0!important;
}
#buggy-passport-app :is(
  #passportIntroSpeech,
  #passportRipSpeech,
  #v191RipInstructionCopy,
  #activationRipSpeech,
  #setupRipSpeech,
  #loginRipSpeech
)::after{
  z-index:1!important;
}

/* ==========================================================================
   BUGGY Passport v236 BASE — PWA/mobile application shell
   Locked v234 behavior remains intact inside a deliberate device-height frame.
   ========================================================================== */
:root{
  --buggy-v235-shell-surface:#fbfaf6;
  --buggy-v235-viewport-height:100dvh;
}

html.buggy-v235-pwa-shell,
html.buggy-v235-pwa-shell body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:var(--buggy-v235-shell-surface)!important;
}

html.buggy-v235-pwa-shell body{
  position:relative!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

html.buggy-v235-pwa-shell #buggy-passport-app{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  height:var(--buggy-v235-viewport-height,100dvh)!important;
  min-height:0!important;
  max-height:var(--buggy-v235-viewport-height,100dvh)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--buggy-v235-shell-surface)!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app > .phone{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto auto auto!important;
  width:min(430px,100%)!important;
  max-width:430px!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:var(--buggy-v235-shell-surface)!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app .core-values-top{
  grid-row:1!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
  z-index:30!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app.home-active .core-values-top{
  padding-top:calc(10px + env(safe-area-inset-top))!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app > .phone > header{
  grid-row:2!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
  z-index:30!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app:not(.home-active):not(.map-active) > .phone > header{
  padding-top:max(8px,env(safe-area-inset-top))!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app > .phone > main{
  grid-row:3!important;
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding-bottom:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  background:transparent!important;
  scrollbar-gutter:stable both-edges;
}

html.buggy-v235-pwa-shell #buggy-passport-app main > .screen.active:not(#map){
  display:flex!important;
  flex-direction:column!important;
  width:min(430px,100%)!important;
  max-width:430px!important;
  min-height:100%!important;
  height:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:visible!important;
}

/* v235 owns one persistent support dock. The duplicated per-screen copies stay
   in the DOM for rollback compatibility but no longer consume layout space. */
html.buggy-v235-pwa-shell #buggy-passport-app main > .screen:not(#map) > .screen-support-footer{
  display:none!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app > .phone > .v235-support-dock{
  grid-row:4!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:7px 8px 8px!important;
  transform:none!important;
  flex:0 0 auto!important;
  overflow:hidden!important;
  z-index:35!important;
  background:#edf1ec!important;
  border:0!important;
  box-shadow:none!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app > .phone > .v235-support-dock button{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:1px 2px!important;
}

html.buggy-v235-pwa-shell #buggy-passport-app > .phone > .core-values-bottom{
  grid-row:5!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  flex:0 0 auto!important;
  z-index:30!important;
}

html.buggy-v235-pwa-shell #buggyCopyrightNotice.buggy-copyright-notice{
  grid-row:6!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:5px 10px max(6px,env(safe-area-inset-bottom))!important;
  flex:0 0 auto!important;
  z-index:30!important;
  background:var(--buggy-v235-shell-surface)!important;
  line-height:1.2!important;
}

html.buggy-v235-pwa-shell #buggyCopyrightNotice .buggy-version-line{
  margin-top:2px!important;
}
html.buggy-v235-pwa-shell #buggyCopyrightNotice .buggy-build-id{
  margin-top:1px!important;
}

/* The existing full-screen Map remains a dedicated overlay. Its tested map
   footer stays map-owned; the global support dock is hidden behind that mode. */
html.buggy-v235-pwa-shell #buggy-passport-app.map-active > .phone > .v235-support-dock,
html.buggy-v235-pwa-shell #buggy-passport-app.map-active > .phone > .core-values-bottom,
html.buggy-v235-pwa-shell #buggy-passport-app.map-active #buggyCopyrightNotice{
  visibility:hidden!important;
}
html.buggy-v235-pwa-shell #buggy-passport-app #map > .screen-support-footer{
  display:grid!important;
}

/* Inputs remain visible when iOS shrinks the visual viewport for the keyboard. */
html.buggy-v235-pwa-shell #buggy-passport-app input,
html.buggy-v235-pwa-shell #buggy-passport-app select,
html.buggy-v235-pwa-shell #buggy-passport-app textarea{
  scroll-margin-top:18px;
  scroll-margin-bottom:24px;
}

@media(max-width:430px){
  html.buggy-v235-pwa-shell #buggy-passport-app > .phone{
    width:100%!important;
    max-width:none!important;
  }
  html.buggy-v235-pwa-shell #buggyCopyrightNotice.buggy-copyright-notice{
    font-size:8px!important;
  }
  html.buggy-v235-pwa-shell #buggyCopyrightNotice .buggy-version-line{
    font-size:8px!important;
  }
  html.buggy-v235-pwa-shell #buggyCopyrightNotice .buggy-build-id{
    font-size:7px!important;
  }
}

@media(display-mode:standalone){
  html.buggy-v235-pwa-shell #buggy-passport-app{
    height:var(--buggy-v235-viewport-height,100dvh)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.buggy-v235-pwa-shell #buggy-passport-app > .phone > main{
    scroll-behavior:auto!important;
  }
}


/* ==========================================================================\n   BUGGY Passport v236 BASE R1 — standalone viewport lock\n   Live PWA acceptance showed iOS could report a short visualViewport during\n   launch, causing the bottom dock to stop above the physical app bottom.\n   In standalone mode, the CSS device viewport is authoritative.\n   ========================================================================== */
@media(display-mode:standalone){
  html.buggy-v235-pwa-shell,
  html.buggy-v235-pwa-shell body{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
  }
  html.buggy-v235-pwa-shell #buggy-passport-app,
  html.buggy-v235-pwa-shell #buggy-passport-app > .phone{
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
  }
}

/* On Welcome, use free middle-space intentionally. Auto block margins center
   the presenter group when it fits and collapse naturally when scrolling is
   required on shorter devices. */
html.buggy-v235-pwa-shell #buggy-passport-app.home-active #home .home-welcome{
  margin-block:auto!important;
}


/* ==========================================================================
   BUGGY Passport v236 BASE R16 — quiet creation transition
   ========================================================================== */
#buggy-passport-app #passportSetup .v235-r13-created-step{
  padding-top:18px!important;
}
#buggy-passport-app #passportSetup .v235-r13-created-card{
  display:grid!important;
  gap:16px!important;
  width:min(100%,390px)!important;
  margin:0 auto!important;
  padding:22px 18px!important;
  border:1px solid #D2D6D4!important;
  border-radius:24px!important;
  background:#FBFAF6!important;
  box-shadow:0 12px 28px rgba(4,30,66,.08)!important;
  text-align:center!important;
}
#buggy-passport-app #passportSetup .v235-r13-created-kicker{
  color:#041E42!important;
  font:400 29px/1.05 "Permanent Marker","Comic Sans MS",cursive!important;
  letter-spacing:.02em!important;
}
#buggy-passport-app #passportSetup .v235-r13-created-copy{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#2A2F2D!important;
  font:400 14px/1.5 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #passportSetup .v235-r13-created-copy b{
  display:block!important;
  margin-bottom:10px!important;
  color:#041E42!important;
  font:700 17px/1.2 "Courier Prime","Courier New",monospace!important;
}
#buggy-passport-app #passportSetup .v235-r13-open-passport{
  width:100%!important;
  margin:2px 0 0!important;
}


/* ==========================================================================\n   BUGGY Passport v236 BASE R16 — progressive Under-18 onboarding\n   One decision block at a time; final CREATE action appears only when ready.\n   ========================================================================== */
#buggy-passport-app #passportSetup #v62AgePanel .v235-r14-minor-step{
  margin-top:10px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v235-r14-step-kicker{
  margin:0 0 8px!important;
  color:#BF0D3E!important;
  font:700 12px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v235-r14-step-continue{
  margin-top:12px!important;
}
#buggy-passport-app #passportSetup #v62AgePanel .v235-r14-flow-back{
  margin-top:10px!important;
  width:100%!important;
}
#buggy-passport-app #passportSetup #v62AgePanel #v86AgeContinue[hidden],
#buggy-passport-app #passportSetup #v62AgePanel .v235-r14-minor-step[hidden]{
  display:none!important;
}
\n\n/* ==========================================================================\n   BUGGY Passport v236 BASE R16 — focused modal + created-card standard\n   ========================================================================== */\n/* Focused intro modals own the viewport. The global movable controls must not\n   float behind or through them. */\nhtml.buggy-passport-intro-open body #buggyRipMoveHandle,\nhtml.buggy-passport-intro-open body #activationAskRipButton,\nhtml.buggy-passport-intro-open body #homeAskRipButton,\nhtml.buggy-guardian-intro-open body #buggyRipMoveHandle,\nhtml.buggy-guardian-intro-open body #activationAskRipButton,\nhtml.buggy-guardian-intro-open body #homeAskRipButton{\n  display:none!important;\n  visibility:hidden!important;\n  pointer-events:none!important;\n}\n\n/* Guardian invitation now follows the clean Passport-intro two-lane pattern. */\n#buggy-passport-app .v202-guardian-invite-card.v235-r15-modal-card{\n  width:min(430px,calc(100vw - 28px))!important;\n  min-height:430px!important;\n  padding:18px 16px 16px!important;\n  overflow:hidden!important;\n  border:2px solid var(--sun,#FEBD3B)!important;\n  border-radius:28px!important;\n  background:var(--fog,#FFFDF7)!important;\n}\n#buggy-passport-app .v202-guardian-scene.v235-r15-modal-scene{\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) minmax(150px,40%)!important;\n  align-items:center!important;\n  column-gap:10px!important;\n  min-height:290px!important;\n  padding-top:8px!important;\n  overflow:visible!important;\n}\n#buggy-passport-app .v202-guardian-bubble.v235-r15-modal-bubble{\n  position:relative!important;\n  z-index:4!important;\n  width:100%!important;\n  min-height:170px!important;\n  margin:0!important;\n  padding:18px 18px 20px!important;\n  display:grid!important;\n  place-items:center!important;\n  border:2px solid rgba(42,47,45,.88)!important;\n  border-radius:22px!important;\n  background:var(--fog,#FFFDF7)!important;\n  color:var(--navy,#041E42)!important;\n  font:400 17px/1.18 "Permanent Marker","Comic Sans MS",cursive!important;\n  text-align:center!important;\n  box-shadow:none!important;\n}\n#buggy-passport-app .v202-guardian-bubble.v235-r15-modal-bubble:after{\n  content:""!important;\n  position:absolute!important;\n  right:-18px!important;\n  top:52%!important;\n  bottom:auto!important;\n  width:30px!important;\n  height:26px!important;\n  background:var(--fog,#FFFDF7)!important;\n  border:0!important;\n  border-right:2px solid rgba(42,47,45,.88)!important;\n  border-bottom:2px solid rgba(42,47,45,.88)!important;\n  transform:translateY(-50%) rotate(-32deg) skew(-7deg)!important;\n  transform-origin:center!important;\n  z-index:-1!important;\n}\n#buggy-passport-app .v202-guardian-rip.v235-r15-modal-rip{\n  position:relative!important;\n  z-index:2!important;\n  right:auto!important;\n  bottom:auto!important;\n  width:min(175px,40vw)!important;\n  max-width:175px!important;\n  height:auto!important;\n  max-height:275px!important;\n  justify-self:end!important;\n  align-self:end!important;\n  object-fit:contain!important;\n  object-position:right bottom!important;\n}\n#buggy-passport-app .v202-guardian-progress{\n  margin:0 0 6px!important;\n}\n#buggy-passport-app .v202-guardian-progress span{\n  width:26px!important;\n  height:8px!important;\n  border-radius:999px!important;\n  background:var(--sun,#FEBD3B)!important;\n}\n#buggy-passport-app .v202-guardian-actions{\n  position:relative!important;\n  z-index:6!important;\n}\n\n/* Passport Created is a simple acknowledgement transition, not a status dump. */\n#buggy-passport-app #passportSetup .v235-r15-created-card{\n  width:min(390px,100%)!important;\n  margin:0 auto!important;\n  padding:20px 18px 18px!important;\n  border:1px solid rgba(4,30,66,.16)!important;\n  border-radius:22px!important;\n  background:var(--fog,#FFFDF7)!important;\n  color:var(--navy,#041E42)!important;\n  box-shadow:0 12px 28px rgba(4,30,66,.10)!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-kicker{\n  margin-bottom:10px!important;\n  color:var(--navy,#041E42)!important;\n  font:400 29px/1.02 "Permanent Marker","Comic Sans MS",cursive!important;\n  text-align:center!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-copy{\n  margin:0 0 12px!important;\n  padding:0!important;\n  border:0!important;\n  background:transparent!important;\n  color:var(--navy,#041E42)!important;\n  font:700 14px/1.35 "Courier Prime","Courier New",monospace!important;\n  text-align:center!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-copy b{\n  display:block!important;\n  margin-bottom:3px!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-list{\n  margin:12px 0 14px!important;\n  padding-left:22px!important;\n  color:var(--char,#2A2F2D)!important;\n  font:700 13px/1.35 "Courier Prime","Courier New",monospace!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-list li{\n  margin:7px 0!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-list b{\n  color:var(--navy,#041E42)!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-understand{\n  display:grid!important;\n  grid-template-columns:22px minmax(0,1fr)!important;\n  gap:9px!important;\n  align-items:start!important;\n  margin:12px 0 14px!important;\n  padding:12px!important;\n  border:1px solid rgba(4,30,66,.18)!important;\n  border-radius:14px!important;\n  background:rgba(254,189,59,.10)!important;\n  color:var(--char,#2A2F2D)!important;\n  font:700 12px/1.35 "Courier Prime","Courier New",monospace!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-created-understand input{\n  width:20px!important;\n  height:20px!important;\n  margin:1px 0 0!important;\n  accent-color:var(--sun,#FEBD3B)!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-open-passport{\n  width:100%!important;\n  margin-top:2px!important;\n}\n#buggy-passport-app #passportSetup .v235-r15-open-passport[hidden]{\n  display:none!important;\n}\n
#buggy-passport-app .v234-rip-callout-host.v234-rip-copy-overflow{outline:none!important;outline-offset:0!important;}

#buggy-passport-app .v202-guardian-bubble.v235-r15-modal-bubble:after{z-index:1!important;}
#buggy-passport-app .v202-guardian-bubble.v235-r15-modal-bubble #v202GuardianCopy{position:relative!important;z-index:2!important;}


/* BUGGY Passport v236 BASE R16 — existing Passport collision recovery */
#buggy-passport-app #passportLogin.existing-passport-found .v116-login-panel{
  border:2px solid rgba(254,189,59,.72)!important;
  box-shadow:0 12px 28px rgba(4,30,66,.12)!important;
}
#buggy-passport-app #passportLogin #existingPassportLoginButton.existing-passport-primary{
  width:100%!important;
  min-height:58px!important;
  grid-column:1 / -1!important;
  background:var(--sun,#FEBD3B)!important;
  color:var(--navy,#041E42)!important;
  font-size:17px!important;
}
#buggy-passport-app #passportLogin.existing-passport-found #existingPassportError{
  display:block!important;
  color:var(--navy,#041E42)!important;
  background:rgba(254,189,59,.18)!important;
  border:1px solid rgba(254,189,59,.55)!important;
  border-radius:14px!important;
  padding:12px!important;
}


/* ==========================================================================
   BUGGY Passport v236 BASE R19 — PWA resume + modal containment stabilization
   ========================================================================== */
html.buggy-passport-intro-open,
html.buggy-passport-intro-open body{
  width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
}
#buggy-passport-app .passport-intro-overlay{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
  box-sizing:border-box!important;
}
#buggy-passport-app .passport-intro-panel{
  position:relative!important;
  inset:auto!important;
  width:min(430px,100%)!important;
  max-width:430px!important;
  max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)))!important;
  margin:0 auto!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  box-sizing:border-box!important;
}
#buggy-passport-app .passport-intro-scene{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#buggy-passport-app.passport-intro-active #buggyRipMoveHandle,
#buggy-passport-app.passport-intro-active #activationAskRipButton,
html.buggy-passport-intro-open body #buggyRipMoveHandle,
html.buggy-passport-intro-open body #activationAskRipButton{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:430px){
  #buggy-passport-app .passport-intro-overlay{padding-left:10px!important;padding-right:10px!important;}
  #buggy-passport-app .passport-intro-panel{width:100%!important;max-width:100%!important;}
}

/* BUGGY Passport v236 BASE R19 — authenticated PWA cold-start recovery watchdog. */


/* ========================================================================== 
   BUGGY Passport v236 BASE R19 — stabilization consolidation
   Preserves the approved R16-R18 visual contract while fixing containment,
   Passport identity continuity, and the consolidated Rip helper surfaces.
   ========================================================================== */

/* Verification/status presenter: reserve enough interior headroom for Rip. */
#buggy-passport-app .v191-rip-instruction{
  min-height:390px!important;
  overflow:hidden!important;
}
#buggy-passport-app .v191-rip-instruction-scene{
  min-height:242px!important;
  height:242px!important;
  padding-top:18px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#buggy-passport-app .v191-rip-instruction-rip{
  top:auto!important;
  right:4px!important;
  bottom:4px!important;
  width:124px!important;
  height:180px!important;
  max-height:180px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  transform:none!important;
}
#buggy-passport-app #v191RipInstructionCopy{
  top:24px!important;
}
@media(max-width:390px){
  #buggy-passport-app .v191-rip-instruction-scene{min-height:232px!important;height:232px!important;}
  #buggy-passport-app .v191-rip-instruction-rip{right:2px!important;width:118px!important;height:174px!important;max-height:174px!important;}
}

/* Created means created: show the durable Passport artifact without restoring
   the old verification-action clutter. */
#buggy-passport-app .v235-r19-created-passport{
  width:100%!important;
  margin:12px 0 14px!important;
  padding:14px 15px 15px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:20px!important;
  background:var(--navy,#041E42)!important;
  color:var(--fog,#FFFDF7)!important;
  box-shadow:0 8px 20px rgba(4,30,66,.12)!important;
}
#buggy-passport-app .v235-r19-created-passport-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding-bottom:9px!important;
  border-bottom:1px solid rgba(255,255,255,.28)!important;
  font:700 11px/1.1 "Courier New",monospace!important;
  letter-spacing:.06em!important;
}
#buggy-passport-app .v235-r19-created-passport-top b{
  color:var(--sun,#FEBD3B)!important;
  font-family:"Permanent Marker",cursive!important;
  font-size:13px!important;
}
#buggy-passport-app .v235-r19-created-passport-body{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding-top:12px!important;
}
#buggy-passport-app .v235-r19-created-passport-avatar{
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  border:2px solid var(--sun,#FEBD3B)!important;
  border-radius:16px!important;
  background:var(--fog,#FFFDF7)!important;
  color:var(--navy,#041E42)!important;
  font:800 27px/1 Arial,sans-serif!important;
}
#buggy-passport-app .v235-r19-created-passport-copy{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
#buggy-passport-app .v235-r19-created-passport-copy b{
  overflow-wrap:anywhere!important;
  font:800 18px/1.1 Arial,sans-serif!important;
}
#buggy-passport-app .v235-r19-created-passport-copy span{
  overflow-wrap:anywhere!important;
  font:700 12px/1.2 "Courier New",monospace!important;
}
#buggy-passport-app .v235-r19-created-passport-copy small{
  color:var(--sun,#FEBD3B)!important;
  font:700 11px/1.2 "Courier New",monospace!important;
}

/* Representative is an added context to the base Personal Passport. */
#buggy-passport-app .v235-r19-base-passport{
  display:grid!important;
  gap:5px!important;
  margin:9px 0 12px!important;
  padding:12px 13px!important;
  border:2px solid var(--navy,#041E42)!important;
  border-radius:16px!important;
  background:rgba(4,30,66,.055)!important;
  color:var(--navy,#041E42)!important;
}
#buggy-passport-app .v235-r19-base-passport-kicker,
#buggy-passport-app .v235-r19-organization-context-label{
  font:700 11px/1.1 "Courier New",monospace!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
#buggy-passport-app .v235-r19-base-passport b{font-size:15px!important;}
#buggy-passport-app .v235-r19-base-passport span{font:13px/1.35 "Courier New",monospace!important;}
#buggy-passport-app .v235-r19-organization-context-label{
  margin:3px 0 8px!important;
  color:var(--berry,#C8102E)!important;
}

/* Contextual Rip guide: TURN OFF owns a separate control shelf and never sits
   on top of the speech copy. */
#buggy-passport-app #passport .passport-rip-guide{
  height:300px!important;
  min-height:300px!important;
  padding-top:34px!important;
  box-sizing:border-box!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-rip-close{
  position:absolute!important;
  top:3px!important;
  right:12px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:15!important;
  min-height:26px!important;
  padding:3px 10px!important;
  border-radius:999px!important;
  line-height:1!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech{
  top:40px!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
  bottom:36px!important;
}

/* The new explainer targets can live outside #passport (header/support dock). */
#buggy-passport-app #passport .passport-rip-guide .passport-context-auto-pause{
  position:absolute!important;
  top:2px!important;
  right:108px!important;
  z-index:15!important;
  min-height:26px!important;
  padding:3px 10px!important;
  border:1px solid var(--navy,#06254a)!important;
  border-radius:999px!important;
  background:var(--cream,#fffdf4)!important;
  color:var(--navy,#06254a)!important;
  font:12px/1 "Permanent Marker",cursive!important;
  cursor:pointer;
  pointer-events:auto!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-auto-pause:focus-visible{
  outline:3px solid var(--sun,#FEBD3B)!important;
  outline-offset:2px!important;
}
#buggy-passport-app .passport-context-focus{
  outline:2px solid var(--sun,#FEBD3B)!important;
  outline-offset:3px!important;
}

/* Give the final Passport content a real end-of-scroll landing zone above the
   persistent Ease/Trust dock instead of visually pinning the last card to it. */
html.buggy-v235-pwa-shell #buggy-passport-app main > .screen.active:not(#map){
  padding-bottom:28px!important;
  scroll-padding-bottom:28px!important;
}


/* ==========================================================================
   BUGGY Passport v236 BASE R24 — preserves R20 global Rip presenter bottom safe zone
   ========================================================================== */
/* The PWA shell owns persistent bottom chrome (EASE/TRUST, values ribbon,
   copyright/build). Give every authenticated/onboarding content screen a real
   scroll spacer so a final Rip presenter can rise far enough for MOVE RIP /
   ASK RIP to sit underneath it without entering any footer row. Welcome and
   Map retain their locked geometry. */
html.buggy-v235-pwa-shell #buggy-passport-app > .phone > main > .screen.active:not(#home):not(#map):not(#passport)::after{
  content:""!important;
  display:block!important;
  width:100%!important;
  height:76px!important;
  min-height:76px!important;
  flex:0 0 76px!important;
  pointer-events:none!important;
  visibility:hidden!important;
}
html.buggy-v235-pwa-shell #buggy-passport-app > .phone > main{
  scroll-padding-bottom:92px!important;
}
/* Setup/activation/login presenters are the common end-of-form case. Keep
   their final flow position explicit and let the screen spacer—not the footer—
   provide the clearance. */
html.buggy-v235-pwa-shell #buggy-passport-app :is(#passportActivate,#passportSetup,#passportLogin) .setup-shell{
  padding-bottom:16px!important;
}


/* ==========================================================================
   BUGGY Passport v236 BASE R24 — safe presenter lanes + explainer groups
   ========================================================================== */
/* Contextual Passport Rip owns a protected speech lane and character lane.
   The bubble may point toward Rip, but it cannot sit over his face/body. */
#buggy-passport-app #passport .passport-rip-guide{
  width:min(410px,calc(100vw - 12px))!important;
  height:326px!important;
  min-height:326px!important;
  padding-top:34px!important;
  overflow:visible!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech{
  --v233-tail-right:-34px!important;
  --v233-tail-top:112px!important;
  --v233-tail-rotate:36deg!important;
  left:4px!important;
  right:auto!important;
  top:42px!important;
  bottom:auto!important;
  width:min(258px,calc(100% - 142px))!important;
  max-width:258px!important;
  height:166px!important;
  min-height:166px!important;
  z-index:6!important;
}
#buggy-passport-app #passport .passport-rip-guide #passportRipSpeech > .rip-callout-copy{
  inset:17px 22px 40px 22px!important;
  font-size:18px!important;
  line-height:1.08!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
  position:absolute!important;
  z-index:4!important;
  right:2px!important;
  left:auto!important;
  top:auto!important;
  bottom:22px!important;
  width:140px!important;
  height:196px!important;
  max-width:140px!important;
  max-height:196px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
#buggy-passport-app #passport .passport-rip-guide .passport-rip-close{
  top:2px!important;
  right:8px!important;
  z-index:15!important;
}
@media(max-width:380px){
  #buggy-passport-app #passport .passport-rip-guide{height:308px!important;min-height:308px!important;}
  #buggy-passport-app #passport .passport-rip-guide #passportRipSpeech{
    width:calc(100% - 130px)!important;max-width:236px!important;height:158px!important;min-height:158px!important;
  }
  #buggy-passport-app #passport .passport-rip-guide .passport-context-rip-image{
    width:128px!important;height:182px!important;max-width:128px!important;max-height:182px!important;
  }
}

/* The blue Passport/status card is one spotlight object. Header home/avatar/
   section-pill controls are another. EASE/TRUST is a third outside #passport. */
html.buggy-v235-pwa-shell #buggy-passport-app > .phone > header.passport-context-focus,
html.buggy-v235-pwa-shell #buggy-passport-app > .phone > .v235-support-dock.passport-context-focus{
  position:relative!important;
  z-index:280!important;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  outline:2px solid var(--sun,#FEBD3B)!important;
  outline-offset:2px!important;
}
#buggy-passport-app #passport #passportHolderCard.passport-context-focus{
  position:relative!important;
  z-index:3!important;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
}


/* ==========================================================================
   BUGGY Passport v236 BASE R24 — true Passport intro spotlight
   ========================================================================== */
/* The old full-screen backdrop blur made the very control Rip was explaining
   fuzzy. R24 replaces that with four dim/blur panes around a live rectangular
   hole, so the target itself remains the real, sharp interface. */
#buggy-passport-app .passport-intro-overlay.passport-intro-spotlight-active{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#buggy-passport-app .passport-intro-spotlight-layer{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
#buggy-passport-app .passport-intro-spotlight-layer[hidden]{display:none!important;}
#buggy-passport-app .passport-intro-spotlight-pane{
  position:fixed!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:rgba(4,30,66,.70)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  pointer-events:none!important;
}
#buggy-passport-app .passport-intro-spotlight-ring{
  position:fixed!important;
  z-index:1!important;
  margin:0!important;
  padding:0!important;
  border:2px solid rgba(254,189,59,.92)!important;
  border-radius:18px!important;
  box-shadow:0 0 0 3px rgba(255,253,247,.18),0 10px 30px rgba(4,30,66,.18)!important;
  background:transparent!important;
  pointer-events:none!important;
}
#buggy-passport-app .passport-intro-overlay.passport-intro-spotlight-active .passport-intro-panel{
  position:relative!important;
  z-index:3!important;
}
/* Header is one explainer object: BUGGY/home + avatar/check-in-out + section pill.
   Status/Dossier is a separate object: the entire blue Passport card. */
#buggy-passport-app .passport-intro-overlay[data-spotlight-stage="checkin"] .passport-intro-spotlight-ring,
#buggy-passport-app .passport-intro-overlay[data-spotlight-stage="controls"] .passport-intro-spotlight-ring{
  border-radius:0 0 20px 20px!important;
}

/* ========================================================================== 
   BUGGY Passport v236 BASE R26 — zero-space inactive Passport Rip
   ========================================================================== */
/* Passport context guidance is fixed-position UI. When it is closed it must
   have no layout box, no hit box, and no residual safe-space reservation. */
#buggy-passport-app #passport .passport-rip-guide[hidden],
#buggy-passport-app #passport .passport-rip-guide:not(.open){
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* ========================================================================== 
   BUGGY Passport v236 BASE R27 — focused usability batch
   ========================================================================== */

/* Welcome action keeps the approved hierarchy and adds a second divider so
   CLICK HERE reads as the final invitation inside the same accessible button. */
#buggy-passport-app #home .home-entry-button .home-entry-divider-secondary{
  display:block!important;
  width:54%!important;
  height:1.5px!important;
  flex-basis:1.5px!important;
  margin:0 auto!important;
  background:rgba(255,253,247,.88)!important;
}
#buggy-passport-app #home .home-entry-click{
  display:block!important;
  color:var(--fog,#FFFDF7)!important;
  font:700 11px/1.1 "Courier Prime","Courier New",monospace!important;
  letter-spacing:.08em!important;
}

/* Functional setup copy must remain legible on small phones. */
#buggy-passport-app #passportSetup .password-rules{
  gap:5px!important;
  margin-top:8px!important;
  margin-bottom:14px!important;
}
#buggy-passport-app #passportSetup .password-rules span{
  color:var(--char,#2A2F2D)!important;
  font-size:14px!important;
  line-height:1.35!important;
  min-height:19px!important;
}
#buggy-passport-app #passportSetup .setup-error,
#buggy-passport-app #passportSetup .setup-context-help,
#buggy-passport-app #passportSetup .v86-trip-note,
#buggy-passport-app #passportSetup .v123-age-note{
  font-size:12px!important;
  line-height:1.38!important;
}
#buggy-passport-app #passportSetup .v235-r15-created-verification{
  margin:12px 0 14px!important;
  color:var(--char,#2A2F2D)!important;
  font:700 14px/1.4 "Courier Prime","Courier New",monospace!important;
  text-align:left!important;
}
#buggy-passport-app #passportSetup .v235-r15-created-verification b{
  color:var(--navy,#041E42)!important;
}

/* Connection question and selector affordance. */
#buggy-passport-app #passportSetup .buggy-pin-connection-heading{
  margin:0 0 7px!important;
  color:var(--navy,#041E42)!important;
  font-size:17px!important;
  line-height:1.15!important;
}
#buggy-passport-app #passportSetup .v235-r27-connection-label{
  display:block!important;
  margin:0 0 6px!important;
}
#buggy-passport-app #passportSetup #passportStakeholder:invalid{
  color:#8b9292!important;
}
#buggy-passport-app #passportSetup #passportStakeholder option{
  color:var(--navy,#041E42)!important;
}

/* The Check-In prompt itself is a keyboard/touch shortcut to the name field. */
#buggy-passport-app #passportActivate #activationRipSpeech.v235-r27-input-shortcut{
  cursor:text!important;
  pointer-events:auto!important;
}
#buggy-passport-app #passportActivate #activationRipSpeech.v235-r27-input-shortcut .v234-rip-callout-art,
#buggy-passport-app #passportActivate #activationRipSpeech.v235-r27-input-shortcut .rip-callout-copy{
  pointer-events:none!important;
}
#buggy-passport-app #passportActivate #activationRipSpeech.v235-r27-input-shortcut:focus-visible{
  outline:3px solid var(--sun,#FEBD3B)!important;
  outline-offset:3px!important;
}

/* Minor access is a second contained page after school/grade. */
#buggy-passport-app #passportSetup .v235-r27-minor-next{
  margin-top:12px!important;
}
#buggy-passport-app #passportSetup .v235-r27-minor-back{
  margin:0 0 12px!important;
}
#buggy-passport-app #passportSetup .v235-r27-age-page[hidden],
#buggy-passport-app #passportSetup .v235-r27-access-page[hidden]{
  display:none!important;
}
#buggy-passport-app #passportSetup .v235-r27-access-page{
  width:100%!important;
}
#buggy-passport-app #passportSetup #v170GuardianEntry[data-completed="true"]{
  opacity:1!important;
}
#buggy-passport-app #passportSetup #v170GuardianEntry[data-completed="true"] #v123GuardianEmail{
  color:var(--navy,#041E42)!important;
  background:#f3f5f1!important;
  opacity:1!important;
}
#buggy-passport-app #passportSetup #v123GuardianSend:disabled{
  opacity:1!important;
  background:#e8f1e8!important;
  color:#245a35!important;
  border-color:#7fa18a!important;
  cursor:default!important;
}

/* Shared fixed Rip controls remain non-painting until the controller has
   committed both coordinates in its animation-frame placement pass. */
body #buggyRipMoveHandle:not(.v235-r27-control-ready),
body #activationAskRipButton:not(.v235-r27-control-ready),
body #homeAskRipButton:not(.v235-r27-control-ready),
body.v235-r27-rip-transition #buggyRipMoveHandle,
body.v235-r27-rip-transition #activationAskRipButton,
body.v235-r27-rip-transition #homeAskRipButton,
#buggy-passport-app #home:not(.active) #homeAskRipButton{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* C31: clear Dossier sections; settings live with the verification summary. */
#v232DossierBody{gap:22px;}
#v232DossierBody>section{border-top:4px solid #ffbf3f;padding-top:13px;}
#v232DossierBody .v232-section-title{flex-wrap:wrap;gap:10px;margin-bottom:14px;}
#v232DossierBody .v232-section-title>div{min-width:0;}
#v232DossierBody .v232-section-title h3{font-size:clamp(32px,4.5vw,36px)!important;line-height:1.18!important;margin:4px 0;overflow-wrap:anywhere;}
#v232DossierBody .v232-section-title small{font-size:12px!important;line-height:1.25!important;}
#v232DossierBody .v232-fact-detail{color:#2a2f2d;font:400 13px/1.35 "Courier Prime","Courier New",monospace!important;overflow-wrap:anywhere;}
#dossierStatusSettings .v232-dossier-status{align-items:stretch;}
#dossierStatusSettings .v232-account-details{margin-top:10px;}
@media(max-width:600px){
  #v232DossierBody .v232-section-title>div:first-child{display:block;}
  #dossierStatusSettings .v232-account-details{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #dossierStatusSettings .v232-account-details>.v232-fact:first-child{grid-column:1/-1;}
}

/* C31: connection checks stay with Rip, outside the Dossier. */
#buggy-passport-app .v191-rip-instruction:has(.buggy-relationship-action){max-height:calc(100dvh - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain;}
.buggy-relationship-action{padding:4px 12px 14px;min-width:0;color:#041e42;}
.buggy-relationship-action label{display:grid;gap:6px;margin-top:10px;font:700 13px/1.35 "Courier Prime","Courier New",monospace;}
.buggy-relationship-action input,.buggy-relationship-action select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #627e77;border-radius:10px;background:#fbfaf6;color:#041e42;font:16px/1.2 Arial,sans-serif;}
.buggy-relationship-action .v232-check{grid-template-columns:24px minmax(0,1fr);align-items:start;}
.buggy-relationship-action .v232-check input{width:20px;min-height:20px;margin:0;}
.buggy-relationship-action .v232-card-actions button{min-height:44px;}
.buggy-relationship-action .v232-form-status{overflow-wrap:anywhere;}

#buggy-passport-app #passport .passport-rip-guide.open:not([hidden]){
  display:block!important;
  width:min(410px,calc(100vw - 12px))!important;
  height:326px!important;
  min-height:326px!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}

/* C46: questions-only owner reference, scoped to its Dossier section. */
.v232-advisor-questions p{font:700 13px/1.5 "Courier Prime","Courier New",monospace}.v232-advisor-questions .v232-card-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #041E42;border-radius:999px;color:#041E42;background:#FEBD3B;font:900 12px/1.25 Arial,sans-serif;text-decoration:none;text-align:center;overflow-wrap:anywhere}.v232-advisor-questions .v232-card-actions a+a{background:#F1F0EB}.v232-advisor-questions a:focus-visible{outline:3px solid #075d81;outline-offset:3px}
