:root{color-scheme:light;--ink:#172b38;--muted:#51626e;--paper:#f4f6f7;--white:#fff;--line:#dce3e7;--blue:#214ed3;--soft:#edf2ff;--green:#206047;--sand:#f6ead2;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ce6500;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,2.7vw,2.6rem);line-height:1.16;letter-spacing:-1.2px;margin-bottom:12px;font-weight:750}h2{font-size:1.35rem;line-height:1.3;letter-spacing:-.45px;margin-bottom:12px}h3{font-size:1.04rem;margin-bottom:8px}p{color:var(--muted);margin-bottom:16px}small,.small{font-size:.82rem;color:var(--muted)}[hidden]{display:none!important}hr{border:0;border-top:1px solid var(--line);margin:24px 0}ul{padding-left:20px;color:var(--muted)}li{margin-bottom:8px}strong,b{font-weight:650}
.prototype-bar{background:#1b2e3d;color:#e6edf2;padding:10px 24px;font-size:.78rem;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.prototype-bar strong{color:#fff;letter-spacing:1px;margin-right:8px}.prototype-bar label{display:flex;gap:10px;align-items:center}.prototype-bar select{font-size:.78rem;background:#fff;color:var(--ink);padding:7px 10px;border-radius:6px;border:0;max-width:250px}
.app{max-width:1600px;margin:auto;display:grid;grid-template-columns:226px minmax(0,1fr);min-height:calc(100vh - 60px)}.sidebar{background:var(--white);border-right:1px solid var(--line);padding:35px 22px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;flex-wrap:wrap;gap:9px;text-decoration:none;font-weight:800;font-size:1.7rem;letter-spacing:-1px}.brand-mark{background:var(--blue);color:#fff;width:39px;height:39px;text-align:center;border-radius:12px;line-height:36px}.version{width:100%;font-size:.55rem;letter-spacing:1.9px;color:var(--muted);margin-top:5px}.sidebar nav{margin:45px -5px 30px;display:flex;flex-direction:column;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:14px;min-height:48px;padding:12px 13px;border-radius:10px;text-decoration:none;font-size:.9rem;font-weight:600}.sidebar nav a span{font-size:.72rem;color:var(--muted)}.sidebar nav a:hover{background:var(--paper)}.sidebar nav a[aria-current=page]{background:var(--soft);color:var(--blue)}.sidebar-note{padding:30px 12px;border-top:1px solid var(--line)}.sidebar-note p{font-size:1.45rem;line-height:1.5;color:var(--ink);letter-spacing:-.5px;margin:14px 0}.sidebar-note>span:last-child{font-size:.78rem;color:var(--muted)}.identity{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:50px}.identity small{display:block;font-size:.68rem}.avatar{width:38px;height:38px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-weight:700}
main{padding:25px 40px 0;min-width:0}.topline{display:flex;justify-content:space-between;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:.68rem;letter-spacing:1.4px;color:var(--muted)}.status-dot{letter-spacing:0}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:8px}.screen{padding-top:32px;min-height:670px}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:28px}.page-heading p:last-child{margin:0}.eyebrow,.small-label{font-size:.67rem;font-weight:700;letter-spacing:1.5px;color:var(--muted)}.eyebrow{margin-bottom:12px}.level-stamp{white-space:nowrap;border-left:2px solid var(--line);padding:5px 0 5px 18px}.level-stamp strong{display:block;font-size:.95rem}.level-stamp span{font-size:.75rem;color:var(--muted)}.tag{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.7px;padding:6px 10px;border-radius:6px;background:var(--soft);color:var(--blue)}.tag.neutral{background:#eaf0ed;color:var(--green);white-space:nowrap}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px}.feature{background:#e8eefb;border-radius:var(--radius);padding:32px;display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;overflow:hidden}.feature h2{font-size:2.15rem;line-height:1.12;letter-spacing:-1px}.feature p{font-size:.92rem;max-width:360px}.feature .feature-sub{font-size:.62rem;margin-top:22px}.feature .tag{background:#fff;color:var(--blue)}.meta{display:flex;gap:9px;flex-wrap:wrap;font-size:.68rem;color:var(--muted);margin:23px 0}.meta span+span:before{content:"·";padding-right:9px}.button{border:1px solid transparent;border-radius:9px;min-height:44px;padding:11px 17px;font-size:.85rem;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.35;cursor:pointer}.primary{background:var(--blue);color:#fff}.primary:hover{background:#183ca9}.secondary{background:var(--white);border-color:#cbd5db;color:var(--ink)}.secondary:hover{background:#f0f3f8}.text-link{font-size:.83rem;font-weight:650;color:var(--blue);text-decoration:none;display:inline-block;padding:6px 0}.text-link:hover{text-decoration:underline}.daily{padding:25px 24px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.daily h2{margin-top:14px;font-size:1.25rem}.daily p{font-size:.82rem}.daily hr{margin:18px 0}.progress-track{height:7px;background:#e2e7ef;border-radius:8px;overflow:hidden;margin:18px 0 8px}.progress-track span{display:block;height:100%;background:var(--blue);border-radius:8px}.money-art{position:relative;align-self:center;height:260px}.receipt{background:#fff;padding:23px 17px;width:175px;transform:rotate(6deg);box-shadow:0 12px 25px #21385912;position:absolute;top:20px;right:5px;border-bottom:6px dashed #e8eefb}.receipt>span{font-size:.6rem;letter-spacing:1px}.receipt hr{margin:16px 0}.receipt p{font-size:.76rem;display:flex;justify-content:space-between}.receipt strong{font-size:.95rem}.coin{position:absolute;background:#efd084;border:6px solid #e2be6b;border-radius:50%;display:grid;place-items:center;color:#5f461c;font-weight:750;box-shadow:0 6px 12px #172b3810}.coin.big{width:82px;height:82px;bottom:15px;left:7px;font-size:1.5rem}.coin.small{width:58px;height:58px;right:0;bottom:1px;transform:rotate(15deg);font-size:.8rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 18px}.section-heading h2{margin:0;font-size:1.1rem}.home-domains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.domain-short{text-align:left;background:#fff;border:1px solid var(--line);padding:23px;border-radius:13px;display:flex;flex-direction:column;align-items:start;gap:7px}.domain-short:hover{border-color:var(--blue)}.domain-symbol{display:block;color:var(--blue);font-size:1.45rem;font-weight:650;letter-spacing:-1px;margin-bottom:10px}.domain-short strong{font-size:.94rem}.domain-short small{font-size:.8rem}.quiet-note{font-size:.77rem;color:var(--muted);margin-top:25px;padding:13px 0;border-top:1px solid var(--line)}footer{border-top:1px solid var(--line);display:flex;gap:20px;flex-wrap:wrap;font-size:.68rem;color:var(--muted);padding:22px 0;margin-top:40px}footer a{margin-left:auto}
label{font-size:.8rem;font-weight:600}input,select{background:#fff;border:1px solid #b9c7d1;border-radius:8px;min-height:44px;padding:10px 12px;color:var(--ink);max-width:100%}label:not(.switch)>input,label:not(.switch)>select{display:block;margin-top:7px;width:100%}.filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;background:#fff;padding:20px;border:1px solid var(--line);border-radius:13px}.filters label{flex:1;min-width:160px}.catalog-caption{font-size:.8rem;margin:20px 0 10px}.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-item{display:flex;align-items:start;gap:15px;text-align:left;padding:19px;background:#fff;border:1px solid var(--line);border-radius:12px;width:100%}.catalog-item:hover{border-color:var(--blue)}.catalog-item .catalog-code{font-size:.65rem;font-weight:700;color:var(--blue);background:var(--soft);padding:8px;border-radius:7px;min-width:54px}.catalog-item strong{display:block;font-size:.91rem;margin-bottom:6px}.catalog-item small{display:block;font-size:.74rem}.catalog-item .catalog-arrow{margin-left:auto;color:var(--blue)}.path-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px}.learning-path{list-style:none;margin:0;padding:0}.learning-path li{position:relative;display:flex;gap:20px;padding:0 0 30px;margin:0}.learning-path li:before{position:absolute;content:"";top:45px;bottom:0;left:21px;border-left:2px solid var(--line)}.learning-path li:last-child:before{display:none}.step-number{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#e5eaf0;display:grid;place-items:center;font-weight:700}.done .step-number{background:#dcebe2;color:var(--green)}.current .step-number{background:var(--blue);color:#fff}.learning-path li>div{background:#fff;padding:20px 23px;border:1px solid var(--line);border-radius:13px;width:100%}.learning-path .current>div{border-color:var(--blue)}.learning-path h2{font-size:1.2rem;margin-top:7px}.learning-path p{font-size:.86rem}.help-panel{background:#edf1f4;padding:26px;border-radius:var(--radius);align-self:start}.help-panel h2{margin-top:14px}.help-panel p,.help-panel li{font-size:.88rem}.help-panel .button{margin:0 6px 12px 0}.help-panel .text-link{display:block}.help-panel .small{font-size:.76rem;margin-top:18px}details{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}summary{font-size:.83rem;font-weight:650;padding:8px 0;color:var(--blue)}details p{margin:12px 0 0}
.mission-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.82rem}.mission-progress{margin:18px 0 30px}.exercise-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.checkout{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px}.purchase{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.purchase>.small-label{grid-column:1/-1}.purchase h2{align-self:center}.purchase dl{margin:5px 0 20px}.purchase dl>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px}.purchase dt{font-size:.8rem;color:var(--muted)}.purchase dd{font-size:1rem;font-weight:700;margin:0;white-space:nowrap}.tray{background:#f2f5fa;border-radius:12px;text-align:center;padding:22px}.tray>span{display:block;font-size:.85rem}.tray strong{font-size:2.4rem;letter-spacing:-1px;display:block}.tray p{font-size:.75rem;margin:5px 0;min-height:22px;overflow-wrap:anywhere}.coin-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:23px 0}.coin-buttons button{min-width:65px;min-height:58px;border-radius:12px;background:var(--sand);border:1px solid #d4bb85;font-weight:700;font-size:.85rem}.coin-buttons button:hover{background:#ecd9ae}.exercise-actions{display:flex;gap:8px;flex-wrap:wrap}.exercise-actions .button{font-size:.77rem;flex:1}.feedback{padding:16px;border-radius:10px;margin:20px 0;font-size:.9rem;background:#edf2ff}.feedback.correct{background:#e6f2e8;color:#1e5234}.hint-box{background:#fff;border-radius:10px;padding:16px;font-size:.86rem;margin:12px 0}.result-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-top:30px}.result-card{background:#fff;border:1px solid var(--line);padding:30px;border-radius:var(--radius)}.result-value{font-size:4.3rem;letter-spacing:-3px;color:var(--blue);margin:16px 0}.result-value span{font-size:1.8rem;color:var(--muted);letter-spacing:0}.equation{font-size:1.1rem;font-weight:650;color:var(--blue);padding:15px 0}.result-details{background:#fff;padding:18px 24px;border-radius:12px}.review-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:.87rem}.stats-summary{display:flex;gap:45px;margin:0 0 30px;padding:20px 0;border-bottom:1px solid var(--line)}.stats-summary>div{display:flex;gap:12px;align-items:center}.stats-summary strong{font-size:2.15rem;letter-spacing:-1px}.stats-summary span{font-size:.81rem;max-width:110px}.stats-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.stat-panel{padding:27px;border:1px solid var(--line);background:#fff;border-radius:var(--radius)}.stat-panel p{font-size:.86rem}.stat-panel .small-label{font-size:.62rem}.bar-chart{margin:30px 0}.bar-chart>div{display:grid;grid-template-columns:102px 1fr 45px;gap:14px;align-items:center;margin:17px 0;font-size:.76rem}.chart-track{height:20px;background:#edf1f6;border-radius:4px;overflow:hidden}.chart-track i{display:block;height:100%;background:var(--blue);border-radius:4px}.insight{padding-top:14px;border-top:1px solid var(--line)}.mastery-row{display:flex;justify-content:space-between;gap:16px;font-size:.81rem;padding:15px 0;border-bottom:1px solid var(--line)}.mastery-row b{font-size:.71rem;color:var(--green);white-space:nowrap}.stat-panel .small{font-size:.73rem;margin:18px 0 0}.community{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-top:24px}.community .section-heading{margin:0 0 20px}.community .small-label{margin:0 0 10px}.switch{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:400}.switch input{width:18px;height:18px;min-height:18px;accent-color:var(--blue)}.community-controls{margin-bottom:20px}.community-controls select{width:auto!important}.comparison{display:flex;align-items:center;gap:35px;padding:22px 0;border-top:1px solid var(--line)}.comparison>div{flex:1}.comparison span{font-size:.8rem;display:block}.comparison strong{font-size:2rem;letter-spacing:-1px}.comparison p{font-size:.74rem;margin:0}.community>div>div>p{font-size:.84rem}.empty-state{padding:25px;background:var(--paper);border-radius:10px}.empty-state p{margin:0}.account-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:25px}.account-layout form>label{display:block;margin:20px 0}.account-layout form>.switch{display:flex}.account-layout form input{max-width:100%}dialog{width:min(560px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;padding:32px;color:var(--ink);box-shadow:0 25px 90px #172b3833}dialog::backdrop{background:#16273866}dialog .button{margin-top:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:var(--paper);padding:16px;border-radius:10px;margin-bottom:20px}.detail-grid p{margin:8px 0 0;font-size:.85rem}
@media(min-width:1450px){main{padding-left:55px;padding-right:55px}.feature{padding:38px}.feature h2{font-size:2.7rem}}
@media(max-width:1180px){.app{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:30px 15px}.sidebar nav a{gap:9px;font-size:.85rem}main{padding:24px}.home-layout{grid-template-columns:minmax(0,1fr) 220px}.feature{padding:25px;grid-template-columns:1fr}.money-art{display:none}.feature h2{font-size:2.1rem}.daily{padding:22px 18px}.path-layout{grid-template-columns:minmax(0,1fr) 260px}.exercise-layout{grid-template-columns:minmax(0,1fr) 235px}.stats-layout{grid-template-columns:1fr}.account-layout{grid-template-columns:minmax(0,1fr) 270px}.stats-summary{gap:25px}.comparison{gap:20px}.home-domains{gap:10px}.domain-short{padding:18px}}
@media(max-width:900px){.app{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:18px 24px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:1.35rem;flex-wrap:nowrap}.brand-mark{width:32px;height:32px;line-height:29px}.version,.sidebar-note,.identity{display:none}.sidebar nav{flex-direction:row;margin:0;gap:4px;flex-wrap:wrap}.sidebar nav a{padding:10px;font-size:.78rem}.sidebar nav a span{display:none}.home-layout{grid-template-columns:minmax(0,1fr) 240px}.path-layout{grid-template-columns:minmax(0,1fr) 260px}.exercise-layout{grid-template-columns:1fr}.exercise-layout .help-panel{padding:22px}.purchase{grid-template-columns:1fr 1fr}.result-layout{grid-template-columns:minmax(0,1fr) 260px}.account-layout{grid-template-columns:1fr 1fr}.screen{min-height:550px}.page-heading{margin-bottom:25px}}
@media(max-width:650px){.prototype-bar{padding:10px 15px}.prototype-bar label{width:100%;justify-content:space-between}.sidebar{padding:15px;display:block}.sidebar nav{margin-top:15px;justify-content:space-between}.sidebar nav a{font-size:.75rem;padding:8px}.sidebar nav a span{display:none}main{padding:20px 17px 0}.screen{padding-top:25px}.page-heading{gap:16px}.level-stamp{display:none}h1{font-size:1.9rem;letter-spacing:-.7px}.home-layout,.path-layout,.result-layout,.account-layout{grid-template-columns:1fr}.feature{padding:26px}.home-domains{grid-template-columns:1fr}.domain-short{display:grid;grid-template-columns:45px 1fr;gap:4px 12px}.domain-short .domain-symbol{grid-row:1/3;align-self:center;margin:0}.daily{padding:24px}.catalog-list{grid-template-columns:1fr}.filters{padding:16px}.filters label{min-width:100%}.section-heading{align-items:start;flex-wrap:wrap;gap:12px}.section-heading .text-link{padding:0}.learning-path li{gap:12px}.learning-path li>div{padding:20px 16px}.purchase{display:block}.purchase dl{margin-top:18px}.checkout{padding:20px 16px}.coin-buttons{gap:7px}.coin-buttons button{min-width:55px;min-height:52px;font-size:.77rem}.mission-top{flex-wrap:wrap;font-size:.75rem}.mission-top .button{font-size:.74rem}.stats-summary{gap:14px;flex-wrap:wrap}.stats-summary>div{flex:1;min-width:85px;display:block}.stats-summary span{display:block;font-size:.74rem}.stats-summary strong{font-size:1.8rem}.stat-panel{padding:22px 17px}.bar-chart>div{grid-template-columns:93px 1fr 40px;gap:7px;font-size:.72rem}.comparison{flex-wrap:wrap;gap:22px}.comparison>div{min-width:100px}.comparison p{width:100%}.community{padding:22px 18px}.mastery-row{gap:8px}.mastery-row span{max-width:190px}.result-value{font-size:3.5rem}footer{gap:10px}footer a{margin-left:0}.topline{font-size:.6rem}.equation{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.app{min-height:100vh}.screen{min-height:600px}.domain-short,.catalog-item{text-decoration:none}.identity{overflow-wrap:anywhere}.identity>div{min-width:0}.skip-link{position:absolute;top:-100px;left:20px;background:#fff;color:#172b38;padding:14px;z-index:10}.skip-link:focus{top:12px}.logout-form{margin:16px 0}.text-button{border:0;background:transparent;color:var(--blue);padding:10px 0;font-size:.83rem}.notice{padding:18px 22px;background:#edf2ff;border:1px solid #d3dcfa;border-radius:12px;margin:20px 0;color:#203a73}.notice a{font-weight:650}.notice[role=alert]{background:#fff3df;color:#6e430c;border-color:#e8d4ad}.spaced{margin-top:25px}.lesson-panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px;margin-bottom:28px}.lesson-panel h2{margin-top:12px}.lesson-panel p{margin:0}.auth-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:35px}.auth-form>label{display:block;margin:18px 0}.auth-form>.switch{display:flex}.auth-form>.button{margin-top:12px}.auth-form>.text-link{display:block;margin-top:12px}.auth-form label input{width:100%}.auth-form .switch input{width:18px;flex-shrink:0}.narrow{max-width:650px}.account-detail{padding:15px 22px;background:#fff;border-radius:13px;border:1px solid var(--line)}.danger{background:#a62c31;color:#fff}.danger:hover{background:#84252a}.recovery-secret{display:block;font-size:1.25rem;background:#edf2ff;padding:20px;border-radius:10px;overflow-wrap:anywhere;line-height:1.9;margin:24px 0}.prose{max-width:850px}.prose h2{margin-top:28px}.actions{display:flex;gap:15px;flex-wrap:wrap}progress{width:100%;height:9px;appearance:none;border:0;border-radius:8px;background:#e2e7ef;display:block;margin:18px 0}progress::-webkit-progress-bar{background:#e2e7ef;border-radius:8px}progress::-webkit-progress-value{background:var(--blue);border-radius:8px}progress::-moz-progress-bar{background:var(--blue);border-radius:8px}.bar-chart progress{height:20px;margin:0}.choices{border:0;padding:0;margin:0 0 25px}.choices legend{font-size:.85rem;color:var(--muted);margin-bottom:12px}.choices label{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:10px;margin:9px 0;cursor:pointer;font-size:.95rem;font-weight:400}.choices input{width:19px!important;height:19px;min-height:19px;flex-shrink:0;margin:0!important;accent-color:var(--blue)}.choices label:has(input:checked){background:var(--soft);border-color:var(--blue)}.answer-submit{margin-top:20px}.reading-text{margin:0 0 25px;padding:24px;background:#f5f1e9;border-left:3px solid #c5b390;border-radius:5px;line-height:1.9}.robot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:340px;gap:5px;margin:0 0 22px}.robot-cell{aspect-ratio:1;display:grid;place-items:center;background:#edf2f7;border-radius:6px;font-size:.82rem;color:#405367}.robot-cell.target{background:#d9eadd;color:#21563a;font-weight:700}.feedback p{color:inherit}.filters .switch{min-width:180px}.filters .switch input{width:18px;margin:0;flex-shrink:0}.help-panel .auth-form label{font-size:.8rem}.stat-panel .mastery-row span,.stat-panel .mastery-row a{overflow-wrap:anywhere}.comparison small{display:block}.feature h2{overflow-wrap:anywhere}.review-row p{margin-bottom:8px}
.account-signout{margin:0 0 25px}
.safe-game h2{text-align:center}.safe-game>p{font-size:.86rem}.safe-door{width:160px;height:94px;background:#233b50;color:#dce8f5;border:7px solid #d5dfe8;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:19px;font-size:1.4rem;margin:0 auto 23px}.safe-door>span{width:44px;height:44px;border:2px solid #a3b5c6;border-radius:50%;display:grid;place-items:center;font-size:1.7rem}.symbol-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0}.symbol-token{padding:7px 10px;border-radius:7px;font-size:.76rem;font-weight:650}.symbol-a{background:#fff1bf;color:#71510c}.symbol-b{background:#e7efff;color:#214ed3}.symbol-c{background:#e8f3e7;color:#286342}.symbol-d{background:#f3eafa;color:#713f93}.clue-table-wrap{overflow-x:auto}.clue-table{border-collapse:collapse;width:100%;margin:14px 0}.clue-table caption{font-size:.8rem;text-align:left;color:var(--muted);padding:0 0 10px}.clue-table th,.clue-table td{padding:10px 8px;border-bottom:1px solid var(--line);font-size:.8rem;text-align:center}.clue-table th:first-child{text-align:left}.clue-table thead th{font-size:.72rem;color:var(--muted)}.clue-table tbody th>small{display:block;font-size:.7rem;font-weight:400}.code-symbols{font-size:1rem;letter-spacing:3px;white-space:nowrap}.game-remaining{font-weight:650;color:var(--blue)}.symbol-picker{border:0;padding:0;margin:20px 0;display:flex;gap:10px;flex-wrap:wrap}.symbol-picker legend{margin-bottom:9px;font-size:.85rem;font-weight:650}.symbol-picker label{flex:1;min-width:110px}.symbol-picker select{width:100%;font-size:.85rem}.timeline-direction{display:flex;align-items:center;gap:15px;color:var(--blue);font-size:.8rem;font-weight:650;margin-bottom:15px}.event-order{list-style:none;counter-reset:events;margin:20px 0;padding:0;display:flex;flex-direction:column;gap:10px}.event-order li{display:flex;align-items:center;gap:12px;margin:0;padding:16px;background:#f1f5fb;border:1px solid #d8e1ee;border-radius:11px;min-height:75px;position:relative}.event-order li[draggable=true]{cursor:grab}.event-order li.is-dragging{opacity:.5}.event-token{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;background:#fff;border-radius:50%;font-size:.8rem;font-weight:700;color:var(--blue)}.event-label{flex:1;font-size:.88rem;line-height:1.5}.order-actions{display:flex;gap:5px}.order-actions button{width:40px;min-height:44px;background:#fff;border:1px solid #c3d1e2;border-radius:7px;font-size:1.1rem;color:var(--blue)}.order-actions button:hover:not(:disabled){background:var(--soft)}.order-status{min-height:1.4em}.typing-game{padding-top:8px}.typing-runway{display:flex;align-items:center;gap:15px;background:#edf2ff;border-radius:12px;padding:20px;margin-bottom:24px}.typing-runway>span{font-size:1.6rem}.typing-runway progress{flex:1;margin:0;height:16px}.typing-reference{white-space:pre-wrap;font-size:1.3rem!important;line-height:1.9;letter-spacing:.7px;color:var(--ink);background:#f5f7fa;border-radius:12px;padding:24px;margin-bottom:25px;font-family:ui-monospace,Consolas,monospace}.typing-reference .typed-correct{background:#daf0df;color:#235c35}.typing-reference .typed-wrong{background:#ffe0e3;color:#a01e32;text-decoration:underline;text-decoration-thickness:2px}.typing-reference .typed-next{border-bottom:2px solid var(--blue)}.typing-game input{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;width:100%;padding:14px}.typing-state{font-size:.83rem;margin-top:12px}.typing-ready{font-size:.86rem;color:var(--green);font-weight:650;min-height:1.5em}.typing-complete .typing-reference{box-shadow:inset 0 0 0 2px #75b68a}.typing-complete .typing-runway{background:#e6f4e9}
@media(max-width:650px){.event-order li{padding:13px 10px;gap:9px;flex-wrap:wrap}.event-label{font-size:.82rem;min-width:140px}.order-actions{margin-left:auto}.order-actions button{width:44px}.typing-reference{font-size:1.05rem!important;padding:17px}.symbol-picker label{min-width:90px}.symbol-picker select{padding:10px 7px}.clue-table th,.clue-table td{padding:9px 5px}}
.theme-calcul{--topic:#214ed3;--topic-soft:#edf2ff}
.theme-francais{--topic:#7440a8;--topic-soft:#f5effb}
.theme-anglais{--topic:#b13b38;--topic-soft:#fcf0ed}
.theme-geographie{--topic:#126f87;--topic-soft:#eaf6f9}
.theme-logique{--topic:#a35113;--topic-soft:#fff3e8}
.theme-sciences{--topic:#287044;--topic-soft:#edf7ef}
.theme-histoire{--topic:#a33070;--topic-soft:#faedf5}
.theme-musique{--topic:#71601d;--topic-soft:#f7f4e7}
.theme-neutre{--topic:#51626e;--topic-soft:#f0f3f5}
.theme-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--topic,var(--blue));flex-shrink:0}
.catalogue-filters{padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;gap:17px}
.catalogue-filters fieldset{min-width:0;margin:0;padding:0;border:0}
.catalogue-filters legend{padding:0;margin-bottom:9px;font-size:.85rem;font-weight:650}
.catalogue-filters legend small{margin-left:9px;font-weight:400;font-size:.75rem}
.catalogue-filters fieldset>p{margin:8px 0 0;font-size:.73rem}
.filter-chips{display:flex;flex-wrap:wrap;gap:7px}
.filter-chip{display:block;position:relative;font-weight:500;font-size:.77rem;cursor:pointer;max-width:100%}
.filter-chip input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0!important;opacity:0;cursor:pointer;z-index:1}
.filter-chip>span{min-height:42px;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;line-height:1.3;flex-wrap:wrap}
.filter-chip>span small{font-size:.7rem;color:var(--muted)}
.filter-chip:hover>span{border-color:var(--topic,var(--blue));background:var(--topic-soft,var(--soft))}
.filter-chip input:checked+span{border-color:var(--topic,var(--blue));background:var(--topic-soft,var(--soft));color:var(--topic,var(--blue));box-shadow:inset 0 0 0 1px var(--topic,var(--blue))}
.filter-chip input:focus-visible+span{outline:3px solid #ce6500;outline-offset:3px}
.filter-chip input:checked+span:after{content:'✓';font-weight:700}
.grade-chips .filter-chip>span{min-width:58px;justify-content:center}
.catalogue-filter-actions{display:flex;align-items:end;flex-wrap:wrap;gap:15px;padding-top:4px}
.catalogue-search{flex:1;min-width:190px}
.catalogue-filter-actions .switch{align-self:center;min-height:44px;padding-top:15px}
.catalogue-filter-actions .text-link{align-self:center;margin-top:15px}
.catalogue-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:20px 0 16px}
.catalogue-summary p{font-size:.77rem;margin:0}
.competency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.competency-card{min-width:0;display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--line);border-top:4px solid var(--topic,var(--blue));border-radius:13px;padding:20px;transition:border-color .15s ease,box-shadow .15s ease}
.competency-card:hover{border-color:var(--topic,var(--blue));box-shadow:0 4px 16px #172b380a}
.competency-meta{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:15px}
.topic-label{display:inline-flex;gap:7px;align-items:center;font-size:.72rem;font-weight:650;color:var(--topic,var(--blue))}
.competency-id{font-size:.7rem;color:var(--muted);flex-shrink:0}
.competency-card h2{font-size:1.08rem;line-height:1.35;margin:0 0 9px;letter-spacing:-.25px}
.competency-description{font-size:.8rem;line-height:1.5;margin:0 0 16px}
.competency-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.competency-tags span{font-size:.72rem;line-height:1.4;padding:4px 7px;border-radius:5px;background:var(--paper);color:var(--muted)}
.competency-tags span:first-child{color:var(--topic,var(--blue));background:var(--topic-soft,var(--soft))}
.competency-result{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.competency-result>strong{display:block;font-size:.77rem;margin-bottom:5px}
.competency-result>span{font-size:.73rem;color:var(--muted);display:block}
.competency-result>small{display:block;font-size:.7rem;color:var(--muted)}
.competency-card progress{height:6px;margin:10px 0 6px}
.competency-card progress::-webkit-progress-value{background:var(--topic,var(--blue))}
.competency-card progress::-moz-progress-bar{background:var(--topic,var(--blue))}
.competency-action{font-size:.74rem;font-weight:650;color:var(--topic,var(--blue));display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.catalogue-empty{grid-column:1/-1}
.future-formats{margin-top:8px;padding-top:0;border:0}.future-formats summary{font-size:.75rem;padding:6px 0}.future-formats .filter-chips{margin-top:5px}
.answer-notice{padding:15px 20px;border-radius:12px;margin-top:24px;border:1px solid var(--line)}
.answer-good{background:#eaf5ed;border-color:#c9e2d0;color:#225735}
.answer-wrong{background:#fff4e9;border-color:#edcfb0;color:#794113}
.answer-notice>strong{font-size:.9rem;display:block}
.answer-notice>span{display:block;font-size:.82rem;margin-top:5px}
.answer-notice details{margin:6px 0 0;padding:0;border:0}
.answer-notice summary{font-size:.76rem;padding:5px 0;color:inherit}
.answer-notice details p{font-size:.82rem;color:inherit;margin:8px 0}
.stop-series{padding-top:4px}
@media(max-width:1100px){.competency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.competency-grid{grid-template-columns:1fr}.catalogue-filters{padding:17px}.filter-chip>span{min-height:44px}.catalogue-filter-actions{align-items:stretch}.catalogue-search{flex-basis:100%}.catalogue-filter-actions .switch,.catalogue-filter-actions .text-link{padding-top:0;margin-top:0}.catalogue-filter-actions .button{flex:1}.catalogue-summary{display:block}.catalogue-summary p{margin-bottom:7px}}
.fraction-visual{margin:8px 0 25px}.fraction-strip{display:flex;gap:4px;max-width:520px}.fraction-piece{flex:1;min-width:0;min-height:70px;border:1px solid #b7c6d7;border-radius:6px;display:grid;place-items:center;background:#fff;color:#6b7b8b;font-size:1.05rem}.fraction-piece.filled{background:var(--blue);color:#fff;border-color:var(--blue)}.fraction-visual p{margin:12px 0 0}.reading-text{white-space:pre-line}
html{scroll-padding-top:160px}
.site-header{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--line)}
.header-inner{max-width:1440px;margin:0 auto;padding:21px 40px;display:flex;align-items:center;gap:35px;transition:padding .18s ease}
.header-brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;text-decoration:none;font-size:1.65rem;font-weight:800;letter-spacing:-1px}
.header-brand .brand-mark{flex-shrink:0;transition:width .18s ease,height .18s ease,line-height .18s ease}
.header-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.header-nav a{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:11px 13px;border-radius:9px;text-decoration:none;font-size:.88rem;font-weight:650;white-space:nowrap}
.header-nav a:hover{background:var(--paper)}
.header-nav a[aria-current=page]{background:var(--soft);color:var(--blue)}
.nav-number{font-size:.68rem;font-weight:500;color:var(--muted)}
.header-account{margin-left:auto;display:flex;align-items:center;gap:16px;min-width:0}
.account-link{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0;min-height:44px;border-radius:9px;padding:4px}
.account-link:hover,.account-link[aria-current=page]{background:var(--soft)}
.header-avatar{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-weight:700}
.account-info{min-width:0;display:block}
.account-info strong{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}
.account-info small{display:block;font-size:.68rem;white-space:nowrap}
.header-logout{margin:0;flex-shrink:0}
.header-logout .button{font-size:.78rem;padding:10px 13px}
.site-header.is-compact{box-shadow:0 4px 16px #172b380a}
.site-header.is-compact .header-inner{padding-top:9px;padding-bottom:9px}
.site-header.is-compact .header-brand .brand-mark{width:32px;height:32px;line-height:29px}
.site-shell{max-width:1360px;margin:0 auto;min-height:calc(100vh - 88px)}
main.site-main{padding:8px 40px 0;scroll-margin-top:130px}
.site-main .screen{min-height:calc(100vh - 205px)}
.site-main footer{margin-top:40px}
.skip-link{position:fixed;z-index:200}
.recovery-secret{user-select:all}
.recovery-copy-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:-8px 0 24px}
.copy-status{font-size:.88rem;color:var(--green);min-height:1.5em}
.clipboard-helper{position:fixed;left:0;top:0;width:1px;height:1px;padding:0;border:0;opacity:0;font-size:16px}
@media(max-width:1180px){.header-inner{gap:20px;padding-right:24px;padding-left:24px}.header-nav a{font-size:.82rem;padding-right:10px;padding-left:10px}.header-account{gap:10px}.nav-number{display:none}.account-info strong{max-width:135px}main.site-main{padding-right:24px;padding-left:24px}}
@media(max-width:900px){.header-inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 20px;padding-top:15px;padding-bottom:12px}.header-account{justify-self:end}.header-nav{grid-row:2;grid-column:1/-1;justify-content:center;gap:15px}.header-nav a{padding:10px 18px}.site-header.is-compact .header-inner{padding-top:7px;padding-bottom:5px;row-gap:4px}main.site-main{scroll-margin-top:170px}.account-info strong{max-width:170px}}
@media(max-width:600px){.header-inner{padding-left:16px;padding-right:16px;column-gap:10px}.header-brand{font-size:1.25rem;gap:6px}.header-brand .brand-mark{width:32px;height:32px;line-height:29px}.header-account{gap:7px}.account-link{gap:7px;padding:2px}.header-avatar{width:30px;height:30px;font-size:.85rem}.account-info strong{max-width:90px;font-size:.78rem}.account-info small{font-size:.63rem}.account-level{display:none}.header-logout .button{font-size:.72rem;padding:9px 10px}.header-nav{gap:4px;justify-content:space-between}.header-nav a{font-size:.8rem;padding:10px 12px}.header-account>.button{font-size:.78rem;padding:10px 12px}main.site-main{padding-left:17px;padding-right:17px}.site-header.is-compact .header-brand .brand-mark{width:29px;height:29px;line-height:26px}.recovery-copy-row{gap:10px}.site-main .screen{min-height:calc(100vh - 250px)}}
@media(max-width:390px){.header-brand>span:last-child{display:none}.header-account{gap:8px}.account-info strong{max-width:110px}.header-inner{column-gap:12px}.header-nav a{padding-left:10px;padding-right:10px}}
@media(max-width:900px){.logout-form{display:none}.auth-layout{grid-template-columns:1fr}.auth-layout .help-panel{max-width:none}}
@media(max-width:650px){.screen{min-height:450px}.choices label{padding:14px 12px}.filters .switch{min-width:100%}.robot-grid{max-width:100%}.reading-text{padding:18px}.recovery-secret{font-size:1.05rem}.auth-form>label{margin:16px 0}.stats-summary{gap:20px}}

/* Commandes des mini-jeux : cibles visibles, frappe et espaces explicites. */
.symbol-picker>.symbol-slot{flex:1;min-width:145px;border:1px solid var(--line);padding:12px;border-radius:12px;margin:0}
.symbol-slot>legend{padding:0 5px}.symbol-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.symbol-picker .symbol-choice{position:relative;min-width:0;cursor:pointer}
.symbol-choice input{position:absolute;width:1px!important;height:1px;min-height:0;opacity:0;margin:0}
.symbol-choice>span{display:grid;place-items:center;min-height:52px;border:2px solid transparent;border-radius:9px;font-size:1.8rem}
.symbol-choice input:checked+span{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset}
.symbol-choice input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.symbol-choice input:disabled+span{opacity:.25;cursor:not-allowed}
.code-symbols{font-size:1.4rem;letter-spacing:2px}.event-order{padding:14px 0}
.event-order li.drop-before::before,.event-order li.drop-after::after{content:"";position:absolute;left:0;right:0;height:4px;background:var(--blue);border-radius:3px;pointer-events:none}
.event-order li.drop-before::before{top:-9px}.event-order li.drop-after::after{bottom:-9px}
.typing-reference{-webkit-user-select:none;user-select:none;cursor:default}
.typing-reference .typed-space{display:inline-block;min-width:.65em;text-align:center;color:#6b7b8b;border-radius:3px}
.typing-reference .typed-space.typed-correct{color:#235c35}.typing-reference .typed-space.typed-wrong{color:#a01e32}

.event-order li{-webkit-user-select:none;user-select:none}

.word-bank,.word-sentence{display:flex;flex-wrap:wrap;gap:10px;padding:18px;border-radius:12px;min-height:90px}
.word-bank{background:#f5f7fa}.word-sentence{border:2px dashed #aebfd5;background:#edf2ff;margin:15px 0 24px}
.word-sentence:empty::before{content:"Clique sur les blocs pour construire ta phrase.";color:var(--muted);font-size:.85rem}
.word-block{border:1px solid #b7c8e0;border-radius:9px;background:#fff;color:var(--ink);font-size:1rem;padding:13px 16px;min-height:48px}
.word-sentence .word-block{border-color:var(--blue);color:var(--blue)}.word-block:hover{background:#e4ecff}
.word-fallback-token{display:inline-block;margin:6px;padding:10px;background:var(--soft);border-radius:8px}
.workshop-status{font-size:.88rem;min-height:2em;padding:12px 0;color:var(--blue)}
.eco-bank,.eco-bin-cards{display:grid;gap:10px;min-height:50px}.eco-bank{grid-template-columns:repeat(2,minmax(0,1fr));margin:15px 0 25px}
.eco-card{text-align:left;background:#fff;border:1px solid #bacbdc;border-radius:10px;min-height:62px;padding:13px;font-size:.86rem;line-height:1.5;color:var(--ink);width:100%}
.eco-card:hover{border-color:var(--blue);background:#edf2ff}.eco-card.is-selected{border:2px solid var(--blue);background:#e7edff;box-shadow:0 0 0 2px #b7c8f6}
.eco-bins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.eco-bin{padding:15px 12px;border:1px solid #bbcfbf;border-top:4px solid #398056;border-radius:12px;background:#f0f7f2;min-width:0}
.eco-bin h3{font-size:1rem;margin:0 0 8px}.eco-bin p{font-size:.77rem;line-height:1.5;min-height:65px}.eco-bin .button{font-size:.78rem;width:100%;margin:0 0 15px;min-height:44px;padding:10px}
.eco-reuse{background:#edf3ff;border-color:#bfcee9;border-top-color:#426db6}.eco-recycle{background:#fff6e8;border-color:#e2cfae;border-top-color:#a87529}
.word-block:focus-visible,.eco-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:700px){.eco-bins{grid-template-columns:1fr}.eco-bank{grid-template-columns:1fr}.eco-bin p{min-height:0}.word-block{padding:12px}.word-bank,.word-sentence{padding:12px}}
