@font-face{font-family:AppSystem;src:local('Arial')}*{box-sizing:border-box}body{margin:0;background:#f5f7fc;color:#192540;font:17px/1.55 AppSystem,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:#2652df}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,40px);line-height:1.15;letter-spacing:-1px;margin-bottom:14px}h2{font-size:24px;line-height:1.25;margin-bottom:14px}h3{font-size:18px;line-height:1.3}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #edb62b;outline-offset:3px}button{border:0}.muted{color:#66728a}.tiny{font-size:14px}.loading{padding:50px}.topbar{background:#fff;border-bottom:1px solid #e6ebf5;position:sticky;top:0;z-index:10}.topinner{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;gap:16px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:800;letter-spacing:-.7px;color:#192540;text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:#66728a;line-height:1}.topactions{display:flex;align-items:center;gap:10px}.topactions select{max-width:235px;background:#f1f4fc;border:1px solid #dbe3f4;border-radius:12px;padding:9px 12px;font-size:14px;color:#263a66}.iconbutton{background:transparent;color:#66728a;border-radius:10px;padding:10px;font-size:14px}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);max-width:1160px;margin:28px auto;padding:0 28px;gap:36px}.nav{display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:108px}.nav button{background:transparent;text-align:left;color:#596780;font-weight:600;padding:13px 14px;border-radius:13px;display:flex;align-items:center;gap:12px;font-size:15px;min-height:50px}.nav button.active{background:#2652df;color:#fff;box-shadow:0 6px 14px #2652df20}.nav .navicon{font-size:19px;width:24px;text-align:center}.navfoot{font-size:13px;color:#798299;margin-top:28px;padding:14px;line-height:1.55}.main{min-width:0}.notice{border:1px solid #ded9a5;background:#fffbe4;color:#655526;border-radius:12px;padding:11px 16px;font-size:14px;margin-bottom:20px}.welcome{position:relative;padding:15px 190px 12px 0;min-height:178px;margin:0 0 14px}.welcome img{position:absolute;width:180px;height:180px;object-fit:contain;right:0;top:-12px;border-radius:50%;mix-blend-mode:multiply}.welcome p{max-width:440px;color:#62708a;margin-bottom:8px}.eyebrow{font-size:13px;letter-spacing:1px;color:#2652df;font-weight:700;margin-bottom:12px;text-transform:uppercase}.card{background:#fff;border:1px solid #e3e9f4;border-radius:22px;padding:26px;margin-bottom:20px;box-shadow:0 7px 22px #1c376006}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:15px}.tag{display:inline-flex;align-items:center;background:#eef3ff;color:#3055b8;border-radius:8px;padding:4px 9px;font-size:13px;white-space:nowrap}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.mode{padding:16px 12px;text-align:left;background:#fff;border:1.5px solid #e2e8f2;border-radius:15px;color:#33425d}.mode strong{display:block;font-size:16px;margin-bottom:4px}.mode span{font-size:13px;color:#748096}.mode.active{border-color:#2652df;background:#f1f5ff}.mode.active strong{color:#234ecb}label{display:block;font-weight:600;font-size:15px;margin-bottom:7px}input,textarea,select{width:100%;padding:12px 14px;border:1px solid #d6deed;border-radius:12px;color:#192540;background:#fff}textarea{resize:vertical;min-height:106px;line-height:1.55}input::placeholder,textarea::placeholder{color:#8993a5}select{min-height:48px}.field{margin-bottom:18px}.help{font-size:14px;color:#718097;margin-top:5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;background:#2652df;color:#fff;text-decoration:none;font-size:16px;font-weight:600;min-height:48px}.button.secondary{background:#edf2fc;color:#3153ac}.button.subtle{background:#f3f5f9;color:#596780}.button.yellow{background:#ffe08a;color:#574012}.button.small{padding:9px 14px;font-size:14px;min-height:40px}.formfoot{display:flex;align-items:center;justify-content:space-between;gap:15px}.formfoot p{font-size:13px;line-height:1.4;color:#7a8498;max-width:380px;margin:0}.steps{display:flex;gap:12px;justify-content:space-between;margin:22px 6px 0;font-size:13px;color:#677591}.steps span{display:flex;align-items:center;gap:7px}.steps b{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e6ebf6;color:#56709e;font-size:12px}.empty{padding:36px 20px;text-align:center;color:#718097}.empty p{margin:10px auto;max-width:440px}.listitem{padding:17px 0;border-bottom:1px solid #ecf0f6}.listitem:last-child{border-bottom:0}.listitem h3{margin-bottom:5px}.listitem p{margin-bottom:8px}.clickrow{display:block;width:100%;text-align:left;background:none;color:inherit}.lessonbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.exercise{border-left:4px solid #e9b839;background:#fff8e3;padding:16px 18px;border-radius:0 14px 14px 0;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0}.chat{display:flex;flex-direction:column;gap:20px}.bubble{max-width:92%;padding:18px 20px;border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.assistant{background:#eff4ff;border-bottom-left-radius:4px;align-self:flex-start}.bubble.user{background:#fff;border:1px solid #dfe6f2;border-bottom-right-radius:4px;align-self:flex-end}.bubble small{display:block;color:#5d72a3;font-weight:700;font-size:13px;margin-bottom:7px}.bubble.user small{color:#7a859a}.composer{margin-top:22px;position:relative}.composer .actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.actions button[aria-pressed=true]{background:#dce6ff;color:#244abb}.pending{color:#64789c;padding:16px;font-size:15px}.error{color:#a83931;background:#fff0ee;border:1px solid #f3ccc8;border-radius:12px;padding:12px 15px;margin:16px 0;font-size:15px}.practice{background:#f5f2ff;border-color:#ddd3fb}.practice h3{color:#6540b0}.rulecard{background:#fff;padding:22px;border:1px solid #e4e9f4;border-radius:18px}.rulecard p{white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 0}.rulegrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rulecard button{margin-top:16px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat{background:#f2f5fb;padding:20px;border-radius:16px}.stat strong{display:block;font-size:32px;color:#2652df}.checklabel{display:flex;align-items:flex-start;gap:12px;line-height:1.5}.checklabel input{width:22px;height:22px;margin:1px 0;accent-color:#2652df;flex-shrink:0}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.login{max-width:450px;margin:40px auto;padding:0 22px}.login img{display:block;width:180px;height:180px;object-fit:contain;margin:0 auto 8px;mix-blend-mode:multiply}.login h1,.login>p{text-align:center}.login .button{width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203354;color:white;border-radius:13px;padding:13px 20px;box-shadow:0 5px 20px #17274a30;max-width:90vw;z-index:30;font-size:15px;display:none}#toast.show{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}details summary{cursor:pointer;font-weight:600}details p{margin:14px 0 0}.saved{color:#3c6f5a}.back{background:none;color:#54709e;padding:6px 0;margin-bottom:14px;font-size:15px}.lesson-title{font-size:27px}.pagecopy{color:#66728a;max-width:650px}.warning{font-size:14px;color:#715b25;background:#fff6d9;padding:13px 16px;border-radius:12px}.historytitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
@media(max-width:800px){.layout{grid-template-columns:1fr;padding:0 20px;margin:20px auto 100px;gap:0}.nav{position:fixed;left:0;right:0;bottom:0;top:auto;display:flex;flex-direction:row;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e0e7f2;z-index:20;gap:2px}.nav button{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:7px 8px;font-size:11px;min-height:51px;border-radius:11px;flex:1;font-weight:600}.nav button.active{box-shadow:none}.navfoot{display:none}.topinner{padding:10px 20px}.brand{font-size:22px}.brand img{width:40px;height:40px}.brand small{display:none}.topactions select{max-width:175px;padding:9px;font-size:13px}.welcome{padding-right:145px;min-height:150px}.welcome img{width:140px;height:160px;top:-2px}.welcome h1{font-size:30px}.welcome p{font-size:16px}.card{padding:22px}.topactions .iconbutton{padding:5px}.rulegrid{grid-template-columns:1fr}#toast{bottom:95px}}
@media(max-width:480px){.topinner{padding:9px 14px;gap:10px}.topactions{gap:6px}.topactions select{max-width:153px}.layout{padding:0 15px}.card{padding:20px 17px;border-radius:18px}.welcome{min-height:161px;padding-right:112px;padding-top:12px}.welcome img{width:115px;height:147px;top:3px;right:-5px}.welcome h1{font-size:28px}.welcome p{font-size:15px}.eyebrow{font-size:12px;margin-bottom:9px}.modes{gap:7px}.mode{padding:12px 9px}.mode strong{font-size:14px}.mode span{font-size:12px;line-height:1.3;display:block}.two{grid-template-columns:1fr;gap:0}.formfoot{align-items:stretch;flex-direction:column-reverse}.formfoot .button{width:100%}.steps{gap:5px;font-size:11px;margin-left:0;margin-right:0}.steps span{gap:4px}.steps b{width:19px;height:19px}.bubble{padding:16px;max-width:98%}.stats{gap:9px}.stat{padding:15px;font-size:14px}.tag{font-size:12px}.cardhead h2{font-size:21px}.lessonbar{align-items:flex-start}.lessonbar .tag{white-space:normal}.nav button{font-size:11px}.topactions .iconbutton{font-size:12px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s,box-shadow .15s,transform .15s}.button:hover{filter:brightness(.97);transform:translateY(-1px)}}
.finish{margin-top:24px;padding-top:18px;border-top:1px solid #e4e9f3}.finish form{margin-top:18px}.rulecard h3{margin-top:14px}.stats+p{margin-top:16px}.rulecard details p{font-size:16px}.historytitle{margin-top:12px}
@media(max-width:800px){.nav button{font-size:14px;line-height:1.2}.topactions select{font-size:14px}.welcome p{font-size:16px}.topactions .iconbutton{font-size:14px}.nav{min-height:70px}.steps{font-size:14px;align-items:flex-start}.steps span{flex:1;align-items:flex-start}.steps b{flex-shrink:0}}

.verification{margin-top:12px;border-top:1px solid #dce3ed;padding-top:9px;font-size:13px;line-height:1.5;white-space:normal;color:#52617a}.verification summary{cursor:pointer;font-weight:600}.verification p{margin:7px 0}.verification a{display:block;color:#244cb6;margin:7px 0;overflow-wrap:anywhere}

.answer-feedback{white-space:normal;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #d9e3f4;margin-top:16px;padding-top:12px}.answer-feedback button{background:#fff;border:1px solid #cbd8ed;border-radius:12px;padding:9px 12px;color:#33486b;font-size:14px;min-height:44px}.answer-feedback button[aria-pressed=true]{background:#e4edff;border-color:#2652df;color:#143ab2}.feedback-status{flex-basis:100%;font-size:14px;color:#526485}.feedback-status:empty{display:none}.usage-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.usage-stats .stat{padding:16px;font-size:14px}.usage-stats .stat span{min-height:44px;display:block}.insight-filters{display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:12px;align-items:end}.insight-filters label{font-size:14px}.insight-filters select{display:block;max-width:100%;margin-top:6px}.metric-list{list-style:none;padding:0;margin:0}.metric-list li{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e6ebf5;font-size:16px}.metric-list li:last-child{border-bottom:0}.tracking-card{margin-top:28px}.tracking-card .checklabel{margin-bottom:16px}@media(max-width:900px){.insight-filters{grid-template-columns:1fr 1fr}.usage-stats{grid-template-columns:1fr 1fr}}@media(max-width:480px){.insight-filters{grid-template-columns:1fr}.usage-stats .stat{padding:12px}.usage-stats .stat span{min-height:42px}.answer-feedback button{flex-grow:1}}
