:root{font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#14233f;background:#eef6ff;--blue:#245cde;--line:#d8e5f6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top left,#dbeafe,transparent 50%),linear-gradient(140deg,#f8fbff,#eff6ff);min-height:100vh}a{color:#1d4ed8}button,input,select{font:inherit}button,a,summary,input,select{-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--blue);color:#fff;border:1px solid transparent;border-radius:13px;min-height:46px;padding:11px 18px;font-weight:750;text-decoration:none;cursor:pointer}.secondary{background:#fff;color:#214aad;border-color:#b7cef3}.dark{background:#172554;color:#fff}.wide{width:100%}.primary{box-shadow:0 6px 18px #245cde20}.text-link{font-weight:700;display:inline-block;margin:8px 12px;text-decoration:none}.text-button{background:none;color:#245cde}.topbar{margin:18px auto 0;padding:14px 18px;max-width:1400px;display:flex;gap:18px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:0 9px 28px #1e3a8a0a}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#172554;font-size:1.25rem;font-weight:850}.brand small{display:block;font-size:.75rem;letter-spacing:.07em;color:#516681;font-weight:750}.brandmark{width:43px;height:45px;border-radius:13px;background:#245cde;color:white;display:grid;place-items:center;font-size:1.55rem}.topbar nav{display:flex;flex-wrap:wrap;gap:5px}.topbar nav a{padding:10px 14px;border-radius:11px;text-decoration:none;font-weight:750;font-size:.9rem}.topbar nav a.active{background:#245cde;color:white}main{max-width:1400px;margin:auto;padding:0 0 36px}h1{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.13;letter-spacing:-.035em;margin:8px 0 12px}h2{font-size:1.45rem;line-height:1.25;margin:10px 0 18px}p{margin:10px 0 16px}small,.fine{font-size:.875rem;color:#526580}.fine{line-height:1.5}.toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:20px 2px}.toolbar label{font-size:.875rem;font-weight:700}.toolbar select{padding:10px 12px;border-radius:11px;border:1px solid #b8cce7;background:#fff;color:#203a60;margin-left:8px;max-width:100%}.toolbar>span{font-size:.875rem;color:#526580}.toolbar>.text-link{margin-left:auto}.journey{background:linear-gradient(125deg,#0f172a,#172554 58%,#164e63);color:#fff;border-radius:28px;padding:26px;box-shadow:0 20px 45px #14244b16}.journey small{color:#93e6f4;letter-spacing:.08em;font-weight:750}.journey p{color:#d3deef}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.course-total{text-align:center;min-width:128px;border:1px solid #ffffff26;background:#ffffff0a;padding:10px 15px;border-radius:18px}.course-total b{font-size:2rem;display:block}.course-total span{font-size:.875rem;color:#cad7ef}.unit-roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px}.unit-card{color:white;text-decoration:none;border:1px solid #ffffff30;border-radius:18px;padding:16px 18px;transition:transform .15s}.unit-card:hover{transform:translateY(-3px)}.color0{background:linear-gradient(135deg,#087c76,#115e59)}.color1{background:linear-gradient(135deg,#2563eb,#1e40af)}.color2{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.color3{background:linear-gradient(135deg,#bc4312,#92300c)}.color4{background:linear-gradient(135deg,#0878a4,#075985)}.unit-card.selected{outline:2px solid #fff;outline-offset:3px}.unit-top{display:flex;justify-content:space-between;align-items:center}.unit-top b{font-size:1.8rem;line-height:1.1}.unit-card>strong{display:block;font-size:1.1rem;line-height:1.25;min-height:2.6em;margin:12px 0 9px}.unit-card small{color:#f1f5ff;font-size:.875rem;letter-spacing:0}.unit-card>span:last-child{font-size:.875rem}.meter{height:8px;border-radius:20px;background:#dce7f7;overflow:hidden;margin:11px 0}.meter i{display:block;height:100%;background:#2563eb;border-radius:20px}.unit-card .meter{background:#ffffff30}.unit-card .meter i{background:white}summary{cursor:pointer;font-weight:750;padding:13px 0;color:#2253b4}.extra-units summary{color:#d6e9ff;font-size:.9rem;padding-bottom:0}.extra-units[open] summary{padding-bottom:10px}.reward-strip{display:flex;align-items:center;gap:17px;background:linear-gradient(120deg,#172554,#34307c);color:white;border-radius:20px;padding:18px 22px;margin:20px 0}.coin{flex:none;width:45px;height:45px;border:3px solid #fff0bc;border-radius:50%;display:grid;place-items:center;background:linear-gradient(120deg,#ffe28a,#f6ad1d);color:#734309;font-size:1.25rem;font-weight:900}.reward-strip strong{display:block;font-size:1.2rem}.reward-strip small{color:#d5dafa}.reward-target{flex:1;margin-left:20px}.reward-target strong{font-size:1rem}.reward-strip .meter{background:#ffffff24}.reward-strip .meter i{background:#fbc649}.reward-strip a{color:#fff}.panel{background:#fff;border:1px solid var(--line);border-radius:23px;padding:25px;margin-bottom:20px;box-shadow:0 10px 30px #1e3a8a07;min-width:0}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.topic-tile{display:flex;align-items:center;gap:12px;color:#1a3456;text-decoration:none;border:1px solid #d3e2f6;background:linear-gradient(140deg,#fff,#f1f7ff);border-radius:15px;padding:16px;min-height:95px}.topic-tile:hover{border-color:#3975df;background:#eaf3ff}.topic-tile strong{display:block;font-size:1rem;line-height:1.3}.topic-tile small{display:block;margin-top:6px}.topic-number{width:32px;height:32px;border-radius:10px;background:#dbeafe;color:#245cde;display:grid;place-items:center;flex-shrink:0;font-weight:800}.extensions{border-top:1px solid var(--line);margin-top:20px}.extensions>summary{color:#79510c}.save-note{padding:12px 24px;border:1px solid #b9d1ef;border-radius:15px;background:#f5faff}.practice-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:25px 0}.practice-heading h1{font-size:2rem}.workspace{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:22px}.learn-panel{align-self:start;background:linear-gradient(#fff,#f0f7ff)}.learn-panel .reward-strip{margin:0 0 25px;display:grid;grid-template-columns:45px 1fr;padding:16px;gap:9px 15px}.learn-panel .reward-target{grid-column:1/3;margin:4px 0 0}.learn-panel .reward-strip a{grid-column:1/3;font-size:.875rem;margin:0}.difficulty-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.difficulty{border:1px solid #c9d9ee;padding:12px 10px;background:#fff;border-radius:13px;text-decoration:none;color:#203b60}.difficulty strong,.difficulty small,.difficulty span{display:block}.difficulty strong{line-height:1.25;font-size:.94rem}.difficulty small{margin:7px 0;font-size:.875rem}.difficulty span{font-size:.875rem}.difficulty.easy.active{background:#ecfdf5;border:2px solid #168455}.difficulty.medium.active{background:#eff6ff;border:2px solid #2563eb}.difficulty.challenge.active{background:#f4efff;border:2px solid #7c3aed}.mini-lesson{border-top:1px solid var(--line);padding:5px 0}.mini-lesson li{margin-bottom:10px}.learn-panel>.wide{margin-top:24px}.question-card{border-top:5px solid #2563eb;align-self:start}.question-card h2{font-size:1.6rem;line-height:1.4;margin-top:20px}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.875rem}.pill{padding:7px 12px;border-radius:25px;font-weight:750}.pill.easy{background:#e2f7ea;color:#136d45}.pill.medium{background:#e3edff;color:#2051bd}.pill.challenge{background:#eee6ff;color:#6330ba}.visual{background:#eff6fc;border:1px solid #dce9f7;border-radius:16px;padding:18px;margin:18px 0;text-align:center;overflow:auto}.visual svg{width:auto;max-width:100%;max-height:250px}.visual figcaption{font-size:.875rem;font-weight:700;margin-bottom:12px}.flow{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.flow span{padding:9px 14px;border:1px solid #b7d1ea;border-radius:9px;background:white}.answers{border:0;padding:0;margin:20px 0;display:grid;gap:10px}.answers legend{font-size:.9rem;margin-bottom:12px}.answer-option{display:flex;gap:12px;align-items:center;padding:14px;border:2px solid #d9e3f1;border-radius:13px;cursor:pointer}.answer-option>span{display:flex;align-items:center;gap:13px}.answer-option b{color:#43618a;font-size:.875rem}.answer-option:has(:checked){background:#eaf2ff;border-color:#2563eb}input[type=radio],input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#2563eb}input:not([type=radio]):not([type=checkbox]),select{border:1px solid #9eb6d7;border-radius:11px;padding:13px;background:white;max-width:100%;color:#17304f}input:not([type=radio]):not([type=checkbox]){display:block;width:100%;margin:8px 0 18px}form>label{display:block;font-weight:700;margin-top:16px}form>button{margin-top:12px}.hint{margin-top:20px}.scaffold{background:#edf6ff;padding:0 16px;border-radius:12px}.feedback{padding:20px;margin-top:20px;border-radius:15px}.feedback:empty{display:none}.correct{background:#e6f8ee;border:1px solid #a9ddbf}.incorrect{background:#fff3e3;border:1px solid #eed29f}#next-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.unit-tip{background:#eef5ff;border-radius:10px;padding:10px 14px;font-size:.9rem}.sort-options{display:flex;gap:8px;flex-wrap:wrap}.sort-options button{background:#eaf2ff;color:#234ab1;border-color:#adc5ed}output{display:block;padding:15px;font-weight:800;min-height:55px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.metrics>div{background:white;border:1px solid var(--line);padding:20px;border-radius:18px}.metrics b{font-size:1.9rem;display:block;color:#245cde;overflow-wrap:anywhere}.metrics span{font-size:.875rem;color:#526580;display:block}.progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.progress-grid .panel{margin:0 0 4px}.progress-number{font-size:1.8rem;font-weight:800;color:#245cde}.progress-number span{font-size:1rem;font-weight:500}.table-scroll{overflow-x:auto;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:.9rem}caption{text-align:left;font-weight:800;font-size:1.1rem;padding:12px 0}th,td{padding:12px;border-bottom:1px solid #dae4f0;text-align:left}thead th{background:#edf4ff}tbody th{font-weight:650}.report-status{padding:15px 20px;border-radius:12px;background:#eaf2ff;font-weight:800}.check-label{display:flex;gap:12px;align-items:center;background:#f0f7ff;padding:15px;border-radius:13px}.earning{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.earning b{font-size:1.7rem;color:#b8750a}.earning p{margin:0}.report>details{margin:20px 0}footer{max-width:1400px;margin:0 auto;padding:20px 0 35px;color:#526580;font-size:.875rem}#save-warning{background:#fff0d9;border:2px solid #b77015;padding:18px;margin:15px auto;max-width:1400px}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #d78106;outline-offset:4px}.skip{position:absolute;top:-100px;z-index:9;background:white;padding:10px}.skip:focus{top:0}
@media(max-width:1460px){main,.topbar,footer{margin-left:22px;margin-right:22px}}@media(max-width:1050px){.workspace{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.difficulty-picker{grid-template-columns:1fr}.difficulty{display:grid;grid-template-columns:1fr auto;gap:3px 8px}.difficulty small{grid-column:1;margin:0}.difficulty span{grid-column:2;grid-row:1/3;align-self:center}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-wrap:wrap}.toolbar>span{display:none}.unit-roadmap{grid-template-columns:repeat(4,minmax(0,1fr))}.unit-card{padding:13px}.unit-card>strong{font-size:1rem}.unit-card small{font-size:.875rem}}@media(max-width:760px){.workspace,.progress-grid{grid-template-columns:1fr}.unit-roadmap,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace .learn-panel{order:0}.workspace .question-card{order:1}.learn-panel .reward-strip{display:none}.difficulty-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty{display:block}.difficulty span{margin-top:7px}.learn-panel{padding:18px}.learn-panel>.fine{font-size:.875rem}.section-heading,.practice-heading{align-items:flex-start;flex-wrap:wrap}.course-total{display:none}.journey{padding:20px}.toolbar{gap:8px}.toolbar select{display:block;margin:5px 0}.toolbar>.text-link{margin-left:0}.topbar nav a{padding:9px;font-size:.875rem}.reward-target{margin-left:0}.reward-strip{flex-wrap:wrap}.reward-strip>a{display:none}.brand{font-size:1.1rem}.brand small{font-size:.75rem}.topic-grid{grid-template-columns:1fr}.panel{padding:20px}.unit-card>strong{min-height:2.6em}.practice-heading h1{font-size:1.7rem}}@media(max-width:420px){main,.topbar,footer{margin-left:12px;margin-right:12px}.topbar{padding:12px}.journey{padding:16px}.difficulty-picker{grid-template-columns:1fr}.difficulty{display:grid}.unit-roadmap{gap:10px}.unit-card{padding:11px}.metrics{gap:8px}.metrics>div{padding:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{body{background:white}.topbar,.toolbar,footer,button,.report>.button,.check-label,#save-warning{display:none!important}main{margin:0;max-width:none}.report{border:0;box-shadow:none;padding:0}.table-scroll{overflow:visible}table{font-size:9pt}.metrics{grid-template-columns:repeat(4,1fr)}tr{break-inside:avoid}.report-status{background:none}.report details{display:none}}

.proof-rules{padding:16px;background:#fff5df;border:1px solid #e3bd72;border-radius:13px;margin:18px 0}.proof-rules p{font-size:.9rem}.evidence-summary{margin:22px 0;padding:20px;background:#f0f6ff;border:1px solid #bfd3f3;border-radius:18px}.evidence-summary .metrics{margin-bottom:10px}

.difficulty.locked{opacity:.6;cursor:default;border-style:dashed}

.proof-welcome{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:40px 0 56px;align-items:center}.welcome-brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:2px}.proof-welcome h1{font-size:clamp(52px,6vw,86px);line-height:1.04;letter-spacing:-3px;margin:26px 0}.proof-welcome h1 span{color:#6552e9}.proof-welcome p{max-width:510px;font-size:18px;line-height:1.65}.proof-welcome p.fine{font-size:14px}.welcome-art{position:relative;min-height:490px;border-radius:40px;background:linear-gradient(145deg,#2f285f,#6153e3 55%,#1a9c9b);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 22px 55px #4943a329}.welcome-coin{width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff2a0,#ffc743 55%,#ec9008);border:8px double #a76609;box-shadow:0 18px 0 #ac6709,0 30px 45px #17104670,inset 0 0 0 8px #ffe598;color:#663707;font-size:100px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1;transform:rotate(-10deg)}.welcome-coin small{font-size:20px;letter-spacing:4px;margin-top:9px}.welcome-coin.small{width:46px;height:46px;font-size:24px;border-width:3px;box-shadow:0 3px 0 #ac6709;transform:none;flex-shrink:0}.art-note,.art-reward{position:absolute;background:#fffffff2;padding:18px 22px;border-radius:20px;font-weight:850;color:#182139}.art-note{left:24px;top:24px}.art-note small,.art-reward small{font-weight:400;font-size:13px;display:block;max-width:220px;margin-top:6px}.art-reward{right:20px;bottom:20px}.art-symbol{position:absolute;right:30px;top:65px;font-size:44px;color:white;font-weight:900;transform:rotate(12deg)}@media(max-width:760px){.proof-welcome{grid-template-columns:1fr;gap:24px;padding-top:20px}.welcome-art{min-height:400px}.proof-welcome h1{font-size:60px}.welcome-coin{width:170px;height:170px;font-size:80px}.art-symbol{font-size:30px}}
