:root{color:#111827;background:#f9fafb;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.app-shell{background:#f9fafb;min-height:100vh}.page{width:min(960px,100% - 32px);margin:0 auto;padding:24px 0}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 2px #0000000a}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.split{grid-template-columns:minmax(220px,300px) 1fr;gap:16px;display:grid}.button{color:#fff;cursor:pointer;background:#2d6a4f;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.button.secondary{color:#111827;background:#f3f4f6;border:1px solid #d1d5db}.button:disabled{cursor:not-allowed;background:#9ca3af}.input,.textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.textarea{resize:vertical;min-height:140px}.label{gap:6px;font-weight:700;display:grid}.checkbox-grid{gap:8px;display:grid}.check-row,.option-row{border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.option-row.selected{background:#f0fdf4;border-color:#2d6a4f}.muted{color:#6b7280}.error{color:#b91c1c;font-weight:700}.success{color:#166534;font-weight:700}.badge{color:#166534;background:#dcfce7;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-weight:700;display:inline-flex}.progress{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.progress>span{background:#2d6a4f;height:100%;display:block}.lesson-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;min-height:44px;padding:10px}.lesson-button.active{background:#f0fdf4;border-color:#2d6a4f}.copy-box{background:#f0fdf4;border-left:4px solid #2d6a4f;border-radius:8px;padding:12px}.auth-page{background:radial-gradient(circle at 0 0,#e4efe8 0,#0000 34%),#f4f1ea;place-items:center;min-height:100vh;padding:24px 14px;display:grid}.auth-card{background:#fffffff5;border:1px solid #d9ded9;border-radius:28px;gap:18px;width:min(100%,460px);padding:20px;display:grid;overflow:hidden;box-shadow:0 24px 70px #17352b1f}.auth-brand{text-align:center;justify-items:center;gap:14px;display:grid}.auth-brand img{object-fit:contain;width:min(210px,72vw);height:auto}.auth-brand span{color:#245c45;background:#e4efe8;border-radius:999px;width:fit-content;padding:6px 12px;font-size:13px;font-weight:800;display:inline-flex}.auth-brand h1{color:#17352b;letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(24px,7vw,32px);line-height:1.08}.auth-tabs{background:#edf0ed;border-radius:16px;grid-template-columns:1fr 1fr;gap:6px;padding:6px;display:grid}.auth-tabs button{color:#526159;cursor:pointer;background:0 0;border:0;border-radius:12px;min-height:48px;font-weight:800}.auth-tabs button.active{color:#17352b;background:#fff;box-shadow:0 8px 22px #17352b14}.auth-clerk-panel{justify-items:stretch;width:100%;min-width:0;display:grid;overflow:hidden}.auth-card-inner,.auth-error{text-align:center;gap:14px;display:grid}.auth-card-inner h1,.auth-error h1{color:#17352b;margin:0}.auth-card-inner p,.auth-error p{color:#526159;margin:0}.clerk-root-box{width:100%;min-width:0}.clerk-card{width:100%!important;max-width:100%!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.clerk-card *{box-sizing:border-box!important;max-width:100%!important}.clerk-title{color:#17352b!important;font-size:22px!important}.clerk-subtitle{color:#526159!important}.clerk-primary-button{background:#2d6a4f!important;border-radius:14px!important;min-height:48px!important;font-weight:800!important}.clerk-input{border-radius:14px!important;min-height:48px!important;font-size:16px!important}.clerk-social-button{border-radius:14px!important;min-height:48px!important}.clerk-link{color:#2d6a4f!important;font-weight:800!important}.invite-auth .clerk-footer-action{display:none!important}@media (width<=720px){.split{grid-template-columns:1fr}.page{width:min(100% - 24px,960px);padding:16px 0}.panel{padding:16px}.auth-page{align-items:start;padding-top:18px}.auth-card{border-radius:24px;width:min(100%,430px);padding:16px}}
