:root{color:#17211d;background:#f7f8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #dfe5da;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,48px);display:flex}.eyebrow{color:#3f6f62;letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:800;display:block}h1,h2,p{margin:0}h1{font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.1}h2{margin-top:18px;font-size:.95rem}.workspace{grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:28px clamp(16px,4vw,48px);display:grid}.question-panel,.side-panel,.auth-panel{background:#fff;border:1px solid #dfe5da;border-radius:8px;box-shadow:0 14px 40px #1e2a2414}.question-panel{min-height:520px;padding:clamp(20px,4vw,40px)}.question-meta{gap:10px;margin-bottom:28px;display:flex}.question-meta span{color:#2d584f;background:#e8f2ef;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700}.question-renderer{color:#17211d;flex-wrap:wrap;align-items:center;gap:.25em;min-height:190px;font-size:clamp(2rem,4vw,4.2rem);font-weight:760;line-height:1.18;display:flex}.fraction{vertical-align:middle;flex-direction:column;align-items:center;margin-inline:.08em;font-size:.78em;line-height:1;display:inline-flex}.fraction span:first-child{border-bottom:.08em solid;padding:0 .15em .08em}.fraction span:last-child{padding-top:.08em}.answer-row{gap:10px;margin-top:24px;display:flex}input{background:#fbfcf8;border:1px solid #cfd9cc;border-radius:8px;width:100%;min-width:0;min-height:48px;padding:0 14px}button[type=submit],.auth-panel button:first-of-type{color:#fff;background:#1d5f54;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:760;display:inline-flex}.secondary,.link-button,.icon-button{color:#17211d;background:#e9eee5;border-radius:8px;min-height:42px;padding:0 14px;font-weight:750}.icon-button{justify-content:center;align-items:center;width:42px;display:inline-flex}.secondary{margin-top:16px}.feedback{border-radius:8px;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;display:flex}.feedback p,.student-card span,.skill span,.muted{color:#66736c;font-size:.88rem}.feedback.good{color:#1d6b3b;background:#e9f7ee}.feedback.bad{color:#a63d2b;background:#fff0ec}.side-panel{padding:20px}.student-card{background:#f0f5ee;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.student-card div,.skill div:first-child{gap:3px;display:grid}.skill-list,.rule-list{gap:12px;margin-top:12px;display:grid}.skill{gap:8px;display:grid}.meter{background:#e4e9df;border-radius:999px;height:8px;overflow:hidden}.meter span{background:#dd7d4b;height:100%;display:block}.rule{border-bottom:1px solid #edf0e9;justify-content:space-between;align-items:center;gap:12px;padding-bottom:9px;display:flex}.rule span{color:#46544d;font-size:.84rem}.auth-screen{background:linear-gradient(120deg,#1d5f541f,#dd7d4b1a),#f7f8f4;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-panel{gap:18px;width:100%;max-width:430px;padding:28px;display:grid}.auth-panel form{gap:12px;display:grid}.link-button{color:#1d5f54;background:0 0;padding:0}.error{color:#a63d2b;font-size:.9rem}.loading{color:#3f6f62;align-items:center;gap:10px;min-height:240px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.workspace{grid-template-columns:1fr}.answer-row{flex-direction:column}button[type=submit]{width:100%}}
