*{box-sizing:border-box}body{margin:0;background:#f5f7fc;color:#172440;font-family:system-ui,-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.65}button,input{font:inherit}button{cursor:pointer;transition:background .18s,transform .18s}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffb629;outline-offset:4px}button:disabled{cursor:default;filter:none}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e6f0;padding:0 max(5%,calc((100vw - 1180px)/2));background:white}.brand{font-size:22px;font-weight:800;display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.logo{display:grid;place-items:center;background:#254fe5;color:white;border-radius:13px;width:44px;height:44px;font-size:34px}.eyebrow{font-size:13px;font-weight:750;letter-spacing:.1em}.blue{color:#254fe5}main{max-width:1180px;margin:auto;padding:40px 24px 24px}.topline{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:center;margin-bottom:32px}h1{font-size:clamp(26px,3vw,36px);line-height:1.4;letter-spacing:-.035em;margin:10px 0}h2{font-size:23px;line-height:1.5;margin:0 0 10px}p{margin:8px 0 18px}.intro{color:#59657b;margin:0}.definition{border-left:3px solid #ffbe35;background:#fff9e7;padding:18px 24px;display:grid;gap:3px;border-radius:0 12px 12px 0}.definition b{color:#254fe5}.definition small{font-size:14px;color:#59657b}nav{display:flex;border-bottom:1px solid #d6ddec;margin-bottom:28px;gap:12px}.nav{border:0;background:transparent;color:#59657b;padding:16px 24px;font-weight:700;border-bottom:3px solid transparent}.nav.active{color:#254fe5;border-bottom-color:#254fe5}.section-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px}.section-head span{color:#59657b;font-size:14px}.rules{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:22px}.rule{background:white;border:1px solid #dbe1ee;border-radius:14px;padding:12px;color:#172440;text-align:left;position:relative}.rule b{display:block;font-size:34px;line-height:1.3}.rule span{font-size:14px}.rule.active{background:#254fe5;border-color:#254fe5;color:white;box-shadow:0 6px 16px #254fe529}.rule em{position:absolute;top:12px;right:10px;font-size:12px;font-style:normal;padding:1px 5px;border:1px solid currentColor;border-radius:5px}.lesson{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dbe1ee;border-radius:20px;background:white;overflow:hidden}.lesson-copy{padding:28px 32px}.lesson-copy h2{font-size:29px}.rule-text{font-size:20px;font-weight:650}.why{font-size:15px;color:#536078;padding-top:16px;border-top:1px solid #e5e9f2}.example{background:#edf2ff;padding:28px 32px;display:flex;flex-direction:column;justify-content:center}.big-number{font-size:60px;letter-spacing:.09em;font-weight:800;line-height:1.2;margin:8px 0 18px}.big-number mark{background:#ffcf57;color:#172440;border-radius:7px;padding:0 5px}.example p{margin:5px 0}.badge{font-size:14px;font-weight:700;color:#12654e}.counter{font-size:14px;margin-top:15px!important;padding-top:14px;border-top:1px solid #cdd8f4}.trybox{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px;margin-top:24px;background:white;border:1px solid #dbe1ee;border-radius:18px;padding:24px 32px}.trybox .eyebrow{margin:0 0 5px}label{display:block;font-size:14px}.inputrow{display:flex;gap:10px;margin-top:6px}input:not([type=radio]){min-width:0;width:100%;border:1px solid #b5c1d5;border-radius:9px;padding:10px 14px}.primary{background:#254fe5;color:white;border:0;border-radius:9px;padding:12px 22px;font-weight:650;white-space:nowrap}#check-result{grid-column:1/-1}#check-result:empty{display:none}.result{padding:16px 20px;background:#eef8f4;border-radius:10px}.result.no{background:#fff4df}.panel{background:white;border:1px solid #dbe1ee;border-radius:20px;padding:36px}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.modes label{border:1px solid #dbe1ee;border-radius:12px;padding:20px;cursor:pointer}.modes label:has(:checked){border-color:#254fe5;background:#edf2ff}.modes input{accent-color:#254fe5;margin-right:10px}.modes strong{font-size:18px}.modes span{display:block;padding-left:26px;color:#59657b}.quiztop{display:flex;justify-content:space-between;gap:20px}.progress{height:7px;background:#e8ecf5;border-radius:5px;margin:16px 0 30px;overflow:hidden}.progress div{height:100%;background:#254fe5}.question{text-align:center;padding:12px 0 26px}.question .num{font-size:68px;font-weight:800;color:#254fe5;line-height:1.4}.answers{display:flex;justify-content:center;gap:16px}.answers button{background:white;border:2px solid #b7c6eb;border-radius:12px;padding:15px 30px;min-width:180px;font-weight:750}.answers button.selected{background:#254fe5;color:white;border-color:#254fe5}.feedback{margin-top:24px;background:#edf6f2;padding:20px;border-radius:12px}.feedback.wrong{background:#fff4df}.feedback h3{margin:0 0 5px}.next{margin-top:16px;display:flex;justify-content:flex-end}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid #dbe1ee;border-radius:16px;padding:24px}.stat b{font-size:36px;display:block;color:#254fe5}.stat span{color:#59657b}.history{overflow:auto;background:white;border:1px solid #dbe1ee;border-radius:16px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}td,th{padding:16px 24px;border-bottom:1px solid #e5e9f2}th{background:#eef2fb;font-size:14px}td{font-size:15px}.summary{text-align:center}.final-score{font-size:72px;color:#254fe5;font-weight:800;line-height:1.3}.review{text-align:left;margin:24px 0;display:grid;gap:10px}.review div{padding:14px 18px;background:#f5f7fc;border-radius:10px}.muted{font-size:14px;color:#59657b}footer{display:flex;justify-content:space-between;margin-top:36px;padding-top:20px;border-top:1px solid #dbe1ee;font-size:13px;color:#66738a}[hidden]{display:none!important}@media(max-width:760px){header{height:72px;padding:0 20px}header>.eyebrow{display:none}main{padding:24px 16px}.topline{grid-template-columns:1fr;gap:18px}.rules{grid-template-columns:repeat(3,1fr)}.lesson,.trybox{grid-template-columns:1fr}.lesson-copy,.example{padding:24px}.trybox{padding:24px}.nav{padding:14px 8px;font-size:14px;flex:1}nav{gap:0}.section-head{display:block}.section-head span{display:block}.modes{grid-template-columns:1fr}.panel{padding:24px 18px}.answers button{min-width:0;flex:1;padding:15px 10px}.stats{gap:8px}.stat{padding:16px 10px}.stat b{font-size:27px}.stat span{font-size:13px}.inputrow{flex-wrap:wrap}.inputrow input{flex:1;min-width:100px}.big-number{font-size:52px}footer{gap:20px;flex-wrap:wrap}}
#identity:empty{display:none}#identity{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#e8efff;padding:12px 18px;border-radius:10px;margin-bottom:22px}.textbutton{border:0;background:transparent;color:#254fe5;text-decoration:underline;white-space:nowrap}.secondary{background:white;border:1px solid #b8c7e7;color:#254fe5;border-radius:9px;padding:11px 20px;font-weight:650}.error{color:#8b251d;background:#fff0ec;border-radius:8px;padding:12px 16px;white-space:normal}.auth{margin-bottom:24px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.formgrid input,.teacher-auth input{display:block;margin:7px 0 18px}.actions{display:flex;gap:12px;flex-wrap:wrap}.teacher-auth{display:grid;grid-template-columns:1fr 1fr;gap:24px}.secret{font:700 22px/1.6 monospace;background:#edf2ff;padding:18px;border-radius:12px;overflow-wrap:anywhere;user-select:all}.classcode{letter-spacing:.12em;color:#254fe5}select{font:inherit;display:block;border:1px solid #b8c7e7;background:white;border-radius:8px;padding:8px 12px;max-width:100%}button:disabled{opacity:.55}.summary .primary{margin:6px}#practice-auth .result{margin-bottom:20px}@media(max-width:760px){.formgrid,.teacher-auth{grid-template-columns:1fr}nav{flex-wrap:wrap}.nav{min-width:50%}#identity{align-items:flex-start}.secret{font-size:18px}}

.student-auth .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-auth select{width:100%;margin:7px 0 18px;padding:10px 14px}.legacy-login{margin-top:24px;font-size:14px;color:#59657b}.legacy-login summary{cursor:pointer}.legacy-login label{margin:12px 0}.legacy-login input{margin-top:6px}@media(max-width:760px){.student-auth .formgrid{grid-template-columns:1fr}}

.try-controls{display:flex;flex-direction:column;justify-content:center;gap:18px}.try-controls .answers{flex-wrap:wrap}.try-controls .answers button{min-width:0;flex:1;padding:14px 10px}.try-controls>.primary{align-self:flex-end}#try-number{margin-bottom:0;color:#254fe5;font-variant-numeric:tabular-nums}
