:root{--paper:#fbfaf7;--ink:#111;--soft:#555;--rule:#c8c6c0}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;font:18px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}p{margin:0}h1{margin:0 0 16px;font-size:28px}.logo{height:32px;display:block}.muted{color:var(--soft)}.target{font-family:Georgia,Iowan Old Style,Times New Roman,serif}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--soft);font-size:13px}button,input,textarea{font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:10px;min-height:56px;padding:12px 18px}button{cursor:pointer}button.primary{background:var(--ink);color:var(--paper)}button:disabled{opacity:.5}button.small{min-height:40px;padding:6px 14px;font-size:16px}button.link{min-height:0;color:var(--soft);border:0;padding:6px 4px;font-size:15px;text-decoration:underline}.stack{flex-direction:column;gap:12px;display:flex}.row{gap:12px;display:flex}.grow{flex:1}.spread{justify-content:space-between;align-items:center}.small-text{padding:6px 4px;font-size:15px}.report fieldset{border:0;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.report label{align-items:center;gap:10px;padding:6px 0;display:flex}.report input[type=radio]{width:22px;height:22px;min-height:0;accent-color:var(--ink);margin:0}.report textarea{resize:none;min-height:0}.page{max-width:680px;margin:0 auto;padding:32px 20px}.lesson{flex-direction:column;max-width:680px;height:100dvh;margin:0 auto;padding:20px 20px 0;display:flex}.lesson .top{justify-content:space-between;font-size:15px;display:flex}.lesson .sheet{flex:1;min-height:0;padding-top:8px;overflow:hidden}.lesson .actions{flex-direction:column;gap:8px;padding:12px 0 20px;display:flex}.entry{border-bottom:1px solid var(--rule);flex-direction:column;gap:6px;padding:14px 0;display:flex}.entry:last-child{border-bottom:0}.entry .head{justify-content:space-between;align-items:baseline;display:flex}.entry .result{font-size:14px}.entry .target{font-size:30px;line-height:1.3}.entry .target strong{text-underline-offset:.15em;text-decoration:underline}.entry .native{font-size:20px}.entry .prompt{font-size:24px}.entry .hint{border-left:3px solid var(--ink);padding:4px 0 4px 12px;font-size:16px}.entry.past .target{font-size:20px}.entry.past .native{font-size:16px}.progress{grid-template-columns:auto 1fr;gap:8px 24px;margin:20px 0;font-size:20px;display:grid}.progress dt{color:var(--soft)}.progress dd{margin:0;font-weight:700}.placement-word{text-align:center;padding:24px 0;font-size:40px}button.word{min-height:0;font:inherit;background:0 0;border:0;border-radius:0;padding:0}button.word[aria-pressed=true]{text-underline-offset:.15em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.entry .gloss{font-size:18px}.lesson .sheet.story{overflow-y:auto}.sheet.story .target{font-size:22px;line-height:1.5}.sheet.story .aloud{background:var(--ink);color:var(--paper)}.lesson[hidden]{display:none}.actions .popup{border-top:2px solid var(--ink);padding-bottom:0}.entry.mine{flex-direction:row;align-items:flex-start;gap:12px}.entry.mine .stack{gap:4px}.entry.mine input[type=checkbox]{width:24px;height:24px;min-height:0;accent-color:var(--ink);flex:none;margin:4px 0 0}
