:root{--primary:#2787e8;--primary-dark:#1768ba;--ink:#14233b;--dialog-bg:rgba(255,255,255,.96);--radius:28px;font-family:Inter,ui-rounded,Segoe UI,sans-serif;color:var(--ink);background:#101d3c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}button{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff;outline-offset:3px}.app-shell{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 50% 15%,#29477b 0,#132447 48%,#0d1832);overflow:hidden}.game-screen,.start-screen,.complete-screen{width:min(100%,540px);height:100dvh;max-height:960px;position:relative;overflow:hidden;isolation:isolate}.game-screen{background:#192c52}.background{position:absolute;inset:0;overflow:hidden;z-index:-2;background-image:linear-gradient(180deg,#08122908 37%,#08122914 58%,#050d1f78),url(/assets/background-CFs_gPgf.png);background-size:cover;background-position:center}.orb,.city{display:none}.topbar{position:absolute;z-index:4;inset:0 0 auto;height:70px;padding:calc(13px + env(safe-area-inset-top)) 18px 8px;display:flex;align-items:center;justify-content:space-between}.chapter{padding:7px 12px;border-radius:999px;font-size:11px;font-weight:800;color:#24537c;letter-spacing:.08em;background:#ffffff94;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-button{width:40px;height:40px;border:0;border-radius:14px;background:#ffffffbf;color:#23527d;font-size:19px;cursor:pointer;box-shadow:0 4px 16px #1b496e1f}.character{position:absolute;inset:52px 0 0;z-index:1;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.character img{height:min(84dvh,865px);object-fit:contain;object-position:bottom center;filter:drop-shadow(0 20px 19px rgba(2,9,28,.36));animation:character-in .75s ease both}.character-stepa img{height:min(90dvh,900px)}.interface{position:absolute;z-index:3;inset:auto 0 0;padding:0 max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;gap:15px}.dialogue-box{min-height:170px;position:relative;width:100%;border:7px solid #2787e8;border-radius:42px;padding:30px 50px 30px 30px;text-align:left;color:#111c30;background:#fff;box-shadow:0 12px 28px #020b2347;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none}.dialogue-box:focus{outline:none}.dialogue-box:focus-visible{outline:3px solid #ffffff;outline-offset:4px}.dialogue-box:after{content:"";position:absolute;top:-7px;right:15%;width:43px;height:35px;background:#2787e8;clip-path:polygon(0 0,100% 100%,0 100%);transform:translateY(-28px)}.speaker-badge{text-align:center;position:absolute;z-index:1;left:24px;top:-36px;min-width:125px;padding:11px 1px;background:#2787e8;color:#fff;border-radius:25px;font-size:clamp(21px,6vw,29px);font-weight:750;letter-spacing:-.03em;line-height:1.05;box-shadow:0 5px 12px #0856b04d}.dialogue-text{font-size:clamp(19px,5.4vw,25px);line-height:1.3;font-weight:500}.next-indicator{position:absolute;right:21px;bottom:15px;color:var(--primary);font-size:13px;animation:cue 1s ease-in-out infinite}.choice-list{display:grid;gap:11px;max-height:45dvh;overflow:auto;padding:3px 2px 1px}.choice-button{min-height:64px;display:flex;align-items:center;gap:0;width:100%;border:0;border-radius:30px;padding:14px 24px;background:#2787e8;color:#fff;font-size:clamp(16px,4.8vw,21px);font-weight:500;line-height:1.22;text-align:left;cursor:pointer;box-shadow:0 8px 18px #01215a45;transition:transform .12s ease,filter .12s ease,background .18s ease;animation:choice-in .22s ease both}.choice-button:hover{background:#207ade;filter:brightness(1.06)}.choice-button:active{transform:scale(.97)}.choice-button span{display:none}.with-choices .dialogue-box{padding-top:30px;padding-bottom:30px}.with-choices .dialogue-text{font-size:clamp(16px,4.5vw,20px)}.dialogue-link{color:#146dc8;font-weight:750;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;position:relative;z-index:2}.dialogue-link:focus-visible{outline:3px solid #146dc8;outline-offset:3px;border-radius:4px}.start-screen,.complete-screen{padding:calc(40px + env(safe-area-inset-top)) 30px max(34px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(145deg,#162d5f,#277fce 57%,#51c6e7)}.start-glow{position:absolute;width:460px;height:460px;border-radius:50%;right:-220px;top:-150px;background:#fff3b4a6;filter:blur(14px)}.eyebrow{position:relative;margin:0 0 18px;font-size:11px;letter-spacing:.13em;font-weight:800;opacity:.82}.start-screen h1,.complete-screen h1{position:relative;margin:0;font-size:clamp(63px,18vw,95px);line-height:.82;letter-spacing:-.07em}.start-screen h1 em,.complete-screen h1 em{font-style:normal;color:#b6f4ff}.start-description{position:relative;max-width:265px;margin:30px 0 42px;font-size:18px;line-height:1.35}.start-actions{display:grid;gap:12px;position:relative}.primary-action,.secondary-action{min-height:62px;width:100%;border-radius:19px;padding:12px 19px;border:0;font-weight:800;font-size:17px;text-align:left;cursor:pointer}.primary-action{background:#fff;color:#1c5caa;box-shadow:0 11px 28px #02235640}.primary-action b{float:right;font-size:23px;line-height:.75}.secondary-action{background:#ffffff21;border:1px solid rgba(255,255,255,.55);color:#fff}.complete-screen{text-align:center;align-items:center}.complete-screen .eyebrow{color:#d5fbff}.complete-screen h1{margin-bottom:28px}.complete-screen p{position:relative;font-size:18px;font-weight:650}.complete-screen .muted{font-size:15px;font-weight:500;opacity:.75;margin:6px 0 35px}.complete-screen .primary-action{max-width:330px;text-align:left}.primary-action:disabled,.secondary-action:disabled{cursor:wait;opacity:.7}.pause-overlay{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:22px;background:#0a1b3873;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.pause-card{width:min(100%,340px);border-radius:25px;padding:24px;background:#fff;box-shadow:0 16px 45px #00000040}.pause-card p{margin:0 0 14px;font-size:25px;font-weight:850}.pause-card button{width:100%;border:0;border-top:1px solid #e5edf6;padding:17px 4px;text-align:left;color:#22598e;background:transparent;font-weight:750;cursor:pointer}.feedback-active .topbar,.feedback-active .interface{visibility:hidden}.answer-feedback{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:35px;color:#fff;text-align:center;pointer-events:none;animation:feedback-in .72s ease both}.answer-feedback:before{content:"";position:absolute;inset:0;z-index:-1;background:#051226c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.answer-feedback.correct:after,.answer-feedback.incorrect:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;z-index:-1;filter:blur(18px);opacity:.74}.answer-feedback.correct:after{background:#1acb7e}.answer-feedback.incorrect:after{background:#f05262}.feedback-icon{display:grid;place-items:center;width:100px;height:100px;border:5px solid currentColor;border-radius:50%;font-size:66px;font-weight:700;line-height:1;box-shadow:0 0 0 12px #ffffff21}.answer-feedback strong{font-size:30px;letter-spacing:-.03em}.answer-feedback span{max-width:250px;font-size:17px;font-weight:600;opacity:.92}.answer-feedback.incorrect .feedback-icon{font-size:80px}@keyframes character-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes choice-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cue{50%{transform:translateY(4px);opacity:.45}}@keyframes feedback-in{0%{opacity:0;transform:scale(1.04)}16%,78%{opacity:1;transform:none}to{opacity:0}}@media(min-width:600px){.game-screen,.start-screen,.complete-screen{height:min(92dvh,900px);border-radius:34px;box-shadow:0 26px 70px #030e256b}}@media(max-width:355px){.dialogue-box{min-height:132px;padding:29px 37px 18px 17px}.dialogue-text{font-size:16px}.choice-button{font-size:14px;min-height:52px}.character img{height:66dvh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
