:root,[data-theme=light]{--surface:#fafafa;--surface-raised:#fff;--line:#e2e2ee;--line-strong:#8585a8;--ink:#151547;--ink-muted:#5a5a7e;--night:#151547;--navy:#060674;--on-night:#fff;--mint:#4bf2bd;--mint-light:#5cf8cb;--on-mint:#151547;--mint-ink:#1f4ed8;--mint-soft:#e2e9fe;--danger:#b4232f;--danger-soft:#fde7e9;--warning:#8a5300;--warning-soft:#fff3dc;--link:var(--mint-ink);--shadow-sm:0 1px 2px #1515470f, 0 2px 6px #15154714;--shadow-lg:0 8px 24px -4px #15154729, 0 2px 6px #15154714;--focus-ring:0 0 0 2px #fafafa, 0 0 0 4px #151547}[data-theme=dark]{--surface:#0c0c29;--surface-raised:#16163f;--line:#2d2d63;--line-strong:#6c6ca6;--ink:#f2f2fa;--ink-muted:#b3b3d1;--night:#24246b;--navy:#4646d9;--on-night:#fff;--mint:#4bf2bd;--mint-light:#5cf8cb;--on-mint:#151547;--mint-ink:#4bf2bd;--mint-soft:#133b3e;--danger:#ff8b95;--danger-soft:#3d1418;--warning:#ffc24d;--warning-soft:#3a2a0b;--link:var(--mint-ink);--shadow-sm:0 1px 3px #000000b3;--shadow-lg:0 12px 28px -4px #000c;--focus-ring:0 0 0 2px #0c0c29, 0 0 0 4px #4bf2bd}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--radius-full:9999px;--font-sans:var(--font-bricolage), "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif}body{font-family:var(--font-sans);font-optical-sizing:auto;background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}.a3-row{gap:var(--space-3);padding:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.a3-stack{gap:var(--space-3);padding:var(--space-4);flex-direction:column;max-width:420px;display:flex}.a3-btn{font:inherit;justify-content:center;align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-6);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;font-size:14px;font-weight:600;line-height:20px;text-decoration:none;transition:background-color .15s,transform .1s;display:inline-flex}.a3-btn:active{transform:translateY(1px)}.a3-btn:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.a3-btn[disabled]{opacity:.5;cursor:not-allowed}.a3-btn svg{flex:none;width:18px;height:18px}.a3-btn-lg{height:52px;padding:0 var(--space-8);font-size:16px}.a3-btn-block{width:100%;display:flex}.a3-btn-primary{background:var(--mint);color:var(--on-mint)}.a3-btn-primary:hover{background:var(--mint-light)}.a3-btn-secondary{background:var(--night);color:var(--on-night)}.a3-btn-secondary:hover{background:var(--navy)}.a3-btn-outline{color:var(--ink);border-color:var(--line-strong);background:0 0}.a3-btn-outline:hover{background:var(--surface-raised)}.a3-btn-danger{background:var(--danger-soft);color:var(--danger)}.a3-field{gap:var(--space-2);flex-direction:column;font-size:14px;display:flex}.a3-field-label{color:var(--ink);font-weight:600}.a3-input{font:inherit;height:48px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);font-size:16px}.a3-input::placeholder{color:var(--ink-muted)}.a3-input:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.a3-field-hint{color:var(--ink-muted);font-size:13px;line-height:18px}.a3-field-error .a3-input{border-color:var(--danger)}.a3-field-error .a3-field-hint{color:var(--danger)}.a3-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);background:var(--line);color:var(--ink);padding:4px 10px;font-size:12px;font-weight:700;line-height:16px;display:inline-flex}.a3-badge-mint{background:var(--mint-soft);color:var(--mint-ink)}.a3-badge-warning{background:var(--warning-soft);color:var(--warning)}.a3-badge-danger{background:var(--danger-soft);color:var(--danger)}.a3-badge-night{background:var(--night);color:var(--mint)}.a3-avatar{border-radius:var(--radius-full);border:4px solid var(--mint);background:var(--night);color:var(--mint);box-sizing:border-box;flex:none;place-items:center;font-weight:800;display:inline-grid;overflow:hidden}.a3-avatar img{object-fit:cover;width:100%;height:100%;display:block}.a3-tile{font:inherit;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--night);color:var(--mint);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);border:0;font-size:16px;font-weight:600;line-height:22px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.a3-tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.a3-tile:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.a3-tile svg{flex:none;width:28px;height:28px}.a3-tile-meta{color:var(--on-night);opacity:.82;font-size:13px;font-weight:400;line-height:18px;display:block}.a3-tile-badge{margin-left:auto}.a3-tile-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.a3-link{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);box-sizing:border-box;border-radius:var(--radius-full);border:3px solid var(--mint);background:var(--night);min-height:72px;color:var(--mint);text-decoration:none;transition:transform .12s;display:flex}.a3-link:hover{transform:scale(1.01)}.a3-link:focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.a3-link svg{flex:none;width:26px;height:26px}.a3-link-title{font-size:20px;font-weight:700;line-height:24px;display:block}.a3-link-sub{color:var(--on-night);opacity:.85;font-size:13px;line-height:18px;display:block}.a3-panel{border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-sm);border:1px solid var(--line);overflow:hidden}.a3-panel-head{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:var(--mint);color:var(--on-mint);display:flex}.a3-panel-title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:800;line-height:28px}.a3-panel-actions{gap:var(--space-2);margin-left:auto;display:flex}.a3-panel-body{padding:var(--space-6)}.a3-progress{gap:var(--space-2);flex-direction:column;display:flex}.a3-progress-top{color:var(--ink-muted);justify-content:space-between;font-size:13px;line-height:18px;display:flex}.a3-progress-top strong{color:var(--ink);font-weight:700}.a3-progress-track{border-radius:var(--radius-full);background:var(--line);height:10px;overflow:hidden}.a3-progress-fill{border-radius:var(--radius-full);background:var(--mint-ink);height:100%}.a3-lesson{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);display:flex}.a3-lesson-dot{border-radius:var(--radius-full);flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.a3-lesson-dot svg{width:16px;height:16px}.a3-lesson-done .a3-lesson-dot{background:var(--mint-soft);color:var(--mint-ink)}.a3-lesson-current{border-color:var(--mint-ink)}.a3-lesson-current .a3-lesson-dot{background:var(--mint);color:var(--on-mint)}.a3-lesson-locked{color:var(--ink-muted)}.a3-lesson-locked .a3-lesson-dot{background:var(--line);color:var(--ink-muted)}.a3-lesson-title{font-size:15px;font-weight:600;line-height:20px}.a3-lesson-meta{color:var(--ink-muted);white-space:nowrap;margin-left:auto;font-size:13px}.a3-nav{justify-content:space-around;gap:var(--space-1);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:var(--mint);color:var(--on-mint);display:flex}.a3-nav-item{font:inherit;padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;font-size:12px;font-weight:600;line-height:16px;text-decoration:none;display:flex}.a3-nav-item svg{width:22px;height:22px}.a3-nav-item[aria-current=page]{background:var(--night);color:var(--mint)}.a3-nav-item:focus-visible{box-shadow:0 0 0 2px var(--mint), 0 0 0 4px var(--night);outline:2px solid #0000}
