:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#ece8df;--text:#1b1f24;--muted:#5d6570;--line:#d9d4c8;--primary:#1d4e89;--primary-text:#fff;--ok:#1f8a4c;--ok-bg:#e2f4e8;--bad:#c0392b;--bad-bg:#fbe5e1;--now:#e0a526;--radius:14px;--font-greek:"Noto Serif", "GFS Didot", Georgia, serif;--font-ui:"Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1720;--surface:#18222e;--surface-2:#223041;--text:#e8edf2;--muted:#9aa6b2;--line:#2d3b4c;--primary:#5b9be0;--primary-text:#0b1016;--ok:#4cc281;--ok-bg:#173826;--bad:#ef6a5a;--bad-bg:#3d1e1b;--now:#f0bf4c}}:root[data-font=sans]{--font-greek:"Noto Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit}.greek{font-family:var(--font-greek)}.muted{color:var(--muted)}.small{font-size:.85rem}.screen{max-width:560px;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin:0 auto;display:flex}.btn{border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;touch-action:manipulation;min-height:56px;padding:10px 16px;font-size:1.05rem;font-weight:600;transition:transform 80ms,background-color .12s,border-color .12s,opacity .12s}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-danger-outline{border-color:var(--bad);color:var(--bad);background:0 0}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;min-width:48px;min-height:48px;font-size:1.4rem;display:inline-flex}.icon-btn:active{background:var(--surface-2)}.icon-btn.big{background:var(--surface);border:1.5px solid var(--line);min-width:56px;min-height:56px}.home-head{text-align:center;padding-top:16px}.home-head h1{margin:8px 0 12px;font-size:2.6rem;font-weight:600}.stats-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pill{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.9rem}.notice{background:var(--bad-bg);border-radius:var(--radius);margin:0;padding:10px 14px;font-size:.9rem}.home-actions{flex-direction:column;gap:12px;margin-top:auto;display:flex}.btn-hero{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:88px;font-size:1.4rem;display:flex}.btn-hero small{opacity:.85;font-size:.85rem;font-weight:400}.mode-list{flex-direction:column;gap:8px;display:flex}.mode-btn{text-align:left;align-items:center;gap:14px;min-height:64px;display:flex}.mode-sample{text-align:center;min-width:64px;font-size:1.5rem;font-weight:400}.mode-text{flex-direction:column;display:flex}.mode-text small{color:var(--muted);font-size:.85rem;font-weight:400}.home-foot{justify-content:center;display:flex}.game-top{align-items:center;gap:8px;display:flex}.top-title{text-align:center;flex:1;margin:0;font-size:1.1rem}.progress{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}.dot{background:var(--surface-2);border:1.5px solid var(--line);border-radius:50%;width:12px;height:12px}.dot.now{border-color:var(--now);background:var(--now)}.dot.ok{background:var(--ok);border-color:var(--ok)}.dot.bad{background:var(--bad);border-color:var(--bad)}.question{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:170px;display:flex}.mode-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.85rem}.prefix{color:var(--muted);margin:8px 0 -8px;font-size:1.6rem}.prompt{word-break:break-word;margin:0;font-weight:400;line-height:1.15}.prompt.len-s{font-size:120px}.prompt.len-m{font-size:88px}.prompt.len-l{font-size:56px}.prompt.len-xl{font-size:40px}.parts{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:8px;display:flex}.part{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:center;padding:4px 8px;font-size:1.3rem;display:inline-flex}.part small{color:var(--muted);font-size:.8rem;font-family:var(--font-ui)}.feedback{border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;animation:.16s ease-out pop;display:flex}.feedback.is-ok{background:var(--ok-bg)}.feedback.is-bad{background:var(--bad-bg)}.feedback-text{flex:1;min-width:0}.feedback strong{font-size:1.1rem}.hint,.reveal{white-space:pre-line;margin:4px 0 0;font-size:.95rem}.reveal{color:var(--muted)}.speak-row{gap:6px;display:flex}.options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.option{word-break:break-word;min-height:64px;font-size:1.35rem;font-weight:600}.option.is-correct{background:var(--ok);border-color:var(--ok);color:#fff;opacity:1}.option.is-wrong{background:var(--bad);border-color:var(--bad);color:#fff;opacity:1;animation:.26s ease-in-out shake}.option.is-dim{opacity:.45}.option:disabled{cursor:default}.game-foot{min-height:56px;display:flex}.btn-next{flex:1;position:relative;overflow:hidden}.btn-next-label{position:relative}.countdown{transform-origin:0;background:#ffffff47;animation:linear forwards fill;position:absolute;inset:0}@keyframes fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{opacity:0;transform:translateY(6px)}}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.end-head{text-align:center;padding-top:16px}.end-emoji{margin:0;font-size:3rem}.end-head h1{margin:4px 0;font-size:3rem}.missed h2{font-size:1.05rem}.missed ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.missed-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:8px;padding:8px;display:flex}.missed-body{flex:1;min-width:0}.missed-q{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}.missed-q .greek{font-size:1.6rem}.ans-ok{color:var(--ok);font-weight:700}.ans-bad{color:var(--bad);text-decoration:line-through}.end-actions{gap:10px;margin-top:auto;display:grid}.tabs{gap:6px;display:flex;overflow-x:auto}.tab{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;flex:1 0 auto;min-height:44px;padding:0 12px}.tab.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.grid-wrap{margin:0 -16px;padding:0 16px;overflow-x:auto}.syl-grid{border-collapse:separate;border-spacing:4px;margin:0 auto}.syl-grid th,.syl-grid td{padding:0}.head-btn{background:var(--surface-2);width:100%;min-width:40px;min-height:44px;font-size:1.2rem;font-family:var(--font-greek);cursor:pointer;border:none;border-radius:10px}.cell{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;width:100%;min-width:52px;min-height:56px;font-family:var(--font-greek);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:2px 4px;font-size:1.25rem;display:flex}.cell small{font-family:var(--font-ui);color:var(--muted);min-height:1em;font-size:.75rem}.cell.playing{border-color:var(--now);background:var(--surface-2)}.set-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.set-group h2{margin:0;font-size:1rem}.set-group p{margin:0}.toggle{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.toggle input{width:28px;height:28px;accent-color:var(--primary)}.choice{flex-direction:column;gap:6px;display:flex}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg-btn{border:1.5px solid var(--line);background:var(--bg);cursor:pointer;border-radius:10px;flex:1 0 auto;min-width:44px;min-height:44px}.seg-btn.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.file-btn{justify-content:center;align-items:center;display:flex}.file-btn input{display:none}.confirm{grid-template-columns:1fr 1fr;gap:8px;display:grid}.confirm p{grid-column:1/-1}
