:root{--blue:#168df0;--sky:#44c5f5;--lime:#58cc02;--yellow:#ffd83d;--orange:#ff9b31;--pink:#ff4f8b;--purple:#a66be8;--navy:#123a72;--ink:#123a72}
body{background:linear-gradient(#c9f4ff 0,#f4fff0 38%,#fff 100%);color:var(--ink)}
.shell{padding:12px}.phone{width:min(100%,760px);border:0;border-radius:36px;background:rgba(255,255,255,.97);box-shadow:0 22px 70px rgba(31,102,153,.18);padding:24px;overflow:hidden}
.phone header{margin:-24px -24px 22px;padding:20px 24px 16px;background:linear-gradient(110deg,#e7fbff,#fff,#fff5ba);border-bottom:0}.brand{font-weight:950;font-size:34px;letter-spacing:-1.5px;background:linear-gradient(90deg,#ff3f62 0 20%,#1594ef 20% 40%,#52c41a 40% 60%,#ff9b24 60% 80%,#a34be0 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.status{font-size:12px}.status span{background:var(--lime)}
.bug{width:52px;height:52px;background:#ff4b4b;box-shadow:inset 0 -6px rgba(170,20,20,.12),0 4px 12px #ffb3b3}.view h1,.view h2,.kicker,.eyebrow{font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.start h1{font-size:46px;line-height:1.02}.start h1:before{content:"👋 "}.lede{font-size:20px;line-height:1.4}.photo-button,.choose-button{min-height:70px;border-radius:24px;font-size:20px;font-weight:900}.photo-button{background:linear-gradient(135deg,#118df0,#38b9ff);box-shadow:0 6px 0 #0871c4}.choose-button{background:#ecffe5;color:#278c1a;border:2px solid #bceba9}.privacy{border-radius:20px;background:#fff9d8;border:2px solid #ffe17b}
.wow-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:15px 20px;border-radius:24px;background:linear-gradient(110deg,#fff4a9,#ffe565);font:900 24px/1.15 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;color:#123a72}.mini-ladybug{font-size:34px}
.discovery-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.photo-story-card,.answer-story-card{border-radius:28px;overflow:hidden}.photo-story-card{position:relative;background:#e8f9ff;padding:8px}.result-image{width:100%;height:340px;object-fit:cover;border:0;border-radius:23px}.photo-cheer{position:absolute;left:24px;right:24px;bottom:22px;padding:12px 14px;border-radius:22px;background:rgba(255,255,255,.94);font:900 18px "Arial Rounded MT Bold","Trebuchet MS",sans-serif;text-align:center;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.answer-story-card{padding:26px;background:linear-gradient(145deg,#e5fbe5,#f6fff4);display:flex;flex-direction:column;justify-content:center}.friendly-label{font-size:22px;font-weight:800;margin:0 0 10px}.answer-story-card h1{font-size:46px;line-height:1.02;margin:0 0 16px;letter-spacing:-1.7px;color:#0d3470}.summary{font-size:21px;line-height:1.35;color:#244f7e;margin:0 0 18px}.happy-fact{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:20px;background:#fff4c9}.happy-fact>span{font-size:30px}.happy-fact p{margin:0;font-size:17px;line-height:1.4;font-weight:700}
.big-closer{margin-top:18px!important;padding:20px!important;border:0!important;background:linear-gradient(110deg,#ffe2ef,#fff0c9)!important;display:flex;gap:18px;align-items:center;justify-content:space-between}.big-closer[hidden]{display:none!important}.closer-copy{display:flex;align-items:center;gap:14px}.big-icon{font-size:54px}.big-closer h2{font-size:27px;margin:0 0 5px}.big-closer p{font-size:17px;margin:0;line-height:1.35}.closer-card button{min-width:210px;padding:17px 18px!important;border:0!important;border-radius:22px!important;background:linear-gradient(135deg,#ff4f8b,#ff6e9e)!important;color:white!important;font-size:19px!important;font-weight:950!important;box-shadow:0 6px 0 #db2e6c!important}
.adventure-area{margin-top:18px}.adventure-title{text-align:center;font-size:22px;font-weight:900;margin:4px 0 13px}.adventure-buttons{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px}.adventure-buttons button,.grownup-button{min-height:150px;border:0!important;border-radius:24px!important;padding:15px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font:900 17px/1.2 "Arial Rounded MT Bold","Trebuchet MS",sans-serif!important;color:#103a70!important;box-shadow:0 5px 0 rgba(25,83,125,.13)}.adventure-buttons button:nth-child(1){background:linear-gradient(145deg,#76ed7b,#b9ff9d)!important}.adventure-buttons button:nth-child(2){background:linear-gradient(145deg,#ffe054,#fff3a3)!important}.adventure-buttons button:nth-child(3){background:linear-gradient(145deg,#4ccaf4,#9ce9ff)!important}.adventure-icon{font-size:43px}.adventure-buttons b{font-size:22px;background:white;border-radius:50%;width:32px;height:32px;line-height:30px}.grownup-button{margin-top:12px;width:100%;min-height:72px!important;flex-direction:row!important;background:linear-gradient(145deg,#d7b5ff,#efdfff)!important;color:#5d3395!important}
.grownup-details{margin-top:16px;padding:16px;border-radius:24px;background:#fbf9ff}.grownup-details article{border-radius:20px!important}.unknown{background:#f0edff!important;border:2px solid #ddd5ff!important}.action{background:#e8ffe5!important;border:2px solid #bcebad!important;color:#173b70!important;box-shadow:none!important}.why{background:#fff7cf!important;border:2px solid #ffe58c!important}.attention{border-radius:18px}.question{border-radius:18px}
.voice-row{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.voice-row button{min-height:62px;border:0;border-radius:22px;background:#e7f6ff;color:#117ed1;font-size:17px;font-weight:900}.voice-row button:last-child{background:linear-gradient(135deg,#23b75d,#58cc02);color:#fff;box-shadow:0 5px 0 #159144}.turbo-row{gap:10px}.turbo-button{border-radius:20px!important;font-weight:900!important}.conversation-dock{border-top:4px solid #dff3ff}.conversation-dock h2{font-size:28px;color:#123a72}.talk-button{background:linear-gradient(135deg,#20b95c,#58cc02)!important;box-shadow:0 5px 0 #159144!important}.ai-note{text-align:center;font-size:12px;color:#8092a5}
@media(max-width:650px){body{background:#fff}.shell{padding:0}.phone{width:100%;border-radius:0;padding:16px}.phone header{margin:-16px -16px 16px;padding:14px 16px}.brand{font-size:29px}.discovery-grid{grid-template-columns:1fr}.result-image{height:270px}.answer-story-card{padding:22px}.answer-story-card h1{font-size:39px}.friendly-label{font-size:19px}.summary{font-size:19px}.big-closer{flex-direction:column;align-items:stretch}.closer-card button{width:100%;min-width:0}.adventure-buttons{grid-template-columns:repeat(3,1fr)}.adventure-buttons button{min-height:132px;font-size:14px!important;padding:9px!important}.adventure-icon{font-size:36px}.wow-banner{font-size:20px}.start h1{font-size:40px}}
@media(max-width:390px){.adventure-buttons{grid-template-columns:1fr}.adventure-buttons button{min-height:92px;flex-direction:row!important;font-size:17px!important}.voice-row{grid-template-columns:1fr}.answer-story-card h1{font-size:36px}}

/* =========================================================
   YVETTE STORYBOOK V2 — target-screen fidelity
   ========================================================= */
.phone{width:min(100%,650px);padding:0;border-radius:32px;background:#fff;overflow:hidden}
.storybook-header{position:relative!important;margin:0!important;padding:0!important;background:none!important;border:0!important;min-height:0!important}
.storybook-header img{display:block;width:100%;height:auto}
.storybook-logout{position:absolute;right:8px;top:7px;z-index:6;opacity:.96}
.storybook-logout button{width:auto!important;min-width:66px!important;height:30px!important;padding:0 9px!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;color:#24517f!important;font-size:12px!important;font-weight:800!important;box-shadow:0 2px 8px rgba(36,81,127,.18)!important;white-space:nowrap}

.view{padding:16px 18px 20px}.storybook-result{background:linear-gradient(180deg,#f4fff1 0,#fff 9%,#fff 100%)}
.wow-banner{display:none}
.discovery-grid{grid-template-columns:1fr 1.08fr;gap:12px;margin:0}
.photo-story-card,.answer-story-card{border-radius:22px}
.photo-story-card{padding:0;background:#fff;overflow:hidden;border:5px solid #fff;box-shadow:0 4px 16px rgba(47,111,145,.12)}
.result-image{height:285px;border-radius:18px}
.photo-cheer{left:10px;right:10px;bottom:9px;padding:8px 10px 8px 8px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:15px;border-radius:18px}
.cheer-mascot{width:40px;height:36px;border-radius:13px;overflow:hidden;display:block;flex:0 0 auto}
.cheer-mascot img{width:100%;height:100%;object-fit:cover;object-position:left center}
.answer-story-card{padding:18px 18px;background:linear-gradient(145deg,#dcf8dc,#f6fff3);justify-content:flex-start}
.friendly-label{font-size:18px;margin:0 0 5px}.answer-story-card h1{font-size:37px;line-height:.98;margin:0 0 11px;letter-spacing:-1.5px}.summary{font-size:17px;line-height:1.32;margin:0 0 13px}
.happy-fact{padding:10px 12px;border-radius:15px;gap:8px}.happy-fact>span{font-size:24px}.happy-fact p{font-size:14px;line-height:1.28}

.big-closer{margin-top:12px!important;padding:14px 15px!important;border-radius:21px!important;display:grid;grid-template-columns:1fr auto;gap:12px;background:linear-gradient(110deg,#ffdce9,#ffe8ef)!important}
.closer-copy{gap:10px}.big-icon{font-size:43px}.big-closer h2{font-size:23px;margin-bottom:3px}.big-closer p{font-size:14px;max-width:290px}.closer-card button{min-width:155px;padding:13px 14px!important;border-radius:18px!important;font-size:16px!important;box-shadow:0 4px 0 #d62b69!important}

.adventure-area{margin-top:11px}.adventure-title{display:none}.adventure-buttons{grid-template-columns:repeat(3,1fr);gap:9px}.adventure-buttons button,.grownup-button{min-height:158px;border-radius:20px!important;padding:12px 8px!important;font-size:15px!important}.adventure-buttons button:nth-child(1){background:linear-gradient(145deg,#55e66e,#b6ff99)!important}.adventure-buttons button:nth-child(2){background:linear-gradient(145deg,#ffd836,#fff18a)!important}.adventure-buttons button:nth-child(3){background:linear-gradient(145deg,#3bc2f0,#77dbfa)!important}.adventure-icon{font-size:48px}.adventure-label{max-width:105px;font-size:16px;line-height:1.06}.adventure-buttons b{width:29px;height:29px;line-height:27px;font-size:20px}
.grownup-button{margin-top:9px;min-height:56px!important;border-radius:19px!important;font-size:16px!important;background:linear-gradient(145deg,#c9a3f3,#e2c6ff)!important}

.grownup-details{margin-top:10px;padding:10px;background:#f8f4ff;border-radius:20px}.grownup-details article{padding:14px!important}.grownup-details .kicker{font-size:18px}.grownup-details p,.grownup-details li{font-size:14px;line-height:1.35}

.voice-row,.turbo-row{display:none!important}
.storybook-talkbar{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;margin:14px 0 0!important;padding:12px!important;border:0!important;border-radius:22px!important;background:#f4faff!important;box-shadow:0 5px 18px rgba(31,112,170,.10)!important;display:grid!important;grid-template-columns:54px 1fr 44px;gap:10px;align-items:center;z-index:auto!important}
.storybook-talkbar[hidden]{display:none!important}.conversation-open{padding-bottom:0!important}
.storybook-mic{width:54px!important;height:54px!important;border:0!important;border-radius:50%!important;background:linear-gradient(145deg,#169bf7,#38b7ff)!important;color:#fff!important;font-size:26px!important;box-shadow:0 4px 0 #087ac8!important;padding:0!important}
.storybook-talk-main{min-width:0}.talk-label{margin:0 0 4px;color:#1288df;font-weight:900;font-size:14px}.dock-type-row{display:grid;grid-template-columns:1fr 56px;gap:7px}.sheet-question{min-height:43px!important;height:43px!important;padding:10px 12px!important;border-radius:16px!important;font-size:15px!important;background:#fff!important}.dock-send{height:43px!important;border-radius:16px!important;background:#149bf2!important;color:#fff!important;font-size:15px!important;font-weight:900!important}.voice-status{margin:4px 0 0!important;font-size:11px!important;color:#73879a!important}.compact-photo{width:44px!important;height:44px!important;padding:0!important;border-radius:15px!important;font-size:20px!important;border:0!important;background:#e4f6ff!important}.ai-note{margin:9px 0 0;font-size:10px}

@media(max-width:650px){.shell{padding:0}.phone{border-radius:0;width:100%}.storybook-result{padding:11px 12px 18px}.discovery-grid{grid-template-columns:1fr 1.08fr;gap:8px}.result-image{height:255px}.answer-story-card{padding:14px}.answer-story-card h1{font-size:32px}.friendly-label{font-size:15px}.summary{font-size:15px}.happy-fact p{font-size:12.5px}.big-closer{grid-template-columns:1fr auto}.big-icon{font-size:38px}.big-closer h2{font-size:20px}.big-closer p{font-size:12.5px}.closer-card button{min-width:132px;font-size:14px!important}.adventure-buttons button{min-height:148px}.adventure-icon{font-size:43px}.adventure-label{font-size:14px}}
@media(max-width:470px){.discovery-grid{grid-template-columns:1fr}.result-image{height:300px}.answer-story-card h1{font-size:36px}.big-closer{grid-template-columns:1fr}.closer-card button{width:100%}.adventure-buttons{grid-template-columns:repeat(2,1fr)}.adventure-buttons button{min-height:120px}.grownup-button{grid-column:1/-1}.storybook-talkbar{grid-template-columns:52px 1fr}.compact-photo{display:none!important}}

/* =========================================================
   YVETTE STORYBOOK V3 — picture-book tiles + working Q&A
   ========================================================= */
.storybook-result{padding:12px 14px 18px!important;background:linear-gradient(180deg,#f4fff1 0,#ffffff 14%,#ffffff 100%)!important}
.discovery-grid{gap:12px!important}
.photo-story-card{background:#fff!important;box-shadow:0 4px 16px rgba(47,111,145,.12)!important}
.answer-story-card{background:linear-gradient(145deg,#e4fbe4,#f7fff5)!important}
.answer-story-card h1{font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;font-weight:950!important;color:#0a3270!important}
.summary{color:#173f78!important}
.happy-fact{background:linear-gradient(120deg,#fff2c7,#fff8dd)!important;color:#113a70!important}

.big-closer{background:linear-gradient(110deg,#ffdce9,#ffe8ef)!important;box-shadow:none!important}
.big-closer h2,.adventure-title{color:#0d3470!important}

.storybook-tile-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;align-items:stretch}
.storybook-tile-grid .adventure-buttons{display:contents!important}
.storybook-tile-grid .adventure-buttons button,.storybook-detail-tile{min-width:0!important;min-height:178px!important;margin:0!important;border:0!important;border-radius:22px!important;padding:12px 8px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:9px!important;font:950 16px/1.08 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;color:#0d3470!important;box-shadow:0 5px 0 rgba(20,72,120,.12)!important;cursor:pointer!important;text-align:center!important}
.storybook-tile-grid .adventure-buttons button:nth-child(1){background:linear-gradient(145deg,#55e66e,#a9ff91)!important}
.storybook-tile-grid .adventure-buttons button:nth-child(2){background:linear-gradient(145deg,#ffd83f,#fff08a)!important}
.storybook-tile-grid .adventure-buttons button:nth-child(3){background:linear-gradient(145deg,#37bff0,#79ddfa)!important}
.storybook-tile-grid .adventure-buttons button:nth-child(4){background:linear-gradient(145deg,#c9a3f3,#e2c6ff)!important}
.storybook-detail-tile{background:linear-gradient(145deg,#c9a3f3,#e5caff)!important;color:#57348c!important}
.storybook-tile-grid .adventure-icon{font-size:48px!important;line-height:1!important}
.storybook-tile-grid .adventure-label{max-width:118px!important;font-size:17px!important;line-height:1.06!important}
.storybook-tile-grid b{display:grid!important;place-items:center!important;width:31px!important;height:31px!important;border-radius:50%!important;background:#fff!important;font-size:21px!important;line-height:1!important;box-shadow:0 2px 5px rgba(0,0,0,.08)!important}
.storybook-detail-tile.open{outline:4px solid rgba(166,107,232,.18)!important}

.fun-answer-card{margin:13px 0 0!important;padding:14px 16px!important;border:0!important;border-radius:24px!important;background:linear-gradient(115deg,#edf7ff,#fff7cf)!important;display:grid!important;grid-template-columns:90px 1fr;gap:14px;align-items:center;box-shadow:0 5px 18px rgba(31,112,170,.10)!important}
.fun-answer-card[hidden]{display:none!important}
.fun-answer-card.loading{opacity:.72}
.fun-answer-mascot{width:90px;height:86px;border-radius:24px;overflow:hidden;background:#fff}
.fun-answer-mascot img{width:100%;height:100%;object-fit:cover;object-position:left center}
.fun-answer-copy{min-width:0}
.fun-answer-kicker{margin:0 0 3px!important;font:900 14px/1.1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;color:#168df0!important}
.fun-answer-copy h2{margin:0 0 5px!important;font:950 25px/1.05 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;color:#0d3470!important}
.fun-answer-copy p:not(.fun-answer-kicker){margin:0!important;font-size:17px!important;line-height:1.35!important;color:#173f78!important}
.fun-answer-copy button{margin-top:10px;border:0;border-radius:15px;background:#fff;color:#168df0;font-weight:900;padding:9px 13px;cursor:pointer;box-shadow:0 2px 7px rgba(31,112,170,.12)}

/* Keep the talk bar entirely inside the storybook page. */
.storybook-talkbar{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:16px 0 0!important;padding:14px!important;overflow:hidden!important;display:flex!important;align-items:center!important;gap:11px!important;border-radius:24px!important;background:linear-gradient(110deg,#f4faff,#ffffff)!important;box-shadow:0 5px 18px rgba(31,112,170,.10)!important}
.storybook-talkbar[hidden]{display:none!important}
.storybook-mic{flex:0 0 58px!important;width:58px!important;height:58px!important}
.storybook-talk-main{flex:1 1 auto!important;width:auto!important;min-width:0!important;overflow:hidden!important}
.dock-type-row{display:flex!important;width:100%!important;min-width:0!important;gap:8px!important;align-items:stretch!important}
.storybook-talkbar .sheet-question{display:block!important;flex:1 1 auto!important;width:1%!important;min-width:0!important;max-width:100%!important;height:48px!important;min-height:48px!important;margin:0!important;padding:11px 13px!important;overflow:hidden!important;resize:none!important;border:2px solid #cfe5f7!important;border-radius:18px!important;background:#fff!important;color:#123a72!important}
.storybook-talkbar .dock-send{flex:0 0 64px!important;width:64px!important;height:48px!important;border-radius:18px!important;background:#149bf2!important;color:white!important}
.storybook-talkbar .compact-photo{flex:0 0 46px!important;width:46px!important;height:46px!important}
body.conversation-open .result{padding-bottom:18px!important}

.grownup-details{background:linear-gradient(145deg,#f4edff,#fbf9ff)!important;border:2px solid #e1d2f8!important}

@media(max-width:650px){
  .storybook-tile-grid{grid-template-columns:repeat(4,1fr);gap:7px}
  .storybook-tile-grid .adventure-buttons button,.storybook-detail-tile{min-height:150px!important;padding:9px 5px!important}
  .storybook-tile-grid .adventure-icon{font-size:39px!important}
  .storybook-tile-grid .adventure-label{font-size:14px!important;max-width:92px!important}
  .storybook-talkbar{gap:8px!important;padding:11px!important}
  .storybook-mic{flex-basis:52px!important;width:52px!important;height:52px!important}
  .storybook-talkbar .compact-photo{display:none!important}
}

/* Storybook V3.8.13 — grown-up-controlled, temporary-photo sharing. */
.share-discovery-button{
  position:relative;
  width:100%;
  min-height:76px;
  margin:18px 0 7px;
  padding:14px 20px;
  overflow:hidden;
  border:4px solid #fff;
  border-radius:26px;
  background:linear-gradient(110deg,#ff3e98,#ff7938 48%,#9a3df0);
  background-size:180% 100%;
  color:#fff;
  font:1000 clamp(21px,5vw,29px)/1.05 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;
  text-shadow:0 2px 0 rgba(110,22,92,.25);
  box-shadow:0 8px 0 #b92a72,0 14px 25px rgba(154,36,104,.25);
  cursor:pointer;
  animation:shareButtonGlow 1.7s ease-in-out infinite alternate;
}
.share-discovery-button:before{content:"✨";position:absolute;left:18px;animation:shareSparkle .7s ease-in-out infinite alternate}
.share-discovery-button:active{transform:translateY(7px);box-shadow:0 1px 0 #b92a72}
@keyframes shareButtonGlow{to{background-position:100% 0;filter:saturate(1.2) brightness(1.06)}}
@keyframes shareSparkle{to{transform:rotate(16deg) scale(1.25)}}
.share-modal[hidden]{display:none!important}
.share-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:14px}
.share-modal-backdrop{position:absolute;inset:0;background:rgba(234,249,255,.58);backdrop-filter:blur(11px)}
.share-modal-card{position:relative;z-index:1;width:min(590px,96vw);max-height:94vh;overflow:auto;box-sizing:border-box;padding:24px 21px 20px;border:6px solid #fff;border-radius:34px;background:linear-gradient(145deg,#fff9bd,#ffe0ef 52%,#d7f4ff);box-shadow:0 22px 60px rgba(38,78,125,.28);text-align:center}
.share-modal-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#723776;font-size:30px;cursor:pointer}
.share-modal-bug{font-size:54px;line-height:1}
.share-grownup-label{margin:6px 48px 3px;color:#d8297c;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}
.share-modal-card h2{margin:3px 0 12px;color:#0d4d8d;font:1000 clamp(30px,7vw,42px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}
.share-privacy{margin:0 0 16px;padding:13px 14px;border:2px solid #aadcf0;border-radius:18px;background:rgba(255,255,255,.82);color:#285b82;font-size:14px;line-height:1.4}
.share-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.share-modal-actions button{min-height:132px;padding:13px 9px;border:4px solid #fff;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#fff;cursor:pointer;box-shadow:0 7px 0 rgba(48,44,135,.42)}
.share-modal-actions button:first-child{background:linear-gradient(145deg,#13bce9,#1877f2)}
.share-modal-actions button:last-child{background:linear-gradient(145deg,#ff4f9b,#a13be8)}
.share-modal-actions button span{font-size:36px}.share-modal-actions button strong{font-size:18px}.share-modal-actions button small{font-size:12px;font-weight:850}
.share-modal-actions button:active{transform:translateY(6px);box-shadow:0 1px 0 rgba(48,44,135,.42)}
.share-modal-actions button:disabled{opacity:.45;cursor:not-allowed}
.share-cancel{margin-top:15px;padding:9px 20px;border:0;background:transparent;color:#596e82;font-weight:900;cursor:pointer}
.share-status{min-height:20px;margin:7px 0 0;color:#126c53;font-size:13px;font-weight:900;line-height:1.3}
.share-modal-open{overflow:hidden}
@media(max-width:460px){.share-modal-card{padding:20px 12px 16px}.share-modal-actions{grid-template-columns:1fr}.share-modal-actions button{min-height:92px}.share-discovery-button:before{left:10px}}
@media(prefers-reduced-motion:reduce){.share-discovery-button,.share-discovery-button:before{animation:none}}
@media(max-width:470px){
  .storybook-tile-grid{grid-template-columns:repeat(2,1fr)}
  .storybook-tile-grid .adventure-buttons button,.storybook-detail-tile{min-height:128px!important}
  .fun-answer-card{grid-template-columns:68px 1fr;padding:12px!important}
  .fun-answer-mascot{width:68px;height:68px;border-radius:19px}
  .fun-answer-copy h2{font-size:21px!important}
  .fun-answer-copy p:not(.fun-answer-kicker){font-size:15px!important}
  .storybook-talkbar{display:grid!important;grid-template-columns:52px 1fr!important}
  .storybook-talk-main{min-width:0!important}
  .storybook-talkbar .dock-send{flex-basis:56px!important;width:56px!important}
}


/* YVETTE STORYBOOK V3.1 — obvious new-discovery action */
.new-discovery-wrap{margin:18px 0 4px}
.discover-new-button{width:100%;min-height:82px;border:0;border-radius:25px;padding:13px 22px;display:flex;align-items:center;justify-content:center;gap:15px;background:linear-gradient(135deg,#ff4f8b,#ff7a55);color:#fff;box-shadow:0 6px 0 #d93669;cursor:pointer;font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}
.discover-new-icon{font-size:39px;line-height:1}
.discover-new-button strong{display:block;font-size:23px;line-height:1.05;font-weight:950}
.discover-new-button small{display:block;margin-top:4px;font-size:13px;font-weight:800;opacity:.94}
.discover-new-button:active{transform:translateY(3px);box-shadow:0 3px 0 #d93669}
.new-adventure-link{display:block;margin:11px auto 2px;border:0;background:transparent;color:#6c7f94;font-weight:800;font-size:13px;cursor:pointer}
@media(max-width:470px){.discover-new-button{min-height:76px;padding:12px 14px}.discover-new-icon{font-size:34px}.discover-new-button strong{font-size:20px}}


/* YVETTE STORYBOOK V3.2 — Meet Yvette intro */
.meet-yvette-home{display:flex;justify-content:center;margin:18px 0 2px}
.meet-yvette-button{display:flex;align-items:center;gap:12px;max-width:330px;width:100%;padding:9px 17px 9px 9px;border:0;border-radius:999px;background:linear-gradient(135deg,#fff7dc,#fff);color:#0d3470;box-shadow:0 5px 16px rgba(31,112,170,.16),0 0 0 3px #ff514c;cursor:pointer;text-align:left;font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}
.meet-yvette-face{display:block;flex:0 0 72px;width:72px;height:72px;border-radius:50%;overflow:hidden;background:#fff;border:4px solid #ff514c;box-shadow:0 3px 8px rgba(0,0,0,.13)}
.meet-yvette-face img{width:100%;height:100%;object-fit:cover;object-position:43% 45%;transform:scale(1.16)}
.meet-yvette-label{display:block;min-width:0}.meet-yvette-label strong{display:block;font-size:23px;line-height:1.05;color:#ef3f43}.meet-yvette-label small{display:block;margin-top:5px;font-size:13px;line-height:1.2;font-weight:900;color:#3a6d9f}
.meet-yvette-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(31,112,170,.2),0 0 0 3px #ff514c}.meet-yvette-button:active{transform:translateY(2px)}
.yvette-video-modal[hidden]{display:none!important}.yvette-video-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}.yvette-video-backdrop{position:absolute;inset:0;background:rgba(5,24,55,.78);backdrop-filter:blur(4px)}
.yvette-video-card{position:relative;z-index:1;width:min(920px,96vw);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.4)}.yvette-video-head{min-height:58px;padding:10px 12px 10px 20px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#fff7c8,#ffe4ef);color:#0d3470;font:950 20px/1.1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.yvette-video-close{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#0d3470;font-size:31px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}.yvette-video-card video{display:block;width:100%;max-height:76vh;background:#000}.video-modal-open{overflow:hidden}
@media(max-width:470px){.meet-yvette-button{max-width:300px}.meet-yvette-face{flex-basis:64px;width:64px;height:64px}.meet-yvette-label strong{font-size:21px}.meet-yvette-label small{font-size:12px}.yvette-video-modal{padding:10px}.yvette-video-card{border-radius:18px}.yvette-video-head{min-height:52px;padding-left:15px;font-size:18px}}

/* V3.4: deeper report remains available without consuming a discovery tile. */
.details-toggle{display:block;margin:10px auto 0;border:1px solid #d9cdf0;background:#fbf8ff;color:#68449a;border-radius:999px;padding:8px 15px;font:800 13px/1.2 "Trebuchet MS",Arial,sans-serif;cursor:pointer;box-shadow:0 2px 5px rgba(45,30,80,.06)}
.details-toggle:hover{background:#f3ebff}.details-toggle.open{background:#eee3ff}

/* YVETTE STORYBOOK V3.5 — friendly visible thinking progress, no time promise. */
.storybook-thinking{padding:18px!important;background:linear-gradient(145deg,#eafaff,#f4fff0)!important}
.storybook-thinking.active{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:14px!important;min-height:620px}
.storybook-thinking .thinking-photo{width:min(180px,42vw)!important;height:120px!important;object-fit:cover!important;border-radius:20px!important;border:5px solid #fff!important;box-shadow:0 5px 18px rgba(31,112,170,.13)!important;opacity:.9!important}
.thinking-card{width:min(600px,100%);padding:24px 22px 20px;border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 10px 34px rgba(31,112,170,.14);text-align:center;border:3px solid rgba(255,255,255,.85)}
.thinking-card h1{margin:15px 0 7px!important;font:950 34px/1.05 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important;color:#0d3470!important}
.thinking-copy{margin:0 auto 21px!important;max-width:480px;color:#52709a!important;font-size:17px!important;line-height:1.35!important}
.bug-progress{position:relative;height:82px;margin:0 10px 4px}
.bug-track{position:absolute;left:3%;right:3%;bottom:16px;height:8px;border-radius:999px;background:#dbe4f0;overflow:hidden}
.bug-track-fill{height:100%;width:8%;border-radius:999px;background:linear-gradient(90deg,#168df0,#41b9ff);transition:width .7s ease}
.thinking-bug{position:absolute;bottom:18px;left:8%;width:78px;height:64px;transform:translateX(-50%);transition:left .7s ease;filter:drop-shadow(0 4px 4px rgba(0,0,0,.12));animation:yvetteWalk .7s ease-in-out infinite alternate}
.thinking-bug img{width:100%;height:100%;object-fit:cover;object-position:left center;border-radius:22px;mix-blend-mode:multiply}
.thinking-bug.waiting-hop{animation:yvetteHop .45s ease-in-out 2 alternate}
.thinking-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 18px;position:relative}
.thinking-stages:before{content:"";position:absolute;left:11%;right:11%;top:12px;height:3px;background:#dce5ef;z-index:0}
.thinking-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;color:#8b9bb2;font:800 13px/1.1 "Trebuchet MS",Arial,sans-serif;transition:color .25s ease}
.thinking-stage span{width:25px;height:25px;border:4px solid #cfd9e7;border-radius:50%;background:#fff;transition:.25s ease}
.thinking-stage.active,.thinking-stage.done{color:#168df0}
.thinking-stage.active span{border-color:#168df0;box-shadow:inset 0 0 0 5px #fff;background:#168df0}
.thinking-stage.done span{border-color:#65c6ff;background:#65c6ff}
.thinking-note{display:inline-block!important;margin:0!important;padding:10px 16px!important;border-radius:16px!important;background:#f3f8ff!important;color:#3d5f8c!important;font-size:14px!important;font-weight:800!important}
@keyframes yvetteWalk{from{transform:translateX(-50%) translateY(0) rotate(-2deg)}to{transform:translateX(-50%) translateY(-4px) rotate(2deg)}}
@keyframes yvetteHop{from{transform:translateX(-50%) translateY(0)}to{transform:translateX(-50%) translateY(-10px)}}
@media(max-width:470px){.storybook-thinking.active{min-height:560px}.thinking-card{padding:20px 12px 17px}.thinking-card h1{font-size:29px!important}.thinking-copy{font-size:15px!important}.bug-progress{height:72px;margin-left:4px;margin-right:4px}.thinking-bug{width:67px;height:56px}.thinking-stage{font-size:11px}.thinking-stage span{width:22px;height:22px}.thinking-stages:before{top:10px}.thinking-note{font-size:12px!important}}

/* V3.7.4 — Voice UX */
.photo-cheer.voice-discovery-button{position:relative;overflow:hidden;cursor:pointer;border:0;width:calc(100% - 28px);min-height:64px;font:inherit;color:#063d7a;text-align:left}
.photo-cheer.voice-discovery-button:focus-visible{outline:4px solid rgba(30,144,255,.28);outline-offset:3px}
.voice-discovery-label{display:flex;align-items:center;gap:8px;font-weight:800}
.voice-wait-track{position:absolute;left:18px;right:18px;bottom:7px;height:5px;border-radius:999px;background:rgba(0,78,150,.12);opacity:0;transition:opacity .15s ease}
.voice-wait-fill{position:absolute;inset:0 auto 0 0;width:35%;height:100%;border-radius:inherit;background:currentColor;opacity:.32;animation:yvetteVoiceFill 1.05s ease-in-out infinite alternate}
.voice-wait-bug{position:absolute;left:3%;top:50%;width:24px;height:24px;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;animation:yvetteVoiceBug 1.25s ease-in-out infinite alternate}
.voice-wait-bug img{width:100%;height:100%;object-fit:cover;display:block}
.voice-discovery-button.voice-loading .voice-wait-track{opacity:1}
.voice-discovery-button.voice-loading{padding-bottom:22px;box-shadow:0 0 0 4px rgba(255,214,64,.42),0 8px 20px rgba(0,78,150,.18)}
.voice-discovery-button.voice-loading:after{content:"♪  ♫  ♪";position:absolute;right:18px;top:8px;color:#f04c75;font-size:21px;font-weight:900;letter-spacing:3px;animation:yvetteVoiceNotes .55s ease-in-out infinite alternate;pointer-events:none}
.voice-discovery-button.voice-loading .cheer-mascot{animation:yvetteVoiceMascot .42s ease-in-out infinite alternate}
.voice-discovery-button.voice-playing{box-shadow:0 0 0 4px rgba(96,211,141,.34)}
@keyframes yvetteVoiceBug{from{left:3%}to{left:97%}}
@keyframes yvetteVoiceFill{from{width:12%}to{width:100%}}
@keyframes yvetteVoiceNotes{from{transform:translateY(2px) scale(.94);opacity:.62}to{transform:translateY(-4px) scale(1.08);opacity:1}}
@keyframes yvetteVoiceMascot{from{transform:translateY(1px) rotate(-3deg)}to{transform:translateY(-4px) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.voice-wait-bug,.voice-wait-fill,.voice-discovery-button.voice-loading:after,.voice-discovery-button.voice-loading .cheer-mascot{animation:none}.voice-wait-bug{left:50%}.voice-wait-fill{width:50%}}


/* ============================================================
   V3.7.5 — BRIGHT YVETTE WORLD
   Colorful scene-based UI inspired by playful children's apps.
   Existing IDs/behavior remain unchanged.
   ============================================================ */
.phone { overflow:hidden; }
.bright-scene {
  position:relative;
  min-height:760px;
  overflow:hidden;
  isolation:isolate;
}
.bright-scene::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
}
.bright-scene::after {
  content:"";
  position:absolute;
  left:-8%; right:-8%; bottom:-85px;
  height:260px;
  z-index:-2;
  border-radius:50% 50% 0 0;
  background:
    radial-gradient(circle at 15% 35%,rgba(255,255,255,.95) 0 7px,transparent 8px),
    radial-gradient(circle at 55% 20%,rgba(255,255,255,.8) 0 5px,transparent 6px),
    linear-gradient(180deg,rgba(61,210,106,.94),rgba(13,139,61,.98));
  opacity:.98;
  pointer-events:none;
}
.bright-blue-scene::before {
  background:
    radial-gradient(circle at 16% 12%,rgba(255,255,255,.35),transparent 24%),
    linear-gradient(180deg,#087bff 0%,#23b8f3 57%,#b9f2ff 100%);
}
.bright-pink-scene::before {
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.28),transparent 23%),
    linear-gradient(180deg,#ff3eb5 0%,#ff78ca 57%,#ffd1ea 100%);
}
.bright-red-scene::before {
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.22),transparent 23%),
    linear-gradient(180deg,#ff244f 0%,#ff6670 57%,#ffc0bd 100%);
}
#start { padding-bottom:260px; color:#fff; }
#start .welcome-copy { text-align:center; max-width:620px; margin:4px auto 18px; }
#start .eyebrow { color:#fff; opacity:.95; letter-spacing:.08em; }
#start h1 {
  margin:.1em 0 .12em;
  color:#fff;
  font-size:clamp(3rem,10vw,5.4rem);
  line-height:.84;
  letter-spacing:-.045em;
  text-shadow:0 3px 14px rgba(0,72,150,.18);
}
#start h1 span { color:#ffd1ee; }
#start .lede { color:#fff; font-size:1.2rem; line-height:1.4; max-width:520px; margin:20px auto; }
#start .photo-button, #start .choose-button {
  width:100%;
  min-height:72px;
  border:3px solid rgba(255,255,255,.7);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  color:#0961e9;
  box-shadow:0 10px 26px rgba(0,75,160,.18);
  font-size:1.2rem;
  font-weight:900;
}
#start .choose-button { margin-top:12px; }
.bright-tutorial { margin:14px 0 0; position:relative; z-index:4; }
#start .tutorial-button {
  width:100%;
  min-height:70px;
  border:3px solid rgba(255,255,255,.78);
  border-radius:26px;
  background:linear-gradient(135deg,#ffe4f5,#ffc7e9);
  color:#bd176b;
  box-shadow:0 10px 24px rgba(127,18,99,.14);
  display:flex; align-items:center; justify-content:center; gap:14px;
}
.tutorial-icon {
  width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center;
  background:#e71b80; color:#fff; font-size:1.1rem;
  box-shadow:0 5px 12px rgba(150,0,75,.22);
}
#start .meet-yvette-label { text-align:left; }
#start .meet-yvette-label strong { font-size:1.05rem; }
#start .meet-yvette-label small { display:block; margin-top:2px; color:#8d3765; }
.yvette-promises {
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
  margin:20px 0 14px; position:relative; z-index:3;
}
.yvette-promises div { text-align:center; color:#fff; }
.yvette-promises span {
  width:52px; height:52px; margin:0 auto 5px;
  display:grid; place-items:center; border-radius:50%;
  background:rgba(255,255,255,.22); border:2px solid rgba(255,255,255,.55);
  font-size:1.45rem;
}
.yvette-promises strong,.yvette-promises small { display:block; }
.yvette-promises strong { font-size:.8rem; letter-spacing:.03em; }
.yvette-promises small { font-size:.7rem; opacity:.95; margin-top:2px; }
#start .bright-privacy {
  position:absolute; left:18px; bottom:20px; z-index:3;
  width:min(55%,350px); margin:0; padding:12px 14px;
  border:2px solid rgba(255,255,255,.75);
  border-radius:20px; background:rgba(255,255,255,.91);
  color:#0d57b5; box-shadow:0 10px 24px rgba(0,55,100,.14);
  font-size:.77rem; line-height:1.25;
}
#start .bright-privacy span { font-size:.68rem; opacity:.82; }
.scene-yvette {
  position:absolute;
  z-index:2;
  pointer-events:none;
  object-fit:contain;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.18));
}
.start-yvette { width:min(44%,280px); right:-12px; bottom:-2px; }
.thinking-yvette { width:min(38%,240px); right:-10px; bottom:-8px; }
.result-yvette { width:min(28%,190px); right:-20px; bottom:8px; opacity:.98; }
.followup-yvette { width:min(31%,205px); right:-14px; bottom:0; }
#looking { padding-bottom:190px; }
#looking h1,#looking .thinking-copy,#looking .thinking-note { color:#fff; }
#looking .thinking-card {
  background:rgba(255,255,255,.92);
  border:3px solid rgba(255,255,255,.65);
  box-shadow:0 16px 36px rgba(120,0,80,.16);
}
#looking .thinking-card h1,#looking .thinking-card .thinking-copy,#looking .thinking-card .thinking-note { color:#4b2550; }
#result { padding-bottom:150px; }
#result .wow-banner {
  background:rgba(255,255,255,.94);
  border:3px solid rgba(255,255,255,.7);
  color:#d51e4e;
  box-shadow:0 10px 28px rgba(125,0,20,.14);
}
#result .photo-story-card,#result .answer-story-card {
  border:3px solid rgba(255,255,255,.72);
  box-shadow:0 14px 30px rgba(120,0,25,.15);
}
#followup { padding-bottom:170px; color:#fff; }
#followup h1,#followup .lede,#followup .eyebrow,#followup .prompt-label,#followup .optional-heading { color:#fff; }
#followup .photo-question { background:rgba(255,255,255,.96); color:#123; }
@media (max-width:560px) {
  .bright-scene { min-height:calc(100dvh - 105px); }
  #start { padding-bottom:220px; }
  .start-yvette { width:45%; right:-8px; }
  #start .bright-privacy { width:57%; left:12px; bottom:12px; }
  .yvette-promises small { font-size:.62rem; }
}


/* YVETTE STORYBOOK V3.7.6 — mobile-first closer camera + clean scanning scene */
#closerButton{width:100%;min-height:64px;font-size:1.08rem;font-weight:950}
.closer-secondary{display:block;margin:10px auto 0;border:0;background:rgba(255,255,255,.72);color:#7a4164;border-radius:16px;padding:10px 14px;font-weight:850;cursor:pointer}
/* One mascot during scanning: keep the friendly scene Yvette, remove the second moving mascot. */
#looking .thinking-bug{display:none!important}
#looking .thinking-yvette{width:min(30%,180px)!important;right:0!important;bottom:0!important}
@media(max-width:650px){#closerButton{min-height:70px;font-size:1.15rem}.closer-secondary{font-size:.92rem}}

/* ============================================================
   YVETTE STORYBOOK V3.7.7 — GARDEN WELCOME POLISH
   Mobile/tablet-first home screen matched to approved visual.
   Pure CSS/HTML; all existing controls and behavior are preserved.
   ============================================================ */
#start.bright-blue-scene{
  min-height:860px;
  padding:24px 22px 245px;
  background:
    radial-gradient(circle at 12% 72%,rgba(255,255,255,.78) 0 4px,transparent 5px),
    radial-gradient(circle at 24% 77%,rgba(255,255,255,.86) 0 6px,transparent 7px),
    radial-gradient(circle at 72% 73%,rgba(255,255,255,.82) 0 5px,transparent 6px),
    linear-gradient(180deg,#0784ff 0%,#32bdf4 49%,#b9f2ff 72%,#eefcff 100%);
}
#start.bright-blue-scene::before{
  background:
    radial-gradient(ellipse at 8% 18%,rgba(255,255,255,.55) 0 7%,transparent 8%),
    radial-gradient(ellipse at 78% 16%,rgba(255,255,255,.35) 0 9%,transparent 10%),
    radial-gradient(ellipse at 45% 34%,rgba(255,255,255,.22) 0 8%,transparent 9%);
}
#start.bright-blue-scene::after{
  left:-10%;right:-10%;bottom:-72px;height:300px;
  background:
    radial-gradient(circle at 10% 28%,#fff 0 5px,#ffd53b 6px 9px,transparent 10px),
    radial-gradient(circle at 19% 44%,#fff 0 5px,#ffd53b 6px 9px,transparent 10px),
    radial-gradient(circle at 34% 22%,#fff 0 5px,#ffd53b 6px 9px,transparent 10px),
    radial-gradient(circle at 58% 36%,#fff 0 5px,#ffd53b 6px 9px,transparent 10px),
    radial-gradient(circle at 79% 24%,#fff 0 5px,#ffd53b 6px 9px,transparent 10px),
    linear-gradient(180deg,#54dc6f 0%,#27bc5e 48%,#0b8f45 100%);
  border-radius:50% 50% 0 0/26% 26% 0 0;
}
#start .welcome-copy{max-width:590px;margin:0 auto 20px;position:relative;z-index:4}
#start .eyebrow{display:none}
#start h1{font-size:clamp(4rem,12vw,6.4rem);line-height:.86;margin:2px 0 18px;text-shadow:0 4px 18px rgba(0,73,164,.2)}
#start h1::before{content:none!important}
#start h1 span{color:#ffd3ee}
#start .lede{max-width:560px;font-size:clamp(1.22rem,3.1vw,1.75rem);font-weight:750;line-height:1.28;margin:0 auto 28px;text-shadow:0 2px 8px rgba(0,76,156,.14)}
#start .photo-button,#start .choose-button,#start .bright-tutorial{
  width:calc(100% - 168px);max-width:510px;margin-left:0;margin-right:auto;position:relative;z-index:5;
}
#start .photo-button,#start .choose-button{
  min-height:82px;border-radius:29px;border:3px solid rgba(255,255,255,.92);background:rgba(255,255,255,.96);color:#075fe3;
  font-size:clamp(1.18rem,2.9vw,1.55rem);box-shadow:0 8px 0 rgba(0,94,204,.12),0 12px 30px rgba(0,63,145,.14);
}
#start .photo-button{margin-top:0}
#start .choose-button{margin-top:14px}
#start .photo-button .camera{display:none}
#start .bright-tutorial{margin-top:16px}
#start .tutorial-button{min-height:80px;border-radius:29px;border:3px solid rgba(255,255,255,.92);background:linear-gradient(135deg,#ffe8f6,#ffc7e8);box-shadow:0 8px 0 rgba(177,22,107,.1),0 12px 30px rgba(110,0,76,.12)}
#start .meet-yvette-label strong{font-size:clamp(1.05rem,2.5vw,1.35rem)}
#start .meet-yvette-label small{font-size:.78rem}
#start .tutorial-icon{width:50px;height:50px;font-size:1.3rem}
.yvette-signpost{position:absolute;right:10px;top:305px;width:156px;height:320px;z-index:4;pointer-events:none}
.yvette-signpost::before{content:"";position:absolute;left:72px;top:30px;width:15px;height:285px;border-radius:8px;background:linear-gradient(90deg,#96531c,#d88b2e 45%,#7e4318);box-shadow:0 7px 12px rgba(95,48,12,.16)}
.sign-bug{position:absolute;top:0;left:59px;font-size:33px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.15));z-index:3}
.yvette-signpost .sign{position:absolute;left:0;width:150px;min-height:58px;display:grid;place-items:center;padding:8px 11px;border-radius:10px 5px 5px 10px;font:900 1.12rem/1.05 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;color:#53260c;box-shadow:0 7px 12px rgba(74,34,7,.15);transform-origin:center}
.yvette-signpost .sign::after{content:"";position:absolute;right:-14px;top:0;border-top:29px solid transparent;border-bottom:29px solid transparent}
.curiosity-sign{top:55px;background:linear-gradient(#ffd75c,#f5ad20);transform:rotate(-3deg)}
.curiosity-sign::after{border-left:15px solid #f5ad20}
.learning-sign{top:128px;background:linear-gradient(#ff75bd,#f13d9a);transform:rotate(2deg);color:#6d1450!important}
.learning-sign::after{border-left:15px solid #f13d9a}
.help-sign{top:201px;background:linear-gradient(#51c8ff,#168ae9);transform:rotate(-2deg);color:#073a71!important}
.help-sign::after{border-left:15px solid #168ae9}
#start .yvette-promises{width:calc(100% - 165px);max-width:520px;margin:28px 0 0;gap:15px;position:relative;z-index:5}
#start .yvette-promises span{width:66px;height:66px;border:3px solid rgba(255,255,255,.82);font-size:1.7rem;box-shadow:0 7px 18px rgba(0,76,151,.13)}
#start .yvette-promises div:nth-child(1) span{background:linear-gradient(145deg,#18d775,#08ae58)}
#start .yvette-promises div:nth-child(2) span{background:linear-gradient(145deg,#ff5bb4,#f2288e)}
#start .yvette-promises div:nth-child(3) span{background:linear-gradient(145deg,#ffb125,#ff890b)}
#start .yvette-promises strong{font-size:.92rem;text-shadow:0 1px 5px rgba(0,67,132,.18)}
#start .yvette-promises small{font-size:.76rem;font-weight:700}
#start .start-yvette{width:min(46%,310px);right:-20px;bottom:-2px;z-index:3;filter:drop-shadow(0 15px 16px rgba(0,0,0,.2))}
#start .bright-privacy{left:18px;bottom:18px;width:min(56%,370px);padding:13px 16px;border-radius:23px;font-size:.86rem;z-index:5;background:rgba(255,255,255,.94);box-shadow:0 10px 26px rgba(0,68,118,.17)}
#start .bright-privacy span{display:none}
@media(max-width:650px){
  #start.bright-blue-scene{min-height:calc(100dvh - 105px);padding:20px 14px 220px}
  #start h1{font-size:clamp(3.8rem,18vw,5.5rem)}
  #start .lede{font-size:clamp(1.08rem,5.2vw,1.42rem);margin-bottom:22px}
  #start .photo-button,#start .choose-button,#start .bright-tutorial{width:calc(100% - 92px);max-width:none}
  #start .photo-button,#start .choose-button{min-height:72px;border-radius:24px;font-size:clamp(1rem,4.9vw,1.28rem);padding-left:12px;padding-right:12px}
  #start .tutorial-button{min-height:70px;border-radius:24px;padding:8px 10px;gap:8px}
  #start .tutorial-icon{width:42px;height:42px;flex:0 0 42px}
  #start .meet-yvette-label strong{font-size:.95rem}
  #start .meet-yvette-label small{font-size:.68rem}
  .yvette-signpost{right:-5px;top:300px;width:102px;height:265px;transform:scale(.84);transform-origin:top right}
  .yvette-signpost::before{left:46px;height:250px;width:12px}
  .sign-bug{left:35px;font-size:28px}
  .yvette-signpost .sign{width:104px;min-height:50px;font-size:.78rem;padding:7px 5px}
  .yvette-signpost .sign::after{right:-12px;border-top-width:25px;border-bottom-width:25px}
  .curiosity-sign{top:52px}.learning-sign{top:116px}.help-sign{top:180px}
  #start .yvette-promises{width:calc(100% - 84px);gap:7px;margin-top:22px}
  #start .yvette-promises span{width:54px;height:54px;font-size:1.35rem}
  #start .yvette-promises strong{font-size:.72rem}
  #start .yvette-promises small{font-size:.61rem}
  #start .start-yvette{width:min(49%,235px);right:-16px;bottom:-4px}
  #start .bright-privacy{left:10px;bottom:10px;width:58%;padding:10px 11px;font-size:.72rem;border-radius:18px}
}
@media(max-width:390px){
  #start .photo-button,#start .choose-button,#start .bright-tutorial{width:calc(100% - 78px)}
  .yvette-signpost{right:-11px;transform:scale(.76);top:286px}
  #start .yvette-promises{width:calc(100% - 66px)}
  #start .yvette-promises span{width:49px;height:49px}
  #start .yvette-promises small{font-size:.56rem}
  #start .start-yvette{width:52%;right:-21px}
}

/* ============================================================
   YVETTE STORYBOOK V3.7.8 — INTEGRATED GARDEN MASCOT
   Remove the hard rectangular edge from the welcome mascot and
   visually blend her into the lower garden scene on mobile/tablet.
   ============================================================ */
#start.bright-blue-scene{
  overflow:hidden;
}

/* Build a fuller garden floor so Yvette feels part of the scene. */
#start.bright-blue-scene::after{
  left:-12%;
  right:-12%;
  bottom:-92px;
  height:340px;
  background:
    radial-gradient(circle at 8% 22%,#fff 0 7px,#ffd54a 8px 12px,transparent 13px),
    radial-gradient(circle at 19% 37%,#fff 0 6px,#ffd54a 7px 11px,transparent 12px),
    radial-gradient(circle at 31% 16%,#fff 0 7px,#ffd54a 8px 12px,transparent 13px),
    radial-gradient(circle at 45% 36%,#fff 0 5px,#ff86b6 6px 10px,transparent 11px),
    radial-gradient(circle at 61% 18%,#fff 0 7px,#ffd54a 8px 12px,transparent 13px),
    radial-gradient(circle at 79% 34%,#fff 0 6px,#ffd54a 7px 11px,transparent 12px),
    radial-gradient(circle at 91% 17%,#fff 0 7px,#ff86b6 8px 12px,transparent 13px),
    radial-gradient(ellipse at 18% 74%,#62df78 0 24%,transparent 25%),
    radial-gradient(ellipse at 46% 77%,#43d16b 0 31%,transparent 32%),
    radial-gradient(ellipse at 80% 78%,#2fc25d 0 33%,transparent 34%),
    linear-gradient(180deg,#7be88d 0%,#39ca68 42%,#11944b 100%);
  border-radius:48% 52% 0 0/24% 24% 0 0;
}

/* The source mascot artwork has an opaque rectangular background.
   Feather the edges so the rectangle disappears into the garden. */
#start .start-yvette{
  width:min(48%,330px);
  right:-12px;
  bottom:-10px;
  border-radius:0;
  object-fit:contain;
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.18));
  -webkit-mask-image:radial-gradient(ellipse 82% 88% at 62% 60%,#000 0 63%,rgba(0,0,0,.98) 70%,rgba(0,0,0,.72) 78%,rgba(0,0,0,.28) 86%,transparent 96%);
  mask-image:radial-gradient(ellipse 82% 88% at 62% 60%,#000 0 63%,rgba(0,0,0,.98) 70%,rgba(0,0,0,.72) 78%,rgba(0,0,0,.28) 86%,transparent 96%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

/* Keep the privacy card clear of Yvette and let the lower garden breathe. */
#start .bright-privacy{
  bottom:20px;
  width:min(48%,315px);
}

@media(max-width:650px){
  #start.bright-blue-scene{padding-bottom:235px}
  #start.bright-blue-scene::after{bottom:-80px;height:315px}
  #start .start-yvette{
    width:min(53%,255px);
    right:-10px;
    bottom:-6px;
    -webkit-mask-image:radial-gradient(ellipse 84% 90% at 62% 60%,#000 0 62%,rgba(0,0,0,.98) 69%,rgba(0,0,0,.7) 78%,rgba(0,0,0,.22) 87%,transparent 97%);
    mask-image:radial-gradient(ellipse 84% 90% at 62% 60%,#000 0 62%,rgba(0,0,0,.98) 69%,rgba(0,0,0,.7) 78%,rgba(0,0,0,.22) 87%,transparent 97%);
  }
  #start .bright-privacy{width:52%;bottom:12px}
}

@media(max-width:390px){
  #start .start-yvette{width:56%;right:-13px;bottom:-7px}
  #start .bright-privacy{width:50%}
}

/* ============================================================
   YVETTE STORYBOOK V3.7.9 — GARDEN FRAME
   Welcome-screen framing: open sky in the center, lush right edge,
   and a deep garden floor along the bottom. Mobile/tablet first.
   ============================================================ */
#start.bright-blue-scene{
  isolation:isolate;
  background:
    radial-gradient(ellipse at 8% 19%,rgba(255,255,255,.32) 0 7%,transparent 8%),
    radial-gradient(ellipse at 77% 19%,rgba(255,255,255,.26) 0 8%,transparent 9%),
    linear-gradient(180deg,#078cf2 0%,#20baf2 54%,#b7f1ff 100%);
}
/* Bottom garden border */
#start.bright-blue-scene::after{
  z-index:1;
  left:-5%;right:-5%;bottom:-48px;height:285px;
  border-radius:54% 46% 0 0/20% 18% 0 0;
  background:
    radial-gradient(circle at 7% 48%,#fff 0 8px,#ffd43d 9px 14px,transparent 15px),
    radial-gradient(circle at 18% 68%,#fff 0 7px,#ffd43d 8px 13px,transparent 14px),
    radial-gradient(circle at 34% 46%,#fff 0 7px,#ff87bd 8px 12px,transparent 13px),
    radial-gradient(circle at 52% 66%,#fff 0 8px,#ffd43d 9px 14px,transparent 15px),
    radial-gradient(circle at 72% 48%,#fff 0 7px,#ff87bd 8px 12px,transparent 13px),
    radial-gradient(circle at 90% 64%,#fff 0 8px,#ffd43d 9px 14px,transparent 15px),
    radial-gradient(ellipse at 10% 92%,#0b8d43 0 28%,transparent 29%),
    radial-gradient(ellipse at 33% 90%,#21ad54 0 34%,transparent 35%),
    radial-gradient(ellipse at 58% 92%,#35c764 0 35%,transparent 36%),
    radial-gradient(ellipse at 82% 90%,#159d4a 0 38%,transparent 39%),
    linear-gradient(180deg,#7be88d 0%,#37c968 44%,#0b8d43 100%);
}
/* Lush right-hand frame. It deliberately hugs the edge and leaves the
   center sky open for the controls. */
#start .garden-right-frame{
  position:absolute;z-index:2;pointer-events:none;right:-52px;top:0;bottom:0;width:190px;
  background:
    radial-gradient(ellipse at 72% 3%,#38bd55 0 12%,transparent 13%),
    radial-gradient(ellipse at 91% 11%,#1f9f45 0 15%,transparent 16%),
    radial-gradient(ellipse at 68% 19%,#58d66c 0 13%,transparent 14%),
    radial-gradient(ellipse at 96% 29%,#188d3c 0 17%,transparent 18%),
    radial-gradient(ellipse at 76% 39%,#41c85c 0 14%,transparent 15%),
    radial-gradient(ellipse at 96% 51%,#219d43 0 18%,transparent 19%),
    radial-gradient(ellipse at 77% 65%,#52d66c 0 15%,transparent 16%),
    radial-gradient(ellipse at 97% 78%,#168e3b 0 19%,transparent 20%),
    radial-gradient(ellipse at 72% 91%,#39bf59 0 18%,transparent 19%);
  filter:drop-shadow(-8px 5px 12px rgba(0,105,60,.08));
}
/* Make the existing opaque mascot artwork an intentional soft-edged
   garden medallion instead of exposing its rectangular source edge. */
#start .start-yvette{
  z-index:3;right:-10px;bottom:-5px;width:min(46%,300px);aspect-ratio:1/1;
  object-fit:cover;object-position:38% 52%;border-radius:50%;
  border:0;box-shadow:none;filter:drop-shadow(0 15px 18px rgba(0,0,0,.18));
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0 72%,rgba(0,0,0,.96) 78%,rgba(0,0,0,.48) 88%,transparent 98%);
  mask-image:radial-gradient(circle at 50% 50%,#000 0 72%,rgba(0,0,0,.96) 78%,rgba(0,0,0,.48) 88%,transparent 98%);
}
#start .bright-privacy{z-index:6}
#start .welcome-copy,#start .photo-button,#start .choose-button,#start .bright-tutorial,#start .yvette-promises,.yvette-signpost{z-index:6}
@media(max-width:650px){
  #start .garden-right-frame{width:125px;right:-42px}
  #start.bright-blue-scene::after{height:250px;bottom:-38px}
  #start .start-yvette{width:min(47%,225px);right:-12px;bottom:0}
}

/* ============================================================
   YVETTE STORYBOOK V3.7.10 — CLEAN THINKING SCENE
   The child's photo is the focus. Remove the oversized rectangular
   scene mascot from scanning; retain the progress card and pink world.
   ============================================================ */
#looking.storybook-thinking{
  padding-bottom:42px!important;
}
#looking .thinking-yvette{
  display:none!important;
}
#looking .thinking-photo{
  position:relative!important;
  z-index:3!important;
}
#looking .thinking-card{
  position:relative!important;
  z-index:3!important;
}


/* YVETTE STORYBOOK V3.7.11 — iPhone talk bar fix */
.storybook-talkbar{display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%!important;max-width:100%!important;overflow:visible!important}
.storybook-talk-main{flex:1 1 auto!important;width:100%!important;min-width:0!important;overflow:visible!important}
.storybook-talk-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 8px!important}
.storybook-talk-heading .talk-label{margin:0!important;min-width:0!important;white-space:normal!important;font-size:18px!important;line-height:1.15!important}
.storybook-talk-heading .storybook-mic{flex:0 0 48px!important;width:48px!important;height:48px!important;font-size:23px!important;margin:0!important}
.storybook-talkbar .dock-type-row{display:grid!important;grid-template-columns:minmax(0,1fr) 62px!important;gap:8px!important;width:100%!important}
.storybook-talkbar .sheet-question{width:100%!important;min-width:0!important}
.storybook-talkbar .compact-photo{flex:0 0 44px!important;margin-top:4px!important}
@media(max-width:520px){
  .storybook-talkbar{display:block!important;padding:14px!important;border-radius:22px!important}
  .storybook-talk-main{width:100%!important}
  .storybook-talk-heading{width:100%!important}
  .storybook-talk-heading .talk-label{font-size:20px!important}
  .storybook-talk-heading .storybook-mic{display:flex!important;align-items:center!important;justify-content:center!important}
  .storybook-talkbar .dock-type-row{grid-template-columns:minmax(0,1fr) 60px!important}
  .storybook-talkbar .compact-photo{display:none!important}
  .storybook-talkbar .voice-status{font-size:12px!important;line-height:1.3!important}
}
@media(max-width:360px){
  .storybook-talkbar .dock-type-row{grid-template-columns:1fr!important}
  .storybook-talkbar .dock-send{width:100%!important;height:44px!important}
}


/* YVETTE STORYBOOK V3.7.12 — keep Yvette label + voice action together */
.fun-answer-topline{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 6px!important}
.fun-answer-topline .fun-answer-kicker{margin:0!important}
.fun-answer-topline #funAnswerListen{margin:0!important;padding:7px 11px!important;border-radius:14px!important;white-space:nowrap!important}
@media(max-width:520px){
  .fun-answer-topline{gap:8px!important;margin-bottom:7px!important}
  .fun-answer-topline #funAnswerListen{padding:6px 10px!important;font-size:14px!important}
}


/* ============================================================
   YVETTE STORYBOOK V3.7.13 — MOBILE RESULT + THINKING CLEANUP
   - Thinking scene has no large scene mascot in markup.
   - Result scene mascot is hidden on phones so it cannot overlap Talk.
   - Talk with Yvette becomes a clean full-width mobile card.
   ============================================================ */
#looking .thinking-yvette{display:none!important}

@media(max-width:650px){
  #result .result-yvette{display:none!important}

  #questionSheet.storybook-talkbar{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:18px 0 0!important;
    padding:16px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:24px!important;
    background:#f7fbff!important;
    box-shadow:0 7px 20px rgba(31,112,170,.12)!important;
  }
  #questionSheet.storybook-talkbar[hidden]{display:none!important}
  #questionSheet .storybook-talk-main{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #questionSheet .storybook-talk-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    gap:12px!important;
    margin:0 0 10px!important;
  }
  #questionSheet .talk-label{
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    white-space:nowrap!important;
    font-size:20px!important;
    line-height:1.15!important;
    color:#1288df!important;
    font-weight:900!important;
  }
  #questionSheet .storybook-mic{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 48px!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
    border-radius:16px!important;
  }
  #questionSheet .dock-type-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 64px!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  #questionSheet .sheet-question{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    padding:12px 14px!important;
    font-size:16px!important;
    line-height:1.2!important;
    overflow:hidden!important;
  }
  #questionSheet .dock-send{
    display:block!important;
    width:64px!important;
    min-width:64px!important;
    height:50px!important;
    margin:0!important;
  }
  #questionSheet .voice-status{
    display:block!important;
    width:100%!important;
    margin:8px 0 0!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
  #questionSheet .compact-photo{display:none!important}
}

@media(max-width:365px){
  #questionSheet .talk-label{font-size:18px!important;white-space:normal!important}
  #questionSheet .dock-type-row{grid-template-columns:1fr!important}
  #questionSheet .dock-send{width:100%!important;min-width:0!important}
}


/* YVETTE STORYBOOK V3.7.14 — iPhone microphone CPR */
#talkButton.listening{animation:yvetteMicPulse .85s ease-in-out infinite alternate!important;box-shadow:0 0 0 6px rgba(20,155,242,.18),0 4px 0 #087ac8!important}
#talkButton.transcribing{opacity:.72!important;cursor:wait!important}
@keyframes yvetteMicPulse{from{transform:scale(1)}to{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){#talkButton.listening{animation:none!important}}

/* YVETTE STORYBOOK V3.7.23 — one-tap voice game */
#questionSheet.voice-game,#questionSheet.voice-thinking{background:linear-gradient(135deg,#fff8b8,#ffd9f0 48%,#c8f3ff)!important;border:4px solid #fff!important;box-shadow:0 0 0 5px rgba(255,80,160,.2),0 15px 30px rgba(18,91,160,.2)!important;transition:background .2s ease,box-shadow .2s ease!important}
#questionSheet.voice-game .storybook-talk-heading{justify-content:center!important;flex-direction:column!important;overflow:visible!important}
#questionSheet.voice-game .talk-label{font-size:24px!important;color:#e21c78!important;text-align:center!important;white-space:normal!important}
#questionSheet.voice-game .dock-type-row{display:none!important}
#questionSheet.voice-game .voice-status,#questionSheet.voice-thinking .voice-status{padding:10px 12px!important;border-radius:18px!important;background:rgba(255,255,255,.82)!important;color:#1164ad!important;font-size:18px!important;font-weight:950!important;text-align:center!important}
#questionSheet.voice-game #talkButton{position:relative!important;width:88px!important;height:88px!important;flex-basis:88px!important;border-radius:50%!important;font-size:39px!important;animation:yvetteBigMic .42s ease-in-out infinite alternate!important;box-shadow:0 0 0 10px rgba(255,255,255,.85),0 0 0 20px rgba(255,65,150,.35),0 0 0 30px rgba(20,170,255,.2),0 8px 0 #087ac8!important}
#questionSheet.voice-game #talkButton:before,#questionSheet.voice-game #talkButton:after{content:"";position:absolute;inset:-19px;border:5px solid rgba(255,52,146,.5);border-radius:50%;animation:yvetteMicRing .8s ease-out infinite;pointer-events:none}
#questionSheet.voice-game #talkButton:after{inset:-31px;border-color:rgba(21,165,255,.38);animation-delay:.3s}
#questionSheet.voice-thinking .dock-type-row{display:none!important}
#questionSheet.voice-thinking .storybook-talk-heading{justify-content:center!important}
#questionSheet.voice-thinking #talkButton{animation:yvetteThinkSpin .85s ease-in-out infinite alternate!important;background:linear-gradient(145deg,#ff4b9b,#ff8a31)!important;box-shadow:0 5px 0 #d52e69!important}
#questionSheet.voice-thinking .talk-label{color:#e21c78!important}
@keyframes yvetteBigMic{from{transform:scale(1)}to{transform:scale(1.16)}}
@keyframes yvetteMicRing{from{transform:scale(.72);opacity:1}to{transform:scale(1.3);opacity:0}}
@keyframes yvetteThinkSpin{from{transform:rotate(-8deg) scale(1)}to{transform:rotate(8deg) scale(1.1)}}
@media (prefers-reduced-motion:reduce){#questionSheet.voice-game #talkButton,#questionSheet.voice-game #talkButton:before,#questionSheet.voice-game #talkButton:after,#questionSheet.voice-thinking #talkButton{animation:none!important}}

/* YVETTE STORYBOOK V3.7.24 — curiosity reward buttons */
#funAnswerCard{border:4px solid rgba(255,255,255,.95)!important;border-radius:30px!important;background:linear-gradient(145deg,#fff7b8,#ffe1f1 48%,#d9f7ff)!important;box-shadow:0 13px 0 rgba(184,35,109,.16),0 20px 34px rgba(85,24,112,.2)!important;padding:18px!important}
#funAnswerCard .fun-answer-topline{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,1fr)!important;gap:12px!important;align-items:stretch!important;width:100%!important}
#funAnswerCard .fun-answer-kicker{display:flex!important;align-items:center!important;justify-content:center!important;min-height:62px!important;padding:12px 16px!important;border-radius:22px!important;background:linear-gradient(135deg,#ff2888,#ff5fa8)!important;color:#fff!important;font-size:clamp(20px,5vw,28px)!important;font-weight:1000!important;text-align:center!important;text-shadow:0 2px 0 rgba(110,0,48,.18)!important;box-shadow:0 7px 0 #c91463!important}
#funAnswerListen{display:flex!important;align-items:center!important;justify-content:center!important;min-height:62px!important;margin:0!important;padding:12px 16px!important;border:3px solid #fff!important;border-radius:22px!important;background:linear-gradient(135deg,#00a8ff,#1877f2)!important;color:#fff!important;font-size:clamp(18px,4.6vw,25px)!important;font-weight:1000!important;line-height:1.05!important;text-shadow:0 2px 0 rgba(0,50,130,.25)!important;box-shadow:0 7px 0 #0753b7,0 11px 20px rgba(0,75,170,.22)!important;cursor:pointer!important;transition:transform .08s ease,box-shadow .08s ease!important}
#funAnswerListen:active{transform:translateY(6px)!important;box-shadow:0 1px 0 #0753b7!important}
#funAnswerListen.voice-loading{background:linear-gradient(135deg,#ff9f1c,#ff5b35)!important;animation:yvetteRewardGlow .55s ease-in-out infinite alternate!important}
#grownupButton.details-toggle{display:block!important;width:100%!important;min-height:66px!important;margin:18px 0 4px!important;padding:13px 18px!important;border:3px solid #fff!important;border-radius:23px!important;background:linear-gradient(135deg,#8c42ff,#d438ff)!important;color:#fff!important;font-size:clamp(19px,4.8vw,26px)!important;font-weight:1000!important;line-height:1.1!important;text-align:center!important;text-shadow:0 2px 0 rgba(75,0,120,.25)!important;box-shadow:0 8px 0 #6b20bf,0 13px 22px rgba(86,25,145,.24)!important;cursor:pointer!important;transition:transform .08s ease,box-shadow .08s ease!important}
#grownupButton.details-toggle:active{transform:translateY(7px)!important;box-shadow:0 1px 0 #6b20bf!important}
#grownupButton.details-toggle.open{background:linear-gradient(135deg,#35c75a,#10a76b)!important;box-shadow:0 8px 0 #087844,0 13px 22px rgba(8,120,68,.22)!important}
@keyframes yvetteRewardGlow{from{transform:scale(1);filter:saturate(1)}to{transform:scale(1.035);filter:saturate(1.25) brightness(1.08)}}
@media(max-width:520px){#funAnswerCard .fun-answer-topline{grid-template-columns:1fr!important}#funAnswerCard .fun-answer-kicker,#funAnswerListen{min-height:66px!important}}
@media (prefers-reduced-motion:reduce){#funAnswerListen.voice-loading{animation:none!important}}

/* Four bold game choices */
.adventure-area .adventure-title{display:block!important;margin:8px 0 16px!important;padding:12px 14px!important;border:3px solid rgba(255,255,255,.92)!important;border-radius:24px!important;background:linear-gradient(135deg,#fff,#fff0a8)!important;color:#e21c78!important;text-align:center!important;box-shadow:0 7px 0 rgba(188,45,111,.2),0 12px 22px rgba(70,35,105,.14)!important}
.adventure-area .adventure-title strong{display:block!important;font-size:clamp(24px,5.7vw,34px)!important;font-weight:1000!important;line-height:1.05!important}
.adventure-area .adventure-title span{display:block!important;margin-top:5px!important;color:#126fc1!important;font-size:17px!important;font-weight:950!important;letter-spacing:.02em!important}
.storybook-tile-grid{gap:15px!important;margin-top:8px!important}
.storybook-tile-grid .adventure-buttons button{position:relative!important;min-height:190px!important;border:4px solid #fff!important;border-radius:28px!important;padding:18px 12px!important;color:#fff!important;text-shadow:0 2px 0 rgba(0,0,0,.22)!important;box-shadow:0 9px 0 var(--tile-shadow),0 15px 25px rgba(32,45,90,.22)!important;transform:translateY(0) scale(1)!important;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease!important;overflow:hidden!important}
.storybook-tile-grid .adventure-buttons button:nth-child(1){--tile-shadow:#087f3b;background:linear-gradient(145deg,#28d665,#08a94b)!important}
.storybook-tile-grid .adventure-buttons button:nth-child(2){--tile-shadow:#c46d00;background:linear-gradient(145deg,#ffcb28,#ff8a16)!important}
.storybook-tile-grid .adventure-buttons button:nth-child(3){--tile-shadow:#0759b5;background:linear-gradient(145deg,#21c8ff,#087cf0)!important}
.storybook-tile-grid .adventure-buttons button:nth-child(4){--tile-shadow:#7b24ad;background:linear-gradient(145deg,#dd58ff,#9b35df)!important}
.storybook-tile-grid .adventure-buttons button:active,.storybook-tile-grid .adventure-buttons button.tile-pressed{transform:translateY(8px) scale(.97)!important;box-shadow:0 1px 0 var(--tile-shadow),0 5px 10px rgba(32,45,90,.16)!important;filter:brightness(1.12) saturate(1.18)!important}
.storybook-tile-grid .adventure-buttons button:disabled{opacity:1!important;cursor:wait!important}
.storybook-tile-grid .adventure-buttons button:disabled:not(.tile-pressed){filter:saturate(.72) brightness(.94)!important}
.storybook-tile-grid .adventure-icon{display:grid!important;place-items:center!important;width:76px!important;height:76px!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;font-size:45px!important;text-shadow:none!important;box-shadow:inset 0 -5px 0 rgba(0,0,0,.08),0 5px 12px rgba(0,0,0,.13)!important}
.storybook-tile-grid .adventure-label{max-width:150px!important;font-size:20px!important;line-height:1.08!important;font-weight:1000!important}
.storybook-tile-grid b{color:#173967!important;text-shadow:none!important;width:38px!important;height:38px!important;font-size:25px!important;box-shadow:0 4px 0 rgba(0,0,0,.12)!important}
@media(max-width:650px){.storybook-tile-grid{grid-template-columns:repeat(2,1fr)!important;gap:13px!important}.storybook-tile-grid .adventure-buttons button{min-height:165px!important}.storybook-tile-grid .adventure-icon{width:66px!important;height:66px!important;font-size:39px!important}.storybook-tile-grid .adventure-label{font-size:18px!important}}

/* YVETTE STORYBOOK V3.7.25 — big voice game buttons */
#discoveryVoiceButton.photo-cheer{width:calc(100% - 20px)!important;min-height:88px!important;margin:10px!important;padding:15px 20px 22px!important;border:4px solid #fff!important;border-radius:27px!important;background:linear-gradient(135deg,#00c6ff,#087cf0 55%,#625bff)!important;color:#fff!important;text-shadow:0 2px 0 rgba(0,45,130,.3)!important;box-shadow:0 9px 0 #0756b5,0 15px 25px rgba(0,67,155,.3)!important;transition:transform .09s ease,box-shadow .09s ease,filter .09s ease!important}
#discoveryVoiceButton .voice-discovery-label{justify-content:center!important;font-size:clamp(20px,5vw,28px)!important;font-weight:1000!important;text-align:center!important;line-height:1.08!important}
#discoveryVoiceButton .cheer-mascot{width:58px!important;height:58px!important;border:4px solid rgba(255,255,255,.9)!important;box-shadow:0 4px 0 rgba(0,55,135,.28)!important}
#discoveryVoiceButton:active{transform:translateY(8px) scale(.985)!important;box-shadow:0 1px 0 #0756b5,0 5px 10px rgba(0,67,155,.2)!important;filter:brightness(1.12)!important}
#discoveryVoiceButton.voice-loading{background:linear-gradient(135deg,#ffae21,#ff5f3b)!important;box-shadow:0 9px 0 #cc481f,0 15px 25px rgba(170,55,15,.28)!important}
#discoveryVoiceButton.voice-playing{background:linear-gradient(135deg,#43db6d,#09aa58)!important;box-shadow:0 9px 0 #087843,0 15px 25px rgba(8,120,67,.26)!important}
#listenButton{min-height:74px!important;border:4px solid #fff!important;border-radius:24px!important;background:linear-gradient(135deg,#ffcf28,#ff8b18)!important;color:#fff!important;font-size:clamp(19px,4.7vw,25px)!important;font-weight:1000!important;text-shadow:0 2px 0 rgba(130,57,0,.28)!important;box-shadow:0 8px 0 #c65c00,0 13px 22px rgba(160,72,0,.25)!important;transition:transform .09s ease,box-shadow .09s ease,filter .09s ease!important}
#listenButton:active{transform:translateY(7px) scale(.985)!important;box-shadow:0 1px 0 #c65c00,0 4px 9px rgba(160,72,0,.18)!important;filter:brightness(1.1)!important}
@media(max-width:470px){#discoveryVoiceButton.photo-cheer{min-height:96px!important}#discoveryVoiceButton .cheer-mascot{width:62px!important;height:62px!important}.voice-row{grid-template-columns:1fr!important}}

/* YVETTE STORYBOOK V3.7.26 — automatic reveal fallback cue */
#discoveryVoiceButton.voice-needs-tap{background:linear-gradient(135deg,#ffdf28,#ff8c19)!important;box-shadow:0 9px 0 #c65d00,0 0 0 8px rgba(255,225,52,.28),0 17px 28px rgba(170,75,0,.28)!important;animation:yvetteTapMe .52s ease-in-out infinite alternate!important}
#discoveryVoiceButton.voice-needs-tap:after{content:"👆";position:absolute;right:12px;top:6px;font-size:31px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.14));animation:yvetteTapFinger .52s ease-in-out infinite alternate;pointer-events:none}
@keyframes yvetteTapMe{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes yvetteTapFinger{from{transform:translateY(0) rotate(-8deg)}to{transform:translateY(6px) rotate(-8deg)}}
@media (prefers-reduced-motion:reduce){#discoveryVoiceButton.voice-needs-tap,#discoveryVoiceButton.voice-needs-tap:after{animation:none!important}}

/* YVETTE STORYBOOK V3.7.27 — animated tile-answer voice button */
#funAnswerListen{position:relative!important;overflow:visible!important;min-height:84px!important;padding:15px 48px 15px 20px!important;border-radius:28px!important;font-size:clamp(22px,5.5vw,30px)!important;animation:yvetteTileHear .62s ease-in-out infinite alternate!important}
#funAnswerListen:after{content:"♪ ♫";position:absolute;right:13px;top:8px;color:#fff7a8;font-size:24px;font-weight:1000;letter-spacing:2px;text-shadow:0 2px 0 rgba(0,45,130,.22);animation:yvetteTileNotes .48s ease-in-out infinite alternate;pointer-events:none}
#funAnswerListen:active{animation:none!important;transform:translateY(7px) scale(.97)!important;box-shadow:0 1px 0 #0753b7!important}
#funAnswerListen.voice-loading{background:linear-gradient(135deg,#ffb21f,#ff5c34)!important;box-shadow:0 8px 0 #c94720,0 14px 24px rgba(170,55,15,.27)!important;animation:yvetteRewardGlow .38s ease-in-out infinite alternate!important}
#funAnswerListen.voice-playing{background:linear-gradient(135deg,#48dd70,#08a95a)!important;box-shadow:0 8px 0 #087843,0 14px 24px rgba(8,120,67,.25)!important;animation:yvetteTilePlaying .42s ease-in-out infinite alternate!important}
@keyframes yvetteTileHear{from{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.025)}}
@keyframes yvetteTileNotes{from{transform:translateY(3px) rotate(-4deg);opacity:.7}to{transform:translateY(-4px) rotate(4deg);opacity:1}}
@keyframes yvetteTilePlaying{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(max-width:520px){#funAnswerListen{width:100%!important;min-height:90px!important}}
@media (prefers-reduced-motion:reduce){#funAnswerListen,#funAnswerListen:after,#funAnswerListen.voice-playing{animation:none!important}}

/* YVETTE STORYBOOK V3.7.28 — defeat legacy 14px mobile voice rule */
#funAnswerCard .fun-answer-topline #funAnswerListen{font-size:clamp(26px,6.2vw,34px)!important;font-weight:1000!important;line-height:1.05!important}
@media(max-width:520px){#funAnswerCard .fun-answer-topline #funAnswerListen{font-size:28px!important;min-height:94px!important}}
@media(max-width:370px){#funAnswerCard .fun-answer-topline #funAnswerListen{font-size:25px!important}}

/* YVETTE STORYBOOK V3.8.0 — seasonal adventures */
.season-adventure-button{position:relative;z-index:5;width:100%;min-height:82px;margin:4px 0 16px;padding:11px 16px;border:4px solid #fff;border-radius:27px;display:grid;grid-template-columns:62px 1fr 30px;align-items:center;gap:12px;background:linear-gradient(135deg,#ffb533,#f07128 58%,#d95420);color:#fff;text-align:left;box-shadow:0 8px 0 #b8461d,0 14px 24px rgba(145,61,19,.23);cursor:pointer;animation:seasonWelcome 1.4s ease-in-out infinite alternate}
.season-adventure-button:active{transform:translateY(7px);box-shadow:0 1px 0 #b8461d}
.season-adventure-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.94);font-size:38px;box-shadow:inset 0 -4px rgba(0,0,0,.07)}
.season-adventure-button strong{display:block;font:1000 clamp(23px,5.5vw,31px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.season-adventure-button small{display:block;margin-top:5px;font-size:13px;font-weight:900}.season-adventure-button>b{font-size:42px}
body[data-season="winter"] .season-adventure-button{background:linear-gradient(135deg,#39c6f4,#4a8ce8,#7769d8);box-shadow:0 8px 0 #3768ad,0 14px 24px rgba(40,89,160,.23)}
body[data-season="spring"] .season-adventure-button{background:linear-gradient(135deg,#52d56e,#28b88f,#ef65a4);box-shadow:0 8px 0 #159062,0 14px 24px rgba(25,130,86,.22)}
body[data-season="summer"] .season-adventure-button{background:linear-gradient(135deg,#ffcf2e,#ff922e,#ff5e62);box-shadow:0 8px 0 #d45a26,0 14px 24px rgba(190,83,25,.22)}
.phone:has(#start.active){border:8px solid #ed7b25}.phone:has(#start.active):before{content:"🍁  🍂  🌰  🍄  🍁  🍂";display:block;padding:6px 8px;background:#fff0b8;text-align:center;font-size:24px;letter-spacing:7px;white-space:nowrap;overflow:hidden}
body[data-season="winter"] .phone:has(#start.active){border-color:#65cbed}body[data-season="winter"] .phone:has(#start.active):before{content:"❄️  ⛄  ❄️  🌲  ❄️";background:#e7f8ff}
body[data-season="spring"] .phone:has(#start.active){border-color:#68d97a}body[data-season="spring"] .phone:has(#start.active):before{content:"🌸  🌷  🐛  🌦️  🌸";background:#edffe7}
body[data-season="summer"] .phone:has(#start.active){border-color:#ffc52d}body[data-season="summer"] .phone:has(#start.active):before{content:"☀️  🌻  🦋  🍓  ☀️";background:#fff5b7}
.season-modal[hidden]{display:none!important}.season-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:14px}.season-modal-backdrop{position:absolute;inset:0;background:rgba(241,249,255,.48);backdrop-filter:blur(10px)}.season-modal-card{position:relative;z-index:1;width:min(650px,96vw);max-height:94vh;overflow:auto;padding:25px 22px;border:6px solid #fff;border-radius:34px;background:linear-gradient(145deg,#fff6c7,#ffe1bb 45%,#ffd6c8);box-shadow:0 22px 60px rgba(100,53,22,.3);text-align:center}.season-modal-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#78411d;font-size:30px;cursor:pointer}.season-modal-kicker{margin:0 48px 5px;font-weight:1000;color:#b14e1e}.season-modal-icon{font-size:65px}.season-modal-card h2{margin:2px 0 6px;font:1000 clamp(34px,8vw,52px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial;color:#a53d18}.season-modal-intro{margin:0 0 17px;font-size:19px;font-weight:900;color:#6a4829}.season-discoveries{display:grid;grid-template-columns:1fr 1fr;gap:12px}.season-discoveries button{min-height:145px;padding:12px;border:4px solid #fff;border-radius:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff8dd;color:#663c20;box-shadow:0 6px 0 rgba(168,75,25,.22);cursor:pointer}.season-discoveries button span{font-size:45px}.season-discoveries button strong{font-size:18px}.season-discoveries button small{font-weight:900;color:#d45522}.season-discoveries button:active{transform:translateY(5px);box-shadow:0 1px 0 rgba(168,75,25,.22)}.season-area-note{margin:16px 0 2px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.68);font-size:14px;font-weight:900;color:#79583d}.season-camera-button{width:100%;min-height:68px;border:4px solid #fff;border-radius:23px;background:linear-gradient(135deg,#20b760,#58cc02);color:#fff;font-size:21px;font-weight:1000;box-shadow:0 7px 0 #17863d;cursor:pointer}.season-modal-open{overflow:hidden}
@keyframes seasonWelcome{from{transform:scale(1)}to{transform:scale(1.018)}}
@media(max-width:470px){.phone:has(#start.active){border-width:5px}.phone:has(#start.active):before{font-size:19px}.season-adventure-button{grid-template-columns:54px 1fr 20px;padding:10px}.season-adventure-icon{width:52px;height:52px;font-size:33px}.season-modal-card{padding:22px 13px 18px}.season-discoveries{gap:8px}.season-discoveries button{min-height:120px;padding:8px}.season-discoveries button span{font-size:38px}.season-discoveries button strong{font-size:15px}.season-setting-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.season-adventure-button{animation:none}}

/* YVETTE STORYBOOK V3.8.1 — bright toddler welcome */
body.login-page.yvette-storybook-login{box-sizing:border-box;min-height:100svh;margin:0;padding:max(18px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom));display:grid;place-items:center;overflow-x:hidden;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.9) 0 5%,transparent 5.5%),radial-gradient(circle at 87% 19%,rgba(255,245,115,.8) 0 7%,transparent 7.5%),linear-gradient(155deg,#54d6ff 0%,#a3ecff 31%,#fff3a0 63%,#ffb6d5 100%);font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;color:#123a72}
body.login-page.yvette-storybook-login:before,body.login-page.yvette-storybook-login:after{content:"";position:fixed;z-index:0;border-radius:50%;pointer-events:none;opacity:.48}body.login-page.yvette-storybook-login:before{width:230px;height:230px;left:-95px;bottom:-70px;background:#73dc6d}body.login-page.yvette-storybook-login:after{width:190px;height:190px;right:-75px;top:-50px;background:#ff73ac}
.yvette-storybook-login .yvette-login-card{box-sizing:border-box;position:relative;z-index:1;width:min(100%,520px);margin:0;padding:58px 28px 22px;overflow:hidden;border:8px solid #ee7a25;border-radius:38px;background:rgba(255,255,255,.94);box-shadow:0 13px 0 rgba(163,73,24,.2),0 28px 70px rgba(23,92,145,.27);text-align:center}
.login-season-border{position:absolute;left:0;right:0;top:0;height:43px;display:flex;align-items:center;justify-content:space-around;padding:0 13px;background:linear-gradient(90deg,#fff0b7,#ffd39c,#fff0b7);border-bottom:4px solid #ef8a37;font-size:23px;letter-spacing:10px;white-space:nowrap;overflow:hidden}.login-season-greeting{display:inline-block;margin:7px 0 8px;padding:7px 16px;border-radius:999px;background:#fff0ba;color:#c95720;font-size:17px;font-weight:1000;box-shadow:0 4px 0 rgba(185,72,19,.17)}
.login-season-winter .yvette-login-card{border-color:#61c8ef;box-shadow:0 13px 0 rgba(41,117,177,.19),0 28px 70px rgba(23,92,145,.27)}.login-season-winter .login-season-border{background:linear-gradient(90deg,#e3f8ff,#ccecff,#e3f8ff);border-color:#61c8ef}.login-season-winter .login-season-greeting{background:#e3f8ff;color:#2674ba}
.login-season-spring .yvette-login-card{border-color:#68d978;box-shadow:0 13px 0 rgba(42,145,74,.18),0 28px 70px rgba(23,92,145,.27)}.login-season-spring .login-season-border{background:linear-gradient(90deg,#eaffdd,#ffe4f0,#eaffdd);border-color:#68d978}.login-season-spring .login-season-greeting{background:#eaffdd;color:#21894c}
.login-season-summer .yvette-login-card{border-color:#ffc52c;box-shadow:0 13px 0 rgba(204,134,19,.18),0 28px 70px rgba(23,92,145,.27)}.login-season-summer .login-season-border{background:linear-gradient(90deg,#fff5ad,#ffd9a1,#fff5ad);border-color:#ffc52c}.login-season-summer .login-season-greeting{background:#fff3aa;color:#db651f}
.login-sparkles{position:absolute;left:18px;top:55px;font-size:24px;letter-spacing:4px;animation:loginTwinkle 1.2s ease-in-out infinite alternate}.login-yvette-mascot{display:block;width:150px;height:126px;margin:-2px auto -8px;object-fit:cover;object-position:left center;border-radius:38px;filter:drop-shadow(0 7px 5px rgba(35,63,97,.15));animation:loginWave 1.5s ease-in-out infinite alternate}
.login-colorful-brand{display:inline-block;margin:0;font-size:clamp(43px,11vw,62px);font-weight:1000;line-height:1;letter-spacing:-3px;background:linear-gradient(90deg,#f03b51 0 20%,#168df0 20% 40%,#42b947 40% 60%,#ff9824 60% 80%,#9b4bde 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.login-tagline{margin:7px 0 13px;color:#1683d1;font-size:13px;font-weight:1000;letter-spacing:.08em}.login-tagline span{color:#ff4f8b}
.yvette-storybook-login .yvette-login-card h1{margin:0;color:#123a72;font-size:clamp(35px,9vw,50px);font-weight:1000;line-height:.98;letter-spacing:-1.5px}.login-welcome-copy{max-width:390px;margin:12px auto 18px;color:#416a93;font-family:"Trebuchet MS",Arial,sans-serif;font-size:17px;font-weight:800;line-height:1.35}
.yvette-login-form{text-align:left}.yvette-login-form label{display:block;margin:0 5px 7px;color:#123a72;font-size:18px;font-weight:1000}.yvette-login-form input{box-sizing:border-box;width:100%;height:64px;margin:0;padding:12px 18px;border:4px solid #9bdcf7;border-radius:21px;outline:0;background:#f8fdff;color:#123a72;font:900 20px/1 "Trebuchet MS",Arial,sans-serif;box-shadow:inset 0 3px 0 rgba(12,105,165,.05)}.yvette-login-form input:focus{border-color:#ff5a9a;box-shadow:0 0 0 6px rgba(255,79,139,.15)}.yvette-login-form input::placeholder{color:#91abc2}
.yvette-login-form button{box-sizing:border-box;width:100%;min-height:86px;margin:15px 0 0;padding:11px 22px;border:5px solid #fff;border-radius:27px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;align-items:center;background:linear-gradient(135deg,#ff4f91,#ff793d 55%,#ffc72b);color:#fff;text-shadow:0 2px 0 rgba(115,31,39,.23);box-shadow:0 9px 0 #d83267,0 15px 24px rgba(190,41,103,.25);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease;animation:loginButtonGlow .75s ease-in-out infinite alternate}.yvette-login-form button>span{grid-row:1/3;font-size:40px}.yvette-login-form button strong{align-self:end;font:1000 clamp(26px,6.5vw,34px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.yvette-login-form button small{align-self:start;margin-top:3px;font-size:13px;font-weight:900}.yvette-login-form button:active{transform:translateY(8px) scale(.99);box-shadow:0 1px 0 #d83267}
.yvette-login-form .view-password-button{display:block;width:auto;min-height:42px;margin:8px 3px 0;padding:8px 14px;border:3px solid #b9e7f8;border-radius:15px;background:#eefaff;color:#126da8;font:1000 15px/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;box-shadow:0 4px 0 #94d2ec;text-shadow:none;animation:none;cursor:pointer}.yvette-login-form .view-password-button:active{transform:translateY(3px);box-shadow:0 1px 0 #94d2ec}.yvette-login-form .view-password-button[aria-pressed="true"]{border-color:#ffc2da;background:#fff0f6;color:#c63370;box-shadow:0 4px 0 #efa3c2}
.login-error{margin:10px 0 0!important;padding:10px 13px!important;border-radius:14px!important;background:#fff0f2!important;color:#c22750!important;font-size:14px!important;font-weight:900!important}.login-grownup-note{margin:16px 0 3px;color:#65839e;font-size:12px;font-weight:900}.login-bottom-friends{margin:8px -28px -22px;padding:10px;background:linear-gradient(90deg,#dff8b4,#f5ffd9);font-size:25px;letter-spacing:13px;white-space:nowrap;overflow:hidden}
@keyframes loginWave{from{transform:rotate(-1.5deg) translateY(0)}to{transform:rotate(1.5deg) translateY(-5px)}}@keyframes loginTwinkle{from{opacity:.55;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}@keyframes loginButtonGlow{from{filter:saturate(1);transform:scale(1)}to{filter:saturate(1.16) brightness(1.04);transform:scale(1.018)}}
@media(max-width:470px){body.login-page.yvette-storybook-login{padding:12px 10px max(15px,env(safe-area-inset-bottom));align-items:center}.yvette-storybook-login .yvette-login-card{padding:52px 17px 17px;border-radius:30px;border-width:5px}.login-season-border{height:39px;font-size:19px;letter-spacing:7px}.login-sparkles{left:12px;top:48px;font-size:17px}.login-yvette-mascot{width:130px;height:105px}.login-colorful-brand{font-size:48px}.yvette-storybook-login .yvette-login-card h1{font-size:38px}.login-welcome-copy{margin:9px auto 14px;font-size:15px}.yvette-login-form label{font-size:16px}.yvette-login-form input{height:57px;border-radius:18px;font-size:18px}.yvette-login-form button{min-height:78px;margin-top:12px;border-radius:23px;grid-template-columns:47px 1fr}.yvette-login-form button>span{font-size:35px}.yvette-login-form button strong{font-size:28px}.login-grownup-note{margin-top:13px}.login-bottom-friends{margin:7px -17px -17px;font-size:21px;letter-spacing:9px}}
@media(max-height:720px){.login-yvette-mascot{width:105px;height:82px}.login-colorful-brand{font-size:42px}.yvette-storybook-login .yvette-login-card h1{font-size:32px}.login-welcome-copy{font-size:14px;margin:7px auto 11px}.yvette-login-form input{height:52px}.yvette-login-form button{min-height:70px}.login-grownup-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.login-yvette-mascot,.login-sparkles,.yvette-login-form button{animation:none}}

/* YVETTE STORYBOOK V3.8.3 — guided seasonal game */
.season-voice-button{width:100%;min-height:58px;margin:0 0 12px;padding:10px 14px;border:4px solid #fff;border-radius:20px;background:linear-gradient(135deg,#168df0,#625df1);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 6px 0 #294fb5;cursor:pointer}.season-voice-button.voice-loading{background:linear-gradient(135deg,#ffad20,#ff6038);animation:seasonVoiceWait .45s ease-in-out infinite alternate}.season-voice-button.voice-playing{background:linear-gradient(135deg,#42d96d,#08aa57);box-shadow:0 6px 0 #087b42}
.season-camera-button.season-camera-top{min-height:86px;padding:11px 14px;border-radius:26px;box-shadow:0 8px 0 #17863d,0 14px 24px rgba(19,133,65,.22);animation:seasonCameraInvite .62s ease-in-out infinite alternate}.season-camera-top span{display:inline-block;margin-right:7px;font-size:30px}.season-camera-top strong{font-size:clamp(20px,5vw,27px);font-weight:1000}.season-camera-top small{display:block;margin-top:4px;font-size:13px;font-weight:900}.season-camera-top:active{transform:translateY(7px);box-shadow:0 1px 0 #17863d}
.season-tap-tip{margin:14px 0 10px;color:#a33f19;font-size:18px;font-weight:1000;animation:seasonTipBounce .55s ease-in-out infinite alternate}.season-discoveries button{position:relative;animation:seasonTileHello .72s ease-in-out var(--season-delay,0s) infinite alternate}.season-discoveries button:after{content:"✨";position:absolute;right:7px;top:5px;font-size:18px;opacity:.65;animation:seasonSparkle .7s ease-in-out infinite alternate}.season-discoveries button.season-tile-picked{transform:translateY(6px) scale(.94);background:#fff2a8;animation:seasonTilePicked .22s ease-in-out 2 alternate}
@keyframes seasonTileHello{from{transform:translateY(0) rotate(-.5deg)}to{transform:translateY(-5px) rotate(.5deg)}}@keyframes seasonTilePicked{from{filter:brightness(1)}to{filter:brightness(1.18);transform:scale(1.04)}}@keyframes seasonSparkle{from{transform:scale(.7) rotate(-10deg);opacity:.35}to{transform:scale(1.2) rotate(8deg);opacity:1}}@keyframes seasonCameraInvite{from{transform:scale(1)}to{transform:scale(1.025)}}@keyframes seasonTipBounce{from{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes seasonVoiceWait{from{filter:brightness(1)}to{filter:brightness(1.15)}}
@media(prefers-reduced-motion:reduce){.season-voice-button,.season-camera-top,.season-tap-tip,.season-discoveries button,.season-discoveries button:after{animation:none}}

/* YVETTE STORYBOOK V3.8.4 — privacy-first talk anywhere */
.camera-help{position:relative;z-index:6;margin:11px 0 5px;padding:10px 12px;border:2px solid #bce5f7;border-radius:17px;background:rgba(255,255,255,.88);color:#245f8e;font-family:"Trebuchet MS",Arial,sans-serif}.camera-help summary{cursor:pointer;font-size:13px;font-weight:900}.camera-help p{margin:9px 2px 1px;font-size:13px;line-height:1.4}.global-voice-guide{position:sticky;z-index:10030;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);margin:12px auto 5px;padding:10px 12px;border:4px solid #fff;border-radius:25px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff7af,#ffd9ed 55%,#ccefff);box-shadow:0 8px 0 rgba(39,112,167,.22),0 15px 27px rgba(30,80,130,.22)}.global-voice-guide>button{position:relative;flex:0 0 68px;width:68px;height:68px;padding:0;border:4px solid #fff;border-radius:50%;background:linear-gradient(145deg,#168df0,#38b9ff);color:#fff;font-size:31px;box-shadow:0 6px 0 #0874c7;cursor:pointer;animation:globalMicHello .8s ease-in-out infinite alternate}.global-voice-guide>button:after{content:"";position:absolute;inset:-7px;border:3px solid rgba(22,141,240,.25);border-radius:50%;animation:globalMicRing 1.1s ease-out infinite}.global-voice-guide>button.listening{background:linear-gradient(145deg,#ff438d,#ff7638);box-shadow:0 6px 0 #d62f67;animation:globalMicListen .38s ease-in-out infinite alternate}.global-voice-guide>button.listening:after{border-color:rgba(255,60,139,.55);animation-duration:.58s}.global-voice-guide>button.thinking{background:linear-gradient(145deg,#53d86d,#0cad59);box-shadow:0 6px 0 #087b42}.global-voice-guide>span{min-width:0;text-align:left}.global-voice-guide strong{display:block;color:#e42f77;font:1000 19px/1.05 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.global-voice-guide small{display:block;margin-top:4px;color:#315f89;font-size:12px;font-weight:850;line-height:1.25}#result.active~.global-voice-guide{display:none}.season-modal:not([hidden])~.global-voice-guide{position:fixed;left:50%;right:auto;bottom:max(10px,env(safe-area-inset-bottom));width:min(570px,calc(100% - 28px));transform:translateX(-50%)}
@keyframes globalMicHello{from{transform:translateY(0) scale(1)}to{transform:translateY(-3px) scale(1.04)}}@keyframes globalMicListen{from{transform:scale(1)}to{transform:scale(1.12)}}@keyframes globalMicRing{from{transform:scale(.8);opacity:1}to{transform:scale(1.28);opacity:0}}
@media(max-width:470px){.global-voice-guide{padding:8px 9px;gap:9px;border-radius:22px}.global-voice-guide>button{flex-basis:61px;width:61px;height:61px;font-size:28px}.global-voice-guide strong{font-size:17px}.global-voice-guide small{font-size:11px}.camera-help{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.global-voice-guide>button,.global-voice-guide>button:after{animation:none}}
.global-voice-guide{position:fixed;left:50%;right:auto;width:min(626px,calc(100% - 24px));margin:0;transform:translateX(-50%)}

/* YVETTE STORYBOOK V3.8.5 — safe questions with or without a photo */
.home-question-label{position:relative;z-index:6;display:block;margin:3px 4px 7px;color:#0f5794;font-size:15px;font-weight:1000}.home-question{position:relative;z-index:6;display:block!important;box-sizing:border-box;width:100%;min-height:70px!important;margin:0!important;padding:13px 15px!important;border:4px solid #9bdef8!important;border-radius:20px!important;background:rgba(255,255,255,.95)!important;color:#123a72!important;font:850 17px/1.3 "Trebuchet MS",Arial,sans-serif!important;resize:none!important}.home-question:focus{outline:0;border-color:#ff5a9a!important;box-shadow:0 0 0 6px rgba(255,79,139,.14)!important}.home-ask-button{position:relative;z-index:6;width:100%;min-height:56px;margin:9px 0 13px;border:4px solid #fff;border-radius:20px;background:linear-gradient(135deg,#a34be0,#e44dcc);color:#fff;font-size:19px;font-weight:1000;box-shadow:0 6px 0 #7629ae;cursor:pointer}.home-ask-button:active{transform:translateY(5px);box-shadow:0 1px 0 #7629ae}.home-answer-card[hidden]{display:none!important}.home-answer-card{position:relative;z-index:7;margin:14px 0 18px;padding:17px;border:5px solid #fff;border-radius:28px;display:grid;grid-template-columns:66px 1fr;gap:11px;background:linear-gradient(135deg,#fff5a9,#ffdced 52%,#d9f5ff);box-shadow:0 8px 0 rgba(43,107,157,.18),0 15px 26px rgba(33,94,145,.18);text-align:left}.home-answer-bug{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;font-size:39px}.home-answer-card p{margin:0 0 3px;color:#e32c75;font-size:14px;font-weight:1000}.home-answer-card h2{margin:0 0 6px!important;color:#123a72!important;font-size:24px!important;line-height:1.05!important}.home-answer-card div div{color:#315c84;font-size:16px;font-weight:800;line-height:1.35}.home-answer-card>button{grid-column:1/-1;width:100%;min-height:57px;border:4px solid #fff;border-radius:20px;color:#fff;font-size:18px;font-weight:1000;cursor:pointer}.home-answer-card>button[hidden]{display:none!important}#homeAnswerHear{background:linear-gradient(135deg,#168df0,#655cf0);box-shadow:0 6px 0 #294fb5}#homeAnswerHear.voice-loading{background:linear-gradient(135deg,#ffad20,#ff6038)}#homeAnswerHear.voice-playing{background:linear-gradient(135deg,#42d96d,#08aa57)}#homeAnswerPhoto{background:linear-gradient(135deg,#20b760,#58cc02);box-shadow:0 6px 0 #17863d}.home-answer-card[data-category="privacy"]{background:linear-gradient(135deg,#eaf7ff,#e7efff)}.home-answer-card[data-category="emergency"]{background:linear-gradient(135deg,#fff0f0,#ffd7d7);border-color:#ffb7b7}.home-answer-card[data-category="grownup"]{background:linear-gradient(135deg,#f4edff,#ffe7f2)}.home-answer-card[data-category="loading"]{animation:homeAnswerThink .65s ease-in-out infinite alternate}@keyframes homeAnswerThink{from{transform:scale(1)}to{transform:scale(1.015)}}
@media(max-width:470px){.home-question-label{font-size:13px}.home-question{min-height:64px!important;font-size:15px!important}.home-ask-button{min-height:52px;font-size:17px}.home-answer-card{grid-template-columns:56px 1fr;padding:13px}.home-answer-bug{width:54px;height:54px;font-size:33px}.home-answer-card h2{font-size:21px!important}.home-answer-card div div{font-size:14px}.home-answer-card>button{font-size:17px}}
@media(prefers-reduced-motion:reduce){.home-answer-card[data-category="loading"]{animation:none}}

/* YVETTE STORYBOOK V3.8.6 — contain tile-answer voice labels on desktop */
@media(min-width:521px){
  #funAnswerCard .fun-answer-topline{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  #funAnswerCard .fun-answer-topline>*{min-width:0!important;max-width:100%!important}
  #funAnswerCard .fun-answer-topline #funAnswerListen{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:12px 38px 12px 13px!important;
    overflow:hidden!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:clamp(21px,3.1vw,27px)!important;
    line-height:1.06!important;
    text-align:center!important;
  }
}

/* YVETTE STORYBOOK V3.8.7 — automatic tile voice + brighter new discovery */
#funAnswerListen.voice-needs-tap{background:linear-gradient(135deg,#ffe12d,#ff8c18)!important;box-shadow:0 8px 0 #c55c00,0 0 0 8px rgba(255,224,45,.3),0 15px 25px rgba(168,77,0,.25)!important;color:#fff!important;animation:yvetteTapMe .5s ease-in-out infinite alternate!important}
.discover-new-button{position:relative!important;overflow:hidden!important;min-height:92px!important;border:5px solid #fff!important;background:linear-gradient(110deg,#ff2e8b,#ff6a3d 34%,#ffd126 67%,#21c9ee 100%)!important;background-size:180% 180%!important;box-shadow:0 9px 0 #c92772,0 0 0 7px rgba(255,255,255,.24),0 17px 28px rgba(175,37,104,.3)!important;text-shadow:0 2px 0 rgba(100,25,60,.25)!important;animation:yvetteDiscoverBounce .72s ease-in-out infinite alternate,yvetteDiscoverColor 3.2s ease-in-out infinite!important}.discover-new-button:before{content:"";position:absolute;top:-70%;left:-30%;width:24%;height:240%;background:rgba(255,255,255,.6);transform:rotate(24deg);animation:yvetteDiscoverShine 2.1s ease-in-out infinite;pointer-events:none}.discover-new-button .discover-new-icon{animation:yvetteCameraHop .52s ease-in-out infinite alternate!important;filter:drop-shadow(0 3px 0 rgba(90,24,55,.18))}.discover-new-button strong{font-size:clamp(24px,5vw,31px)!important}.discover-new-button small{font-size:15px!important}.discover-new-button:active{animation:none!important;transform:translateY(8px) scale(.985)!important;box-shadow:0 1px 0 #c92772,0 4px 8px rgba(175,37,104,.2)!important}
@keyframes yvetteDiscoverBounce{from{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.015)}}@keyframes yvetteDiscoverColor{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes yvetteDiscoverShine{0%,55%{left:-35%;opacity:0}70%{opacity:1}100%{left:125%;opacity:0}}@keyframes yvetteCameraHop{from{transform:translateY(2px) rotate(-4deg)}to{transform:translateY(-5px) rotate(4deg)}}
@media(max-width:470px){.discover-new-button{min-height:88px!important}.discover-new-button strong{font-size:24px!important}.discover-new-button small{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){#funAnswerListen.voice-needs-tap,.discover-new-button,.discover-new-button:before,.discover-new-button .discover-new-icon{animation:none!important}}
\n\n/* ============================================================
   YVETTE STORYBOOK V3.7.16 — COMPACT MOBILE THINKING CARD
   Prevent edge clipping and remove empty mascot space.
   ============================================================ */
#looking .thinking-card{
  box-sizing:border-box!important;
  width:min(600px,100%)!important;
  max-width:100%!important;
  overflow:visible!important;
}
#looking .thinking-copy{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:650px){
  #looking.storybook-thinking.active{
    justify-content:flex-start!important;
    min-height:0!important;
    padding:28px 14px 38px!important;
    gap:18px!important;
  }
  #looking .thinking-photo{
    width:min(250px,68vw)!important;
    height:auto!important;
    max-height:190px!important;
    aspect-ratio:4/3!important;
  }
  #looking .thinking-card{
    padding:18px 14px 16px!important;
    border-radius:24px!important;
  }
  #looking .bug-progress{
    height:24px!important;
    margin:0 4px 8px!important;
  }
  #looking .bug-track{
    bottom:8px!important;
    height:7px!important;
  }
  #looking .thinking-bug{display:none!important}
  #looking .thinking-card h1{
    margin:4px 0 8px!important;
    font-size:28px!important;
    line-height:1.08!important;
  }
  #looking .thinking-copy{
    margin:0 auto 16px!important;
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.25!important;
  }
  #looking .thinking-stages{
    gap:4px!important;
    margin:0 0 14px!important;
  }
  #looking .thinking-stage{
    min-width:0!important;
    font-size:12px!important;
    line-height:1.15!important;
  }
  #looking .thinking-stage b{
    display:block!important;
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  #looking .thinking-note{
    box-sizing:border-box!important;
    max-width:100%!important;
    padding:8px 14px!important;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
}

/* Storybook V3.7.18 — Light frosted tutorial focus.
   Keep Yvette's sunny world visible; focus without a dark/night overlay. */
.yvette-video-backdrop{
  background:rgba(235,249,255,.38)!important;
  -webkit-backdrop-filter:blur(12px) saturate(.92) brightness(1.04)!important;
  backdrop-filter:blur(12px) saturate(.92) brightness(1.04)!important;
}
.yvette-video-card{
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 18px 55px rgba(24,78,120,.22)!important;
}
@media(max-width:600px){
  .yvette-video-backdrop{
    background:rgba(239,250,255,.34)!important;
    -webkit-backdrop-filter:blur(10px) saturate(.9) brightness(1.05)!important;
    backdrop-filter:blur(10px) saturate(.9) brightness(1.05)!important;
  }
}


/* ============================================================
   YVETTE STORYBOOK V3.7.19 — TAPPABLE HOME MASCOT
   Children naturally tap Yvette herself. Make the large lower-right
   mascot launch the same quick tutorial as the explicit tutorial button.
   ============================================================ */
#start .start-yvette{
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:transform .14s ease, filter .14s ease;
}
#start .start-yvette:active{
  transform:scale(.96);
}
#start .start-yvette:focus-visible{
  outline:4px solid rgba(255,255,255,.95);
  outline-offset:4px;
}

/* Storybook V3.8.10 — a friendly wait cue beneath tile-answer audio. */
.tile-voice-progress[hidden]{display:none!important}
.tile-voice-progress{
  position:relative;
  box-sizing:border-box;
  width:calc(50% - 6px);
  min-height:45px;
  margin:7px 0 10px auto;
  padding:13px 8px 2px;
}
.tile-voice-track{
  height:11px;
  overflow:hidden;
  border:2px solid rgba(210,32,64,.18);
  border-radius:999px;
  background:#ffe0e5;
  box-shadow:inset 0 2px 4px rgba(143,24,49,.14),0 2px 0 rgba(255,255,255,.8);
}
.tile-voice-fill{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ffc4cc 0%,#ff7180 55%,#ed1838 100%);
  transform:scaleX(.08);
  transform-origin:left center;
  animation:tileVoiceFill 1.35s ease-in-out infinite;
}
.tile-voice-bug{
  position:absolute;
  z-index:1;
  top:-2px;
  left:0;
  font-size:27px;
  line-height:1;
  filter:saturate(.55) brightness(1.3);
  animation:tileVoiceBug 1.35s ease-in-out infinite;
}
.tile-voice-progress small{
  display:block;
  margin-top:5px;
  color:#c7264a;
  font-size:12px;
  font-weight:950;
  line-height:1.15;
  text-align:center;
}
.tile-voice-progress.voice-ready .tile-voice-fill{
  transform:scaleX(1);
  filter:saturate(1.35);
  animation:none;
}
.tile-voice-progress.voice-ready .tile-voice-bug{
  left:calc(100% - 28px);
  transform:rotate(8deg) scale(1.08);
  filter:saturate(1.45) brightness(.96);
  animation:none;
}
.tile-voice-progress.voice-ready small{color:#e3183b}
@keyframes tileVoiceFill{
  0%{transform:scaleX(.08);filter:saturate(.7)}
  100%{transform:scaleX(1);filter:saturate(1.35)}
}
@keyframes tileVoiceBug{
  0%{left:0;transform:rotate(-8deg) scale(.92);filter:saturate(.55) brightness(1.3)}
  100%{left:calc(100% - 28px);transform:rotate(8deg) scale(1.08);filter:saturate(1.45) brightness(.96)}
}
@media(max-width:520px){
  .tile-voice-progress{width:100%;margin:8px 0 11px}
}
@media(prefers-reduced-motion:reduce){
  .tile-voice-fill{transform:scaleX(.68);animation:none}
  .tile-voice-bug{left:calc(68% - 20px);filter:none;animation:none}
}

/* Storybook V3.8.11 — let a child's curiosity change direction naturally. */
.context-route-note{
  margin:12px 0 2px!important;
  padding:10px 13px!important;
  border:2px dashed #63a6dc!important;
  border-radius:16px!important;
  background:#eef8ff!important;
  color:#07518e!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.3!important;
}
.context-choice-buttons[hidden],.context-route-note[hidden]{display:none!important}
.context-choice-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.context-choice-buttons button{
  min-height:68px;
  padding:12px 10px;
  border:3px solid #fff;
  border-radius:22px;
  color:#fff;
  font-size:18px;
  font-weight:1000;
  line-height:1.1;
  cursor:pointer;
  box-shadow:0 7px 0 #0753b7,0 11px 18px rgba(0,75,170,.2);
}
#contextPictureButton{background:linear-gradient(135deg,#16bff3,#1877f2)}
#contextNewButton{background:linear-gradient(135deg,#ff4fa0,#9938e8)}
.context-choice-buttons button:active{transform:translateY(6px);box-shadow:0 1px 0 #0753b7}
@media(max-width:420px){.context-choice-buttons{grid-template-columns:1fr}.context-choice-buttons button{min-height:62px}}

/* V3.8.12 — keep the typed-question action clear of the desktop mascot. */
.dock-send .ask-short{display:none}
@media(min-width:651px){
  #questionSheet.storybook-talkbar{
    box-sizing:border-box!important;
    padding-right:190px!important;
  }
  #questionSheet .dock-type-row{
    grid-template-columns:minmax(0,1fr) 126px!important;
  }
  #questionSheet .dock-send{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:126px!important;
    min-width:126px!important;
    padding:0 12px!important;
    background:linear-gradient(135deg,#20b95c,#0c91e8)!important;
    color:#fff!important;
    font-size:16px!important;
    font-weight:1000!important;
    box-shadow:0 5px 0 #0878a8!important;
  }
  #questionSheet .compact-photo{display:none!important}
}
@media(max-width:650px){
  .dock-send .ask-full{display:none}
  .dock-send .ask-short{display:inline}
  #questionSheet .dock-send{font-size:13px!important;line-height:1.05!important}
}
/* V3.8.15 — private discovery shelf and durable photo sharing */
.my-discoveries-button{width:100%;margin:0 0 14px;border:3px solid #6b42c8;border-radius:18px;background:#fff6a8;color:#44206f;font-size:1.12rem;font-weight:900;padding:8px 18px;box-shadow:0 5px 0 #6b42c8;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px}
.my-discoveries-button>img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 2px 1px rgba(67,31,111,.18))}.my-discoveries-button>strong{font:inherit}
.my-discoveries-button:active{transform:translateY(4px);box-shadow:0 1px 0 #6b42c8}
.my-discoveries-button span{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-left:7px;border-radius:50%;background:#ef3f70;color:#fff;font-size:.9rem}
.discoveries-modal-card{max-height:min(82vh,720px);overflow:auto}
.discoveries-list{display:grid;gap:12px;margin-top:14px}
.discovery-shelf-card{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:12px;text-decoration:none;color:#35214d;background:#fff;border:3px solid #f1b72b;border-radius:17px;padding:8px;box-shadow:0 4px 0 #d68b19}
.discovery-shelf-card img{width:78px;height:66px;object-fit:cover;border-radius:11px;background:#eee}
.discovery-shelf-card span{min-width:0;text-align:left}.discovery-shelf-card strong{display:block;font-size:1rem;line-height:1.15}.discovery-shelf-card small{display:block;margin-top:4px;color:#6b5682;font-weight:700}.discovery-shelf-card b{font-size:2rem;color:#ef3f70}
.discoveries-empty{padding:20px 10px;font-weight:800;color:#6b5682}
.discovery-shelf-item{display:grid;gap:7px}.delete-discovery-button{justify-self:end;border:2px solid #ef9baa;border-radius:13px;background:#fff2f5;color:#9d2943;padding:7px 11px;font-size:.76rem;font-weight:900;cursor:pointer}.delete-discovery-button:active{transform:translateY(2px)}
.yvette-character-badge{display:grid!important;place-items:center;width:90px!important;height:90px!important;margin:0 auto 8px!important;border:4px solid #fff!important;border-radius:50%!important;background:linear-gradient(145deg,#fff8a5,#87dcff)!important;overflow:hidden!important;box-shadow:0 5px 14px rgba(65,35,106,.24)!important}
.yvette-character-badge img{width:90px;height:90px;object-fit:contain;transform:scale(1.04);transform-origin:center bottom}

/* V3.8.19 — storybook photo actions */
#start #cameraButton,#start #chooseButton{
  width:min(92%,620px);max-width:620px;margin-left:auto;margin-right:auto;
  min-height:88px;border:4px solid #fff;border-radius:30px;color:#fff;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:clamp(1.35rem,5vw,1.8rem);font-weight:950;letter-spacing:-.02em;
  position:relative;overflow:hidden;isolation:isolate;
  text-shadow:0 2px 3px rgba(25,33,88,.24);
}
#start #cameraButton{
  background:linear-gradient(120deg,#00bfe9 0%,#087af5 48%,#17d48b 100%);
  box-shadow:0 9px 0 #075fbd,0 15px 28px rgba(2,74,164,.28);
  animation:yvetteActionFloat 2.5s ease-in-out infinite;
}
#start #chooseButton{
  margin-top:22px;background:linear-gradient(120deg,#ff4f9a 0%,#b13fe4 48%,#6849f7 100%);
  box-shadow:0 9px 0 #6528a9,0 15px 28px rgba(87,25,151,.27);
  animation:yvetteActionFloat 2.8s .35s ease-in-out infinite;
}
#start #cameraButton::after,#start #chooseButton::after{
  content:"";position:absolute;z-index:0;pointer-events:none;inset:-25% auto -25% -45%;width:30%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);animation:yvetteButtonShine 3.2s ease-in-out infinite;
}
#start #chooseButton::after{animation-delay:.65s}
#start #cameraButton:active,#start #chooseButton:active{
  transform:translateY(7px) scale(.985);animation:none;box-shadow:0 2px 0 #174e9c;
}
@keyframes yvetteActionFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.008)}}
@keyframes yvetteButtonShine{0%,58%{left:-45%}86%,100%{left:125%}}
@media(max-width:650px){#start #cameraButton,#start #chooseButton{width:calc(100% - 30px);min-height:84px;border-radius:29px;font-size:clamp(1.35rem,6.2vw,1.72rem)}#start #chooseButton{margin-top:20px}}
@media(prefers-reduced-motion:reduce){#start #cameraButton,#start #chooseButton,#start #cameraButton::after,#start #chooseButton::after{animation:none}}

/* V3.8.22 — one consistent Yvette character throughout the app */
.button-yvette-character{display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(44,28,91,.22))}
.yvette-login-form button>.button-yvette-character{grid-row:1/3;width:54px;height:54px;object-fit:contain}
.home-ask-button{display:flex;align-items:center;justify-content:center;gap:9px}.home-ask-button .button-yvette-character{width:42px;height:42px}
.home-answer-bug{overflow:hidden}.home-answer-bug img{width:68px;height:68px;object-fit:contain;transform:scale(1.06)}
.sign-bug{width:58px;height:58px;font-size:0!important}.sign-bug img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.16))}
.mini-ladybug{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;font-size:0}.mini-ladybug img{width:54px;height:54px;object-fit:contain}
.tile-voice-bug{display:grid!important;place-items:center;font-size:0!important;overflow:visible}.tile-voice-bug img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(65,26,90,.2))}
.error-yvette-character{display:block;width:clamp(135px,34vw,205px);height:clamp(135px,34vw,205px);margin:16px auto 8px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(74,40,125,.2));animation:errorYvetteWave 1.9s ease-in-out infinite}
@keyframes errorYvetteWave{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}
@media(max-width:470px){.sign-bug,.sign-bug img{width:48px;height:48px}.home-answer-bug img{width:58px;height:58px}.error-yvette-character{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.error-yvette-character{animation:none}}

/* V3.8.23 — the Yvette banner always leads home */
.storybook-home-link{display:block;position:relative;z-index:1;text-decoration:none;border-radius:0;overflow:hidden;cursor:pointer}
.storybook-home-link>img{display:block;width:100%;height:auto}
.storybook-home-link>span{position:absolute;left:12px;bottom:9px;padding:6px 11px;border:3px solid #fff;border-radius:16px;background:linear-gradient(135deg,#ffe85e,#ffb631);color:#603513;font:950 14px/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;box-shadow:0 4px 0 #d67d13}
.storybook-home-link:active>span{transform:translateY(3px);box-shadow:0 1px 0 #d67d13}
@media(max-width:470px){.storybook-home-link>span{left:7px;bottom:6px;padding:5px 8px;font-size:11px;border-width:2px}}

/* V3.8.25 — one centered action-button rhythm */
#start #homeAskButton,#start #cameraButton,#start #chooseButton,#start .bright-tutorial{
  width:min(92%,620px)!important;max-width:620px!important;margin-left:auto!important;margin-right:auto!important;
}
#start #homeAskButton,#start #cameraButton,#start #chooseButton,#start .tutorial-button{
  min-height:86px!important;border-radius:30px!important;border:4px solid #fff!important;
  position:relative;overflow:hidden;isolation:isolate;
}
#start #homeAskButton{margin-top:14px!important;margin-bottom:22px!important;animation:yvetteActionFloat 2.65s .12s ease-in-out infinite}
#start #cameraButton{margin-top:0!important}
#start #chooseButton{margin-top:22px!important}
#start .bright-tutorial{margin-top:22px!important}
#start .tutorial-button{width:100%!important;max-width:none!important;animation:yvetteActionFloat 2.9s .55s ease-in-out infinite}
#start #homeAskButton::after,#start .tutorial-button::after{
  content:"";position:absolute;z-index:0;pointer-events:none;inset:-25% auto -25% -45%;width:30%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);animation:yvetteButtonShine 3.2s ease-in-out infinite;
}
#start .tutorial-button::after{animation-delay:.8s}
#start #homeAskButton:active,#start .tutorial-button:active{transform:translateY(7px) scale(.985);animation:none}
@media(max-width:650px){#start #homeAskButton,#start #cameraButton,#start #chooseButton,#start .bright-tutorial{width:calc(100% - 30px)!important}#start #homeAskButton,#start #cameraButton,#start #chooseButton,#start .tutorial-button{min-height:82px!important;border-radius:29px!important}}
@media(prefers-reduced-motion:reduce){#start #homeAskButton,#start .tutorial-button,#start #homeAskButton::after,#start .tutorial-button::after{animation:none}}

/* V3.8.27 — keep the home mascot bubble visible above Talk to Yvette */
body.home-view-active .global-voice-guide{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
  width:calc(100% - 24px)!important;margin:14px auto 8px!important;transform:none!important;
}

/* V3.8.28 — large SEE / UNDERSTAND / DO cards and a clean mascot crop */
#start.bright-blue-scene{padding-bottom:330px!important}
#start .yvette-promises{
  width:min(92%,620px)!important;max-width:620px!important;margin:30px auto 18px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;z-index:7!important;
}
#start .yvette-promises>div{
  min-height:126px;padding:13px 8px 11px;border:4px solid #fff;border-radius:26px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 8px 0 rgba(14,83,145,.24),0 14px 23px rgba(11,83,147,.2);
  animation:yvettePromiseHello 2.7s ease-in-out infinite;
}
#start .yvette-promises>div:nth-child(1){background:linear-gradient(145deg,#20d476,#08a856)}
#start .yvette-promises>div:nth-child(2){background:linear-gradient(145deg,#ff56ae,#e72a8d);animation-delay:.25s}
#start .yvette-promises>div:nth-child(3){background:linear-gradient(145deg,#ffb72d,#ff870d);animation-delay:.5s}
#start .yvette-promises span{width:70px!important;height:70px!important;margin:0 auto 7px!important;border:3px solid rgba(255,255,255,.9)!important;background:rgba(255,255,255,.18)!important;font-size:2rem!important}
#start .yvette-promises strong{font-size:1.05rem!important;line-height:1!important}
#start .yvette-promises small{font-size:.79rem!important;line-height:1.15!important;margin-top:5px!important;font-weight:850!important}
#start .start-yvette{object-position:left center!important}
@keyframes yvettePromiseHello{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:650px){
  #start.bright-blue-scene{padding-bottom:310px!important}
  #start .yvette-promises{width:calc(100% - 22px)!important;gap:7px!important;margin-top:27px!important}
  #start .yvette-promises>div{min-height:112px;padding:10px 4px 9px;border-radius:22px;border-width:3px}
  #start .yvette-promises span{width:58px!important;height:58px!important;font-size:1.65rem!important}
  #start .yvette-promises strong{font-size:.82rem!important}
  #start .yvette-promises small{font-size:.64rem!important}
}
@media(prefers-reduced-motion:reduce){#start .yvette-promises>div{animation:none}}

/* YVETTE V3.9.0 — three-find seasonal adventures */
.season-adventure-progress{margin:2px 0 15px;padding:13px;border:4px solid #fff;border-radius:24px;background:linear-gradient(135deg,#fff5a7,#ffd9ed 55%,#d7f4ff);box-shadow:0 7px 0 rgba(80,67,165,.2);color:#173f76}.season-progress-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.season-progress-heading strong{font-size:20px;font-weight:1000}.season-progress-heading span{padding:5px 9px;border-radius:999px;background:#fff;color:#d72d75;font-size:14px;font-weight:1000}.season-progress-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.season-stamp{display:grid;place-items:center;min-height:62px;border:4px dashed #9ccfea;border-radius:19px;background:rgba(255,255,255,.66);color:#aac4d8;font-size:30px;font-weight:1000}.season-stamp.found{border-style:solid;border-color:#ffb527;background:#fff;color:#ff8b17;box-shadow:0 5px 0 #e39813;animation:adventureStampPop .55s ease-in-out infinite alternate}.season-badge{margin:14px 0 3px;padding:11px;border:4px solid #fff;border-radius:21px;display:grid;grid-template-columns:55px 1fr;align-items:center;background:linear-gradient(135deg,#ffbf28,#ff7b28 60%,#ff438d);color:#fff;box-shadow:0 7px 0 #d55a23;text-shadow:0 2px 0 rgba(100,40,20,.2)}.season-badge>span{grid-row:1/3;font-size:42px}.season-badge strong,.season-badge small{display:block}.season-badge strong{font-size:19px;font-weight:1000}.season-badge small{font-size:13px;font-weight:900}.new-season-adventure-button{width:100%;min-height:53px;margin:12px 0 2px;border:4px solid #fff;border-radius:18px;background:linear-gradient(135deg,#25b85f,#12a8a1);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 6px 0 #168050}.season-find-complete{border-color:#ffd139!important;background:#fff9b9!important;animation:none!important;opacity:.85}.season-find-complete:after{content:"✓"!important;color:#16934d!important;font-size:26px!important;opacity:1!important}
.adventure-result-card{position:relative;z-index:7;box-sizing:border-box;width:min(760px,calc(100% - 24px));margin:14px auto 22px;padding:17px;border:5px solid #fff;border-radius:29px;display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px;background:linear-gradient(135deg,#dff5ff,#e9ddff);box-shadow:0 9px 0 #7581c6,0 17px 28px rgba(38,78,135,.22);text-align:left}.adventure-result-card[hidden]{display:none!important}.adventure-result-card.adventure-found{background:linear-gradient(135deg,#fff6a8,#ffd8e8 55%,#c8f6df);box-shadow:0 9px 0 #dc8d24,0 17px 28px rgba(135,83,38,.2)}.adventure-result-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;font-size:41px;animation:adventureStampPop .55s ease-in-out infinite alternate}.adventure-result-card p{margin:0;color:#4f4c75;font-size:16px;font-weight:850;line-height:1.3}.adventure-result-card #adventureResultKicker{color:#e62d79;font-size:17px;font-weight:1000}.adventure-result-card h2{margin:3px 0 5px!important;color:#124d8c!important;font-size:clamp(25px,5vw,34px)!important;line-height:1.05!important}.adventure-result-card button{grid-column:1/-1;width:100%;min-height:58px;border:4px solid #fff;border-radius:20px;background:linear-gradient(135deg,#1da9ef,#6259ef);color:#fff;font-size:19px;font-weight:1000;box-shadow:0 6px 0 #294fb5;cursor:pointer}.adventure-result-card button:active{transform:translateY(5px);box-shadow:0 1px 0 #294fb5}@keyframes adventureStampPop{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}
@media(max-width:470px){.adventure-result-card{grid-template-columns:60px 1fr;padding:13px}.adventure-result-icon{width:58px;height:58px;font-size:34px}.adventure-result-card h2{font-size:24px!important}.adventure-result-card p{font-size:14px}.season-progress-heading strong{font-size:17px}.season-stamp{min-height:53px;font-size:26px}}
@media(prefers-reduced-motion:reduce){.season-stamp.found,.adventure-result-icon{animation:none}}

/* YVETTE V3.9.1 — the original Yvette dressed for adventure */
.season-adventure-button{overflow:hidden;padding-right:92px!important}.season-adventure-yvette-mini{position:absolute;z-index:2;right:31px;bottom:-7px;width:88px;height:82px;object-fit:contain;filter:drop-shadow(0 4px 2px rgba(80,38,12,.22));pointer-events:none;animation:adventureYvetteWave .75s ease-in-out infinite alternate}.season-adventure-button>b{position:absolute;z-index:3;right:13px}.season-modal-icon{display:none}.season-modal-adventure-yvette{display:block;width:min(230px,55vw);height:auto;margin:-8px auto -15px;object-fit:contain;filter:drop-shadow(0 7px 4px rgba(91,45,20,.2));animation:adventureYvetteHello 1.2s ease-in-out infinite alternate}@keyframes adventureYvetteWave{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-3px) rotate(1.5deg)}}@keyframes adventureYvetteHello{from{transform:translateY(0) rotate(-.7deg)}to{transform:translateY(-5px) rotate(.7deg)}}@media(max-width:470px){.season-adventure-button{padding-right:78px!important}.season-adventure-yvette-mini{right:27px;bottom:-4px;width:72px;height:70px}.season-modal-adventure-yvette{width:min(195px,54vw)}}@media(prefers-reduced-motion:reduce){.season-adventure-yvette-mini,.season-modal-adventure-yvette{animation:none}}

/* YVETTE V3.9.4 — make the three-picture badge quest obvious */
.season-stamp{position:relative;display:flex!important;align-items:center;justify-content:center;gap:7px;color:#397aa3!important}
.season-stamp>span{font-size:24px;filter:grayscale(.35);opacity:.72}
.season-stamp>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#168df0;color:#fff;font-size:16px;box-shadow:0 3px 0 #0c63ad}
.season-stamp.found{color:#ff8b17!important}
.season-badge{transition:filter .25s,opacity .25s,transform .25s}
.season-badge.locked{background:linear-gradient(135deg,#aeb8c5,#8593a4);box-shadow:0 7px 0 #677484;filter:saturate(.45);opacity:.82;text-shadow:none}
.season-badge.earned{animation:badgeEarned .55s ease-in-out infinite alternate}
@keyframes badgeEarned{from{transform:scale(1)}to{transform:scale(1.025);filter:brightness(1.08)}}
@media(prefers-reduced-motion:reduce){.season-badge.earned{animation:none}}

/* YVETTE V3.9.5 — automatic safety and remembered explorer modes */
.yvette-footer-tools{position:relative;z-index:7;width:min(92%,620px);margin:18px auto 10px;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.yvette-footer-tools button{min-height:45px;padding:9px 14px;border:3px solid #fff;border-radius:999px;background:#eefaff;color:#145d94;font:1000 14px/1.15 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;box-shadow:0 5px 0 #91cde9;cursor:pointer}
.yvette-footer-tools button:active{transform:translateY(4px);box-shadow:0 1px 0 #91cde9}
.explorer-mode-card,.safety-modal-card{width:min(620px,94vw)!important;background:linear-gradient(145deg,#effbff,#fff4bd 52%,#ffe3f1)!important;text-align:center!important}
.explorer-mode-card h2,.safety-modal-card h2{margin:3px 30px 16px;color:#174e89;font-size:clamp(27px,6vw,38px);line-height:1.05}
.explorer-mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.explorer-mode-choices button{min-height:126px;padding:12px 8px;border:4px solid #fff;border-radius:23px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fff;color:#174e89;box-shadow:0 6px 0 #add5e8;cursor:pointer}
.explorer-mode-choices button:nth-child(2){background:#fff4b9}.explorer-mode-choices button:nth-child(3){background:#e2f8d7}.explorer-mode-choices button:nth-child(4){background:#f2e6ff}
.explorer-mode-choices button.selected{border-color:#ff4f91;box-shadow:0 6px 0 #d93a75,0 0 0 4px rgba(255,79,145,.18)}
.explorer-mode-choices button span{font-size:35px}.explorer-mode-choices button strong{font-size:18px}.explorer-mode-choices button small{font-size:13px;font-weight:850;line-height:1.2}
.explorer-mode-note{margin:16px 3px 2px;color:#56738c;font-size:13px;font-weight:850}
.safety-promises{display:grid;gap:9px;text-align:left}.safety-promises p{margin:0;padding:12px 13px;border:3px solid #fff;border-radius:18px;display:grid;grid-template-columns:36px 1fr;align-items:center;background:rgba(255,255,255,.75);color:#315a78;font-size:16px;font-weight:900;line-height:1.3}.safety-promises span{font-size:25px}
.hear-safety-button{width:100%;min-height:62px;margin-top:14px;border:4px solid #fff;border-radius:21px;background:linear-gradient(135deg,#168df0,#625df1);color:#fff;font-size:20px;font-weight:1000;box-shadow:0 6px 0 #294fb5;cursor:pointer}
body[data-explorer-mode="easy"] .lede,body[data-explorer-mode="easy"] .summary,body[data-explorer-mode="easy"] .happy-fact p,body[data-explorer-mode="easy"] .safety-promises p{font-size:1.2rem!important;line-height:1.5!important}
body[data-explorer-mode="easy"] button,body[data-explorer-mode="easy"] textarea{font-size:1.08rem}
@media(max-width:470px){.yvette-footer-tools{width:calc(100% - 18px);gap:7px}.yvette-footer-tools button{flex:1 1 160px;font-size:13px}.explorer-mode-choices{grid-template-columns:1fr}.explorer-mode-choices button{min-height:92px;display:grid;grid-template-columns:48px 1fr;text-align:left}.explorer-mode-choices button span{grid-row:1/3}.explorer-mode-choices button strong,.explorer-mode-choices button small{width:100%}.safety-promises p{font-size:15px}}

/* YVETTE V3.9.6 — clear explorer-mode selection and confirmation */
.explorer-mode-intro{max-width:510px;margin:-5px auto 16px;color:#416987;font-size:15px;font-weight:850;line-height:1.35}
.explorer-mode-confirmation{margin:16px 0 10px;padding:12px 14px;border:3px solid #80d798;border-radius:18px;background:#ebffea;color:#215f42;text-align:left}.explorer-mode-confirmation strong,.explorer-mode-confirmation span{display:block}.explorer-mode-confirmation strong{font-size:18px;font-weight:1000}.explorer-mode-confirmation span{margin-top:4px;font-size:14px;font-weight:850;line-height:1.3}
.save-explorer-mode{width:100%;min-height:62px;padding:10px 16px;border:4px solid #fff;border-radius:21px;background:linear-gradient(135deg,#20bd62,#55d30c);color:#fff;font-size:21px;font-weight:1000;box-shadow:0 7px 0 #15833e;cursor:pointer}.save-explorer-mode:active{transform:translateY(6px);box-shadow:0 1px 0 #15833e}
@media(max-width:470px){.explorer-mode-intro{font-size:14px;margin-bottom:13px}.explorer-mode-confirmation{margin-top:13px}.save-explorer-mode{min-height:58px;font-size:19px}}

/* YVETTE V3.9.7 — Yvette herself represents Little Explorer */
.explorer-mode-choices .explorer-yvette-icon{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border:3px solid #fff;border-radius:50%;background:#dff8ff;box-shadow:0 3px 0 #94cce6}
.explorer-mode-choices .explorer-yvette-icon img{width:100%;height:100%;object-fit:cover;object-position:left center}
.explorer-mode-voice-button{width:100%;min-height:52px;margin:0 0 14px;border:4px solid #fff;border-radius:18px;background:linear-gradient(135deg,#168df0,#625df1);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 6px 0 #294fb5;cursor:pointer}.explorer-mode-voice-button:active{transform:translateY(5px);box-shadow:0 1px 0 #294fb5}
@media(max-width:470px){.explorer-mode-choices .explorer-yvette-icon{width:46px;height:46px}}

/* YVETTE V3.9.8 — prominent Choose Your Yvette Experience control */
.yvette-footer-tools .choose-experience-button{box-sizing:border-box;width:100%;min-height:76px;padding:10px 15px;border:4px solid #fff;border-radius:24px;display:grid;grid-template-columns:45px 1fr 24px;align-items:center;gap:9px;background:linear-gradient(135deg,#8b48eb,#e83c9a 57%,#ff7b32);color:#fff;text-align:left;text-shadow:0 2px 0 rgba(66,25,93,.22);box-shadow:0 8px 0 #6630a9,0 14px 24px rgba(77,35,140,.24);animation:experienceGlow 1.1s ease-in-out infinite alternate}
.yvette-footer-tools .choose-experience-button>span:first-child{font-size:32px}.yvette-footer-tools .choose-experience-button strong,.yvette-footer-tools .choose-experience-button small{display:block}.yvette-footer-tools .choose-experience-button strong{font-size:clamp(19px,4.7vw,25px);line-height:1}.yvette-footer-tools .choose-experience-button small{margin-top:5px;color:#fff;font-size:13px;font-weight:900}.yvette-footer-tools .choose-experience-button small b{color:#fff6a6}.yvette-footer-tools .choose-experience-button>b{font-size:35px}.yvette-footer-tools .choose-experience-button:active{transform:translateY(7px);box-shadow:0 1px 0 #6630a9}
@keyframes experienceGlow{from{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.06);transform:scale(1.012)}}
@media(max-width:470px){.yvette-footer-tools .choose-experience-button{flex-basis:100%;min-height:72px;grid-template-columns:38px 1fr 20px;padding:9px 11px}.yvette-footer-tools .choose-experience-button>span:first-child{font-size:28px}.yvette-footer-tools .choose-experience-button strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.yvette-footer-tools .choose-experience-button{animation:none}}

/* Match Yvette's other full-width Home controls exactly. */
#start .yvette-footer-tools{width:100%;max-width:none}
@media(max-width:470px){#start .yvette-footer-tools{width:100%}}

/* YVETTE V3.9.9 — magical ladybug camera and picture-book actions */
#start .yvette-photo-action{box-sizing:border-box;width:100%!important;max-width:none!important;min-height:94px!important;margin:13px 0 0!important;padding:8px 15px 8px 9px!important;border:5px solid #fff!important;border-radius:28px!important;display:grid!important;grid-template-columns:82px 1fr 25px!important;align-items:center!important;gap:10px!important;color:#fff!important;text-align:left!important;text-shadow:0 2px 0 rgba(30,45,90,.22)!important;cursor:pointer!important;overflow:hidden!important;transition:transform .09s ease,box-shadow .09s ease!important}
#start .yvette-photo-action>img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 5px 3px rgba(36,30,70,.24));animation:magicalPhotoFriend .75s ease-in-out infinite alternate;pointer-events:none}
#start .yvette-photo-action>span strong,#start .yvette-photo-action>span small{display:block!important}#start .yvette-photo-action>span strong{font:1000 clamp(24px,5.8vw,32px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif!important}#start .yvette-photo-action>span small{margin-top:6px;color:#fff!important;font-size:14px!important;font-weight:900!important;line-height:1.1!important}#start .yvette-photo-action>b{font-size:39px!important;color:#fff!important}
#start .yvette-camera-action{background:linear-gradient(135deg,#16c965,#16b8cf 56%,#168df0)!important;box-shadow:0 9px 0 #087c80,0 16px 28px rgba(7,115,132,.27)!important;animation:magicalCameraGlow .78s ease-in-out infinite alternate!important}
#start .yvette-picture-action{background:linear-gradient(135deg,#ff4aa8,#b94eea 58%,#6959ed)!important;box-shadow:0 9px 0 #7a35ae,0 16px 28px rgba(105,45,155,.26)!important;animation:magicalPictureGlow 1.15s ease-in-out infinite alternate!important}
#start .yvette-photo-action:active{transform:translateY(8px) scale(.985)!important;box-shadow:0 1px 0 #315aa0!important;animation:none!important}
@keyframes magicalPhotoFriend{from{transform:translateY(2px) rotate(-1.5deg)}to{transform:translateY(-3px) rotate(1.5deg)}}@keyframes magicalCameraGlow{from{filter:brightness(1)}to{filter:brightness(1.07) saturate(1.08)}}@keyframes magicalPictureGlow{from{filter:brightness(1)}to{filter:brightness(1.05)}}
@media(max-width:470px){#start .yvette-photo-action{min-height:86px!important;grid-template-columns:70px 1fr 20px!important;padding:7px 11px 7px 7px!important;border-radius:25px!important}#start .yvette-photo-action>img{width:68px;height:68px}#start .yvette-photo-action>span strong{font-size:24px!important}#start .yvette-photo-action>span small{font-size:13px!important}#start .yvette-photo-action>b{font-size:33px!important}}
@media(prefers-reduced-motion:reduce){#start .yvette-photo-action,#start .yvette-photo-action>img{animation:none!important}}

/* YVETTE V3.10 — use the magical camera language throughout the app */
.yvette-inline-icon{width:28px;height:28px;object-fit:contain;vertical-align:middle}.camera-help summary{display:flex;align-items:center;gap:6px}
.yvette-button-icon{width:42px;height:42px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 3px 2px rgba(38,38,90,.2))}
#homeAnswerPhoto,.followup-photo-row button,#closerButton,.closer-secondary,#contextPictureButton,#retryButton{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.followup-photo-row .yvette-button-icon{width:48px;height:48px}.closer-card .yvette-button-icon{width:48px;height:48px}#contextPictureButton .yvette-button-icon{width:38px;height:38px}
.yvette-promise-icon{display:block;width:64px!important;height:64px!important;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(20,80,110,.2))}
.discover-new-icon img{display:block;width:66px;height:66px;object-fit:contain}
.compact-photo img{display:block;width:42px;height:42px;margin:auto;object-fit:contain}
.yvette-share-icon{display:block;width:58px;height:58px;object-fit:contain}.share-modal-actions button .yvette-share-icon-wrap{font-size:0}
.yvette-safety-icon{display:block;width:34px;height:34px;object-fit:contain}
.season-stamp-camera{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(30,80,120,.16))}
.yvette-season-camera{display:inline-block;width:64px;height:64px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 4px 2px rgba(20,80,70,.2))}.season-camera-top .yvette-season-camera-wrap{margin-right:8px;font-size:0}
@media(max-width:470px){.yvette-button-icon{width:38px;height:38px}.followup-photo-row .yvette-button-icon,.closer-card .yvette-button-icon{width:42px;height:42px}.discover-new-icon img{width:56px;height:56px}.yvette-season-camera{width:55px;height:55px}.season-stamp-camera{width:42px;height:42px}}

/* YVETTE V3.11 — character family for Understand, Do, and experiences */
#start .yvette-promises .yvette-promise-icon{width:68px!important;height:68px!important;object-fit:contain!important;animation:yvetteCharacterHello 1s ease-in-out infinite alternate}
#start .yvette-promises>div:nth-child(2) .yvette-promise-icon{animation-delay:.18s}#start .yvette-promises>div:nth-child(3) .yvette-promise-icon{animation-delay:.36s}
.explorer-mode-choices .explorer-character-icon{width:62px;height:62px;display:grid;place-items:center;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.explorer-mode-choices .explorer-character-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 2px rgba(35,63,97,.18));animation:yvetteCharacterHello .9s ease-in-out infinite alternate}
.explorer-mode-choices button:nth-child(2) .explorer-character-icon img{animation-delay:.12s}.explorer-mode-choices button:nth-child(3) .explorer-character-icon img{animation-delay:.24s}.explorer-mode-choices button:nth-child(4) .explorer-character-icon img{animation-delay:.36s}
@keyframes yvetteCharacterHello{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:470px){.explorer-mode-choices .explorer-character-icon{width:54px;height:54px}#start .yvette-promises .yvette-promise-icon{width:58px!important;height:58px!important}}
@media(prefers-reduced-motion:reduce){#start .yvette-promises .yvette-promise-icon,.explorer-mode-choices .explorer-character-icon img{animation:none!important}}

/* YVETTE V3.12 — story characters replace Summer discovery emojis */
.season-discoveries button:has(.season-find-character){min-height:176px;padding:7px 10px 11px;gap:2px;background:linear-gradient(145deg,#fffdf2,#fff2c8 62%,#ffe3c4)}
.season-find-character{display:block;width:104px;height:94px;margin:-5px auto -1px;object-fit:contain;filter:drop-shadow(0 5px 3px rgba(91,45,20,.2));animation:seasonCharacterHello .75s ease-in-out var(--season-delay,0s) infinite alternate;pointer-events:none}
.season-discoveries button:has(.season-find-character) strong{font-size:18px;line-height:1.05}
.season-discoveries button:has(.season-find-character) small{margin-top:3px;padding:4px 12px;border-radius:999px;background:#ff5c36;color:#fff;font-size:14px;line-height:1;box-shadow:0 3px 0 #c94727}
.season-discoveries button.season-tile-picked .season-find-character{animation:seasonCharacterPicked .2s ease-in-out 2 alternate}
@keyframes seasonCharacterHello{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}
@keyframes seasonCharacterPicked{from{transform:scale(1)}to{transform:scale(1.1) rotate(-2deg)}}
@media(max-width:470px){.season-discoveries button:has(.season-find-character){min-height:154px;padding:5px 6px 9px}.season-find-character{width:88px;height:80px}.season-discoveries button:has(.season-find-character) strong{font-size:15px}.season-discoveries button:has(.season-find-character) small{font-size:13px;padding:4px 10px}}
@media(prefers-reduced-motion:reduce){.season-find-character,.season-discoveries button.season-tile-picked .season-find-character{animation:none}}

/* YVETTE V3.13 — Discovery Keeper character */
.my-discoveries-button{position:relative;min-height:82px;padding:4px 15px 4px 8px;display:grid;grid-template-columns:92px minmax(0,1fr) 38px;gap:8px;overflow:visible;background:linear-gradient(135deg,#fff59b,#fffbc7 55%,#ffe76c);box-shadow:0 7px 0 #6b42c8,0 13px 22px rgba(72,38,132,.18)}
.my-discoveries-button>.discovery-keeper-character{width:92px;height:82px;margin:-12px 0 -7px;object-fit:contain;filter:drop-shadow(0 5px 3px rgba(67,31,111,.24));animation:discoveryKeeperHello .8s ease-in-out infinite alternate;pointer-events:none}
.my-discoveries-button>strong{font-size:clamp(20px,5vw,27px);line-height:1;text-align:left}
.my-discoveries-button span{min-width:34px;width:34px;height:34px;margin-left:0;font-size:1rem;box-shadow:0 3px 0 #bd2453}
.my-discoveries-button:active>.discovery-keeper-character{transform:scale(1.08) rotate(-2deg)}
@keyframes discoveryKeeperHello{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}
@media(max-width:470px){.my-discoveries-button{grid-template-columns:78px minmax(0,1fr) 35px;min-height:76px;padding-left:5px}.my-discoveries-button>.discovery-keeper-character{width:80px;height:74px}.my-discoveries-button>strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.my-discoveries-button>.discovery-keeper-character{animation:none}}

/* YVETTE V3.14 — Discovery Keeper inside the shelf */
.discoveries-modal-card{padding-top:18px}
.discoveries-keeper-hero{display:grid;place-items:center;width:170px;height:145px;margin:-18px auto 6px;overflow:visible;pointer-events:none}
.discoveries-keeper-hero img{width:170px;height:145px;object-fit:contain;filter:drop-shadow(0 7px 4px rgba(67,31,111,.2));animation:discoveryShelfWelcome 1s ease-in-out infinite alternate}
.discoveries-modal-card .share-grownup-label{position:relative;z-index:1;margin-top:0}
#discoveriesModalTitle{margin-top:2px;color:#15518d;font-size:clamp(34px,8vw,48px);line-height:1}
.discoveries-modal-card .share-privacy{font-size:15px;line-height:1.35}
.discoveries-empty{display:grid;place-items:center;gap:6px;min-height:112px;margin:20px 0 2px;padding:18px;border:4px dashed #ed76ad;border-radius:24px;background:linear-gradient(145deg,#fff9ad,#ffe0f1 55%,#dff7ff);color:#5b3b75;box-shadow:0 6px 0 rgba(107,66,200,.15)}
.discoveries-empty[hidden]{display:none!important}
.discoveries-empty strong{color:#e32478;font-size:clamp(22px,5.5vw,29px);line-height:1.05}
.discoveries-empty small{max-width:390px;color:#15518d;font-size:16px;font-weight:900;line-height:1.25}
@keyframes discoveryShelfWelcome{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}
@media(max-width:470px){.discoveries-modal-card{padding-top:14px}.discoveries-keeper-hero{width:145px;height:126px;margin:-13px auto 5px}.discoveries-keeper-hero img{width:145px;height:126px}#discoveriesModalTitle{font-size:35px}.discoveries-empty{min-height:102px;margin-top:16px;padding:14px}.discoveries-empty small{font-size:15px}}
@media(prefers-reduced-motion:reduce){.discoveries-keeper-hero img{animation:none}}

/* YVETTE V3.15 — clear space below Discovery Keeper */

/* YVETTE V3.16 — Chatty Yvette for Ask Yvette */
#homeAskButton.home-ask-button{min-height:86px;padding:3px 24px 3px 11px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;overflow:visible;font-size:clamp(22px,5.5vw,29px);box-shadow:0 8px 0 #7629ae,0 14px 24px rgba(90,31,150,.22)}
#homeAskButton .chatty-yvette-character{width:96px;height:84px;margin:-9px 0 -5px;object-fit:contain;filter:drop-shadow(0 5px 3px rgba(68,26,108,.24));animation:chattyYvetteListen .72s ease-in-out infinite alternate;pointer-events:none}
#homeAskButton strong{font:inherit;line-height:1;text-align:center}
#homeAskButton:active .chatty-yvette-character{transform:scale(1.08) rotate(-2deg)}
@keyframes chattyYvetteListen{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}
@media(max-width:470px){#homeAskButton.home-ask-button{grid-template-columns:82px minmax(0,1fr);min-height:78px;padding:3px 18px 3px 7px;font-size:22px}#homeAskButton .chatty-yvette-character{width:84px;height:76px}}
@media(prefers-reduced-motion:reduce){#homeAskButton .chatty-yvette-character{animation:none}}

/* YVETTE V3.17 — home voice question control */
.home-ask-row{position:relative;z-index:6;width:100%;margin:9px 0 13px;display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:stretch;gap:11px}
.home-ask-row #homeAskButton.home-ask-button{width:100%;height:100%;margin:0;padding-right:14px;grid-template-columns:96px minmax(0,1fr)}
.home-ask-row #homeAskButton strong{text-align:left;padding-left:8px}
.home-mic-button{position:relative;min-height:86px;padding:7px 5px 5px;border:4px solid #fff;border-radius:25px;display:grid;place-items:center;background:linear-gradient(145deg,#ffca23,#ff7929 58%,#ff3f83);color:#fff;text-shadow:0 2px 0 rgba(100,30,30,.22);box-shadow:0 8px 0 #c54145,0 14px 22px rgba(151,48,68,.24);cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,filter .08s ease}
.home-mic-button>span{display:block;font-size:38px;line-height:1;animation:homeMicHello .65s ease-in-out infinite alternate}
.home-mic-button>small{display:block;margin-top:-3px;font-size:13px;font-weight:1000;line-height:1}
.home-mic-button:active{transform:translateY(7px);box-shadow:0 1px 0 #c54145;filter:brightness(1.08)}
.home-mic-button.listening{background:linear-gradient(145deg,#24d868,#08aa59);box-shadow:0 8px 0 #087a42,0 0 0 7px rgba(67,226,120,.28);animation:homeMicListening .46s ease-in-out infinite alternate}
.home-mic-button.thinking{background:linear-gradient(145deg,#28bfff,#5266f3);box-shadow:0 8px 0 #2849b1}
@keyframes homeMicHello{from{transform:translateY(1px) rotate(-4deg)}to{transform:translateY(-3px) rotate(4deg)}}
@keyframes homeMicListening{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(max-width:470px){.home-ask-row{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.home-ask-row #homeAskButton.home-ask-button{grid-template-columns:78px minmax(0,1fr);padding-right:8px}.home-ask-row #homeAskButton strong{padding-left:3px;text-align:left}.home-mic-button{min-height:78px;border-radius:22px}.home-mic-button>span{font-size:33px}.home-mic-button>small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-mic-button>span,.home-mic-button.listening{animation:none}}

/* YVETTE V3.18 — joined, equal-height Ask and Talk controls */
.home-ask-row{grid-template-columns:minmax(0,1fr) 92px;gap:0;align-items:stretch}
.home-ask-row #homeAskButton.home-ask-button{align-self:stretch;height:auto!important;min-height:96px;margin:0!important;border-radius:28px 0 0 28px;box-shadow:0 8px 0 #7629ae,0 14px 24px rgba(90,31,150,.22)}
.home-ask-row .home-mic-button{align-self:stretch;width:100%;height:auto;min-height:96px;margin:0;border-left:0;border-radius:0 28px 28px 0;box-shadow:0 8px 0 #c54145,0 14px 22px rgba(151,48,68,.24)}
.home-ask-row .home-mic-button:active{transform:translateY(7px);box-shadow:0 1px 0 #c54145}
@media(max-width:470px){.home-ask-row{grid-template-columns:minmax(0,1fr) 80px;gap:0}.home-ask-row #homeAskButton.home-ask-button,.home-ask-row .home-mic-button{min-height:88px}.home-ask-row #homeAskButton.home-ask-button{border-radius:25px 0 0 25px}.home-ask-row .home-mic-button{border-radius:0 25px 25px 0}}

/* YVETTE V3.19 — one finished Ask control and an unmistakable speak-now cue */
.home-ask-row{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 118px;overflow:hidden;border:4px solid #fff;border-radius:30px;background:linear-gradient(100deg,#a34be0,#e44dcc 70%,#f34796);box-shadow:0 8px 0 #7629ae,0 14px 24px rgba(90,31,150,.22);transition:background .18s ease,box-shadow .18s ease}
.home-ask-row #homeAskButton.home-ask-button{min-height:94px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.home-ask-row #homeAskButton.home-ask-button:active{transform:none;filter:brightness(1.08)}
.home-ask-row .home-mic-button{min-height:94px!important;border:0!important;border-left:3px solid rgba(255,255,255,.78)!important;border-radius:0!important;background:rgba(255,255,255,.11)!important;box-shadow:none!important}
.home-ask-row .home-mic-button>small{max-width:92px;margin-top:1px;font-size:13px;line-height:1.05}
.home-ask-row:has(.home-mic-button.opening){background:linear-gradient(100deg,#ff9f24,#ff5f62);box-shadow:0 8px 0 #c44643,0 0 0 7px rgba(255,162,44,.2)}
.home-ask-row:has(.home-mic-button.listening){background:linear-gradient(100deg,#20c66a,#08aa59);box-shadow:0 8px 0 #087a42,0 0 0 8px rgba(67,226,120,.28)}
.home-mic-button.opening>span{animation:homeMicHello .35s ease-in-out infinite alternate}
.home-mic-button.listening>small{font-size:15px}
@media(max-width:470px){.home-ask-row{grid-template-columns:minmax(0,1fr) 101px;border-radius:27px}.home-ask-row #homeAskButton.home-ask-button,.home-ask-row .home-mic-button{min-height:88px!important}.home-ask-row .home-mic-button>span{font-size:31px}.home-ask-row .home-mic-button>small{font-size:12px}}

/* Safety characters */
.safety-promises p{grid-template-columns:76px 1fr;min-height:78px;padding:7px 13px}
.safety-promises p>span{display:grid;place-items:center;width:72px;height:68px}
.safety-promises .yvette-safety-character,.safety-promises .yvette-safety-icon{width:72px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 2px rgba(35,63,97,.2));animation:yvetteSafetyHello .85s ease-in-out infinite alternate}
.safety-promises p:nth-child(2) img{animation-delay:.15s}.safety-promises p:nth-child(3) img{animation-delay:.3s}.safety-promises p:nth-child(4) img{animation-delay:.45s}
@keyframes yvetteSafetyHello{from{transform:translateY(2px) rotate(-1deg)}to{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:470px){.safety-promises p{grid-template-columns:64px 1fr;padding:6px 10px}.safety-promises p>span,.safety-promises .yvette-safety-character,.safety-promises .yvette-safety-icon{width:60px;height:58px}}
@media(prefers-reduced-motion:reduce){.safety-promises img{animation:none!important}}

/* My Discoveries explains itself and starts the camera */
.discoveries-guide-actions{margin:13px 0 4px}
.discoveries-voice-button,.discoveries-camera-button{width:100%;border:4px solid #fff;border-radius:20px;color:#fff;font-weight:1000;cursor:pointer}
.discoveries-voice-button{min-height:56px;padding:9px 13px;background:linear-gradient(135deg,#168df0,#625df1);font-size:16px;box-shadow:0 6px 0 #294fb5}
.discoveries-camera-button{min-height:76px;padding:4px 14px;display:grid;grid-template-columns:72px 1fr;align-items:center;gap:8px;background:linear-gradient(135deg,#17c966,#12b9dd);box-shadow:0 6px 0 #14855e;text-align:left}
.discoveries-camera-button img{width:70px;height:66px;object-fit:contain}.discoveries-camera-button b,.discoveries-camera-button small{display:block}.discoveries-camera-button b{font-size:20px}.discoveries-camera-button small{margin-top:3px;color:#fff;font-size:13px}
.discoveries-voice-button.voice-loading{background:linear-gradient(135deg,#ffad20,#ff6038)}.discoveries-voice-button.voice-playing{background:linear-gradient(135deg,#42d96d,#08aa57)}
.discoveries-empty{display:grid!important}.discoveries-empty[hidden]{display:none!important}

/* YVETTE V3.20 — intentional English, Spanish, and French settings */
.storybook-settings{position:absolute;right:82px;top:7px;z-index:20;width:auto!important;min-width:86px!important;max-width:112px!important;height:30px!important;padding:0 9px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.96)!important;color:#24517f!important;font-size:12px!important;font-weight:900!important;box-shadow:0 2px 8px rgba(36,81,127,.18)!important;cursor:pointer;white-space:nowrap;pointer-events:auto!important}
.settings-modal-card{max-width:560px;padding-top:18px;background:linear-gradient(145deg,#effcff,#fff8c8 52%,#ffe5f2)}
.settings-yvette{width:125px;height:105px;margin:-16px auto 3px;display:grid;place-items:center}.settings-yvette img{width:125px;height:105px;object-fit:contain;filter:drop-shadow(0 6px 3px rgba(67,31,111,.2));animation:yvetteCharacterHello .9s ease-in-out infinite alternate}
.settings-modal-card h2{margin:2px 0 8px;color:#15518d;font-size:clamp(30px,7vw,43px);line-height:1.04}.settings-intro{max-width:470px;margin:0 auto 16px;color:#416987;font-size:15px;font-weight:850;line-height:1.35}
.language-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.language-choices button{min-height:105px;padding:10px 7px;border:4px solid #fff;border-radius:22px;display:grid;place-items:center;background:#fff;color:#174f88;box-shadow:0 6px 0 #9ccce7;cursor:pointer}.language-choices button:nth-child(2){background:#fff4bd}.language-choices button:nth-child(3){background:#ffe8ef}.language-choices button:nth-child(4){background:#e9f1ff}.language-choices button.selected{border-color:#ff4f91;box-shadow:0 6px 0 #d93a75,0 0 0 4px rgba(255,79,145,.18)}.language-choices span{font-size:38px}.language-choices strong{font-size:18px}.language-choices small{font-size:14px;font-weight:850}
.language-confirmation{margin:16px 0 10px;padding:12px 14px;border:3px solid #80d798;border-radius:18px;background:#ebffea;color:#215f42;font-size:17px;font-weight:1000;text-align:left}.save-language-button{width:100%;min-height:62px;padding:10px 16px;border:4px solid #fff;border-radius:21px;background:linear-gradient(135deg,#20bd62,#55d30c);color:#fff;font-size:21px;font-weight:1000;box-shadow:0 7px 0 #15833e;cursor:pointer}.save-language-button:active{transform:translateY(6px);box-shadow:0 1px 0 #15833e}.settings-note{margin:15px 3px 2px;color:#56738c;font-size:13px;font-weight:850}
@media(max-width:470px){.storybook-settings{right:80px;min-width:76px!important;max-width:102px!important;padding:0 7px!important;font-size:11px!important}.storybook-logout button{min-width:64px!important;padding:0 7px!important;font-size:11px!important}.language-choices{grid-template-columns:1fr}.language-choices button{min-height:72px;grid-template-columns:52px 1fr;grid-template-rows:1fr 1fr;text-align:left}.language-choices span{grid-row:1/3;font-size:34px}.language-choices strong,.language-choices small{width:100%}.settings-yvette{width:105px;height:88px}.settings-yvette img{width:105px;height:88px}.settings-modal-card h2{font-size:31px}}

/* V3.26 Language Play */
.language-play-home-button{position:relative;z-index:6;width:100%;min-height:88px;margin:12px 0;padding:8px 17px;border:5px solid #fff;border-radius:27px;display:grid;grid-template-columns:78px 1fr 24px;align-items:center;gap:10px;background:linear-gradient(120deg,#6d47e8,#e947b4 54%,#ff8b2b);color:#fff;text-align:left;box-shadow:0 8px 0 #5630ae,0 15px 25px rgba(61,44,150,.23);cursor:pointer}.language-play-home-button img{width:75px;height:70px;object-fit:contain}.language-play-home-button strong,.language-play-home-button small{display:block}.language-play-home-button strong{font:1000 23px/1.05 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.language-play-home-button small{margin-top:4px;font-size:14px;font-weight:850}.language-play-home-button>b{font-size:32px}.language-play-home-button:active{transform:translateY(6px);box-shadow:0 2px 0 #5630ae}
.language-play-card{width:min(620px,96vw)!important;background:linear-gradient(145deg,#fff7a8,#ffd7ef 50%,#cceeff)!important}.language-play-yvette{display:block;width:128px;height:112px;margin:-14px auto -4px;object-fit:contain;filter:drop-shadow(0 6px 3px rgba(50,45,110,.2))}.language-play-card h2{margin:3px 0 15px;color:#184f92;font:1000 clamp(34px,7vw,48px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.language-pair{display:grid;grid-template-columns:1fr 34px 1fr;align-items:end;gap:8px}.language-pair>span{padding-bottom:16px;color:#e13b81;font-size:27px;font-weight:1000}.language-pair label{display:grid;gap:6px;color:#235889;font-size:15px;font-weight:1000;text-align:left}.language-pair select{box-sizing:border-box;width:100%;min-height:55px;padding:8px;border:4px solid #fff;border-radius:18px;background:#fff;color:#164e88;font-size:16px;font-weight:900;box-shadow:0 5px 0 #9ccbe5}.language-play-instruction{margin:22px 0 10px;color:#214e82;font-size:19px;font-weight:1000}.language-topic-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.language-topic-buttons button{min-height:82px;border:5px solid #fff;border-radius:23px;background:#fff;color:#174f88;font-size:31px;box-shadow:0 7px 0 #91c8e5;cursor:pointer}.language-topic-buttons strong{display:block;font-size:18px}.language-topic-buttons button.selected{border-color:#ff4e91;background:#fff5a9;box-shadow:0 7px 0 #d83b75}.language-play-start,.language-play-next,.hear-language-word{width:100%;min-height:59px;margin-top:17px;border:4px solid #fff;border-radius:21px;color:#fff;font-size:20px;font-weight:1000;cursor:pointer}.language-play-start{background:linear-gradient(135deg,#24bd5d,#57d500);box-shadow:0 7px 0 #16883d}.hear-language-word{background:linear-gradient(135deg,#178df0,#6558ed);box-shadow:0 7px 0 #294db5}.language-play-next{background:linear-gradient(135deg,#f13b8a,#ff782d);box-shadow:0 7px 0 #c92d69}.language-play-error{color:#a5254b;font-weight:900}.language-play-progress{display:flex;justify-content:space-between;margin:4px 0 13px;color:#245384;font-size:17px;font-weight:1000}.language-play-prompt{margin:0;color:#315f89;font-size:18px;font-weight:900}.language-play-word{display:block;margin:7px 0;color:#e52d78;font:1000 clamp(39px,9vw,60px)/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif}.language-play-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.language-play-choice{min-height:112px;border:5px solid #fff;border-radius:25px;background:#fff;color:#174f88;font-size:55px;box-shadow:0 7px 0 #9bcbe5;cursor:pointer}.language-play-choice.correct{background:#caffbd;border-color:#38bd62;animation:adventureStampPop .4s ease-in-out infinite alternate}.language-play-choice.wrong{background:#ffe1ea;opacity:.65}.language-play-feedback{min-height:31px;margin-top:15px;color:#186f43;font-size:22px;font-weight:1000}.language-play-modal[hidden],#languagePlaySetup[hidden],#languagePlayGame[hidden]{display:none!important}
@media(max-width:470px){.language-play-home-button{grid-template-columns:65px 1fr 20px;padding:7px 11px}.language-play-home-button img{width:63px;height:61px}.language-play-home-button strong{font-size:20px}.language-pair{grid-template-columns:1fr}.language-pair>span{display:none}.language-play-choices{gap:7px}.language-play-choice{min-height:94px;font-size:46px}.language-play-card{padding:18px 14px!important}}
.language-play-introduction{margin:12px 0 6px;padding:11px 13px;border:3px solid #fff;border-radius:17px;background:rgba(255,255,255,.72);color:#285b88;font-size:16px;font-weight:900;line-height:1.35}.language-clue-buttons{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:12px}.language-clue-buttons button{min-height:58px;padding:7px;border:4px solid #fff;border-radius:18px;color:#fff;font-size:14px;font-weight:1000;cursor:pointer}.language-clue-buttons button:nth-child(1){margin:0;background:linear-gradient(135deg,#178df0,#6558ed);box-shadow:0 6px 0 #294db5}.language-clue-buttons button:nth-child(2){background:linear-gradient(135deg,#ffae22,#ff7a29);box-shadow:0 6px 0 #d76620}.language-clue-buttons button:nth-child(3){background:linear-gradient(135deg,#ef3d91,#be4de0);box-shadow:0 6px 0 #9a35b8}.language-play-choice.preview-hint{animation:languagePreviewHint .38s ease-in-out 3 alternate}.language-play-choice.show-answer{border-color:#ffcc28;background:#fff7a3;animation:languageShowAnswer .48s ease-in-out infinite alternate}.language-play-choice.removed{visibility:hidden;pointer-events:none}@keyframes languagePreviewHint{to{transform:translateY(-7px) scale(1.07);box-shadow:0 10px 0 #ffbd25,0 0 0 7px rgba(255,207,47,.35)}}@keyframes languageShowAnswer{to{transform:scale(1.1);box-shadow:0 9px 0 #e69c14,0 0 0 10px rgba(255,213,52,.45)}}@media(max-width:470px){.language-clue-buttons{grid-template-columns:1fr}.language-clue-buttons button{min-height:48px}}
.language-teaching-card{margin:11px 0;padding:10px 14px;border:4px solid #fff;border-radius:24px;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:12px;background:linear-gradient(135deg,#fff9b8,#fff 58%,#dff7ff);box-shadow:0 6px 0 rgba(70,117,166,.18);text-align:left}.language-teaching-picture{display:grid;place-items:center;min-height:82px;border-radius:20px;background:#fff;font-size:62px;filter:drop-shadow(0 4px 2px rgba(40,70,110,.13));animation:languagePictureHello .65s ease-in-out infinite alternate}.language-play-sentence{margin:0;color:#28577f;font-size:18px;font-weight:900;line-height:1.35}.language-play-sentence strong{display:inline;padding:2px 7px;border-radius:9px;background:#ffdf49;color:#d52271;font-size:22px;box-decoration-break:clone;-webkit-box-decoration-break:clone}@keyframes languagePictureHello{to{transform:translateY(-5px) rotate(2deg)}}@media(max-width:470px){.language-teaching-card{grid-template-columns:72px 1fr;padding:8px 10px}.language-teaching-picture{min-height:66px;font-size:50px}.language-play-sentence{font-size:16px}.language-play-sentence strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.settings-yvette img,.language-teaching-picture{animation:none}}

/* V3.30 — keep the decorative signpost behind the discovery shelf button. */
#start .my-discoveries-button{position:relative;z-index:8}

/* V3.31 — the signpost belongs beside Yvette's welcome, not over the menu. */
#start .yvette-signpost{top:22px;right:8px;z-index:7}
#start h1{box-sizing:border-box;width:calc(100% - 166px);margin-left:0;margin-right:auto}
@media(max-width:650px){
  #start .yvette-signpost{top:18px;right:-4px;transform:scale(.78);transform-origin:top right}
  #start h1{width:calc(100% - 92px);font-size:clamp(3rem,14vw,4.8rem)}
}
@media(max-width:390px){
  #start .yvette-signpost{top:15px;right:-8px;transform:scale(.7)}
  #start h1{width:calc(100% - 82px);font-size:clamp(2.85rem,14vw,4.3rem)}
}

/* V3.32 — keep the welcome sentence entirely to the left of the pole. */
#start .welcome-copy .lede{box-sizing:border-box;width:calc(100% - 166px);max-width:none;margin-left:0;margin-right:auto;text-align:center}
@media(max-width:650px){
  #start .welcome-copy .lede{width:calc(100% - 96px);font-size:clamp(1rem,4.35vw,1.24rem);line-height:1.3}
}
@media(max-width:390px){
  #start .welcome-copy .lede{width:calc(100% - 86px);font-size:clamp(.96rem,4.25vw,1.12rem)}
}

/* V3.33 — reusable Language Play engine */
.language-game-type-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.language-game-type-buttons button{min-height:76px;padding:8px 5px;border:4px solid #fff;border-radius:20px;background:linear-gradient(145deg,#eaf8ff,#fff);color:#174f88;font-size:25px;box-shadow:0 6px 0 #98cce7;cursor:pointer}.language-game-type-buttons strong{display:block;margin-top:3px;font-size:14px;line-height:1.1}.language-game-type-buttons button.selected{border-color:#ff4e91;background:#fff3a8;box-shadow:0 6px 0 #d83b75}.language-learning-progress{margin:14px 0 2px;padding:9px 12px;border:3px solid #fff;border-radius:16px;background:#e9ffe6;color:#24704b;font-size:14px;font-weight:950}.language-teaching-card[hidden]{display:none!important}.language-play-choice.word-choice{padding:8px;font-size:clamp(17px,4.5vw,25px);font-weight:1000;overflow-wrap:anywhere}
@media(max-width:470px){.language-game-type-buttons{grid-template-columns:1fr}.language-game-type-buttons button{min-height:57px;display:grid;grid-template-columns:45px 1fr;align-items:center;text-align:left}.language-game-type-buttons strong{font-size:15px}.language-play-choice.word-choice{font-size:16px}}

/* V3.34 — optional familiar-language meaning for every lesson sentence. */
.language-sentence-copy{min-width:0}.language-translation-toggle{margin-top:9px;padding:7px 11px;border:3px solid #fff;border-radius:14px;background:linear-gradient(135deg,#7257ee,#c548d9);color:#fff;font-size:13px;font-weight:1000;box-shadow:0 4px 0 #5436a9;cursor:pointer}.language-translation-toggle:active{transform:translateY(3px);box-shadow:0 1px 0 #5436a9}.language-sentence-translation{margin:10px 0 0;padding:9px 11px;border:3px dashed #69b8df;border-radius:14px;background:#eefaff;color:#28577f;font-size:15px;font-weight:900;line-height:1.3}.language-sentence-translation[hidden]{display:none!important}

/* V3.36 — searchable, picture-first Language Play home */
#languagePlayHub[hidden]{display:none!important}.language-search-label{display:grid;gap:7px;color:#245684;font-size:17px;font-weight:1000;text-align:left}.language-search-row{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:8px}.language-search-row input{box-sizing:border-box;width:100%;min-height:61px;padding:10px 15px;border:4px solid #fff;border-radius:20px;background:#fff;color:#174f88;font-size:16px;font-weight:850;box-shadow:0 6px 0 #94cbe7}.language-search-row input:focus{outline:4px solid rgba(255,77,145,.28);border-color:#ff4d91}.language-search-row button{min-height:61px;padding:5px;border:4px solid #fff;border-radius:20px;background:linear-gradient(135deg,#ff9f22,#ff4e79);color:#fff;box-shadow:0 6px 0 #bd3d58;cursor:pointer}.language-search-row button span,.language-search-row button small{display:block}.language-search-row button span{font-size:25px}.language-search-row button small{font-size:11px;font-weight:1000}.language-search-row button.listening{background:linear-gradient(135deg,#1dc76b,#08a95a);box-shadow:0 6px 0 #087d43;animation:homeMicListening .46s ease-in-out infinite alternate}.language-search-results{max-height:245px;margin:10px 0;padding:7px;overflow:auto;border:3px solid #fff;border-radius:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(237,250,255,.92)}.language-search-results[hidden]{display:none!important}.language-search-result{min-height:67px;padding:7px 8px;border:3px solid #fff;border-radius:17px;display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto;align-items:center;background:#fff;color:#174f88;text-align:left;box-shadow:0 4px 0 #9bcbe5;cursor:pointer}.language-search-result>span{grid-row:1/3;font-size:35px;text-align:center}.language-search-result strong{font-size:14px}.language-search-result small{overflow:hidden;font-size:10px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}.language-hub-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.language-hub-actions button{min-height:92px;padding:9px 7px;border:4px solid #fff;border-radius:21px;color:#fff;box-shadow:0 6px 0 #7351b9;cursor:pointer;font-size:23px}.language-hub-actions button:nth-child(1){background:linear-gradient(135deg,#168ff0,#6458ed)}.language-hub-actions button:nth-child(2){background:linear-gradient(135deg,#21bd65,#51d30c)}.language-hub-actions button:nth-child(3){background:linear-gradient(135deg,#ef4092,#ff792b)}.language-hub-actions strong,.language-hub-actions small{display:block}.language-hub-actions strong{margin-top:3px;font-size:14px;line-height:1.1}.language-hub-actions small{margin-top:4px;font-size:10px;font-weight:850;line-height:1.15}.language-collection-buttons,.language-hub-worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.language-collection-buttons button,.language-hub-worlds button{min-height:68px;padding:7px;border:4px solid #fff;border-radius:19px;background:#fff;color:#174f88;font-size:25px;box-shadow:0 5px 0 #9bcbe5;cursor:pointer}.language-collection-buttons strong,.language-hub-worlds strong{display:block;margin-top:2px;font-size:13px;line-height:1.08}.language-collection-buttons button.selected{border-color:#ff4e91;background:#fff4aa;box-shadow:0 5px 0 #d83b75}.language-hub-worlds button[hidden]{display:none!important}.language-hub-subhead{display:flex;align-items:center;justify-content:space-between;margin:19px 0 9px}.language-hub-subhead p{margin:0;color:#214e82;font-size:18px;font-weight:1000}.language-hub-subhead button,.language-hub-back{padding:7px 11px;border:3px solid #fff;border-radius:14px;background:#7558e9;color:#fff;font-size:12px;font-weight:1000;box-shadow:0 4px 0 #5137a9;cursor:pointer}.language-hub-back{display:block;margin:0 0 13px}.language-recent-worlds{margin-top:16px;padding:10px;border:3px dashed #78c5e7;border-radius:18px;background:rgba(255,255,255,.55);text-align:left}.language-recent-worlds[hidden]{display:none!important}.language-recent-worlds p{margin:0 0 7px;color:#285986;font-weight:1000}.language-recent-worlds>div{display:flex;flex-wrap:wrap;gap:7px}.language-recent-worlds button{padding:7px 10px;border:2px solid #fff;border-radius:999px;background:#fff;color:#174f88;font-weight:900;box-shadow:0 3px 0 #9bcbe5;cursor:pointer}.language-game-nav{display:flex;justify-content:space-between;margin:-3px 0 7px}.language-game-nav button{min-width:94px;padding:8px 12px;border:3px solid #fff;border-radius:16px;background:linear-gradient(135deg,#178df0,#6558ed);color:#fff;font-size:15px;font-weight:1000;box-shadow:0 4px 0 #294db5;cursor:pointer}.language-game-nav button:last-child{background:linear-gradient(135deg,#ef3d91,#ff792b);box-shadow:0 4px 0 #bd3d58}.language-game-nav button:disabled{filter:grayscale(.55);opacity:.42;cursor:not-allowed}
@media(max-width:470px){.language-search-row{grid-template-columns:minmax(0,1fr) 79px}.language-search-results{grid-template-columns:1fr}.language-hub-actions{grid-template-columns:1fr}.language-hub-actions button{min-height:66px;display:grid;grid-template-columns:43px 1fr;grid-template-rows:auto auto;text-align:left}.language-hub-actions strong{font-size:15px}.language-hub-actions small{font-size:11px}.language-collection-buttons,.language-hub-worlds{grid-template-columns:1fr 1fr}.language-collection-buttons button,.language-hub-worlds button{min-height:66px}}

/* V3.38 — preserve unsuccessful pictures for a later retry */
.needs-another-look{margin:16px 0;padding:13px;border:4px dashed #ff7aae;border-radius:23px;background:linear-gradient(135deg,#fff8bd,#ffe7f3)}.needs-another-look[hidden]{display:none!important}.needs-another-look h3{margin:0;color:#d72a75;font-size:22px}.needs-another-look>p{margin:5px 0 10px;color:#3c6484;font-size:13px;font-weight:850}.pending-discovery-card{padding:9px;border:4px solid #fff;border-radius:20px;display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:center;background:#fff;color:#174f88;box-shadow:0 5px 0 #e09aba;text-align:left}.pending-discovery-card>img{width:82px;height:76px;border-radius:14px;object-fit:cover}.pending-discovery-card span{min-width:0}.pending-discovery-card strong,.pending-discovery-card small{display:block}.pending-discovery-card strong{font-size:14px}.pending-discovery-card small{margin-top:4px;color:#52718b;font-size:11px;font-weight:800}.retry-pending-discovery{grid-column:1/-1;min-height:48px;border:3px solid #fff;border-radius:16px;background:linear-gradient(135deg,#ef3d91,#ff782c);color:#fff;font-size:15px;font-weight:1000;box-shadow:0 5px 0 #bd3765;cursor:pointer}.pending-discovery-item .delete-discovery-button{margin-top:2px}

/* V3.39 — user-confirmed phone photo saving */
.save-phone-button{width:100%;min-height:54px;margin:10px 0;padding:9px 14px;border:4px solid #fff;border-radius:19px;background:linear-gradient(135deg,#168df0,#6258ed);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 6px 0 #294db5;cursor:pointer}.save-phone-button:disabled{opacity:.72}.save-phone-thinking{position:relative;z-index:5;width:min(420px,86%);margin:-28px auto 12px}.save-pending-phone{grid-column:1/-1;min-height:45px;margin:0;background:linear-gradient(135deg,#18bfe0,#168df0);font-size:14px;box-shadow:0 5px 0 #1670a7}.pending-discovery-card .retry-pending-discovery{margin-bottom:0}
.discovery-shelf-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.save-shelf-photo{padding:7px 11px;border:2px solid #8abcec;border-radius:13px;background:#edf7ff;color:#205c91;font-size:.76rem;font-weight:900;cursor:pointer}.save-shelf-photo:disabled{opacity:.65}

/* V3.40 — seated Yvette waves hello from the signpost */
#start .yvette-signpost{overflow:visible}.sign-bug{top:-73px;left:23px;width:126px;height:130px;display:block;z-index:5;filter:drop-shadow(0 7px 5px rgba(50,32,18,.22));transform-origin:50% 90%;animation:yvetteSignpostHello 1.35s ease-in-out infinite alternate}.sign-bug img{display:block;width:100%;height:100%;object-fit:contain}.sign-hello{position:absolute;top:-45px;left:-20px;z-index:6;padding:6px 9px;border:4px solid #fff;border-radius:18px 18px 4px 18px;background:#fff;color:#d72b77;font:1000 12px/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;box-shadow:0 5px 12px rgba(53,48,95,.2);animation:yvetteHelloBubble .75s ease-in-out infinite alternate}.sign-hello::after{content:"";position:absolute;right:-9px;bottom:-3px;border-left:13px solid #fff;border-top:10px solid transparent;transform:rotate(18deg)}@keyframes yvetteSignpostHello{from{transform:translateY(1px) rotate(-2deg)}to{transform:translateY(-6px) rotate(2.5deg)}}@keyframes yvetteHelloBubble{to{transform:translateY(-4px) scale(1.04)}}@media(max-width:650px){.sign-bug{top:-70px;left:18px;width:128px;height:132px}.sign-hello{top:-44px;left:-18px;font-size:12px}}@media(prefers-reduced-motion:reduce){.sign-bug,.sign-hello{animation:none!important}}

/* V3.41 — keep seated Yvette fully inside the visible welcome scene */
#start .yvette-signpost .sign-bug{top:-2px;left:35px;width:108px;height:108px}#start .yvette-signpost .sign-hello{top:5px;left:-18px}.yvette-signpost .curiosity-sign{top:96px}.yvette-signpost .learning-sign{top:169px}.yvette-signpost .help-sign{top:242px}.yvette-signpost::before{top:72px;height:245px}@media(max-width:650px){#start .yvette-signpost .sign-bug{top:-1px;left:23px;width:94px;height:94px}#start .yvette-signpost .sign-hello{top:3px;left:-26px}.yvette-signpost .curiosity-sign{top:83px}.yvette-signpost .learning-sign{top:145px}.yvette-signpost .help-sign{top:207px}.yvette-signpost::before{top:62px;height:220px}}

/* V3.46 — replace the old one-antenna banner mascot with one complete two-antenna character */
.storybook-home-link::before{content:"";position:absolute;z-index:2;left:0;top:0;width:23%;height:100%;background:radial-gradient(ellipse at 10% 65%,#5fc56b 0 18%,transparent 19%),radial-gradient(ellipse at 26% 33%,#79d776 0 16%,transparent 17%),linear-gradient(110deg,#c8f5ff 0%,#bdefff 62%,#d4f8f0 100%);pointer-events:none}.storybook-home-link>img.header-two-antenna-yvette{position:absolute;z-index:3;left:1.5%;bottom:0;width:22%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 2px 1px rgba(30,91,72,.18));pointer-events:none}.storybook-home-link>#homeHeaderLabel{z-index:4}

/* V3.49 — move Home into the yellow seasonal strip above the picture banner */
.storybook-home-top{position:absolute;z-index:20;left:auto;right:12px;top:-43px;padding:6px 11px;border:3px solid #fff;border-radius:16px;background:linear-gradient(135deg,#ffe85e,#ffb631);color:#603513;text-decoration:none;font:950 14px/1 "Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;box-shadow:0 4px 0 #d67d13;white-space:nowrap}.storybook-home-top:active{transform:translateY(3px);box-shadow:0 1px 0 #d67d13}
@media(max-width:470px){.storybook-home-top{left:auto;right:7px;top:-39px;padding:5px 8px;border-width:2px;font-size:11px}}

/* V3.48 — give the header mascot a little more lift */
@media(max-width:470px){.storybook-home-link>img.header-two-antenna-yvette{bottom:0;height:100%}}

/* V3.50 — Home sits at the top right, directly above Settings and Exit */

/* V3.51 — raise the complete header mascot further on phone and desktop */

/* V3.53 — public free trial, friendly limits, and viral Yvette sharing */
.share-yvette-home-button{box-sizing:border-box;width:100%;min-height:86px;margin:11px 0;padding:9px 13px;border:5px solid #fff;border-radius:25px;display:grid;grid-template-columns:74px 1fr 22px;align-items:center;gap:10px;background:linear-gradient(135deg,#ff4d96,#a846df);color:#fff;text-align:left;box-shadow:0 7px 0 #7d2ea9;cursor:pointer}.share-yvette-home-button img{width:74px;height:68px;object-fit:contain}.share-yvette-home-button strong,.share-yvette-home-button small{display:block}.share-yvette-home-button strong{font-size:20px;line-height:1.1}.share-yvette-home-button small{margin-top:4px;font-size:12px;font-weight:850}.share-yvette-home-button>b{font-size:34px}.share-yvette-home-button:active{transform:translateY(5px);box-shadow:0 2px 0 #7d2ea9}
.free-discovery-remaining{margin:8px auto 13px;padding:8px 13px;border:3px solid #fff;border-radius:999px;background:#fff8af;color:#92520b;font-size:14px;font-weight:1000;text-align:center;box-shadow:0 4px 0 #efb630}.free-discovery-remaining[hidden]{display:none!important}
.limit-modal-card{background:linear-gradient(150deg,#fff7a7,#ffe0ef 48%,#ccefff);border-color:#fff}.limit-yvette{display:block;width:150px;height:125px;margin:-8px auto -3px;object-fit:contain;filter:drop-shadow(0 7px 5px rgba(54,48,96,.18));animation:limitYvetteHello .75s ease-in-out infinite alternate}.limit-modal-text{margin:8px auto 16px;max-width:460px;color:#315e83;font-size:17px;font-weight:850;line-height:1.4}.limit-plan{margin:12px 0 16px;padding:15px;border:4px solid #fff;border-radius:22px;background:rgba(255,255,255,.82);color:#174f88;box-shadow:0 6px 0 #9bcbe5}.limit-plan strong,.limit-plan span,.limit-plan small{display:block}.limit-plan strong{font-size:22px;color:#d62c77}.limit-plan span{margin-top:6px;font-size:17px;font-weight:900}.limit-plan span b{font-size:29px}.limit-plan small{margin-top:3px;font-weight:850}.unlock-yvette-button,.limit-secondary-button,.limit-share-button,.discoveries-share-yvette-button{box-sizing:border-box;width:100%;min-height:55px;margin:7px 0;padding:9px 13px;border:4px solid #fff;border-radius:19px;color:#fff;font-size:17px;font-weight:1000;cursor:pointer}.unlock-yvette-button{background:linear-gradient(135deg,#20bc5e,#50d30c);box-shadow:0 6px 0 #17883c}.limit-secondary-button{background:linear-gradient(135deg,#168ff0,#6258ed);box-shadow:0 6px 0 #294db5}.limit-share-button,.discoveries-share-yvette-button{background:linear-gradient(135deg,#ef3d91,#ff792b);box-shadow:0 6px 0 #bd3d62}.unlock-yvette-button:active,.limit-secondary-button:active,.limit-share-button:active,.discoveries-share-yvette-button:active{transform:translateY(4px);box-shadow:0 2px 0 rgba(45,51,100,.55)}@keyframes limitYvetteHello{to{transform:translateY(-6px) rotate(2deg)}}@media(max-width:470px){.share-yvette-home-button{grid-template-columns:64px 1fr 18px}.share-yvette-home-button img{width:64px;height:60px}.share-yvette-home-button strong{font-size:18px}.limit-yvette{width:125px;height:104px}.limit-modal-text{font-size:15px}}@media(prefers-reduced-motion:reduce){.limit-yvette{animation:none}}

/* V3.54 — verified Stripe sandbox enrollment and household access */
.unlock-yvette-button.annual{background:linear-gradient(135deg,#ff3b72,#ff8a20);box-shadow:0 6px 0 #bd3854}.unlock-yvette-button:disabled{opacity:.7;cursor:wait}.restore-access-button,.manage-subscription-home{display:block;box-sizing:border-box;width:100%;margin:9px 0;padding:12px 14px;border:3px solid #fff;border-radius:17px;background:#fff;color:#315e83;font-weight:950;text-align:center;text-decoration:none;box-shadow:0 4px 0 #9bcbe5}.stripe-return-banner{position:relative;z-index:20;margin:8px;padding:12px;border-radius:14px;background:#fff4c7;color:#684d00;font-weight:900;text-align:center}.stripe-return-banner.success{background:#dffbe8;color:#176837}.stripe-return-banner.error{background:#ffe3e8;color:#8b2340}.stripe-access-page{min-height:100vh;margin:0;padding:24px;background:linear-gradient(150deg,#68d5ff,#fff3a3 48%,#ffd4e7);font-family:Arial,sans-serif}.stripe-access-card{box-sizing:border-box;max-width:520px;margin:30px auto;padding:24px;border:5px solid #fff;border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(31,69,112,.2);color:#174f88;text-align:center}.stripe-access-card img{width:150px;height:125px;object-fit:contain}.stripe-access-card h1{margin:0 0 8px;color:#d62c77}.stripe-access-card form{text-align:left}.stripe-access-card label{display:block;margin:14px 0 6px;font-weight:900}.stripe-access-card input{box-sizing:border-box;width:100%;min-height:52px;padding:10px 13px;border:3px solid #79cfee;border-radius:14px;font-size:17px}.stripe-access-card button{width:100%;min-height:54px;margin:14px 0;padding:10px;border:0;border-radius:15px;background:linear-gradient(135deg,#20bc5e,#50d30c);color:#fff;font-size:17px;font-weight:950;box-shadow:0 5px 0 #17883c}.stripe-access-card a{color:#315e83;font-weight:850}.stripe-access-message{padding:12px;border-radius:12px;background:#fff4c7;font-weight:850}


/* V3.59 — public free access + local first-name relationship */
.yvette-owner-badge{position:absolute;z-index:40;top:82px;right:14px;background:#fff7d6;border:2px solid #8b6b00;border-radius:999px;padding:4px 9px;font:700 12px/1.1 system-ui,sans-serif;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.yvette-profile-card{text-align:center}.profile-yvette{width:104px;max-width:32%;height:auto;margin:-8px auto 4px;display:block}.yvette-name-input{display:block;width:100%;box-sizing:border-box;margin:14px 0;padding:14px 16px;border:3px solid #57c8f5;border-radius:16px;font-size:20px;text-align:center}.profile-privacy-note{font-size:13px;opacity:.78;margin:10px 0 0}

/* V3.60 discovery identity migration */
#legacyMigrationModal .yvette-profile-card{max-width:430px}
#legacyMigrationModal #legacyMigrationText{font-size:18px;line-height:1.45;margin:8px 0 16px}
#legacyMigrationModal .unlock-yvette-button{margin-top:4px}

/* V3.61 member identity */
.yvette-member-button{display:block;margin:10px auto 14px;padding:10px 18px;border:0;border-radius:999px;background:#fff;box-shadow:0 3px 0 rgba(0,0,0,.12);font-weight:800;font-size:15px;color:#24415b}.yvette-member-overlay{position:fixed;inset:0;z-index:10000;background:rgba(22,40,60,.55);display:flex;align-items:center;justify-content:center;padding:18px}.yvette-member-overlay[hidden]{display:none}.yvette-member-card{position:relative;width:min(420px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}.yvette-member-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px}.yvette-member-bug{font-size:42px}.yvette-member-card h2{margin:4px 0 8px}.yvette-member-card label{display:block;text-align:left;font-weight:800;margin:12px 0 5px}.yvette-member-card input{box-sizing:border-box;width:100%;font-size:18px;padding:13px;border:2px solid #b9d9ec;border-radius:14px}.yvette-member-primary,.yvette-member-secondary{width:100%;margin-top:12px;padding:13px;border:0;border-radius:14px;font-weight:900;font-size:16px}.yvette-member-primary{background:#ffd84d}.yvette-member-secondary{background:#eef4f7}.yvette-member-msg{min-height:24px;font-weight:700}.yvette-member-privacy{font-size:12px;color:#536471}.yvette-member-signed{padding:12px;background:#f3fbf5;border-radius:14px;font-weight:800}
\n/* V3.62 — real Yvette mascot in identity/profile UI */\n.yvette-member-button{display:flex!important;align-items:center;justify-content:center;gap:8px}.yvette-member-button .yvette-member-mascot{width:34px;height:34px;object-fit:contain}.yvette-member-bug{font-size:0}.yvette-member-bug .yvette-member-mascot{width:82px;height:82px;object-fit:contain}.yvette-code-mascot{margin:8px auto 0}.yvette-code-mascot .yvette-member-mascot{width:54px;height:54px;object-fit:contain}.yvette-member-plan{display:flex;flex-direction:column;gap:3px;margin:10px 0;padding:12px 14px;border-radius:14px;background:#fff8cf;text-align:left}.yvette-member-plan strong{font-size:16px;color:#56347a}.yvette-member-plan span{font-size:13px;color:#536471;font-weight:700}\n

/* V3.63 — entitlement + Discoveries controls */
.discoveries-stop-button{position:sticky;top:8px;z-index:8;box-sizing:border-box;width:100%;min-height:58px;margin:10px 0 14px;padding:10px 14px;border:4px solid #fff;border-radius:20px;background:linear-gradient(135deg,#ef3f57,#d82372);color:#fff;font-size:18px;font-weight:1000;box-shadow:0 6px 0 #a91e48;cursor:pointer}
.discoveries-stop-button:active{transform:translateY(4px);box-shadow:0 2px 0 #a91e48}
.limit-exit-form{margin:0;padding:0}.limit-exit-button{box-sizing:border-box;width:100%;min-height:55px;margin:7px 0;padding:9px 13px;border:4px solid #fff;border-radius:19px;background:linear-gradient(135deg,#51606e,#283643);color:#fff;font-size:17px;font-weight:1000;box-shadow:0 6px 0 #18222b;cursor:pointer}.limit-exit-button:active{transform:translateY(4px);box-shadow:0 2px 0 #18222b}
.owner-closed-toast{position:fixed;z-index:2000;top:92px;left:50%;transform:translateX(-50%);padding:10px 16px;border:3px solid #fff;border-radius:18px;background:#1d9f5a;color:#fff;font-weight:1000;box-shadow:0 5px 18px rgba(0,0,0,.2);animation:yvetteOwnerClosed 3.2s forwards}@keyframes yvetteOwnerClosed{0%,75%{opacity:1}100%{opacity:0;visibility:hidden}}

/* V3.65 — compact transparent Stop Yvette mascot control */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.discoveries-stop-mascot-button{position:sticky;top:8px;z-index:8;display:block;width:190px;max-width:48vw;min-height:0;margin:6px auto 12px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;overflow:visible}
.discoveries-stop-mascot-button img{display:block;width:100%;height:auto;max-height:135px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.14))}
.discoveries-stop-mascot-button:active{transform:translateY(3px);box-shadow:none}
@media (max-width:520px){.discoveries-stop-mascot-button{width:170px;max-width:46vw;margin-top:4px}.discoveries-stop-mascot-button img{max-height:125px}}
.owner-access-link{display:block;text-align:center;margin-top:8px}

/* V3.66: reliable iPhone Exit link (dedicated server logout endpoint) */
.storybook-exit-link{position:absolute;right:8px;top:7px;z-index:50;display:flex;align-items:center;justify-content:center;min-width:64px;height:30px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#24517f;font-size:12px;font-weight:800;box-shadow:0 2px 8px rgba(36,81,127,.18);text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.limit-exit-button{text-decoration:none!important;display:inline-flex!important;align-items:center;justify-content:center;touch-action:manipulation}
@media(max-width:470px){.storybook-exit-link{min-width:64px;padding:0 7px;font-size:11px}}
/* V3.67 — compact Stop Yvette, visually aligned with Discovery Keeper hero */
.discoveries-stop-mascot-button{width:145px;max-width:42vw;margin:2px auto 8px}
.discoveries-stop-mascot-button img{max-height:126px;object-fit:contain}
.yvette-courtesy-admin{margin-top:16px;padding:14px;border:2px solid #ffd0df;border-radius:20px;background:#fff8fb;text-align:center;display:grid;gap:8px}
.yvette-courtesy-admin img{width:120px;max-height:110px;object-fit:contain;margin:0 auto}
.yvette-courtesy-admin small{display:block;color:#5a6170}
.yvette-courtesy-admin input{width:100%;box-sizing:border-box;padding:12px;border:2px solid #c9dff5;border-radius:12px;font-size:16px}


/* V3.69 — reliable in-app Save to My Phone fallback; never opens about:blank */
.phone-save-open{overflow:hidden}
.phone-save-panel[hidden]{display:none!important}
.phone-save-panel{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(17,54,91,.72);backdrop-filter:blur(5px)}
.phone-save-card{position:relative;width:min(520px,96vw);max-height:92vh;overflow:auto;padding:22px 18px 20px;border:5px solid #fff;border-radius:30px;background:linear-gradient(145deg,#fff8cf,#ffe7f2 58%,#e8f7ff);box-shadow:0 20px 55px rgba(0,0,0,.28);text-align:center}
.phone-save-close{position:absolute;right:12px;top:10px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:#7a2b70;font-size:34px;font-weight:900;line-height:1;cursor:pointer}
.phone-save-yvette{display:block;width:110px;height:110px;object-fit:contain;margin:0 auto -4px}
.phone-save-card h2{margin:0 42px 8px;color:#15558f;font-size:30px;line-height:1.05}
.phone-save-help{margin:0 auto 14px;max-width:420px;color:#23557e;font-size:17px;line-height:1.35;font-weight:700}
.phone-save-photo{display:block;width:auto;max-width:100%;max-height:52vh;margin:0 auto 16px;border:5px solid #fff;border-radius:22px;box-shadow:0 8px 22px rgba(35,85,126,.18);-webkit-touch-callout:default;user-select:auto}
.phone-save-done{min-width:180px;min-height:52px;border:4px solid #fff;border-radius:18px;background:linear-gradient(135deg,#168df0,#6258ed);color:#fff;font-size:18px;font-weight:1000;box-shadow:0 6px 0 #294db5;cursor:pointer}
/* V3.70 — trial status uses Yvette artwork, not emoji decoration. */
.free-discovery-remaining{display:flex;align-items:center;justify-content:center;gap:10px}
.free-discovery-remaining[hidden]{display:none!important}
.trial-inline-mascot{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
