:root{color:#1e2332;background:#f4f5ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f7fc;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button,input{-webkit-tap-highlight-color:transparent}.shell{align-items:start;min-height:100vh;padding:14px;display:grid}.auth-card,.home-card{background:#fffffff5;border:1px solid #e8e8f4;border-radius:18px;width:100%;box-shadow:0 10px 28px #2c2f6317}.auth-card{padding:30px 22px}.brand{color:#3536aa;letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:flex}.brand-mark{color:#fff;background:#5b5ce2;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.9rem;display:grid}.eyebrow{color:#5b5ce2;letter-spacing:.1em;margin:32px 0 10px;font-size:.69rem;font-weight:800}h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,9vw,2.55rem);line-height:1.06}.intro{color:#656b7d;margin:12px 0 30px;line-height:1.55}label{color:#363b4c;margin:18px 0 7px;font-size:.9rem;font-weight:700;display:block}input{color:#1e2332;border:1px solid #dfe1ec;border-radius:10px;outline:none;width:100%;min-height:48px;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:#5b5ce2;box-shadow:0 0 0 3px #e8e8ff}.primary-button{color:#fff;background:#5b5ce2;border:0;border-radius:10px;width:100%;min-height:50px;margin-top:26px;padding:14px 16px;font-weight:750;transition:background .15s,transform .15s}.primary-button:hover:not(:disabled){background:#4b4ccc;transform:translateY(-1px)}.form-message{color:#656b7d;text-align:center;min-height:1.4em;margin:12px 0 0;font-size:.9rem}.form-message.error{color:#b3261e}.form-message.success{color:#157347}.switch-copy{color:#656b7d;text-align:center;margin:25px 0 0;font-size:.92rem}.text-button,.sign-out{color:#4d4ec8;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.home-card{min-height:calc(100vh - 28px);overflow:hidden}.home-header{border-bottom:1px solid #eeeef6;justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.sign-out{min-height:44px;padding:10px 0}.home-content{padding:4px 22px 30px}.home-content .intro{overflow-wrap:anywhere;margin-bottom:30px}#user-email{color:#3335a7;font-weight:700}.level-section{margin-top:4px}.section-heading{flex-direction:column;align-items:start;gap:9px;margin-bottom:16px;display:flex}.review-label{color:#5b5ce2;letter-spacing:.1em;margin:2px 0 7px;font-size:.68rem;font-weight:800}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:1.22rem}.level-status{color:#656b7d;text-align:left;font-size:.8rem}.level-grid{grid-template-columns:1fr;gap:10px;display:grid}.level-card{color:#2a2e3e;text-align:left;background:#fafaff;border:1px solid #e1e2ef;border-radius:14px;min-height:82px;padding:16px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.level-card:hover{border-color:#a9a9ee;transform:translateY(-2px);box-shadow:0 8px 18px #3d3d9c1a}.level-card.selected{background:#eef;border-color:#5b5ce2;box-shadow:inset 0 0 0 1px #5b5ce2}.level-card strong,.level-card span{display:block}.level-card strong{letter-spacing:-.02em;font-size:1.15rem}.level-card span{color:#656b7d;margin-top:7px;font-size:.82rem}.level-error{color:#8a3028;background:#fff7f5;border-radius:12px;padding:16px;font-size:.9rem;line-height:1.5;display:block}.practice-card{background:#f7f7ff;border:1px solid #dbdcf1;border-radius:16px;margin-top:24px;padding:20px}.practice-page{background:#fffffff5;width:100%;margin:0;box-shadow:0 10px 28px #2c2f6317}.practice-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.back-button{color:#4d4ec8;background:0 0;border:0;align-items:center;min-height:44px;padding:8px 0;font-size:.88rem;font-weight:750;text-decoration:none;display:inline-flex}.progress-text{color:#656b7d;text-align:right;font-size:.8rem}.practice-card h2{letter-spacing:-.035em;margin:0;font-size:1.25rem}.english-sentence{color:#242944;margin:18px 0 25px;font-size:1.15rem;font-weight:650;line-height:1.5}.practice-card label{margin-top:0}.answer-message{margin:12px 0 0;font-size:.9rem;line-height:1.45}.answer-message:not(:empty){border:1px solid;border-radius:12px;align-items:flex-start;gap:10px;padding:13px 14px;font-weight:600;display:flex}.answer-message:before{border-radius:50%;flex:none;place-items:center;width:21px;height:21px;font-size:.75rem;font-weight:900;display:grid}.answer-message.error{color:#9d2922;background:#fff5f4;border-color:#f0c3c0}.answer-message.error:before{content:"×";color:#fff;background:#d84136}.answer-message.success{color:#12633b;background:#f1fbf5;border-color:#b8dfc9}.answer-message.success:before{content:"✓";color:#fff;background:#218950}.next-button{color:#4d4ec8;background:#fff;border:1px solid #5b5ce2;border-radius:10px;width:100%;min-height:50px;margin-top:14px;padding:14px 16px;font-weight:750}@media (width>=620px){body{background:radial-gradient(circle at 15% 10%,#dfe1ff 0,#0000 27rem),#f7f7fc}.shell{place-items:center;padding:24px}.auth-card,.home-card{border-radius:24px;width:min(100%,520px);box-shadow:0 18px 50px #2c2f631f}.auth-card{padding:44px}.eyebrow{letter-spacing:.12em;margin-top:40px;font-size:.72rem}h1{font-size:clamp(2rem,5vw,2.55rem)}.home-card{min-height:420px}.practice-page{border-radius:24px;width:min(100%,820px);padding:52px;box-shadow:0 18px 50px #2c2f631f}.practice-page #norwegian-answer{min-height:68px;padding:16px 18px;font-size:1.1rem}.home-header{padding:25px 30px}.home-content{padding:10px 44px 44px}.home-content .intro{margin-bottom:36px}.section-heading{flex-direction:row;align-items:end;gap:16px}.level-status{text-align:right}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.level-card{min-height:104px;padding:18px}}
