:root{--navy:#294c91;--pink:#fa7084;--sky:#4fa0f2;--ink:#19233d;--card:rgba(255,255,255,.9)}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:ui-rounded,"Hiragino Maru Gothic ProN","Avenir Next",system-ui,sans-serif;background:#dceeff}button{font:inherit;cursor:pointer;border:0}#app{min-height:100svh}.page{min-height:100svh;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.42)),var(--bg) center/cover fixed;display:flex;flex-direction:column;align-items:center}.hero{justify-content:center;text-align:center}.hero h1{font-size:clamp(2rem,8vw,3.1rem);margin:0;color:var(--navy);text-shadow:0 2px #fff}.hero p{font-weight:800;font-size:clamp(1.1rem,4vw,1.5rem);margin:.55rem 0}.tap{margin-top:auto;padding:.6rem 1rem;border-radius:999px;background:#fff9;color:var(--navy);font-weight:800}.made{font-size:.85rem;color:var(--navy);margin-top:auto}.top{width:min(720px,100%);display:flex;align-items:center;gap:10px;margin-bottom:10px}.top h2{flex:1;text-align:center;color:var(--navy);margin:0;font-size:clamp(1.3rem,5vw,2rem)}.iconbtn{width:46px;height:46px;border-radius:50%;background:#fffc;color:var(--navy);font-size:1.2rem;box-shadow:0 2px 8px #2342}.card{width:min(620px,100%);background:var(--card);border-radius:25px;padding:20px;box-shadow:0 8px 30px #2e407d30;text-align:center}.card h3{margin:2px 0 6px;font-size:1.45rem}.jp{color:#55647f;font-weight:800}.choices{display:grid;gap:10px;margin-top:16px}.choice,.primary,.back{border-radius:16px;padding:13px 14px;background:#fff;color:var(--navy);font-weight:850;text-align:left;box-shadow:0 2px 5px #2342}.choice span{font-size:1.45rem;margin-right:10px}.choice small{display:block;margin-left:42px;color:#79849a}.primary{background:var(--pink);color:#fff;text-align:center;font-size:1.15rem}.back{background:#fff8;padding:9px 12px;font-size:.9rem}.counter{display:flex;justify-content:center;align-items:center;gap:25px;font-size:2.3rem;font-weight:900;margin:18px}.counter button{font-size:2.2rem;border-radius:50%;color:var(--sky);background:transparent}.lesson{margin-top:28px;background:#1d3572eF;color:#fff;border:3px solid #fff;border-radius:24px;padding:20px;width:min(680px,100%);min-height:190px}.lesson .name{color:#ffe568;font-weight:900}.lesson .typed{font-size:1.15rem;line-height:1.6}.lesson .jp{color:#ffe568;margin-top:10px}.bottom{margin-top:auto;width:min(680px,100%);display:flex;justify-content:flex-end}.quiz{width:min(750px,100%);text-align:center}.quiz .instruction{background:#fffd;border-radius:22px;padding:12px;margin:5px 0 14px;font-size:1.2rem;font-weight:900}.prompt{font-size:1.05rem;font-weight:900;margin:8px}.target{font-size:1.4rem;color:var(--navy);font-weight:900}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.answer{min-height:76px;background:#fffd;border-radius:17px;font-size:clamp(1.2rem,6vw,2.1rem);font-weight:900;color:var(--ink);padding:8px;border:3px solid transparent}.answer.text{font-size:clamp(.78rem,3.5vw,1.1rem)}.answer.selected{border-color:#ff9a35;background:#fff0d3}.answer.correct{border-color:#39ad64;background:#ddf9e6}.feedback{background:#fffd;border-radius:20px;padding:13px;margin:15px auto;width:min(480px,100%);font-size:1.2rem;font-weight:900}.stamp{font-size:1.45rem}.result{text-align:center;margin:auto;width:min(680px,100%)}.score{font-size:clamp(3.5rem,18vw,6rem);font-weight:950;color:#ff8d24;margin:0}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;margin:12px 0}.day{min-height:36px;padding:5px;border-radius:9px;background:#fff9;font-weight:800}.day.done{background:#ffd9e4}.day.goal{background:#ffc6d8;font-size:.82rem}.stats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px}.pill{background:#fffC;border-radius:999px;padding:9px 14px;font-weight:900;color:var(--navy)}@media(min-width:700px){body{background:radial-gradient(circle at 50% 15%,#eef8ff 0,#dceeff 55%,#bcd8f5 100%)}#app{display:flex;justify-content:center}.page{width:min(100%,500px);min-height:100svh;background-color:#dceeff;background-size:contain;background-repeat:no-repeat;background-attachment:scroll;box-shadow:0 0 34px #274b8540}}@media(max-width:390px){.page{padding-left:10px;padding-right:10px}.answers{gap:7px}.answer{min-height:63px}.card{padding:14px}}
