:root{--teal: #2ec4b6;--teal-deep: #12968a;--orange: #ff8a3d;--orange-deep: #f46b1b;--navy: #163a5f;--sky: #bbebf1;--sky-2: #bbebf1;--cream: #fff9f0;--yellow: #ffe566;--white: #ffffff;--wrong: #ff6b8a;--ok: #1aa896;--soft: #5a7a94;--grid: rgba(46, 196, 182, .18);--radius-card: 28px;--radius-btn: 999px;--font: "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "Yu Gothic", "Noto Sans JP", sans-serif;--tap: 64px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font);color:var(--navy);background:var(--sky);touch-action:manipulation;-webkit-user-select:none;user-select:none}button,input{font-family:inherit}ruby rt{font-size:.45em;color:var(--soft)}.app-sky{min-height:100dvh;height:100%;background:radial-gradient(circle at 7% 7%,#ffffff 0 42px,transparent 43px),radial-gradient(circle at 93% 6%,#ffffff 0 56px,transparent 57px),radial-gradient(circle at 4% 48%,#fff8 0 28px,transparent 29px),linear-gradient(180deg,var(--sky) 0%,var(--sky-2) 68%,#f4e89a 86%,#ffe566 100%);position:relative;overflow:hidden}.stage{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 20px max(16px,env(safe-area-inset-bottom));gap:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}.brand-mark{width:40px;height:40px;border-radius:50%;background:var(--white);border:3px solid var(--navy);display:grid;place-items:center;color:var(--teal-deep);font-size:18px}.badge{background:var(--white);border:3px solid var(--navy);border-radius:var(--radius-btn);padding:6px 14px;font-size:clamp(11px,1.6vw,14px);font-weight:800;max-width:min(52vw,420px);line-height:1.35;text-align:center}.kid-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:12px 28px;border-radius:var(--radius-btn);border:3px solid var(--navy);font-size:22px;font-weight:800;color:var(--navy);background:var(--teal);box-shadow:0 5px 0 var(--navy);cursor:pointer}.kid-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--navy)}.kid-btn.orange{background:var(--orange);color:var(--white)}.kid-btn.ghost{background:var(--white)}.kid-btn:disabled{opacity:.45;pointer-events:none}.card{background:var(--cream);border:3px solid var(--navy);border-radius:var(--radius-card);box-shadow:0 6px 0 var(--navy);padding:18px 20px}.bubble{position:relative;background:var(--white);border:3px solid var(--navy);border-radius:22px;padding:12px 16px;font-size:18px;font-weight:700;line-height:1.6}.bubble:after{content:"";position:absolute;left:28px;bottom:-14px;width:18px;height:18px;background:var(--white);border-right:3px solid var(--navy);border-bottom:3px solid var(--navy);transform:rotate(45deg)}.feedback{text-align:center;font-weight:800;font-size:18px;padding:10px 14px;border-radius:16px;border:3px solid var(--navy)}.feedback.ok{background:#d8fff6;color:var(--ok)}.feedback.ng{background:#ffe4ea;color:var(--wrong)}.offline-prep{margin:12px 16px 0;padding:12px 16px;border-radius:20px;background:#ffffffd1;border:3px solid var(--navy);max-width:720px}.offline-prep-status{font-size:15px;font-weight:800;line-height:1.45}.offline-progress{margin-top:10px}.offline-progress-track{height:14px;border-radius:999px;background:#163a5f1f;border:2px solid var(--navy);overflow:hidden}.offline-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal) 0%,var(--teal-deep) 100%);transition:width .2s ease-out}.offline-progress-meta{margin-top:6px;font-size:13px;font-weight:800;color:var(--navy)}.offline-prep-error{margin-top:6px;font-size:12px;font-weight:700;color:var(--wrong);word-break:break-all}.offline-prep-steps{margin:10px 0 0 1.2em;padding:0;font-size:13px;font-weight:700;color:var(--navy);line-height:1.55}.offline-prep-steps li{margin-bottom:4px}.offline-prep-hint{margin-top:8px;font-size:13px;font-weight:700;color:var(--soft);line-height:1.5}.offline-prep-hint.warn{color:var(--orange-deep)}.offline-prep-hint.ok{color:var(--ok)}.offline-retry{margin-top:10px;min-height:44px;padding:0 18px;border-radius:999px;border:3px solid var(--navy);background:var(--orange);color:var(--white);font-size:15px;font-weight:900;cursor:pointer}.offline-retry:disabled{opacity:.6;cursor:wait}.offline-prep-ready{border-color:var(--ok)}.offline-prep-ready .offline-prep-status{color:var(--ok)}.offline-prep-partial .offline-prep-status,.offline-prep-loading .offline-prep-status,.offline-prep-error .offline-prep-status{color:var(--orange-deep)}.start{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:center}.start-hero{width:100%;height:min(70dvh,640px);object-fit:contain}.start-copy{width:100%;max-width:640px;justify-self:center;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:12px}.start-copy h1{font-size:clamp(28px,4vw,44px);line-height:1.25}.start-copy .lead{font-size:20px;line-height:1.75}.start-copy .bubble{width:100%;text-align:center}.start-copy .bubble:after{left:50%;margin-left:-9px}.start-copy .kid-btn{width:100%}.scope-device{position:relative;flex:1;min-height:0;background:var(--navy);border:6px solid var(--white);outline:4px solid var(--navy);border-radius:36px;overflow:hidden;display:flex;flex-direction:column}.scope-device.armed{border-color:var(--teal);outline-color:var(--teal-deep);box-shadow:0 0 24px #2ec4b659}.scope-body{flex:1;min-height:0;position:relative}.scope-hud{flex-shrink:0;background:#2ec4b61a;border-top:2px solid rgba(46,196,182,.28)}.scope-hud-top{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;font-size:12px;font-weight:800;color:var(--teal-deep)}.scope-mode{font-size:10px;font-weight:700;color:var(--soft);background:#2ec4b61f;border:1px solid rgba(46,196,182,.2);border-radius:6px;padding:1px 6px}.scope-hud-status{display:flex;align-items:center;gap:5px;padding:3px 12px 5px;font-size:11px;color:var(--soft);background:#0003}.scope-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:scope-blink 1s ease-in-out infinite}@keyframes scope-blink{0%,to{opacity:1}50%{opacity:.2}}.scope-nub{position:absolute;top:18%;width:18px;height:42px;background:var(--orange);border:3px solid var(--navy);z-index:2}.scope-device.armed .scope-nub{border-color:var(--teal-deep)}.scope-nub.left{left:-12px;border-radius:10px 0 0 10px}.scope-nub.right{right:-12px;border-radius:0 10px 10px 0}.scope-device.plain{border-color:var(--cream);outline-color:var(--navy)}.scope-device.plain .scope-body,.scope-device.idle .scope-body{display:flex;flex-direction:column}.scope-stage{position:relative;width:100%;height:100%;background:#111}.scope-stage img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.panel-camera{position:relative;width:100%;height:100%;background:#111;overflow:hidden;cursor:pointer}.panel-camera video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(1)}.panel-camera-hud{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:18px;pointer-events:none;background:linear-gradient(180deg,rgba(22,58,95,.15) 0%,transparent 30%,transparent 70%,rgba(22,58,95,.45) 100%)}.panel-camera-frame{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:3px dashed rgba(46,196,182,.75);border-radius:24px;box-shadow:0 0 0 999px #163a5f2e}.panel-camera-caption{position:relative;z-index:1;margin-bottom:8px;padding:8px 16px;border-radius:999px;background:#163a5fd1;color:var(--white);font-size:15px;font-weight:800}.hotspot{position:absolute;border-radius:18px;pointer-events:none;border:none;padding:0;background:transparent}.hotspot.armed{pointer-events:auto;cursor:pointer;z-index:3}.hotspot.debug{outline:2px dashed var(--orange);background:#ff8a3d2e;pointer-events:none}.mask-debug{position:absolute;top:0;right:0;bottom:0;left:0;background:#48c87861;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-mode:luminance;mask-mode:luminance;pointer-events:none;z-index:2}.found-mark{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:5}.found-mark-burst{position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;border-radius:50%;background:radial-gradient(circle,rgba(255,77,138,.75) 0%,rgba(255,255,255,.35) 28%,transparent 68%);animation:found-burst .75s ease-out forwards}.found-mark-ring{position:absolute;border-radius:50%;transform:scale(0);opacity:0}.found-mark-ring.outer{top:0;right:0;bottom:0;left:0;border:4px solid #ff498a;box-shadow:0 0 0 5px #fffffff5,0 0 0 8px #ff498a47,0 0 18px #ff498a8c;animation:found-ring-pop .65s cubic-bezier(.34,1.56,.64,1) forwards,found-ring-glow 2.2s ease-in-out .65s infinite}.found-mark-ring.inner{top:20%;right:20%;bottom:20%;left:20%;border:2px dashed rgba(255,255,255,.85);box-shadow:0 0 8px #ff498a73;animation:found-ring-pop .65s .1s cubic-bezier(.34,1.56,.64,1) forwards}.found-mark-cross{position:absolute;background:#fffffff2;box-shadow:0 0 4px #ff498ab3;opacity:0;animation:found-cross-in .4s .25s ease-out forwards}.found-mark-cross.h{left:8%;right:8%;top:50%;height:2px;margin-top:-1px}.found-mark-cross.v{top:8%;bottom:8%;left:50%;width:2px;margin-left:-1px}.found-mark-corner{position:absolute;width:22%;height:22%;border:3px solid rgba(255,255,255,.9);opacity:0;animation:found-corner-in .45s .2s ease-out forwards}.found-mark-corner.tl{top:2%;left:2%;border-right:none;border-bottom:none;border-top-left-radius:8px}.found-mark-corner.tr{top:2%;right:2%;border-left:none;border-bottom:none;border-top-right-radius:8px}.found-mark-corner.bl{bottom:2%;left:2%;border-right:none;border-top:none;border-bottom-left-radius:8px}.found-mark-corner.br{bottom:2%;right:2%;border-left:none;border-top:none;border-bottom-right-radius:8px}.found-mark-dot{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ff498a;box-shadow:0 0 0 3px #fffffff2,0 0 10px #ff498acc;opacity:0;animation:found-dot-pop .35s .3s cubic-bezier(.34,1.56,.64,1) forwards}.found-mark-label{position:absolute;left:50%;bottom:-32%;transform:translate(-50%) scale(.4);white-space:nowrap;padding:5px 14px;border-radius:999px;background:linear-gradient(180deg,var(--navy) 0%,#0f2d4a 100%);color:#fff;border:3px solid rgba(255,255,255,.92);box-shadow:0 4px #12968a8c,0 0 16px #ff498a59;font-size:clamp(12px,1.5vw,16px);font-weight:900;letter-spacing:.06em;opacity:0;animation:found-label-pop .6s .42s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes found-burst{0%{transform:scale(.15);opacity:1}to{transform:scale(2.2);opacity:0}}@keyframes found-ring-pop{0%{transform:scale(0);opacity:0}65%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes found-ring-glow{0%,to{box-shadow:0 0 0 5px #fffffff5,0 0 0 8px #ff498a47,0 0 18px #ff498a8c}50%{box-shadow:0 0 0 5px #fff,0 0 0 9px #ff498a6b,0 0 28px #ff498ad9,0 0 10px #2ec4b673}}@keyframes found-cross-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes found-corner-in{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}@keyframes found-dot-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes found-label-pop{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.4)}70%{opacity:1;transform:translate(-50%) translateY(-3px) scale(1.08)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.hint-ripple{position:absolute;transform:translate(-50%,-50%);border-radius:50%;aspect-ratio:1;height:auto;pointer-events:none;z-index:1;animation:hint-appear .45s ease-out forwards}.hint-ripple.emphasized{border:3px solid rgba(255,230,102,.75);background:radial-gradient(circle,rgba(255,230,102,.35) 0%,rgba(46,196,182,.2) 45%,transparent 72%);box-shadow:0 0 24px #ffe66673;animation:hint-appear .45s ease-out forwards,hint-ripple-strong 1.6s ease-in-out .45s infinite}.hint-ripple.emphasized.scan-flash-once{animation:hint-appear .45s ease-out forwards,hint-ripple-strong 1.6s ease-in-out .45s infinite,hint-scan-flash .65s ease-out var(--scan-delay, 0s) 1}.hint-reticle{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;height:auto;pointer-events:none;z-index:2;display:flex;align-items:center;justify-content:center;animation:hint-appear .5s ease-out forwards}.hint-reticle-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px dashed var(--yellow);box-shadow:0 0 14px #ffe666a6;animation:hint-reticle-pulse 1.4s ease-in-out infinite}.hint-reticle-ring.scan-flash-once{animation:hint-reticle-pulse 1.4s ease-in-out infinite,hint-scan-flash .65s ease-out var(--scan-delay, 0s) 1}.hint-reticle-mark{position:relative;z-index:1;font-size:clamp(18px,2.2vw,28px);font-weight:900;color:var(--yellow);text-shadow:0 0 10px var(--yellow),0 0 4px var(--navy);animation:hint-mark-bounce 1.4s ease-in-out infinite}@keyframes hint-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes hint-ripple-strong{0%,to{transform:translate(-50%,-50%) scale(.94);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}@keyframes hint-reticle-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes hint-mark-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes hint-scan-flash{0%{box-shadow:0 0 8px #ffe66666;filter:brightness(1)}45%{box-shadow:0 0 32px #ffe666f2,0 0 16px #2ec4b6bf;filter:brightness(1.35)}to{box-shadow:0 0 14px #ffe6668c;filter:brightness(1)}}.scope-scan-line{position:absolute;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(46,196,182,.25) 15%,var(--teal) 50%,rgba(46,196,182,.25) 85%,transparent 100%);box-shadow:0 0 16px #2ec4b6bf;pointer-events:none;z-index:4;animation:scope-scan-sweep 2.2s ease-in-out forwards}@keyframes scope-scan-sweep{0%{top:0;opacity:.95}92%{opacity:.85}to{top:calc(100% - 4px);opacity:0}}.rescan-btn{flex-shrink:0;box-sizing:border-box;min-width:180px;min-height:52px;padding:12px 20px;border-radius:var(--radius-btn);border:3px solid var(--teal-deep);background:#ffffffeb;color:var(--teal-deep);font-size:15px;font-weight:800;cursor:pointer;transition:border-color .35s,color .35s,background .35s,box-shadow .35s}.rescan-btn.emphasized{border-color:var(--orange);color:var(--orange-deep);background:#fff4eb;box-shadow:0 0 0 3px #ff8a3d47;animation:rescan-emphasis 1.35s ease-in-out infinite}.compare-guide.rescan-guide{color:var(--orange-deep);font-weight:800}@keyframes rescan-emphasis{0%,to{box-shadow:0 0 0 3px #ff8a3d47}50%{box-shadow:0 0 0 5px #ff8a3d66}}.rescan-btn:active{filter:brightness(.96)}.rescan-btn.emphasized:active{animation:none}.anom{position:absolute;width:76px;height:76px;transform:translate(-50%,-50%);cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0}.anom-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px dashed var(--yellow);box-shadow:0 0 12px var(--yellow);animation:anom-pulse 1.4s ease-in-out infinite}.anom-q{position:relative;z-index:1;font-size:28px;font-weight:900;color:var(--yellow);text-shadow:0 0 10px var(--yellow);pointer-events:none;animation:anom-pulse 1.4s ease-in-out infinite}.anom.found .anom-ring{border-style:solid;border-color:var(--teal);box-shadow:0 0 16px var(--teal);animation:none}.anom.found .anom-q{color:var(--teal);text-shadow:0 0 10px var(--teal);animation:none}.anom.found .anom-q:after{content:"✓"}.anom.found .anom-q{font-size:0}.anom.found .anom-q:after{font-size:28px}@keyframes anom-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.12)}}.split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:16px}.compare-board{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.compare-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.compare-question{position:relative;width:min(100%,720px);margin-top:10px;padding:20px 22px 14px;background:var(--white);border:3px solid var(--navy);border-radius:24px;box-shadow:0 4px 0 var(--navy)}.compare-question-label{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);padding:2px 16px;border-radius:999px;border:3px solid var(--navy);background:var(--teal);color:var(--navy);font-size:13px;font-weight:900;letter-spacing:.08em;line-height:1.3}.compare-prompt{font-size:clamp(20px,2.6vw,26px);font-weight:800;line-height:1.55}.compare-hint{width:min(100%,720px);min-height:3.2em;font-size:16px;font-weight:700;line-height:1.6;color:var(--soft)}.compare-stage{position:relative;container-type:size;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.compare-stage .scope-device{flex:none;min-height:0;width:min(100%,calc(100cqh * 4961 / 7016));height:min(100cqh,calc(100cqw * 7016 / 4961));max-width:none;max-height:none;margin:0}.scope-image{container-type:size}.find-progress{position:absolute;top:10px;right:10px;z-index:10;display:flex;align-items:baseline;gap:2px;padding:6px 12px;border-radius:999px;background:#163a5fe0;color:var(--white);font-weight:900;font-size:18px;font-size:clamp(16px,5.6cqw,24px);letter-spacing:.04em;box-shadow:0 4px 14px #163a5f59;pointer-events:none}.find-progress-sep{font-size:.85em;opacity:.75;margin:0 4px}.compare-pair{position:relative;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-pane{min-width:0;min-height:0;display:flex;flex-direction:column;gap:6px}.compare-label{text-align:center;font-size:16px;font-weight:800}.compare-label.scope{color:var(--teal-deep)}.compare-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}.compare-actions-spacer{display:inline-block;min-width:180px;height:52px}.compare-guide{font-size:16px;font-weight:700;color:var(--soft);line-height:1.45;min-height:2.9em;flex:1;max-width:58%;transition:color .3s}.compare-guide.nudge{color:var(--teal-deep);animation:nudge-pop .4s ease}@keyframes nudge-pop{0%{transform:scale(1)}30%{transform:scale(1.08)}to{transform:scale(1)}}.tap-ping{position:absolute;width:60px;height:60px;margin-left:-30px;margin-top:-30px;border-radius:50%;border:2.5px solid var(--teal-deep);pointer-events:none;z-index:20;animation:ping-expand 1.1s ease-out forwards}.tap-ping:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:1.5px dashed var(--teal-deep);opacity:.5;animation:ping-spin 1.1s linear}.tap-ping.miss{border-color:var(--orange);border-width:4px;width:156px;height:156px;margin-left:-78px;margin-top:-78px;animation:miss-ping .95s ease-out forwards}.tap-ping.miss:after{border-color:var(--orange);border-width:2.5px;top:16px;right:16px;bottom:16px;left:16px;animation:ping-spin .95s linear}@keyframes miss-ping{0%{transform:scale(.25);opacity:1}70%{opacity:.75}to{transform:scale(1.35);opacity:0}}@keyframes ping-expand{0%{transform:scale(.3);opacity:1}70%{opacity:.6}to{transform:scale(1.6);opacity:0}}@keyframes ping-spin{to{transform:rotate(180deg)}}.launch-btn-wrap{display:contents}.launch-btn-wrap.bounce .kid-btn{animation:btn-bounce .5s ease}@keyframes btn-bounce{0%,to{transform:scale(1);box-shadow:0 3px 0 var(--teal-deep)}25%{transform:scale(1.1);box-shadow:0 4px 12px #00c0c473}50%{transform:scale(.97)}}.panel{display:flex;flex-direction:column;justify-content:center;gap:14px;min-height:0}.toggle-row{display:flex;gap:8px}.chip{flex:1;min-height:48px;border-radius:var(--radius-btn);border:3px solid var(--navy);background:var(--white);font-weight:800;font-size:16px;cursor:pointer}.chip.on{background:var(--teal)}.choices{display:grid;grid-template-columns:1fr;gap:12px;flex:1;min-height:0;align-content:center;max-width:760px;margin:0 auto;width:100%;overflow-y:auto}.quiz-stage{min-height:0}.quiz-question p{font-size:22px;font-weight:800;line-height:1.6}.choice{display:flex;flex-direction:row;align-items:flex-start;gap:14px;text-align:left;padding:16px 18px;background:var(--white);border:3px solid var(--navy);border-radius:24px;box-shadow:0 5px 0 var(--navy);cursor:pointer;font-size:18px;font-weight:700;line-height:1.55;color:var(--navy)}.choice:disabled{cursor:default;opacity:.92}.choice-text{flex:1;min-width:0}.choice .num{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--teal);border:3px solid var(--navy);display:grid;place-items:center;font-weight:900}.choice.correct{background:#d8fff6}.choice.wrong{background:#ffe4ea}.quiz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#163a5f85;display:flex;flex-direction:column;justify-content:flex-end;padding:16px 20px max(20px,env(safe-area-inset-bottom))}.found-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#163a5f73;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:16px 20px max(24px,env(safe-area-inset-bottom));pointer-events:auto}.found-overlay-panel{width:min(520px,100%);border:4px solid var(--navy);border-radius:28px;padding:22px 24px;display:grid;gap:14px;justify-items:center;text-align:center;background:linear-gradient(180deg,#e8fff9,#fff 55%);box-shadow:0 8px 0 var(--navy);animation:quiz-panel-in .35s cubic-bezier(.34,1.4,.64,1)}.found-overlay-title{font-size:clamp(24px,3.2vw,32px);font-weight:900;color:var(--ok);line-height:1.4}.found-overlay-hint{font-size:clamp(16px,2vw,20px);font-weight:800;color:var(--navy)}.found-overlay-panel .kid-btn{min-width:min(320px,88%);font-size:clamp(22px,2.6vw,28px);padding:16px 28px}.quiz-overlay-panel{border:4px solid var(--navy);border-radius:28px;padding:20px 22px;display:grid;gap:14px;box-shadow:0 8px 0 var(--navy);animation:quiz-panel-in .35s cubic-bezier(.34,1.4,.64,1)}.quiz-overlay-panel.correct{background:linear-gradient(180deg,#fffef5 0%,var(--yellow) 100%)}.quiz-overlay-panel.wrong{background:#fff5f7}.quiz-overlay-title{text-align:center;font-size:clamp(28px,3.4vw,36px);font-weight:900;color:var(--ok)}.quiz-overlay-message{font-size:clamp(18px,2.2vw,22px);font-weight:800;line-height:1.65;text-align:center;padding:14px 16px;border-radius:18px;border:3px solid var(--navy)}.quiz-overlay-message.ok{background:#d8fff6;color:var(--navy)}.quiz-overlay-message.ng{background:#ffe4ea;color:var(--wrong)}.quiz-overlay-hint{text-align:center;font-size:14px;font-weight:700;color:var(--soft)}@keyframes quiz-panel-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.scan-wrap{flex:1;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:12px;justify-items:center}.scan-stage{container-type:size;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.scan-view{position:relative;width:min(100%,75cqh);height:min(100cqh,calc(100cqw * 4 / 3));background:#111;border-radius:36px;overflow:hidden;border:6px solid var(--white);outline:4px solid var(--navy)}.scan-view video{width:100%;height:100%;object-fit:cover}.scan-view.is-opening{display:grid;place-items:center;background:linear-gradient(160deg,#1a4a6e,#0f2a44)}.scan-view.is-scanning video{filter:saturate(1.05) brightness(.92)}.qr-scan-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f2a4447;pointer-events:none;z-index:2}.qr-scan-line{z-index:3}.scan-opening{color:var(--white);font-size:clamp(22px,4vw,32px);font-weight:900;letter-spacing:.04em}.qr-scan-label{position:absolute;left:50%;bottom:18%;transform:translate(-50%);z-index:4;padding:8px 18px;border-radius:999px;background:#0f2a44b8;border:3px solid rgba(255,255,255,.85);pointer-events:none;text-shadow:0 1px 0 rgba(0,0,0,.35)}.scan-reticle{position:absolute;top:9%;right:11%;bottom:9%;left:11%;border:4px solid var(--teal);border-radius:24px;box-shadow:0 0 0 999px #163a5f59;pointer-events:none}.scan-wrap .panel{width:min(100%,640px)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#163a5feb;display:grid;place-items:center;color:var(--white)}.launch-inner{display:flex;flex-direction:column;align-items:center;gap:18px}.launch-ring{width:220px;height:220px;border-radius:50%;border:4px solid var(--teal);box-shadow:0 0 28px #2ec4b666;position:relative;animation:spin 2s linear infinite}.launch-ring-inner{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:50%;border:2px solid rgba(46,196,182,.3);animation:spin 1.2s linear infinite reverse}.launch-cross{position:absolute;background:#2ec4b659}.launch-cross.h{width:100%;height:1px;top:50%;transform:translateY(-50%)}.launch-cross.v{height:100%;width:1px;left:50%;transform:translate(-50%)}.launch-corner{position:absolute;width:18px;height:18px;border-color:var(--teal);border-style:solid;border-width:0}.launch-corner.tl{top:-4px;left:-4px;border-top-width:3px;border-left-width:3px}.launch-corner.tr{top:-4px;right:-4px;border-top-width:3px;border-right-width:3px}.launch-corner.bl{bottom:-4px;left:-4px;border-bottom-width:3px;border-left-width:3px}.launch-corner.br{bottom:-4px;right:-4px;border-bottom-width:3px;border-right-width:3px}.launch-beam{position:absolute;left:0;right:0;height:50px;background:linear-gradient(180deg,transparent,rgba(46,196,182,.3) 50%,transparent);animation:beam-sweep 1.4s ease-in-out infinite}@keyframes beam-sweep{0%{top:-50px}to{top:220px}}.launch-msg{font-size:22px;font-weight:900;color:var(--teal);letter-spacing:.06em;animation:launch-blink 1.1s ease-in-out infinite}.launch-sub{font-size:14px;color:var(--soft)}.launch-dots{display:flex;gap:9px}.launch-dots span{width:9px;height:9px;border-radius:50%;background:var(--teal);opacity:.3}.launch-dots span:nth-child(1){animation:dot-pulse 1.2s 0s infinite}.launch-dots span:nth-child(2){animation:dot-pulse 1.2s .2s infinite}.launch-dots span:nth-child(3){animation:dot-pulse 1.2s .4s infinite}@keyframes launch-blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.ring{width:220px;height:220px;border-radius:50%;border:6px solid var(--teal);position:relative;animation:spin 2s linear infinite}.ring:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:50%;border:3px solid var(--orange);animation:spin 1.2s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid.single{grid-template-columns:1fr;max-width:520px;margin:0 auto;width:100%}.field{display:flex;flex-direction:column;gap:6px;font-weight:800}.field input{min-height:56px;border-radius:16px;border:3px solid var(--navy);padding:8px 12px;font-size:20px}.field input.mismatch{border-color:var(--wrong);background:#ffe4ea}.keyword-sheet{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:16px;padding:8px 12px 16px;overflow:auto}.keyword-lead{font-size:18px;font-weight:800;text-align:center}.keyword-particle{font-size:28px;font-weight:900;line-height:1}.keyword-field{width:min(520px,94vw);display:grid;gap:10px;justify-items:stretch}.keyword-field-label{font-size:16px;font-weight:800;color:var(--navy);text-align:left}.keyword-field-len{font-size:13px;font-weight:700;color:var(--soft)}.keyword-text-input{width:100%;min-height:52px;padding:12px 16px;border:3px solid var(--navy);border-radius:12px;background:var(--white);color:var(--navy);font-size:22px;font-weight:700;font-family:inherit;outline:none;box-shadow:inset 0 2px #163a5f0f}.keyword-text-input:focus{border-color:var(--teal-deep);box-shadow:0 0 0 3px #2ec4b647}.keyword-text-input::placeholder{color:#9bb0c2;font-weight:600}.keyword-field.mismatch .keyword-text-input{border-color:var(--wrong);background:#fff7f9}.letter-row{display:flex;justify-content:center;gap:0;pointer-events:none;-webkit-user-select:none;user-select:none}.letter-box{width:52px;height:64px;display:grid;place-items:center;border:3px solid var(--navy);border-right-width:0;background:var(--cream);font-size:28px;font-weight:900;color:var(--navy)}.letter-box:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.letter-box:last-of-type{border-right-width:3px;border-top-right-radius:8px;border-bottom-right-radius:8px}.letter-box.filled{background:var(--white)}.letter-row.mismatch .letter-box{border-color:var(--wrong);background:#ffe4ea}.survey-qr{width:min(280px,40vw);height:auto;background:var(--white);padding:12px;border-radius:20px;border:3px solid var(--navy)}.ending-video-card{max-width:min(720px,94vw);width:100%;display:grid;gap:16px;text-align:center;justify-items:center}.ending-video{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:18px;overflow:hidden;background:#0f2d4a;border:3px solid var(--navy)}.ending-video video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;object-fit:contain;background:#000}.stub{flex:1;display:grid;place-items:center;text-align:center}.complete-card{max-width:min(720px,94vw);width:100%;text-align:center;display:grid;gap:16px;justify-items:center}.complete-title{font-size:clamp(28px,4vw,36px)}.complete-body{font-size:clamp(18px,2.4vw,22px);line-height:1.8}.complete-card .kid-btn{max-width:100%;white-space:normal;line-height:1.45;padding:16px 22px;font-size:clamp(16px,2vw,20px)}.last-success-card{max-width:min(640px,94vw);width:100%;text-align:center;display:grid;gap:18px;justify-items:center}.last-success-title{font-size:clamp(36px,6vw,52px);font-weight:900;color:var(--orange-deep)}.last-success-guide{font-size:clamp(20px,2.8vw,26px);font-weight:800;line-height:1.7}.last-success-card .ending-video{width:100%}.last-survey-card{max-width:min(720px,94vw);width:100%;display:grid;gap:18px;justify-items:center;text-align:center;padding:28px 28px 24px}.last-survey-card h2{font-size:clamp(26px,3.4vw,34px);line-height:1.4}.last-survey-guide{font-size:clamp(20px,2.6vw,24px);font-weight:800;line-height:2.15;padding-top:.35em}.last-survey-guide ruby rt,.last-survey-card ruby rt{font-size:.55em;font-weight:800;color:var(--navy)}.last-choice-block{width:min(560px,94vw);display:grid;gap:12px;justify-items:center}.last-choice-prompt{font-size:16px;font-weight:800;color:var(--navy);align-self:start}.last-choice-list{width:100%;display:grid;gap:10px}.last-choice-btn{width:100%;min-height:56px;padding:12px 18px;border-radius:18px;border:3px solid var(--navy);background:var(--white);color:var(--navy);font-size:20px;font-weight:800;font-family:inherit;cursor:pointer;text-align:center}.last-choice-btn.selected{background:var(--teal);box-shadow:0 4px 0 var(--navy)}.last-choice-block.mismatch .last-choice-btn{border-color:var(--wrong)}.last-choice-block.mismatch .letter-box{border-color:var(--wrong);background:#ffe4ea}.dev-nav{flex-shrink:0;background:var(--white);border:3px solid var(--navy);border-radius:20px;padding:10px 12px;box-shadow:0 4px 0 var(--navy)}.dev-nav-label{font-size:12px;font-weight:800;color:var(--soft);margin-bottom:8px}.dev-nav-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dev-nav-btn{min-height:52px;border:3px solid var(--navy);border-radius:16px;background:var(--cream);color:var(--navy);font-weight:800;font-size:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.2}.dev-nav-btn span{font-size:11px;font-weight:700;color:var(--soft)}.dev-nav-btn.last{background:var(--yellow)}.stage:has(.dev-nav) .start-hero{height:min(52dvh,480px)}@media(min-width:901px){.find-progress{top:8px;right:8px;padding:5px 10px;font-size:16px}}@media(max-width:900px){.start,.split{grid-template-columns:1fr}.start{align-content:start;gap:8px}.start-hero{height:min(52dvh,560px)}.start-copy{max-width:none;padding:0 8px 4px}.start-copy .lead{white-space:nowrap}.form-grid{grid-template-columns:1fr}.dev-nav-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
