:root{--ink: #1c1917;--ink-soft: #57534e;--paper: #f3efe6;--card: #fffcf7;--line: #e4ddd2;--signal: #c8102e;--signal-hover: #a50d25;--good: #1f6b4a;--hard: #b45309;--again: #c8102e;--space: 1.25rem;--radius: 1.25rem;--touch: 3.5rem;--font: "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;--ui: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--shadow: 0 18px 40px rgba(28, 25, 23, .08)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{min-height:100%}body{font-family:var(--ui);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,rgba(200,16,46,.06),transparent 50%),var(--paper);line-height:1.45}a{color:inherit}.shell{width:min(28rem,100%);margin:0 auto;min-height:100dvh;padding:1rem 1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.topbar{display:grid;grid-template-columns:minmax(4.5rem,1fr) auto minmax(4.5rem,1fr);align-items:center;gap:.5rem;min-height:2.75rem}.topbar-home .mark{justify-self:start}.back{justify-self:start;gap:.25rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);min-height:2.5rem;display:inline-flex;align-items:center}.back:before{content:"←";font-size:1rem;line-height:1}.mark{display:flex;align-items:center;gap:.6rem;text-decoration:none;justify-self:center}.mark-cross{width:1.35rem;height:1.35rem;background:var(--signal);border-radius:.2rem;position:relative;flex-shrink:0}.mark-cross:before,.mark-cross:after{content:"";position:absolute;background:var(--card);border-radius:1px}.mark-cross:before{width:.22rem;height:.85rem;left:50%;top:50%;transform:translate(-50%,-50%)}.mark-cross:after{width:.85rem;height:.22rem;left:50%;top:50%;transform:translate(-50%,-50%)}.mark strong{font-family:var(--font);font-size:1.05rem;letter-spacing:-.03em;font-weight:600}.lang-link{justify-self:end;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);min-height:2.5rem;display:inline-flex;align-items:center;padding:0 .15rem}.hero{padding:2.5rem 0 1rem;display:flex;flex-direction:column;gap:1rem}.hero h1{font-family:var(--font);font-size:clamp(2rem,8vw,2.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.1}.hero p{color:var(--ink-soft);font-size:1.05rem;max-width:22rem}.lang-stack{display:flex;flex-direction:column;gap:.65rem;margin-top:auto;padding-bottom:1rem}.lang-btn,.btn{display:flex;align-items:center;justify-content:center;min-height:var(--touch);padding:0 1.25rem;border:0;border-radius:999px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.lang-btn,.btn-primary{background:var(--ink);color:var(--card)}.lang-btn-rich{flex-direction:column;gap:.2rem;min-height:4.35rem;padding:.7rem 1.25rem}.lang-btn-rich strong{font-size:1.05rem;font-weight:700}.lang-btn-rich span{font-size:.82rem;font-weight:500;color:#fffcf7b8;text-align:center}.lang-btn:active,.btn:active{transform:scale(.98)}.note{font-size:.75rem;color:var(--ink-soft);text-align:center}.progress{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8rem;font-weight:600;color:var(--ink-soft)}.progress-track{flex:1;height:.28rem;background:var(--line);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--ink);width:0%}.chip{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .55rem;border-radius:99px;background:var(--line);color:var(--ink);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.stage{flex:1;display:flex;flex-direction:column}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.25rem 1.4rem;display:flex;flex-direction:column;gap:1rem;min-height:28rem}.rule-diagram{width:min(100%,18rem);height:10.5rem;margin:0 auto;display:block}.topic{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:center}.prompt{font-family:var(--font);font-size:1.55rem;letter-spacing:-.03em;line-height:1.2;text-align:center}.explain{font-size:1.02rem;color:var(--ink);line-height:1.5}.explain strong{font-family:var(--font);font-size:1.15rem;font-weight:600;display:block;margin-bottom:.35rem}.card-actions{margin-top:auto;display:flex;flex-direction:column;gap:.75rem}.rates{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.rate{min-height:var(--touch);border:0;border-radius:.9rem;background:var(--paper);color:var(--ink);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.rate[data-rating="1"]{color:var(--again)}.rate[data-rating="2"]{color:var(--hard)}.rate[data-rating="3"]{color:var(--good)}.rate[data-rating="4"]{color:var(--ink)}.quiet{background:transparent;color:var(--ink-soft)}.center{text-align:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;min-height:22rem}.center h2{font-family:var(--font);font-size:2rem;letter-spacing:-.04em}.center p{color:var(--ink-soft)}.home-stats{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.home-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:auto;padding-bottom:.5rem}.hidden{display:none!important}@media(min-width:640px){.shell{padding-top:1.75rem}}
