:root{--ink:#3c3a52;--muted:#77748a;--cream:#fffaf1;--peach:#ffe4d0;--pink:#ffb8c9;--coral:#f5788d;--lav:#dcd4ff;--mint:#c9eee1;--yellow:#ffe38b;--line:#ece4d8;--shadow:0 18px 45px #cbb5a233}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:ui-rounded,"Avenir Next",Nunito,system-ui,sans-serif;background:radial-gradient(circle at 90% 4%,#fff1cb,transparent 25rem),radial-gradient(circle at 5% 85%,#e5dcff,transparent 28rem),var(--cream);min-height:100vh}.app-shell{max-width:1100px;margin:auto;padding:24px}.topbar{height:54px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.7px}.brand span{color:var(--coral)}button{font:inherit;border:0;cursor:pointer;transition:.2s transform,.2s background}.icon-btn,.timer-btn{border:1px solid var(--line);background:#fff9;padding:9px 13px;border-radius:999px;color:var(--muted);font-size:13px}.icon-btn[aria-pressed=true],.timer-btn[aria-pressed=true]{background:var(--lav);color:var(--ink);border-color:#c3b9ee}.screen{min-height:calc(100vh - 102px)}.hidden{display:none!important}.start-screen{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:20px;padding:30px 6% 60px}.eyebrow{font:500 11px ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:1.5px;color:#a5737d;margin:0 0 13px}.hero-copy h1{font-size:clamp(45px,6vw,76px);letter-spacing:-4px;line-height:.98;margin:0 0 21px;font-weight:900}.hero-copy h1 em{font-style:normal;color:var(--coral)}.intro{font-size:18px;line-height:1.55;max-width:490px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:18px;margin:31px 0 17px}.primary{background:var(--coral);color:white;border-radius:14px;padding:14px 19px;font-weight:800;box-shadow:0 7px 0 #d86177}.primary:hover{transform:translateY(-2px)}.primary:active{transform:translateY(4px);box-shadow:0 2px 0 #d86177}.primary:disabled{opacity:.48;box-shadow:none;transform:none;cursor:not-allowed}.text-btn{background:none;color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-color:var(--pink);text-underline-offset:4px}.tiny-stats{display:flex;gap:9px;color:#a29cac;font-size:13px}.bird-stage{position:relative;display:grid;place-items:center;align-content:center;min-height:300px}.bird-stage.large{min-height:400px}.halo{position:absolute;width:300px;height:300px;border-radius:50%;background:var(--peach);filter:blur(1px)}.bird{position:relative;z-index:1;font-size:128px;line-height:1;filter:drop-shadow(0 14px 10px #5b506533);animation:bounce 2.3s ease-in-out infinite;user-select:none}.large .bird{font-size:185px}.bird.curious{animation:tilt 2s ease-in-out infinite}.bird.sleepy{animation:none;transform:rotate(10deg);filter:grayscale(.2)}.bird.angry{animation:puff .55s ease-in-out infinite}.speech{position:relative;z-index:2;background:#fff;border-radius:15px;padding:10px 14px;font-size:14px;font-weight:800;box-shadow:0 8px 25px #8f718220;color:var(--ink);max-width:210px;text-align:center}.large .speech{margin-top:-30px}.sky i{position:fixed;color:#f8b1bd;font-style:normal;opacity:.55;animation:float 6s ease-in-out infinite;pointer-events:none}.sky i:nth-child(1){top:18%;left:7%}.sky i:nth-child(2){top:67%;left:4%;animation-delay:-2s}.sky i:nth-child(3){top:24%;right:8%;animation-delay:-4s}.sky i:nth-child(4){bottom:5%;right:13%;animation-delay:-1s}.sky i:nth-child(5){top:47%;right:3%;animation-delay:-3s}.modal-screen{position:fixed;inset:0;background:#51495855;z-index:4;display:grid;place-items:center;padding:20px;backdrop-filter:blur(5px)}.card{background:#fffdf9;border:1px solid #fff;border-radius:27px;box-shadow:var(--shadow);padding:38px;position:relative}.instructions-card{max-width:750px;text-align:center}.close-btn{position:absolute;right:17px;top:12px;background:none;color:var(--muted);font-size:30px}.card h2{font-size:34px;letter-spacing:-1.5px;margin:0 0 22px}.instruction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left;margin:28px 0}.instruction-grid article{background:#fff5e9;border-radius:17px;padding:18px}.instruction-grid article:nth-child(2){background:#f1efff}.instruction-grid article:nth-child(3){background:#e9f9f2}.instruction-grid b{display:grid;place-items:center;width:27px;height:27px;background:white;border-radius:9px;color:var(--coral)}.instruction-grid h3{margin:13px 0 5px;font-size:16px}.instruction-grid p{margin:0;font-size:13px;line-height:1.4;color:var(--muted)}.score-key{display:flex;justify-content:center;gap:16px;margin:0 0 25px;font:12px ui-monospace,SFMono-Regular,monospace;color:var(--muted)}.game-screen{padding-top:22px}.game-meta{display:flex;justify-content:space-between;align-items:center;max-width:825px;margin:24px auto 20px}.progress{width:min(450px,56vw);height:9px;border-radius:99px;background:#eee7dd;overflow:hidden}.progress i{display:block;height:100%;width:5%;background:linear-gradient(90deg,var(--pink),var(--coral));border-radius:inherit;transition:width .4s}.score-pill{background:#fff;border-radius:14px;padding:11px 15px;color:var(--muted);box-shadow:0 5px 18px #947c8e15;font-size:13px}.score-pill strong{color:var(--coral);font-size:20px;margin-left:7px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;max-width:825px;margin:auto}.story-card{background:#fffdf9;border:1px solid #fff;border-radius:25px;padding:31px;box-shadow:var(--shadow)}.story-head{display:flex;justify-content:space-between;align-items:center}.story-tag{font:500 11px ui-monospace,SFMono-Regular,monospace;letter-spacing:1.5px;color:#ac8392}.story-card h2{font-size:25px;margin:20px 0 14px;letter-spacing:-1px}.story-text{font-size:19px;line-height:2.05;margin:0}.phrase{border-radius:7px;padding:2px 3px;cursor:pointer;transition:.15s background,.15s color;text-decoration:underline;text-decoration-color:#e3c3ca;text-decoration-thickness:2px;text-underline-offset:4px}.phrase:hover{background:#fff0dc}.phrase.selected{background:var(--yellow);text-decoration:none}.phrase.correct{background:#bfead5;color:#25694d;text-decoration:none}.phrase.wrong{background:#ffc9d3;color:#a63850;text-decoration:none}.story-hint{color:var(--muted);font-size:13px;margin:25px 0 16px}.review-actions{display:flex;justify-content:flex-end;gap:13px;align-items:center}.secondary{background:#f1eef0;color:var(--muted);border-radius:12px;padding:11px 14px;font-weight:800;font-size:14px}.shiro-panel{background:#f0edff88;border:1px solid #fff;border-radius:25px;padding:15px;text-align:center;min-height:300px}.shiro-panel .bird-stage{min-height:190px}.shiro-panel .bird{font-size:95px}.round-tip{background:#fff9;border-radius:16px;padding:15px;text-align:left}.round-tip span{font-weight:900;font-size:13px}.round-tip p{font-size:12px;line-height:1.4;color:var(--muted);margin:5px 0 0}.feedback-card,.end-card{max-width:510px;text-align:center}.feedback-card .bird,.end-card .bird{font-size:92px}.feedback-card h2{margin-bottom:9px}.feedback-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}.missed-list{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:19px 0}.missed-list span{font-size:12px;background:#fff0dc;padding:5px 8px;border-radius:7px}.feedback-score{display:flex;justify-content:space-between;align-items:center;background:#f6f4ff;border-radius:14px;padding:12px 16px;margin:20px 0;color:var(--muted);font-size:13px}.feedback-score strong{color:var(--coral);font-size:24px}.end-screen{display:grid;place-items:center;padding:25px}.final-score{display:grid;background:#fff2df;border-radius:17px;padding:15px;margin:22px 0}.final-score span,.final-score small{font-size:12px;color:var(--muted)}.final-score strong{font-size:48px;color:var(--coral);line-height:1.1}.end-card h3{font-size:15px;margin:18px 0 9px}.achievements{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-bottom:25px}.badge{background:#edf9f3;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:800}.badge.locked{background:#f3f0ed;color:#aaa;text-decoration:line-through}.confetti{position:fixed;inset:0;pointer-events:none;z-index:10;overflow:hidden}.confetti i{position:absolute;width:9px;height:14px;top:-20px;animation:fall 2.8s linear forwards}@keyframes bounce{50%{transform:translateY(-10px) rotate(-2deg)}}@keyframes tilt{50%{transform:rotate(-10deg) translateY(-3px)}}@keyframes puff{50%{transform:scale(1.1) rotate(4deg)}}@keyframes float{50%{transform:translateY(-20px) rotate(25deg)}}@keyframes fall{to{transform:translate(var(--x),110vh) rotate(700deg)}}@media(max-width:700px){.app-shell{padding:14px}.start-screen{grid-template-columns:1fr;padding:35px 3%}.hero-copy{text-align:center}.hero-copy h1{letter-spacing:-2.6px}.hero-actions,.tiny-stats{justify-content:center}.bird-stage.large{min-height:260px;grid-row:1}.large .bird{font-size:130px}.review-layout{grid-template-columns:1fr}.shiro-panel{display:flex;gap:10px;align-items:center;min-height:0}.shiro-panel .bird-stage{min-height:120px;flex:0 0 120px}.shiro-panel .bird{font-size:70px}.shiro-panel .speech{font-size:11px}.game-meta{margin-top:13px}.story-card{padding:23px}.story-text{font-size:17px;line-height:2}.instruction-grid{grid-template-columns:1fr}.score-key{flex-wrap:wrap}.card{padding:28px 20px}.card h2{font-size:28px}}@media(max-width:390px){.topbar .icon-btn span{display:none}.hero-copy h1{font-size:45px}.tiny-stats{font-size:11px}.review-actions{justify-content:space-between}}
