:root{font-family:var(--jke-font-ui),ui-rounded,"Avenir Next Rounded",system-ui,sans-serif;color:var(--jke-suite-ink);background:var(--jke-suite-paper);font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100svh;background:radial-gradient(circle at 8% 5%,#fffefa 0,transparent 30%),radial-gradient(circle at 95% 85%,#d9f3eb 0,transparent 35%),var(--jke-suite-paper)}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}.skip-link{position:absolute;z-index:5;top:6px;left:6px;padding:12px;background:white;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--jke-suite-focus);outline-offset:3px}.page{max-width:1120px;margin:auto;padding:20px clamp(14px,3vw,32px) 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.home-link{font-weight:700;color:#49317c;text-decoration:none;min-height:44px;display:flex;align-items:center}.brand{font-size:1.28rem;font-weight:700;letter-spacing:-.035em}.score-badge{white-space:nowrap;border:1px solid #e1d4ac;background:#fffdf5;border-radius:999px;padding:10px 14px;font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:var(--jke-suite-gap);align-items:start}.game-card,.side-card{border:1px solid var(--jke-suite-line);border-radius:var(--jke-suite-radius-lg);background:var(--jke-suite-paper);box-shadow:var(--jke-suite-shadow)}.game-card{padding:clamp(20px,3vw,36px)}.side-card{padding:24px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.eyebrow,.host-kicker{font-size:.8rem;color:#8d3157;text-transform:uppercase;letter-spacing:.09em;font-weight:700;margin:0}.heading-row h1{font-size:clamp(1.95rem,3.5vw,2.9rem);line-height:1.08;letter-spacing:-.05em;margin:8px 0}.lead{color:var(--jke-suite-muted);line-height:1.5;margin:0}.heading-flower{font-size:3.2rem}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.toolbar label,form label{font-weight:700}.toolbar select{border:2px solid #b6dcca;border-radius:13px;background:#effaf3;color:var(--jke-suite-ink);padding:10px 12px;min-height:48px;font-weight:700}.round-head{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;color:#5e536f}.progress{height:11px;border-radius:99px;background:#eee9df;margin:10px 0 22px;overflow:hidden}.progress span{display:block;width:0;height:100%;background:#69bd89;border-radius:inherit;transition:width .25s}.host-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:center;background:#e8f5eb;border:1px solid #c5e7ce;border-radius:20px;padding:16px 20px;min-height:158px}.host-card img{width:118px;height:126px;object-fit:contain;object-position:center bottom}.host-card h2{font-size:clamp(1.15rem,2.7vw,1.55rem);line-height:1.2;margin:7px 0}.host-card p:last-child{line-height:1.45;color:var(--jke-suite-muted);margin:0}.button{min-height:48px;border:0;border-radius:13px;padding:10px 18px;font-weight:700}.button:active{transform:scale(.98)}.primary{background:#49317c;color:#fff}.primary:hover{background:#382461}.sound{background:#d9f3eb;color:#185c50}.soft{background:#f2ebff;color:#49317c}.outline{background:white;color:#49317c;border:2px solid #a491bc}.intro-actions{padding-top:22px}.intro-actions p,.save-note{font-size:.86rem;color:var(--jke-suite-muted);line-height:1.45}.listen-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.listen-actions .button{flex:1 1 auto}form label{display:block;margin-bottom:8px}#answer{width:100%;min-height:58px;padding:12px 15px;border:2px solid #c8bdd3;border-radius:14px;background:white;color:var(--jke-suite-ink);font-size:1.2rem;font-weight:700}#answer:focus{border-color:var(--jke-suite-focus);outline:3px solid #7b4ed83d}#answer:disabled{background:#f5f2ef}.answer-actions{display:flex;gap:9px;margin-top:10px}.answer-actions .primary{flex:1}.feedback{min-height:46px;padding:12px 14px;margin:14px 0 0;border-radius:13px;line-height:1.45;font-weight:700}.feedback:empty{padding:0}.feedback.good{background:#def3e3;color:#1c6040}.feedback.try{background:#fff0d1;color:#69460b}.feedback.notice{background:#f2ebff;color:#49317c}.next{margin-top:12px;width:100%}.finished{text-align:center;padding:18px 4px}.finished-icon{font-size:4rem}.finished h2{font-size:2rem;margin:6px}.finished p{line-height:1.5}.side-card h2{font-size:1.3rem;margin:0 0 14px}.family{display:flex;align-items:end;justify-content:center;gap:4px;background:#f2ebff;border-radius:16px;padding:9px}.family img{height:88px;width:30%;object-fit:contain;object-position:bottom}.family-caption{font-size:.88rem;line-height:1.45;color:var(--jke-suite-muted)}.stat{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eee9df}.stat strong{color:#49317c}.tip{display:grid;gap:5px;margin:20px 0 8px;padding:14px;border-radius:14px;background:#fff0bc;line-height:1.5;font-size:.9rem}.reset{border:0;background:transparent;text-decoration:underline;color:#49317c;font-weight:700;padding:9px 0;min-height:44px}@media(max-width:780px){.layout{grid-template-columns:1fr}.side-card{padding:20px}.family{max-width:300px}.topbar{flex-wrap:wrap}.brand{order:-1;flex-basis:100%}}@media(max-width:500px){.page{padding:12px 12px 20px}.game-card,.side-card{border-radius:19px}.game-card{padding:18px}.heading-flower{display:none}.host-card{grid-template-columns:80px minmax(0,1fr);gap:10px;padding:10px;min-height:135px}.host-card img{width:80px;height:110px}.listen-actions{display:grid;grid-template-columns:1fr 1fr}.listen-actions .sound{grid-column:1/-1}.listen-actions .button{font-size:.9rem}.answer-actions{flex-wrap:wrap}.answer-actions .button{flex:1 1 150px}}@media(prefers-reduced-motion:reduce){.progress span{transition:none}}
:root{--garden-soil:#ead6b8}.control-note{font-size:.84rem;line-height:1.5;color:var(--jke-suite-muted);margin:10px 0}.toolbar{margin-bottom:8px}.toolbar select{max-width:100%}.practice-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0}.practice-actions button{flex:1}.reading-card{padding:15px;border-radius:14px;border:2px dashed #a491bc;background:#f2ebff;overflow-wrap:anywhere}.reading-card strong{font-size:1.5rem}.reading-card p{font-size:.88rem;line-height:1.5}.audio-settings{margin-top:22px;border-top:1px solid #e4ddd2;padding-top:12px}summary{cursor:pointer;min-height:44px;display:list-item;padding:12px 0;font-weight:700;color:#49317c}.settings-fields{display:flex;flex-wrap:wrap;gap:12px}.settings-fields label{display:grid;gap:6px;flex:1;min-width:140px;font-weight:700}.settings-fields select{width:100%;min-height:44px;padding:9px;border:1px solid #a491bc;border-radius:10px;background:white;color:var(--jke-suite-ink)}.garden{margin:20px 0;padding:14px 10px;background:#eff8ed;border:1px solid #c5e7ce;border-radius:17px}.garden h3{font-size:1rem;margin:0 0 5px}.garden>p:first-of-type{font-size:.83rem;color:#185c50;line-height:1.5;margin:6px 0 12px}.garden-bed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:linear-gradient(#eef8ee 55%,var(--garden-soil) 55%);border-radius:12px;padding:10px 6px}.garden-empty{grid-column:1/-1;text-align:center;font-size:.88rem;line-height:1.5;margin:8px}.plant{display:grid;align-content:end;gap:2px;text-align:center;min-width:0;animation:plant-grow .35s ease-out}.plant>span:first-child{font-size:1.8rem}.plant>span:last-child{font-size:.67rem;font-weight:700;overflow-wrap:anywhere;background:#fffdf8e8;padding:3px;border-radius:6px}.family-progress{border-top:1px solid #e4ddd2;margin-top:16px}.storage-warning{padding:12px;background:#fff0d1;color:#69460b;border-radius:12px}.button:disabled{cursor:default;opacity:.55}.round-head{flex-wrap:wrap}.side-card{min-width:0}@keyframes plant-grow{from{transform:translateY(5px);opacity:.5}to{transform:none;opacity:1}}@media(max-width:780px){.garden-bed{grid-template-columns:repeat(6,minmax(0,1fr))}.family{display:none}.family-caption{margin-top:0}}@media(max-width:500px){.garden-bed{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toolbar label{font-size:.85rem}.toolbar label[for=grade]{grid-row:1;grid-column:1}.toolbar label[for=difficulty]{grid-row:1;grid-column:2}.toolbar select{min-width:0;width:100%;font-size:.9rem}}@media(prefers-reduced-motion:reduce){.plant{animation:none}.button:active{transform:none}}
.feedback:empty{min-height:0}.toolbar{margin-bottom:8px}.garden-counts{font-variant-numeric:tabular-nums}

/* Shared workspace rhythm; garden colors remain the app accent. */
.topbar{margin-bottom:var(--jke-suite-space-5)}.page{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.layout{gap:var(--jke-suite-gap)}.game-card,.side-card{border-color:var(--jke-suite-line)}.button,input,select{min-height:var(--jke-suite-control-height)}.save-note.jke-status{white-space:normal;line-height:1.5;align-items:flex-start}.save-note.jke-status::before{flex:0 0 8px;margin-top:4px}.game-card{min-width:0}@media(pointer:coarse){.button,input,select{min-height:48px}}@media(max-width:500px){.page{padding-top:16px}.game-card,.side-card{border-radius:var(--jke-suite-radius)}.topbar{flex-wrap:nowrap}.brand{flex-basis:auto}.score-badge{font-size:.86rem;padding:10px}.brand{font-size:1.12rem}}
