:root{--bg:#f6f7f9;--panel:#fff;--ink:#14161a;--muted:#6b7280;--line:#e3e6ea;--accent:#2f6df6;--danger:#b42318;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--panel:#1c1f25;--ink:#eceef1;--muted:#9aa3af;--line:#2b2f37;--accent:#6b9bff;--danger:#ff8f85}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.centered{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:26rem;padding:2rem}.card h1{margin:0;font-size:1.5rem}.sub{color:var(--muted);margin:.25rem 0 1.5rem}form{gap:.5rem;display:grid}label{color:var(--muted);font-size:.85rem;font-weight:600}input{border:1px solid var(--line);background:var(--bg);color:inherit;font:inherit;border-radius:8px;padding:.65rem .75rem}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{border:1px solid var(--line);background:var(--accent);color:#fff;font:inherit;cursor:pointer;border-radius:8px;padding:.65rem .9rem;font-weight:600}button:disabled{opacity:.6;cursor:default}button.apple{background:#000;border-color:#000;width:100%}button.google{color:#1f1f1f;background:#fff;border-color:#747775;width:100%;margin-bottom:.6rem}.or{text-align:center;color:var(--muted);margin:1rem 0 .75rem;font-size:.85rem}.notice{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:.9rem 1rem}.notice p{color:var(--muted);margin:.4rem 0 0;font-size:.9rem}.error{color:var(--danger);font-size:.9rem}.shell>header{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.shell>header .sub{margin:0}.who{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.who button{color:var(--ink);background:0 0}.shell>main{max-width:60rem;margin:0 auto;padding:1.5rem 1.25rem}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.section-head h2{margin:0;font-size:1.1rem}.section-head button{color:var(--ink);background:0 0;padding:.4rem .7rem;font-size:.9rem;font-weight:500}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .85rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem}tbody tr:last-child td{border-bottom:none}td.right,th.right{text-align:right}.stack{gap:1.75rem;display:grid}.stack section{gap:.75rem;display:grid}button.link{color:var(--accent);background:0 0;border-color:#0000;padding:.25rem .35rem;font-weight:600}.crumb{color:var(--muted);align-items:center;gap:.6rem;display:flex}.tabs{border-bottom:1px solid var(--line);gap:.4rem;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .9rem}.tab.on{color:var(--ink);border-bottom-color:var(--accent)}.notice.warn{border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.good{color:#197b3f;font-size:.9rem}@media (prefers-color-scheme:dark){.good{color:#5fd08a}}.warn-text{color:var(--danger)}.inline-form{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.inline-form input{letter-spacing:.08em;text-transform:uppercase;flex:12rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field{gap:.3rem;max-width:30rem;display:grid}.field input[type=number],.field select{border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit;border-radius:8px;max-width:12rem;padding:.55rem .7rem}.field.checkbox label{color:var(--ink);text-transform:none;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;display:flex}.field.checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--accent)}.label-ish{color:var(--muted);font-size:.85rem;font-weight:600}.hint{color:var(--muted);font-size:.82rem}.actions{flex-wrap:wrap;align-items:center;gap:.9rem;padding-top:.25rem;display:flex}h3{margin:0;font-size:1rem}.stats{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:.15rem;padding:.85rem 1rem;display:grid}.stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.78rem}.stat-value{font-size:1.5rem;font-weight:600;line-height:1.2}.stat-sub{color:var(--muted);font-size:.8rem}.week{gap:.4rem;display:flex}.day{border:1px solid var(--line);background:var(--panel);width:2.2rem;height:2.2rem;color:var(--muted);border-radius:8px;place-items:center;font-size:.85rem;font-weight:600;display:grid}.day.on{background:var(--accent);border-color:var(--accent);color:#fff}.day.today{outline:2px solid var(--muted);outline-offset:2px}.session-list{gap:.6rem;display:grid}.session{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.session.on{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.session-row{width:100%;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:.9rem;padding:.75rem 1rem;font-weight:500;display:flex}.session-when{font-weight:600}.session-facts{color:var(--muted);flex-wrap:wrap;gap:.9rem;margin-left:auto;font-size:.85rem;display:flex}.session-caret{color:var(--muted);font-size:.8rem}.session-detail{border-top:1px solid var(--line);background:var(--bg);padding:.9rem 1rem}.items{gap:.75rem;display:grid}.item-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:.6rem;padding:.85rem 1rem;display:grid}.item-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.item-word{font-size:1.05rem}.item-pos{color:var(--muted);font-size:.8rem;font-style:italic}.item-def{color:var(--muted);margin-top:.15rem;font-size:.88rem}.item-row{align-items:center;gap:.6rem;display:flex}.item-row.col{flex-direction:column;align-items:stretch;gap:.4rem}.badge{text-transform:capitalize;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:.12rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge.pass{color:#197b3f;background:#197b3f2e;border-color:#197b3f59}.badge.fail,.badge.error{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.badge.neutral{background:var(--bg);color:var(--muted);border-color:var(--line)}.badge.item-status{text-transform:none;background:var(--bg);color:var(--muted);border-color:var(--line)}@media (prefers-color-scheme:dark){.badge.pass{color:#5fd08a}}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;align-items:center;padding:.12rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.chip.mastered{color:#197b3f;border-color:color-mix(in srgb, #197b3f 35%, var(--line))}.chip.learning{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.chip.struggling{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.chip.new,.chip.ghost{color:var(--muted)}@media (prefers-color-scheme:dark){.chip.mastered{color:#5fd08a}}.attempts{gap:.5rem;display:grid}.attempt{border-left:3px solid var(--line);padding:.1rem 0 .1rem .7rem}.attempt-head{gap:.4rem;margin-bottom:.25rem;display:flex}.attempt-sentence{margin:0;font-style:italic}.attempt-feedback{color:var(--muted);margin:.25rem 0 0;font-size:.88rem}.item-word,.item-def,.attempt-sentence,.attempt-feedback,.error,.who span{overflow-wrap:anywhere}@media (width<=36rem){table,tbody,tr,td{display:block}thead{display:none}tbody tr{border-bottom:1px solid var(--line);padding:.35rem 0}tbody tr:last-child{border-bottom:none}td{border-bottom:none;justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem .85rem;display:flex}td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);flex:none;font-size:.8rem}td.right{justify-content:flex-end}input,select,textarea,.field input[type=number],.field select{font-size:16px}}@media (pointer:coarse){button,.field.checkbox label{min-height:44px}}
