:root{color:#283d34;font-synthesis:none;--forest:#406d59;--forest-dark:#284a3b;--sage:#8daf7c;--sun:#f2c95f;--muted:#758078;--line:#406d5926;--shadow:0 18px 45px #435a461a;--page-gap:clamp(12px, 1.8dvh, 20px);background:#fbfaf5;font-family:ui-rounded,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:100%}body{background:radial-gradient(circle at 12% 8%,#e8f1d68c,#0000 27%),radial-gradient(circle at 90% 12%,#fae9b247,#0000 24%),#fbfaf5;min-width:320px;margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,audio:focus-visible{outline-offset:3px;outline:3px solid #50846b59}.loading-screen,.center-screen{z-index:2;width:100%;height:100dvh;padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));place-items:center;display:grid;position:relative}.loading-screen{color:var(--muted);align-content:center;gap:12px}.loading-star{color:var(--sun);font-size:42px;animation:1.8s ease-in-out infinite float}.page-shell{z-index:2;width:min(100%,800px);height:100dvh;min-height:0;padding:max(16px, env(safe-area-inset-top)) clamp(18px, 4vw, 32px) max(16px, env(safe-area-inset-bottom));gap:var(--page-gap);margin:0 auto;display:grid;position:relative;overflow:hidden}.page-shell>*{min-height:0}.welcome-page{grid-template-rows:auto minmax(0,.9fr) minmax(0,1.25fr) auto auto}.question-page{grid-template-rows:auto auto minmax(0,1.75fr) auto minmax(0,.9fr) auto}.robot-page{grid-template-rows:auto auto auto minmax(0,1.15fr) minmax(0,.85fr)}.feedback-page{grid-template-rows:auto auto minmax(0,1fr) auto}.summary-page{grid-template-rows:auto minmax(0,1fr) auto}.app-header{grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;min-height:50px;display:grid}.back-button{border:1px solid var(--line);cursor:pointer;background:#ffffffe0;border-radius:50%;width:46px;height:46px;padding:0 0 4px;font-family:Arial,sans-serif;font-size:36px;line-height:1;box-shadow:0 6px 18px #33473b14}.brand-title{color:var(--forest-dark);letter-spacing:.04em;justify-self:center;font-size:18px;font-weight:700}.mode-badge{border-radius:999px;justify-self:end;padding:6px 10px;font-size:12px;font-weight:700}.mode-badge.preview{color:#8b691f;background:#fff1c7}.mode-badge.connected{color:#326048;background:#e3f0e6}.hero-card,.steps-card,.scene-card,.prompt-card,.record-card,.robot-stage,.choice-section,.feedback-card,.summary-card,.connection-card{border:1px solid var(--line);box-shadow:var(--shadow)}.eyebrow{color:#6f8d79;letter-spacing:.15em;margin:0 0 8px;font-size:11px;font-weight:700}.hero-card{background:linear-gradient(135deg,#f7f0cf 0%,#eef4dd 52%,#dceccb 100%);border-radius:clamp(26px,4vw,36px);grid-template-columns:1.08fr .92fr;height:100%;display:grid;overflow:hidden}.hero-copy{z-index:2;align-self:center;padding:clamp(24px,4vw,40px);position:relative}.hero-copy h1,.summary-card h1,.feedback-card h1,.connection-card h1{color:var(--forest-dark);margin:0;line-height:1.18}.hero-copy h1{font-size:clamp(34px,6vw,50px)}.soft-badge{color:#765c1a;background:#ffffffa8;border-radius:999px;margin-bottom:18px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-block}.hero-scene{min-height:0;position:relative}.hero-bus{filter:drop-shadow(0 12px 9px #4d5b3e29);font-size:clamp(70px,13vw,100px);position:absolute;bottom:18%;right:clamp(18px,5vw,38px);transform:rotate(-2deg)}.hero-star{color:#efc84e;font-size:clamp(25px,4vw,34px);animation:2.3s ease-in-out infinite float;position:absolute;top:14%;right:18%}.hero-cloud{background:#ffffffb8;border-radius:999px;width:90px;height:30px;position:absolute}.hero-cloud:before,.hero-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.hero-cloud:before{width:38px;height:38px;bottom:4px;left:15px}.hero-cloud:after{width:48px;height:48px;bottom:2px;right:10px}.cloud-one{top:26%;left:0;transform:scale(.8)}.cloud-two{top:48%;right:5%;transform:scale(.55)}.steps-card{background:#ffffffe6;border-radius:clamp(24px,4vw,32px);grid-template-rows:auto minmax(0,1fr);gap:clamp(12px,2dvh,22px);height:100%;padding:clamp(20px,3vw,30px);display:grid}.section-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-title-row h2{margin:0;font-size:clamp(19px,3vw,23px)}.steps-list{grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(8px,1.25dvh,14px);margin:0;padding:0;list-style:none;display:grid}.steps-list li{background:#fafbf6;border-radius:18px;align-items:center;gap:14px;padding:10px 14px;display:flex}.step-number{color:#fff;background:var(--sage);border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.steps-list strong{font-size:15px;display:block}.steps-list p{color:var(--muted);margin:3px 0 0;font-size:13px}.primary-button,.next-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#55806b,#355f4c);border:0;border-radius:19px;justify-content:space-between;align-items:center;gap:18px;min-height:56px;padding:0 24px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 13px 25px #365b4933}.wide-button{width:100%;margin:0;font-size:17px}.primary-button:disabled,.next-button:disabled{opacity:.48;cursor:not-allowed}.privacy-note{color:#88928c;text-align:center;margin:0;font-size:12px}.speak-button,.icon-button,.text-button,.listen-button{cursor:pointer;border:0}.speak-button{color:#557465;background:#edf3e8;border-radius:999px;align-items:center;gap:6px;padding:9px 13px;font-size:13px;font-weight:600;display:inline-flex}.speak-button.centered{margin:clamp(16px,2.5dvh,26px) auto 0}.progress-block{align-self:center;margin:0 4px}.progress-block>div:first-child{color:#64736a;justify-content:space-between;align-items:center;font-size:13px;display:flex}.progress-block strong{color:var(--forest);font-size:14px}.progress-track{background:#e8e8df;border-radius:999px;height:7px;margin-top:9px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#83aa7b,#4c7963);height:100%;transition:width .4s;display:block}.scene-card{background:#faf7ef;border-radius:clamp(24px,4vw,32px);grid-template-rows:minmax(0,1fr) auto;height:100%;display:grid;overflow:hidden}.scene-card.blue{border-color:#cbdde7}.scene-card.mint{border-color:#cfe3d1}.scene-card.peach{border-color:#ead7c5}.scene-card.lilac{border-color:#dcd2e8}.scene-card.yellow{border-color:#eadfae}.scene-image{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.scene-caption{color:#4d6658;text-align:center;background:#ffffffe6;margin:0;padding:10px 16px 12px;font-size:14px;font-weight:700}.prompt-card{background:#ffffffeb;border-radius:24px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:16px 20px;display:grid}.prompt-card h2{margin:0;font-size:18px;line-height:1.5}.prompt-icon{color:#876b1f;background:#fae8a8;border-radius:16px;place-items:center;width:48px;height:48px;font-size:26px;font-weight:700;display:grid}.icon-button{width:42px;height:42px;color:var(--forest);background:#edf3e8;border-radius:50%;place-items:center;display:grid}.record-card{text-align:left;background:linear-gradient(#edf6f7,#f7fbf8);border-radius:28px;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:12px 20px;height:100%;min-height:0;padding:clamp(14px,2.2dvh,24px) clamp(18px,3vw,26px);display:grid;overflow:auto}.record-card.is-recording{background:linear-gradient(#fff1e7,#fffaf2)}.record-button{color:#fff;cursor:pointer;background:linear-gradient(145deg,#709b84,#3f7059);border:0;border-radius:50%;width:clamp(70px,11dvh,96px);height:clamp(70px,11dvh,96px);position:relative;box-shadow:0 15px 28px #37634e40}.record-card.is-recording .record-button{background:linear-gradient(145deg,#e79070,#c66d54)}.record-icon{z-index:2;font-size:clamp(28px,4.5dvh,38px);position:relative}.record-ripple{border:2px solid #5c8b7140;border-radius:50%;position:absolute;inset:-9px}.is-recording .record-ripple{border-color:#d66f4e59;animation:1.2s ease-out infinite pulse}.record-copy{margin:0}.record-copy strong,.record-copy span{display:block}.record-copy strong{font-size:17px}.record-copy span{color:var(--muted);margin-top:5px;font-size:13px}.audio-player{grid-column:1/-1;width:100%;height:40px}.inline-message{color:#885a34;background:#fff1de;border-radius:12px;grid-column:1/-1;margin:0;padding:9px 12px;font-size:13px}.error-message{color:#8e4d45;background:#fce8e4}.hint-row{grid-template-columns:minmax(0,1fr) minmax(170px,1.15fr);align-items:center;gap:14px;display:grid}.text-button{color:#61796b;background:0 0;padding:10px 4px;font-size:14px}.next-button{width:100%;min-height:52px;padding:0 20px}.question-recap{border:1px solid var(--line);background:#ffffffe0;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.recap-avatar{background:#e8f2d9;border-radius:50%;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.question-recap span:not(.recap-avatar){color:var(--muted);font-size:12px;display:block}.question-recap strong{margin-top:2px;font-size:16px;display:block}.robot-stage{background:linear-gradient(145deg,#e4f1e4,#f5f6de);border-radius:clamp(26px,4vw,34px);grid-template-columns:minmax(120px,.36fr) minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,30px);height:100%;min-height:0;padding:clamp(20px,3vw,34px);display:grid}.robot-avatar{aspect-ratio:1;color:#345f4b;background:linear-gradient(145deg,#bcd9a5,#7fac80);border:8px solid #fffc;border-radius:45% 45% 48% 48%;justify-self:center;place-items:center;width:clamp(110px,17dvh,156px);display:grid;position:relative;box-shadow:0 18px 30px #45644929}.antenna{color:var(--sun);font-size:30px;position:absolute;top:-32px}.robot-face{letter-spacing:4px;font-family:Arial,sans-serif;font-size:clamp(25px,4dvh,33px)}.speech-bubble{background:#ffffffe6;border-radius:26px;padding:clamp(20px,3vw,28px);position:relative}.speech-bubble:before{content:"";border:8px solid #0000;border-right-color:#ffffffe6;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.speech-bubble h2{margin:0;font-size:clamp(22px,3.5vw,28px);line-height:1.5}.speech-bubble p:not(.eyebrow){color:var(--muted);margin:9px 0 0;font-size:13px}mark{color:#755916;background:#ffe49a;border-radius:6px;padding:1px 5px}.listen-button{color:#fff;background:var(--forest);border-radius:999px;margin-top:clamp(12px,2dvh,20px);padding:10px 16px;font-size:13px;font-weight:700}.choice-section{text-align:center;background:#ffffffeb;border-radius:clamp(26px,4vw,34px);grid-template-rows:auto auto auto;align-content:center;height:100%;min-height:0;padding:clamp(18px,3vw,28px);display:grid}.choice-section h2{margin:0;font-size:clamp(22px,3.5vw,28px)}.choice-section>p{color:var(--muted);margin:7px 0 clamp(14px,2dvh,22px);font-size:13px}.choice-grid{grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,16px);width:min(100%,620px);height:clamp(126px,18dvh,168px);min-height:0;margin:0 auto;display:grid}.choice-card{cursor:pointer;border:2px solid #0000;border-radius:24px;place-content:center;min-height:0;padding:14px;transition:transform .15s,border-color .15s;display:grid}.choice-card:hover{transform:translateY(-3px)}.choice-card.positive{color:#315943;background:#e8f3df}.choice-card.gentle{color:#6d5733;background:#fff0d8}.choice-card:focus-visible{border-color:currentColor}.choice-emoji{margin-bottom:8px;font-size:clamp(30px,5dvh,42px);display:block}.choice-card strong,.choice-card>span:last-child{display:block}.choice-card strong{font-size:clamp(16px,2.7vw,20px)}.choice-card>span:last-child{opacity:.72;margin-top:6px;font-size:12px}.feedback-card,.summary-card{text-align:center;background:#fffffff0;border-radius:clamp(28px,5vw,38px);flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:0;padding:clamp(28px,5dvh,54px) clamp(22px,5vw,42px);display:flex;overflow:hidden}.feedback-card.correct{background:linear-gradient(155deg,#f7fbea,#e3f1db)}.feedback-card.try-again{background:linear-gradient(155deg,#fffaf0,#f8eadc)}.feedback-burst{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#f1d66d,#e8b94e);border-radius:50%;place-items:center;width:clamp(78px,12dvh,108px);margin:0 auto clamp(18px,3dvh,28px);font-size:clamp(38px,6dvh,52px);display:grid;box-shadow:0 0 0 12px #f3d2692e}.try-again .feedback-burst{background:linear-gradient(145deg,#91b889,#669773);box-shadow:0 0 0 12px #7eaa7e29}.feedback-card h1,.summary-card h1{font-size:clamp(30px,6vw,44px)}.feedback-card>p:not(.eyebrow),.summary-card>p:not(.eyebrow){color:#69756d;max-width:520px;margin:clamp(12px,2dvh,20px) auto 0;line-height:1.75}.focus-comparison{background:#ffffffbf;border-radius:16px;align-items:center;gap:14px;margin-top:clamp(18px,3dvh,30px);padding:13px 18px;display:inline-flex}.focus-comparison span{color:var(--muted);font-size:13px}.focus-comparison strong{color:var(--forest);font-size:18px}.summary-card{background:linear-gradient(150deg,#fffdf4,#edf5de);position:relative}.celebration{color:#e8bd49;justify-content:space-between;font-size:22px;display:flex;position:absolute;inset:28px 40px auto}.trophy{aspect-ratio:1;background:#fff1b6;border-radius:38% 38% 48% 48%;place-items:center;width:clamp(90px,13dvh,118px);margin:0 auto clamp(18px,2.5dvh,28px);font-size:clamp(48px,7dvh,62px);display:grid;box-shadow:0 0 0 14px #ffefb161}.stars{color:#e9bc40;letter-spacing:8px;margin-top:clamp(14px,2dvh,22px);font-size:32px}.result-grid{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin-top:clamp(20px,3dvh,32px);display:grid}.result-grid div{background:#ffffffbf;border-radius:18px;padding:clamp(12px,2dvh,18px) 8px}.result-grid strong,.result-grid span{display:block}.result-grid strong{color:var(--forest-dark);font-size:26px}.result-grid span{color:var(--muted);margin-top:4px;font-size:12px}.saved-message{font-weight:700;color:#4d765f!important;margin-top:18px!important}.connection-card{text-align:center;background:#fff;border-radius:34px;width:min(100%,540px);padding:clamp(38px,7vw,58px) clamp(28px,6vw,44px)}.connection-card>p:last-of-type{color:var(--muted);line-height:1.7}.connection-card .primary-button{margin-top:18px}.round-icon{color:#9c654c;background:#f7e3d6;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 22px;font-size:36px;display:grid}.star-orbit{color:#e8be4b;border:2px dashed #b8caa8;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 24px;font-size:30px;animation:5s linear infinite spin;display:grid}.sky-decoration{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-decoration span{background:#ecd67a24;border-radius:50%;position:absolute}.sky-decoration span:first-child{width:230px;height:230px;top:-95px;right:-70px}.sky-decoration span:nth-child(2){background:#a8c9941f;width:120px;height:120px;top:28%;left:-75px}.sky-decoration span:nth-child(3){background:#97bec91a;width:90px;height:90px;top:58%;right:-48px}.meadow{z-index:0;pointer-events:none;border-radius:50% 50% 0 0;width:65vw;height:210px;position:fixed;bottom:-105px}.meadow-left{background:#c2db9994;left:-12vw;transform:rotate(4deg)}.meadow-right{background:#90be776b;right:-14vw;transform:rotate(-5deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%{opacity:1;transform:scale(.96)}to{opacity:0;transform:scale(1.22)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){:root{--page-gap:clamp(10px, 1.55dvh, 15px)}.page-shell{padding:max(10px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom))}.app-header{grid-template-columns:46px minmax(0,1fr) 46px;min-height:44px}.back-button{width:42px;height:42px;font-size:33px}.brand-title{font-size:16px}.mode-badge{padding:5px 7px;font-size:10px}.hero-card{grid-template-columns:1.15fr .85fr}.hero-copy{padding:clamp(20px,5vw,28px)}.hero-copy h1{font-size:clamp(30px,8vw,40px)}.hero-bus{font-size:clamp(62px,19vw,82px);right:14px}.hero-star{font-size:24px;right:18px}.cloud-one{transform-origin:0;transform:scale(.62)}.cloud-two{transform-origin:100%;transform:scale(.45)}.steps-card{padding:clamp(16px,4vw,22px)}.steps-list li{padding:8px 11px}.step-number{flex-basis:34px;width:34px;height:34px}.steps-list strong{font-size:14px}.steps-list p{font-size:12px}.primary-button{min-height:54px}.scene-caption{padding:8px 12px 9px;font-size:13px}.prompt-card{border-radius:20px;gap:12px;padding:12px 14px}.prompt-icon{border-radius:14px;width:44px;height:44px;font-size:23px}.prompt-card h2{font-size:15px;line-height:1.4}.record-card{border-radius:22px;gap:10px 16px;padding:12px 16px}.record-copy strong{font-size:15px}.record-copy span{font-size:12px}.hint-row{grid-template-columns:minmax(0,1fr) minmax(150px,1.15fr);gap:10px}.text-button{font-size:12px}.next-button{min-height:48px;padding:0 14px;font-size:13px}.question-recap{border-radius:20px;padding:12px 14px}.recap-avatar{width:44px;height:44px;font-size:24px}.question-recap strong{font-size:15px}.robot-stage{grid-template-columns:minmax(92px,.32fr) minmax(0,1fr);padding:clamp(18px,4vw,24px)}.robot-avatar{border-width:7px;width:clamp(88px,25vw,120px)}.antenna{font-size:26px;top:-27px}.robot-face{letter-spacing:3px;font-size:clamp(21px,6vw,28px)}.speech-bubble{border-radius:22px;padding:clamp(16px,4vw,22px)}.speech-bubble h2{font-size:clamp(19px,5vw,24px)}.speech-bubble p:not(.eyebrow){font-size:12px}.listen-button{padding:9px 14px;font-size:12px}.choice-section{padding:clamp(16px,4vw,22px)}.choice-section h2{font-size:clamp(20px,5.5vw,25px)}.choice-card{border-radius:20px;padding:10px 8px}.choice-card strong{font-size:clamp(15px,4vw,18px)}.choice-card>span:last-child{font-size:11px}.feedback-card,.summary-card{padding-left:20px;padding-right:20px}.focus-comparison{text-align:left;flex-direction:column;align-items:flex-start;gap:4px}.result-grid{gap:7px}.result-grid strong{font-size:22px}}@media (width<=420px),(height<=700px){:root{--page-gap:8px}.page-shell{padding-top:max(7px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom))}.app-header{min-height:40px}.back-button{width:38px;height:38px;font-size:30px}.progress-track{margin-top:6px}.progress-block>div:first-child{font-size:12px}.welcome-page{grid-template-rows:auto minmax(0,.82fr) minmax(0,1.28fr) auto auto}.hero-copy{padding:18px}.hero-copy h1{font-size:clamp(28px,8vw,34px)}.steps-card{gap:8px;padding:14px 16px}.steps-list{gap:5px}.steps-list li{padding:5px 9px}.steps-list p{margin-top:1px;font-size:11px}.step-number{flex-basis:30px;width:30px;height:30px;font-size:13px}.primary-button{min-height:48px}.privacy-note{font-size:10px}.question-page{grid-template-rows:auto auto minmax(0,1.55fr) auto minmax(0,.8fr) auto}.record-button{width:62px;height:62px}.record-icon{font-size:26px}.scene-caption{padding-top:6px;padding-bottom:7px}.prompt-card{padding-top:9px;padding-bottom:9px}.next-button{min-height:44px}.robot-page{grid-template-rows:auto auto auto minmax(0,1.08fr) minmax(0,.92fr)}.question-recap{padding:7px 10px}.recap-avatar{width:38px;height:38px;font-size:21px}.question-recap .icon-button{width:38px;height:38px}.robot-stage{gap:11px;padding:13px}.robot-avatar{border-width:5px;width:clamp(72px,22vw,92px)}.antenna{font-size:21px;top:-22px}.speech-bubble{padding:12px 14px}.speech-bubble .eyebrow{margin-bottom:4px;font-size:9px}.speech-bubble h2{font-size:clamp(17px,4.7vw,21px)}.speech-bubble p:not(.eyebrow){margin-top:5px;font-size:11px}.listen-button{margin-top:8px;padding:7px 11px;font-size:11px}.choice-section{padding:12px}.choice-section h2{font-size:19px}.choice-section>p{margin:3px 0 8px;font-size:11px}.choice-grid{height:clamp(104px,17dvh,132px)}.choice-card{border-radius:17px}.choice-emoji{margin-bottom:4px;font-size:26px}.choice-card strong{font-size:14px}.choice-card>span:last-child{margin-top:3px;font-size:10px}.feedback-card,.summary-card{padding-top:22px;padding-bottom:22px}.feedback-burst{width:70px;margin-bottom:14px}.feedback-card h1,.summary-card h1{font-size:28px}.feedback-card>p:not(.eyebrow),.summary-card>p:not(.eyebrow){margin-top:9px;font-size:13px;line-height:1.55}.focus-comparison{margin-top:14px;padding:10px 14px}.speak-button.centered{margin-top:14px}.trophy{width:74px;margin-bottom:14px}.stars{margin-top:12px;font-size:26px}.result-grid{margin-top:14px}.result-grid div{padding:9px 5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
