:root{--ink:#172239;--muted:#657084;--line:#dfe3e8;--paper:#f8f5ee;--white:#fffefa;--coral:#ef5b3f;--lime:#d9f34a;--shadow:0 24px 70px #1d22351c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #6956d959}.site-shell{min-height:100vh;overflow:hidden}.topbar{border-bottom:1px solid #1722391f;justify-content:space-between;align-items:center;width:min(1220px,100% - 48px);height:84px;margin:0 auto;display:flex}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.brand-mark{background:var(--ink);width:42px;height:42px;color:var(--lime);box-shadow:5px 5px 0 var(--coral);border-radius:14px;place-items:center;font:700 27px/1 Georgia,serif;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.02em;font-size:15px}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:2px;font-size:11px}.topbar-actions{align-items:center;gap:12px;font-size:12px;display:flex}.text-button{cursor:pointer;background:0 0;border:0;padding:10px 12px;font-weight:700}.text-button:hover{color:var(--coral)}.mini-progress{background:#e2dfd7;border-radius:99px;width:90px;height:7px;overflow:hidden}.mini-progress span{border-radius:inherit;background:var(--coral);height:100%;transition:width .4s;display:block}.student-chip{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:10px;display:flex}.student-chip>span{background:var(--ink);width:33px;height:33px;color:var(--lime);text-transform:uppercase;border-radius:10px;place-items:center;font-size:10px;font-weight:900;display:grid}.student-chip p,.student-chip strong,.student-chip small{margin:0;display:block}.student-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:11px;overflow:hidden}.student-chip small{color:var(--muted);margin-top:2px;font-size:9px}.signout-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;padding:8px 10px;font-size:10px;font-weight:800}.signout-button:hover{border-color:var(--coral);color:var(--coral)}.admin-nav-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:900}.admin-nav-button:hover,.admin-nav-button.active{border-color:var(--coral);background:var(--coral)}.admin-role-pill{background:var(--lime);color:var(--ink);text-transform:uppercase;letter-spacing:.07em;border-radius:99px;padding:7px 9px;font-size:9px;font-weight:900}.auth-shell{background:radial-gradient(circle at 12% 18%, #d9f34a33, transparent 22%), linear-gradient(125deg, var(--ink) 0 52%, var(--paper) 52% 100%);grid-template-columns:minmax(0,1.1fr) minmax(390px,.78fr);align-items:center;gap:clamp(40px,7vw,110px);min-height:100vh;padding:clamp(24px,5vw,72px);display:grid}.auth-intro{color:#fff;max-width:690px}.auth-brand{align-items:center;gap:14px;display:flex}.auth-brand>span{background:var(--lime);width:48px;height:48px;color:var(--ink);box-shadow:6px 6px 0 var(--coral);border-radius:15px;place-items:center;font:700 29px/1 Georgia,serif;display:grid}.auth-brand strong{letter-spacing:-.02em;font-size:17px}.auth-intro .eyebrow{color:var(--lime);margin-top:72px}.auth-intro h1{letter-spacing:-.075em;margin:22px 0;font:700 clamp(62px,7.5vw,110px)/.86 Georgia,serif}.auth-intro h1 em{color:var(--coral);font-weight:400}.auth-lead{color:#c7ced9;max-width:590px;margin:0;font-size:17px;line-height:1.65}.teacher-signature{color:#fff;border:1px solid #ffffff2e;border-radius:12px;align-items:center;gap:11px;width:max-content;margin:28px 0 0;padding:11px 15px;display:flex}.teacher-signature span{color:#9fa9b8;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800}.teacher-signature strong{color:var(--lime);font:600 15px Georgia,serif}.auth-promises{border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29;grid-template-columns:repeat(3,1fr);max-width:560px;margin-top:42px;display:grid}.auth-promises div{padding:20px 12px 20px 0}.auth-promises strong,.auth-promises span{display:block}.auth-promises strong{color:var(--lime);font:700 30px/1 Georgia,serif}.auth-promises span{color:#9fa9b8;text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:10px;font-weight:800}.auth-card{border:1px solid var(--line);background:#fffefafa;border-radius:28px;justify-self:end;width:min(540px,100%);padding:clamp(27px,4vw,44px);box-shadow:0 35px 90px #0a101d47}.auth-tabs{background:#ebe8df;border-radius:13px;grid-template-columns:1fr 1fr;gap:4px;padding:5px;display:grid}.auth-tabs button{cursor:pointer;min-height:43px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:11px;font-weight:900}.auth-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 5px 15px #17223914}.auth-card-heading{margin:34px 0 26px}.auth-card-heading .overline{color:var(--coral);margin:0 0 8px}.auth-card-heading h2{letter-spacing:-.045em;margin:0;font:600 clamp(34px,4vw,46px)/1 Georgia,serif}.auth-card-heading>p:last-child{color:var(--muted);margin:10px 0 0;font-size:12px}.auth-form{gap:16px;display:grid}.auth-field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-form label{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;gap:7px;font-size:10px;font-weight:900;display:grid}.auth-form input,.auth-form select{border:1px solid var(--line);width:100%;height:49px;color:var(--ink);text-transform:none;letter-spacing:normal;background:#fff;border-radius:12px;padding:0 14px;font-size:13px;font-weight:500}.auth-form input::placeholder{color:#a3a9b2}.auth-form input:focus,.auth-form select:focus{border-color:var(--coral);outline:3px solid #ef5b3f1f}.auth-error{color:#993c31;background:#fff0ed;border-radius:11px;margin:0;padding:12px 14px;font-size:12px;line-height:1.45}.auth-submit{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:space-between;align-items:center;min-height:53px;margin-top:4px;padding:0 18px;font-size:12px;font-weight:900;display:flex}.auth-submit:hover:not(:disabled){background:#d94b32;transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-submit span{font-size:20px}.privacy-note{border-top:1px solid var(--line);color:var(--muted);margin:20px 0 0;padding-top:18px;font-size:10px;line-height:1.55}.status-screen{background:radial-gradient(circle at 15% 10%, #d9f34a4d, transparent 28%), var(--paper);place-items:center;min-height:100vh;padding:28px;display:grid}.status-card{border:1px solid var(--line);background:var(--white);width:min(620px,100%);box-shadow:var(--shadow);text-align:center;border-radius:28px;padding:clamp(34px,7vw,68px)}.status-symbol{background:var(--ink);width:74px;height:74px;color:var(--lime);box-shadow:7px 7px 0 var(--coral);border-radius:22px;place-items:center;margin:0 auto 26px;font:700 34px Georgia,serif;display:grid}.status-card .overline{color:var(--coral)}.status-card h1{letter-spacing:-.05em;margin:14px 0 18px;font:600 clamp(38px,7vw,60px)/.98 Georgia,serif}.status-card>p:not(.overline){color:var(--muted);line-height:1.7}.status-course{text-align:left;background:#f1eee6;border-radius:15px;justify-content:space-between;align-items:center;gap:16px;margin:28px 0;padding:18px;display:flex}.status-course span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.status-course strong{font-size:15px}.status-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.status-actions a{align-items:center;text-decoration:none;display:inline-flex}.admin-page{min-height:calc(100vh - 160px);padding:55px 24px 90px}.admin-heading{grid-template-columns:150px 1fr 70px;align-items:center;gap:24px;width:min(1180px,100%);margin:0 auto 34px;display:grid}.admin-heading .overline{color:var(--coral);margin:0 0 8px}.admin-heading h1{letter-spacing:-.055em;margin:0;font:600 clamp(42px,6vw,72px)/.98 Georgia,serif}.admin-heading div>p:last-child{color:var(--muted);margin:12px 0 0;line-height:1.5}.admin-seal{background:var(--coral);color:#fff;width:60px;height:60px;box-shadow:5px 5px 0 var(--ink);border-radius:19px;place-items:center;font:700 17px Georgia,serif;display:grid}.admin-summary{grid-template-columns:repeat(4,1fr);gap:14px;width:min(1180px,100%);margin:0 auto 24px;display:grid}.admin-summary article{border:1px solid var(--line);background:var(--white);border-radius:19px;flex-direction:column;justify-content:space-between;min-height:135px;padding:24px;display:flex}.admin-summary article:nth-child(2){background:var(--ink);color:#fff}.admin-summary article:nth-child(3){background:var(--lime)}.admin-summary article:nth-child(4){background:#ffe5df}.admin-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:900}.admin-summary article:nth-child(2) span{color:#aeb6c5}.admin-summary strong{font:700 48px/1 Georgia,serif}.student-roster{border:1px solid var(--line);background:var(--white);width:min(1180px,100%);box-shadow:var(--shadow);border-radius:22px;margin:0 auto;overflow:hidden}.approval-queue{border:1px solid var(--line);background:var(--white);border-radius:22px;width:min(1180px,100%);margin:0 auto 24px;overflow:hidden}.roster-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:25px 28px;display:flex}.roster-header .overline{color:var(--coral);margin:0 0 5px}.roster-header h2{letter-spacing:-.035em;margin:0;font:600 29px/1.1 Georgia,serif}.roster-header>span{background:var(--paper);color:var(--muted);border-radius:99px;padding:7px 10px;font-size:10px;font-weight:800}.promotion-toolbar{border-bottom:1px solid var(--line);background:#fcfbf8;align-items:center;gap:12px;padding:14px 28px;display:flex}.promotion-toolbar>span{color:var(--muted);font-size:11px;font-weight:800}.promotion-toolbar>div{gap:8px;margin-left:auto;display:flex}.promotion-toolbar button{cursor:pointer;border-radius:10px;min-height:38px;padding:0 13px;font-size:10px;font-weight:900}.promotion-toolbar button:disabled{cursor:not-allowed;opacity:.45}.select-all-button,.promotion-secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.promotion-primary{border:1px solid var(--ink);background:var(--ink);color:#fff}.promotion-notice{color:#38551f;background:#f0f7e8;border-bottom:1px solid #cfe3b5;margin:0;padding:11px 28px;font-size:11px;font-weight:800}.request-list{gap:10px;padding:16px;display:grid}.request-list article{border:1px solid var(--line);background:#fcfbf8;border-radius:14px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.request-list article>div:first-child strong,.request-list article>div:first-child span{display:block}.request-list article>div:first-child span{color:var(--muted);margin-top:4px;font-size:10px}.request-list article>p{color:var(--ink);margin:0;font-size:12px;font-weight:800}.request-list article>div:last-child{gap:7px;display:flex}.request-list button{cursor:pointer;border-radius:9px;min-height:36px;padding:0 11px;font-size:9px;font-weight:900}.roster-state{color:var(--muted);text-align:center;padding:52px 28px}.roster-state.error{color:#993c31}.roster-table-wrap{overflow-x:auto}.roster-table{border-collapse:collapse;text-align:left;width:100%;min-width:1040px}.roster-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f1eee6;padding:13px 20px;font-size:9px}.roster-table td{border-top:1px solid var(--line);color:var(--muted);padding:18px 20px;font-size:11px}.roster-table tbody tr:first-child td{border-top:0}.roster-table td:nth-child(2) strong,.roster-table td:nth-child(2) small{display:block}.roster-table td:nth-child(2) strong{color:var(--ink);font-size:13px}.roster-table td:nth-child(2) small{color:var(--muted);margin-top:4px}.select-column{text-align:center;width:46px;padding-right:4px!important}.select-column input{width:17px;height:17px;accent-color:var(--coral);cursor:pointer}.select-column input:disabled{cursor:not-allowed;opacity:.35}.course-tag{background:var(--paper);color:var(--ink);border-radius:8px;padding:6px 9px;font-weight:800;display:inline-flex}.enrollment-controls{grid-template-columns:1fr .75fr auto;gap:6px;min-width:230px;display:grid}.enrollment-controls select,.enrollment-controls button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;border-radius:8px;padding:0 8px;font-size:10px;font-weight:800}.enrollment-controls button{border-color:var(--ink);background:var(--ink);color:#fff;cursor:pointer}.enrollment-controls button:disabled{cursor:not-allowed;opacity:.45}.enrollment-status{text-transform:uppercase;letter-spacing:.06em;border-radius:99px;margin-top:7px;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.enrollment-status.approved{color:#36521e;background:#edf7df}.enrollment-status.pending{color:#993c31;background:#fff0ed}.promotion-tag{background:var(--lime);color:#304119;white-space:nowrap;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:900;display:inline-flex}.not-promoted-tag{color:#7a3027;white-space:nowrap;background:#f1eee6;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:900;display:inline-flex}.promotion-pending{color:var(--muted);font-weight:700}.student-progress{align-items:center;gap:10px;min-width:145px;display:flex}.student-progress>div{background:#e2dfd7;border-radius:99px;flex:1;height:7px;overflow:hidden}.student-progress>div span{border-radius:inherit;background:var(--coral);height:100%;display:block}.student-progress strong{min-width:30px;color:var(--ink)}.hero{grid-template-columns:1.35fr .65fr;align-items:center;gap:64px;width:min(1220px,100% - 48px);min-height:540px;margin:0 auto;display:grid;position:relative}.hero:before{content:"";pointer-events:none;border:1px solid #17223914;border-radius:50%;width:520px;height:520px;position:absolute;top:10px;right:-220px;box-shadow:0 0 0 70px #17223906,0 0 0 140px #17223905}.eyebrow,.overline{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}.eyebrow{color:var(--coral);align-items:center;gap:9px;display:flex}.eyebrow span{background:currentColor;width:28px;height:3px}.hero h1{letter-spacing:-.075em;margin:24px 0 22px;font:700 clamp(64px,8vw,116px)/.82 Georgia,Times New Roman,serif}.hero h1 em{color:var(--coral);font-weight:400}.hero-copy>p{max-width:620px;color:var(--muted);margin:0;font-size:18px;line-height:1.65}.hero-rule{background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:18px;width:max-content;max-width:100%;margin-top:34px;padding:12px 16px;font-size:12px;display:flex}.hero-rule strong{color:var(--lime)}.hero-rule span{opacity:.82}.hero-score{z-index:1;text-align:center;position:relative}.score-orbit{aspect-ratio:1;border:2px dashed #1722392e;border-radius:50%;place-items:center;width:min(330px,72vw);margin:0 auto;display:grid;transform:rotate(-7deg)}.score-orbit:before,.score-orbit:after{content:"";border-radius:50%;position:absolute}.score-orbit:before{background:var(--lime);width:28px;height:28px;box-shadow:0 0 0 8px var(--paper);top:21px;right:46px}.score-orbit:after{background:var(--coral);width:15px;height:15px;bottom:37px;left:32px}.score-orbit>div{aspect-ratio:1;background:var(--white);width:72%;box-shadow:var(--shadow);border-radius:50%;place-content:center;display:grid;transform:rotate(7deg)}.score-orbit span{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:11px;font-weight:800;display:block}.score-orbit strong{letter-spacing:-.07em;margin-top:8px;font:700 72px/1 Georgia,serif;display:block}.hero-score>p{color:var(--muted);margin:20px 0 0;font:italic 16px Georgia,serif}.route-section{background:var(--ink);color:#fff;padding:90px max(24px,50vw - 610px)}.section-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:50px;display:grid}.section-heading>div{align-items:flex-start;gap:28px;display:flex}.section-number{color:var(--lime);font:700 42px/.9 Georgia,serif}.section-heading .overline{color:#a9b3c5;margin:0 0 9px}.section-heading h2{letter-spacing:-.045em;margin:0;font:600 clamp(30px,4vw,50px)/1 Georgia,serif}.section-heading>p{color:#aeb6c5;max-width:460px;margin:0;line-height:1.7}.unit-track{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;display:grid;position:relative}.unit-track:before{content:"";border-top:1px dashed #ffffff38;position:absolute;top:42px;left:8%;right:8%}.unit-node{z-index:1;color:#fff;text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff24;border-radius:20px;min-height:170px;padding:26px;transition:transform .2s,background .2s,border-color .2s;position:relative}.unit-node:not(.locked):hover{border-color:var(--unit-color);transform:translateY(-4px)}.unit-node.active{background:var(--unit-light);color:var(--ink);border-color:#0000}.unit-node.locked{cursor:not-allowed;opacity:.52}.unit-node-index{color:var(--unit-color);font:700 14px Georgia,serif;display:block}.unit-node-status{background:var(--unit-color);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid;position:absolute;top:22px;right:22px}.unit-node strong{letter-spacing:-.03em;margin-top:36px;font:600 24px/1.05 Georgia,serif;display:block}.unit-node small{color:inherit;opacity:.62;text-transform:uppercase;letter-spacing:.1em;margin-top:10px;font-size:11px;display:block}.unit-workspace{grid-template-columns:minmax(260px,.72fr) minmax(0,1.75fr);align-items:start;gap:40px;width:min(1220px,100% - 48px);margin:90px auto;display:grid}.unit-sidebar{background:var(--unit-light);border-top:6px solid var(--unit-color);border-radius:24px;padding:34px;position:sticky;top:24px}.unit-sidebar .overline{color:var(--unit-color);margin:0 0 14px}.unit-sidebar h2{letter-spacing:-.05em;margin:0;font:600 40px/1.05 Georgia,serif}.unit-sidebar>p:not(.overline){color:var(--muted);font-size:14px;line-height:1.65}.unit-meter{align-items:center;gap:12px;margin:28px 0 26px;display:flex}.unit-meter>div{background:#1722391a;border-radius:99px;flex:1;height:8px;overflow:hidden}.unit-meter span{background:var(--unit-color);border-radius:inherit;height:100%;transition:width .4s;display:block}.unit-meter strong{font-size:12px}.unit-stats{margin:0 0 26px}.unit-stats div{border-bottom:1px solid #1722391a;justify-content:space-between;padding:11px 0;display:flex}.unit-stats dt{color:var(--muted);font-size:12px}.unit-stats dd{margin:0;font-size:12px;font-weight:800}.primary-button,.secondary-button{cursor:pointer;border-radius:13px;min-height:48px;padding:0 20px;font-size:13px;font-weight:800;transition:transform .18s,box-shadow .18s,opacity .18s}.primary-button{background:var(--ink);color:#fff;box-shadow:5px 5px 0 var(--unit-color,var(--coral));border:0}.primary-button:hover:not(:disabled){box-shadow:8px 8px 0 var(--unit-color,var(--coral));transform:translate(-2px,-2px)}.primary-button span{color:var(--lime);margin-left:9px}.primary-button:disabled{cursor:not-allowed;opacity:.38;box-shadow:none}.secondary-button{border:1px solid var(--line);background:#fff}.secondary-button:hover{border-color:var(--ink)}.full{width:100%}.module-list{padding:8px 0}.module-list-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:0 4px 24px;display:flex}.module-list-header .overline{color:var(--unit-color);margin:0 0 8px}.module-list-header h3{letter-spacing:-.035em;margin:0;font:600 30px/1.05 Georgia,serif}.source-pill{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;border-radius:99px;padding:8px 11px;font-size:10px;font-weight:800}.module-row{border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;border-radius:18px;grid-template-columns:46px 1fr auto 28px;align-items:center;gap:14px;width:100%;min-height:82px;margin-bottom:10px;padding:15px 18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.module-row:not(.locked):hover{border-color:var(--unit-color);transform:translate(5px);box-shadow:0 10px 28px #17223912}.module-row.locked{cursor:not-allowed;opacity:.48;background:0 0}.module-dot{background:var(--unit-light);width:42px;height:42px;color:var(--unit-color);border-radius:14px;place-items:center;font-weight:900;display:grid}.module-row.passed .module-dot{background:var(--unit-color);color:#fff}.module-main small,.module-main strong{display:block}.module-main small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px;font-weight:800}.module-main strong{font-size:15px}.module-meta{color:var(--muted);font-size:11px}.module-arrow{color:var(--unit-color);font-size:20px}.module-row.milestone{border:2px dashed var(--unit-color);background:var(--unit-light);margin-top:24px}.module-row.final-row{background:var(--ink);color:#fff;border-color:var(--ink)}.module-row.final-row .module-main small,.module-row.final-row .module-meta{color:#aeb6c5}.module-row.final-row .module-dot{background:var(--unit-color);color:#fff}.locked-message{background:#eeeae2;border-radius:17px;gap:16px;margin-bottom:16px;padding:22px;display:flex}.locked-message>span{background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.locked-message strong,.locked-message p{margin:0;display:block}.locked-message p{color:var(--muted);margin-top:5px;font-size:13px}.inner-header{grid-template-columns:150px 1fr 70px;align-items:center;gap:26px;width:min(1120px,100% - 48px);margin:44px auto 36px;display:grid}.back-button{text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:12px;font-weight:800}.back-button:hover{color:var(--unit-color)}.inner-header .overline{color:var(--unit-color);margin:0 0 8px}.inner-header h1{letter-spacing:-.055em;margin:0;font:600 clamp(36px,5vw,64px)/.98 Georgia,serif}.unit-badge{background:var(--unit-color);color:#fff;width:58px;height:58px;box-shadow:5px 5px 0 var(--ink);border-radius:18px;justify-self:end;place-items:center;font:700 18px Georgia,serif;display:grid}.learning-page,.assessment-page,.activity-page{min-height:calc(100vh - 180px)}.learning-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);align-items:start;gap:30px;width:min(1120px,100% - 48px);margin:0 auto 90px;display:grid}.lesson-card{border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow);border-radius:26px;padding:clamp(28px,5vw,64px)}.lesson-lead{color:var(--muted);margin:0 0 44px;font:400 clamp(21px,2.7vw,31px)/1.45 Georgia,serif}.lesson-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}.lesson-block .overline{color:var(--unit-color);margin:0 0 8px}.lesson-block h2{margin:0;font-size:18px;line-height:1.5}.lesson-reading{margin-top:44px}.lesson-reading-heading{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:28px}.lesson-reading-heading .overline,.takeaway-heading .overline{color:var(--unit-color);margin:0 0 9px}.lesson-reading-heading h2,.takeaway-heading h2{letter-spacing:-.025em;margin:0;font:600 27px/1.16 Georgia,serif}.lesson-reading-heading>p:last-child{max-width:660px;color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.65}.lesson-section{border-bottom:1px solid var(--line);grid-template-columns:46px minmax(0,1fr);gap:18px;padding:32px 0;display:grid}.lesson-section-number{background:var(--unit-light);width:38px;height:38px;color:var(--unit-color);border-radius:12px;place-items:center;font:700 12px Georgia,serif;display:grid}.lesson-section h3{letter-spacing:-.02em;margin:2px 0 16px;font:600 23px/1.2 Georgia,serif}.lesson-section>div:last-child>p{color:#3f485a;margin:0 0 15px;font-size:15px;line-height:1.78}.lesson-section>div:last-child>p:last-of-type{margin-bottom:0}.lesson-checkpoint{border-left:4px solid var(--unit-color);background:var(--unit-light);border-radius:0 14px 14px 0;margin-top:22px;padding:18px 20px}.lesson-checkpoint strong{color:var(--unit-color);letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:900;display:block}.lesson-checkpoint p{color:var(--ink);margin:0;font:italic 16px/1.55 Georgia,serif}.author-inline-list{margin-top:26px}.author-card{border:1px solid var(--line);background:#fcfbf8;border-radius:18px;margin-top:14px;padding:24px}.author-card-top{align-items:center;gap:14px;display:flex}.author-card-top>span{background:var(--unit-color);color:#fff;border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font:700 20px Georgia,serif;display:grid}.author-card h3{margin:0;font:600 21px/1.1 Georgia,serif}.author-card-top p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.45}.author-card blockquote{border-left:3px solid var(--unit-color);color:#343d4f;margin:22px 0 8px;padding-left:18px;font:italic 18px/1.55 Georgia,serif}.author-card cite{color:var(--muted);font-size:10px;font-style:normal;line-height:1.5}.fun-fact{background:var(--unit-light);border-radius:13px;margin-top:18px;padding:15px 17px}.fun-fact strong{color:var(--unit-color);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.fun-fact p{margin:6px 0 0;font-size:12px;line-height:1.55}.takeaway-heading{margin-top:42px}.takeaway-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:34px;display:grid}.takeaway-grid>div{background:var(--unit-light);border-radius:17px;min-height:134px;padding:20px}.takeaway-grid span{color:var(--unit-color);font:700 12px Georgia,serif}.takeaway-grid p{margin:24px 0 0;font-size:14px;font-weight:700;line-height:1.45}.example-box{background:var(--ink);color:#fff;border-radius:17px;gap:18px;margin-top:34px;padding:25px;display:flex}.example-box>span{color:var(--lime);font-size:28px}.example-box strong,.example-box p{display:block}.example-box strong{color:var(--lime);font-size:12px}.example-box p{color:#d4d9e3;margin:8px 0 0;font-size:14px;line-height:1.65}.reflection-box{border:2px dashed var(--unit-color);border-radius:17px;margin-top:22px;padding:26px}.reflection-box .overline{color:var(--unit-color);margin:0 0 12px}.reflection-box blockquote{margin:0;font:italic 22px/1.45 Georgia,serif}.aside-sticky{background:var(--unit-light);border-top:5px solid var(--unit-color);border-radius:22px;padding:28px;position:sticky;top:22px}.status-chip{color:var(--unit-color);text-transform:uppercase;letter-spacing:.08em;background:#fff;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:900;display:inline-flex}.status-chip.done{background:var(--unit-color);color:#fff}.aside-sticky h3{margin:24px 0 10px;font:600 28px/1.1 Georgia,serif}.aside-sticky>p{color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.65}.source-note{border-top:1px solid #1722391f;margin-top:26px;padding-top:22px}.source-note small{color:var(--unit-color);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:900}.source-note p{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.55}.question-shell{background:var(--white);border:1px solid var(--line);width:min(820px,100% - 48px);box-shadow:var(--shadow);border-radius:26px;margin:0 auto 90px;padding:clamp(26px,5vw,54px)}.question-progress{background:#ebe8e0;border-radius:99px;height:8px;overflow:hidden}.question-progress span{border-radius:inherit;background:var(--unit-color);height:100%;transition:width .25s;display:block}.question-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;margin:14px 0 30px;font-size:11px;font-weight:800;display:flex}.question-shell>h2{letter-spacing:-.035em;max-width:680px;margin:0 0 30px;font:600 clamp(25px,3.5vw,38px)/1.16 Georgia,serif}.options-list{gap:10px;display:grid}.option-button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:15px;grid-template-columns:38px 1fr 25px;align-items:center;gap:13px;width:100%;min-height:65px;padding:10px 15px;transition:border-color .16s,background .16s,transform .16s;display:grid}.option-button:not(:disabled):hover{border-color:var(--unit-color);transform:translate(4px)}.option-button>span{background:var(--paper);border-radius:10px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.option-button p{margin:0;font-size:13px;line-height:1.4}.option-button i{font-style:normal;font-weight:900}.option-button.selected{border-color:var(--unit-color);background:var(--unit-light)}.option-button.correct{background:#eaf9f3;border-color:#159a6f}.option-button.correct>span{color:#fff;background:#159a6f}.option-button.wrong{background:#fff0ed;border-color:#df594a}.option-button.wrong>span{color:#fff;background:#df594a}.answer-feedback{border-radius:14px;margin-top:18px;padding:18px 20px}.answer-feedback.good{color:#11694f;background:#eaf9f3}.answer-feedback.bad{color:#993c31;background:#fff0ed}.answer-feedback strong{font-size:13px}.answer-feedback p{margin:5px 0 0;font-size:12px;line-height:1.55}.question-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:22px;display:flex}.question-footer>span{color:var(--muted);font-size:11px}.result-card,.celebration-card{background:var(--white);width:min(760px,100% - 48px);box-shadow:var(--shadow);text-align:center;border-radius:28px;margin:10px auto 100px;padding:clamp(35px,6vw,70px)}.result-symbol{background:var(--unit-light);width:74px;height:74px;color:var(--unit-color);border-radius:24px;place-items:center;margin:0 auto 22px;font-size:34px;font-weight:900;display:grid}.result-card .overline,.celebration-card .overline{color:var(--unit-color)}.result-card h2{letter-spacing:-.07em;margin:8px 0 12px;font:700 88px/1 Georgia,serif}.result-card>p:not(.overline){max-width:520px;color:var(--muted);margin:0 auto;line-height:1.65}.result-pass{border-top:8px solid #159a6f}.result-fail{border-top:8px solid #df594a}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px;display:flex}.score-breakdown{border:1px solid var(--line);border-radius:17px;grid-template-columns:repeat(3,1fr);margin:35px 0 0;display:grid;overflow:hidden}.score-breakdown div{border-right:1px solid var(--line);padding:18px}.score-breakdown div:last-child{border-right:0}.score-breakdown span,.score-breakdown strong{display:block}.score-breakdown span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.score-breakdown strong{margin-top:7px;font-size:22px}.auto-grade-note{color:var(--muted);margin-top:26px;line-height:1.5;display:block}.activity-layout{grid-template-columns:220px 1fr;align-items:stretch;gap:28px;width:min(1100px,100% - 48px);margin:0 auto 100px;display:grid}.activity-rail{background:var(--ink);color:#fff;border-radius:22px;padding:27px}.activity-rail .overline{color:var(--lime);margin:0 0 10px}.activity-rail>strong{font:700 54px/1 Georgia,serif;display:block}.activity-rail>p:not(.overline){color:#aeb6c5;font-size:12px;line-height:1.55}.vertical-meter{display:none}.activity-dots{grid-template-columns:repeat(5,1fr);gap:7px;margin-top:25px;display:grid}.activity-dots i{aspect-ratio:1;background:#ffffff1f;border-radius:4px}.activity-dots i.done{background:var(--unit-color)}.activity-dots i.current{background:var(--lime);box-shadow:0 0 0 3px #d9f34a33}.game-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:25px;padding:clamp(28px,5vw,55px);position:relative;overflow:hidden}.game-card:after{content:"";background:var(--unit-light);border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}.game-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.game-top span{background:var(--unit-light);color:var(--unit-color);text-transform:uppercase;letter-spacing:.09em;border-radius:99px;padding:7px 11px;font-size:10px;font-weight:900}.game-top small{color:var(--muted);font-weight:800}.game-icon{color:var(--unit-color);margin-top:34px;font:700 48px Georgia,serif}.game-source{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:8px 0;font-size:11px;font-weight:800}.game-card>h2{letter-spacing:-.035em;max-width:700px;margin:0 0 28px;font:600 clamp(25px,3.5vw,38px)/1.15 Georgia,serif}.game-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.game-options button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:12px;min-height:74px;padding:14px;font-size:12px;line-height:1.4;display:flex}.game-options button span{background:var(--paper);border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.game-options button.selected{border-color:var(--unit-color);background:var(--unit-light)}.game-options button.correct{background:#eaf9f3;border-color:#159a6f}.game-options button.wrong{background:#fff0ed;border-color:#df594a}.timer-pill{z-index:2;background:var(--ink);color:#fff;text-align:center;border-radius:14px;min-width:86px;padding:10px 14px;position:absolute;top:96px;right:42px}.timer-pill span,.timer-pill strong{display:block}.timer-pill span{color:#aeb6c5;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.timer-pill strong{color:var(--lime);margin-top:2px;font:700 24px/1 Georgia,serif}.timer-pill.urgent{background:#8f3026;animation:.8s infinite alternate timer-pulse}@keyframes timer-pulse{to{transform:scale(1.05)}}.activity-check{margin-top:22px}.wordsearch-status{background:var(--unit-light);border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.wordsearch-status span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.wordsearch-status strong{color:var(--unit-color);letter-spacing:.12em;flex:1}.wordsearch-status button{color:var(--unit-color);cursor:pointer;background:0 0;border:0;font-weight:800}.wordsearch-grid{grid-template-columns:repeat(var(--word-grid-size), minmax(27px, 1fr));gap:4px;width:min(100%,510px);display:grid}.wordsearch-grid button{aspect-ratio:1;border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;padding:0;font-weight:900}.wordsearch-grid button:hover,.wordsearch-grid button.selected{border-color:var(--unit-color);background:var(--unit-color);color:#fff}.crossword-game{grid-template-columns:minmax(280px,auto) 1fr;align-items:start;gap:26px;display:grid}.crossword-board{gap:3px;display:grid}.crossword-cell,.crossword-empty{aspect-ratio:1;min-width:0}.crossword-cell{border:1px solid var(--ink);background:#fff;position:relative}.crossword-cell small{z-index:1;font-size:7px;font-weight:900;position:absolute;top:1px;left:2px}.crossword-cell input{text-align:center;text-transform:uppercase;background:0 0;border:0;width:100%;height:100%;padding:5px 2px 1px;font-size:17px;font-weight:900}.crossword-clues{gap:14px;margin:0;padding-left:22px;display:grid}.crossword-clues li{padding-left:4px}.crossword-clues strong,.crossword-clues span{display:block}.crossword-clues strong{color:var(--unit-color);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.crossword-clues span{margin-top:4px;font-size:12px;line-height:1.45}.crossword-game .activity-check{grid-column:1/-1;justify-self:start}.order-game{gap:18px;display:grid}.order-target{gap:8px;display:grid}.order-target>button,.order-target>div{border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:10px 14px;font-size:12px;line-height:1.4;display:flex}.order-target>div{color:var(--muted);background:#faf9f5;border-style:dashed}.order-target>button{background:var(--unit-light);color:var(--ink);cursor:pointer}.order-target span{width:28px;height:28px;color:var(--unit-color);background:#fff;border-radius:8px;flex:0 0 28px;place-items:center;font-weight:900;display:grid}.order-pool{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding-top:16px;display:grid}.order-pool button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:11px;padding:13px;font-size:11px;line-height:1.4}.order-pool button:hover{border-color:var(--unit-color);transform:translateY(-1px)}.game-feedback{border-radius:15px;justify-content:space-between;align-items:center;gap:22px;margin-top:20px;padding:19px;display:flex}.game-feedback.good{background:#eaf9f3}.game-feedback.bad{background:#fff0ed}.game-feedback strong,.game-feedback p{display:block}.game-feedback strong{font-size:13px}.game-feedback p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.celebration-card{background:var(--ink);color:#fff}.celebration-card .overline{color:var(--lime)}.celebration-card h2{letter-spacing:-.05em;margin:14px 0;font:600 clamp(34px,5vw,56px)/1.02 Georgia,serif}.celebration-card>p:not(.overline){color:#b8c0ce;max-width:540px;margin:0 auto 30px;line-height:1.65}.confetti-row{justify-content:center;gap:17px;margin-bottom:26px;display:flex}.confetti-row span:nth-child(odd){color:var(--lime)}.confetti-row span:nth-child(2n){color:var(--unit-color)}.exam-banner{background:var(--ink);color:#fff;border-radius:14px;align-items:center;gap:16px;width:min(820px,100% - 48px);margin:0 auto 16px;padding:13px 18px;display:flex}.exam-banner span{color:var(--lime);font-size:12px;font-weight:900}.exam-banner p{color:#b8c0ce;flex:1;margin:0;font-size:11px}.exam-banner strong{font-size:11px}.development-hint{color:var(--unit-color);margin:0 0 10px;font-size:12px;font-weight:800}.development-shell textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);background:#fcfbf8;border-radius:15px;padding:20px;line-height:1.65}.development-shell textarea:focus{border-color:var(--unit-color)}.writing-meter{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1625b8;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.sources-modal{background:var(--white);border-radius:24px;width:min(760px,100%);max-height:calc(100vh - 60px);padding:36px;overflow:auto;box-shadow:0 40px 100px #00000047}.modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-header .overline{color:var(--coral);margin:0 0 8px}.modal-header h2{letter-spacing:-.045em;margin:0;font:600 42px/1 Georgia,serif}.modal-header button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;width:40px;height:40px;font-size:25px}.modal-intro{color:var(--muted);margin:24px 0;line-height:1.65}.source-list{margin:0;padding:0;list-style:none}.source-list li{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr;gap:12px;padding:13px 0;display:grid}.source-list span{color:var(--coral);font:700 11px Georgia,serif}.source-list p{margin:0;font-size:13px;line-height:1.45}.modal-note{background:#f1eee6;border-radius:14px;margin-top:24px;padding:18px}.modal-note strong{font-size:12px}.modal-note p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.footer{border-top:1px solid var(--line);width:min(1220px,100% - 48px);color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:25px 0 38px;font-size:11px;display:flex}.footer p{margin:0}.footer-reset{color:var(--muted);cursor:pointer;background:0 0;border:0;text-decoration:underline}.footer-reset:hover{color:#c43e2e}.loading-screen{text-align:center;background:var(--paper);place-content:center;gap:12px;min-height:100vh;display:grid}.loading-mark{background:var(--ink);width:64px;height:64px;color:var(--lime);border-radius:20px;place-items:center;margin:auto;font:700 34px Georgia,serif;display:grid}.loading-screen p{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px}@media (max-width:900px){.auth-shell{background:linear-gradient(180deg, var(--ink) 0 42%, var(--paper) 42% 100%);grid-template-columns:1fr}.auth-intro{padding-top:15px}.auth-intro .eyebrow{margin-top:48px}.auth-card{justify-self:center}.admin-heading{grid-template-columns:1fr 60px}.admin-heading .back-button{grid-column:1/-1}.hero{grid-template-columns:1fr;gap:52px;min-height:auto;padding:80px 0}.hero-score{display:none}.section-heading,.unit-workspace{grid-template-columns:1fr}.unit-sidebar{position:relative;top:auto}.learning-grid{grid-template-columns:1fr}.aside-sticky{position:relative;top:auto}.activity-layout{grid-template-columns:1fr}.activity-rail{grid-template-columns:auto 1fr;align-items:center;gap:12px 20px;display:grid}.activity-rail .overline,.activity-rail>strong{margin:0}.activity-rail>p:not(.overline){grid-column:1/-1;margin:0}.activity-dots{grid-column:1/-1;grid-template-columns:repeat(25,1fr);gap:3px;margin:6px 0 0}.module-meta{display:none}.module-row{grid-template-columns:46px 1fr 28px}}@media (max-width:640px){.auth-shell{background:linear-gradient(180deg, var(--ink) 0 35%, var(--paper) 35% 100%);gap:38px;padding:22px 14px 35px}.auth-intro .eyebrow{margin-top:38px}.auth-intro h1{font-size:clamp(54px,18vw,76px)}.auth-lead{font-size:14px}.teacher-signature{flex-direction:column;align-items:flex-start;gap:4px;max-width:100%}.auth-promises{margin-top:28px}.auth-card{border-radius:22px;padding:25px 19px}.auth-field-row{grid-template-columns:1fr}.admin-page{padding:34px 14px 70px}.admin-heading{grid-template-columns:1fr 54px}.admin-heading h1{font-size:43px}.admin-seal{border-radius:15px;width:50px;height:50px}.admin-summary{grid-template-columns:1fr}.admin-summary article{min-height:112px}.roster-header{flex-direction:column;align-items:flex-start;gap:12px}.promotion-toolbar{flex-wrap:wrap;align-items:flex-start}.promotion-toolbar>div{width:100%;margin-left:0}.promotion-toolbar>div button{flex:1}.request-list article{grid-template-columns:1fr;gap:10px}.request-list article>div:last-child{width:100%}.request-list article>div:last-child button{flex:1}.topbar{width:calc(100% - 28px);height:72px}.topbar-actions .text-button,.admin-role-pill{display:none}.admin-nav-button{max-width:62px;padding:8px;font-size:8px}.topbar-actions .mini-progress,.topbar-actions>strong,.student-chip p{display:none}.student-chip{border-left:0;padding-left:2px}.mini-progress{width:55px}.brand-mark{border-radius:11px;width:36px;height:36px;font-size:23px}.hero{width:calc(100% - 32px);padding:64px 0 58px}.hero h1{font-size:clamp(54px,18vw,78px)}.hero-copy>p{font-size:16px}.hero-rule{flex-direction:column;align-items:flex-start;gap:4px}.route-section{padding:64px 16px}.section-heading>div{gap:16px}.section-number{font-size:28px}.unit-track{grid-template-columns:1fr}.unit-track:before{display:none}.unit-node{min-height:135px}.unit-node strong{margin-top:20px}.unit-workspace{gap:24px;width:calc(100% - 28px);margin:50px auto}.unit-sidebar{padding:26px}.unit-sidebar h2{font-size:34px}.module-list-header{display:block}.source-pill{margin-top:12px;display:inline-block}.inner-header{grid-template-columns:1fr 55px;width:calc(100% - 28px);margin-top:28px}.inner-header .back-button{grid-column:1/-1}.inner-header h1{font-size:38px}.unit-badge{border-radius:15px;width:50px;height:50px}.learning-grid,.question-shell,.result-card,.celebration-card,.activity-layout,.exam-banner{width:calc(100% - 28px)}.lesson-card{border-radius:20px;padding:26px}.lesson-lead{font-size:21px}.lesson-reading{margin-top:36px}.lesson-section{grid-template-columns:1fr;gap:12px}.lesson-section h3{font-size:21px}.lesson-section>div:last-child>p{font-size:15px;line-height:1.7}.author-card{padding:19px}.author-card blockquote{font-size:16px}.takeaway-grid{grid-template-columns:1fr}.question-shell{padding:24px 18px}.question-meta{flex-direction:column;align-items:flex-start;gap:8px}.question-footer{flex-direction:column;align-items:stretch}.question-footer .primary-button{width:100%}.game-options{grid-template-columns:1fr}.timer-pill{width:fit-content;margin:-12px 0 20px;position:relative;top:auto;right:auto}.wordsearch-grid{gap:2px}.wordsearch-grid button{border-radius:4px;font-size:11px}.crossword-game{grid-template-columns:1fr}.crossword-board{justify-self:start;max-width:100%;overflow:auto}.crossword-game .activity-check{grid-column:1}.order-pool{grid-template-columns:1fr}.game-feedback{flex-direction:column;align-items:stretch}.activity-dots{grid-template-columns:repeat(10,1fr)}.score-breakdown{grid-template-columns:1fr}.score-breakdown div{border-right:0;border-bottom:1px solid var(--line)}.score-breakdown div:last-child{border-bottom:0}.exam-banner{flex-wrap:wrap;align-items:flex-start}.exam-banner p{flex-basis:100%;order:3}.sources-modal{padding:25px}.modal-backdrop{padding:14px}.footer{flex-direction:column;align-items:flex-start;width:calc(100% - 28px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}a{color:inherit}.brand{text-decoration:none}.portal-main{max-width:1220px;margin:auto;padding:36px 24px 64px}.portal-heading h1{margin:18px 0;font:700 clamp(42px,6vw,76px)/1.05 Georgia,serif}.portal-heading{margin-bottom:36px}.portal-columns{grid-template-columns:1.5fr 1fr;align-items:start;gap:32px;display:grid}.level-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.level-card,.portal-card{border:1px solid var(--line);background:var(--white);border-radius:20px;padding:24px}.level-card{flex-direction:column;gap:20px;text-decoration:none;transition:transform .2s;display:flex}.level-card:hover{border-color:var(--coral);transform:translateY(-3px)}.level-card strong{font:700 46px Georgia,serif}.level-card:nth-child(2n){background:#edf0df}.eyebrow{letter-spacing:.1em;font-size:11px;font-weight:800}.portal-card h2{margin-top:0}.portal-card label{margin:14px 0;font-weight:650;display:block}.portal-card input,.portal-card select,.portal-card textarea{background:#fff;border:1px solid #aab0b8;border-radius:8px;width:100%;margin-top:6px;padding:11px;display:block}.portal-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-block}button:disabled{opacity:.55;cursor:not-allowed}.portal-footer{text-align:center;border-top:1px solid var(--line);color:var(--muted);padding:24px}.portal-tabs{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.portal-tabs a,.portal-tabs button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:10px 14px;text-decoration:none}.portal-stack{gap:18px;display:grid}.portal-notice{background:var(--lime);border-radius:10px;padding:16px}.portal-table{border-collapse:collapse;width:100%}.portal-table th,.portal-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px}.portal-scroll{overflow:auto}.portal-main button{min-height:40px}.portal-main p{line-height:1.65}.portal-main h2{font-family:Georgia,serif}.portal-error{color:#a42f21}.test-banner{z-index:30;background:#d9f34a;padding:15px;font-weight:700;position:sticky;top:0}.lesson-text{max-width:780px;font-size:18px}.question-option{text-align:left;background:#fff;border:1px solid #aab0b8;border-radius:10px;width:100%;margin:10px 0;padding:14px;display:block}.question-option[aria-pressed=true]{border:2px solid var(--coral);background:#fff0e9}@media (max-width:800px){.portal-columns{grid-template-columns:1fr}.level-grid{grid-template-columns:repeat(2,1fr)}.topbar{width:calc(100% - 32px)}.portal-main{padding:24px 16px}.portal-card{padding:18px}}.account-next-step{background:var(--paper);border-radius:12px;margin-top:20px;padding:16px}.account-next-step p{margin-bottom:0}.portal-how{border-top:1px solid var(--line);margin-top:56px;padding-top:28px}.portal-how ol{grid-template-columns:repeat(3,1fr);gap:28px;padding-left:24px;display:grid}.portal-how li{padding-left:6px}.portal-how p{color:var(--muted);margin-bottom:0}:is(.level-card:focus-visible,.portal-button:focus-visible){outline:3px solid var(--coral);outline-offset:4px}@media (max-width:800px){.portal-how ol{grid-template-columns:1fr;gap:18px}}.level-header-art{background:#173f91;border-radius:20px;margin:0 0 28px;overflow:hidden}.level-header-art img{aspect-ratio:2161/728;width:100%;height:auto;display:block}@media (max-width:800px){.level-header-art{border-radius:12px;margin-bottom:20px}}.level-shell{min-height:100vh}.reading-collage-page>.topbar,.reading-collage-page>.portal-main,.reading-collage-page>.test-banner{z-index:1;position:relative}.reading-collage{pointer-events:none;z-index:0;background-color:#f2f7fd;background-image:repeating-linear-gradient(125deg,#0000 0 145px,#1584ec80 145px 260px,#0000 260px 430px),repeating-linear-gradient(25deg,#f0339b73 0 125px,#0000 125px 295px,#ffc92880 295px 425px,#0000 425px 590px),repeating-linear-gradient(165deg,#0000 0 210px,#04c59b73 210px 330px,#0000 330px 520px);position:fixed;inset:0;overflow:hidden}.reading-collage-stickers{opacity:.28;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:48px 26px;padding:28px;display:grid}.reading-collage-piece{background-repeat:no-repeat;background-size:480px 320px;justify-self:center;width:150px;height:80px;display:block}.reading-collage-piece.socratic-piece{height:280px}.reading-collage-piece.paper-piece{clip-path:polygon(4% 12%,32% 0,67% 8%,96% 3%,100% 80%,74% 100%,35% 88%,0 97%);background:linear-gradient(135deg,#cde6f4,#e7daf5);height:110px}.lesson-with-art{min-height:400px;padding:28px 0;position:relative}.lesson-with-art .lesson-text{background:#fff;border-color:#dce5ef;margin:0 auto;position:relative;box-shadow:0 12px 40px #334b6412}@media (max-width:1100px){.lesson-with-art{padding:24px 44px}}@media (max-width:640px){.lesson-with-art{padding:18px 12px}.lesson-with-art .lesson-text{padding:18px 14px;font-size:17px}.reading-collage-stickers{opacity:.2;grid-template-columns:repeat(2,1fr);gap:30px 12px;padding:12px}}@media (prefers-contrast:more){.reading-collage-stickers{display:none}}@media print{.reading-collage{display:none}}.reading-collage-myth:after{content:"";opacity:.3;background-image:url(/filosofia-mito-logos-stickers-v2.png);background-position:30px 25px;background-repeat:repeat;background-size:760px 760px;position:absolute;inset:0}@media (max-width:640px){.reading-collage-myth:after{opacity:.22;background-size:540px 540px}}@media (prefers-contrast:more){.reading-collage-myth:after{display:none}}.ancient-parchment .lesson-text{isolation:isolate;box-shadow:none;background:0 0;border:0;border-radius:0;margin:8px auto;padding:48px 38px}.ancient-parchment .lesson-text:before{content:"";z-index:-1;pointer-events:none;clip-path:polygon(.6% 0,99.4% 0,100% 5%,99.5% 14%,100% 23%,99.6% 33%,100% 42%,99.4% 52%,100% 63%,99.5% 74%,100% 84%,99.6% 94%,100% 100%,0 100%,.5% 92%,0 81%,.6% 71%,0 59%,.4% 48%,0 37%,.5% 26%,0 15%);filter:drop-shadow(0 12px 24px #334b6418);background-color:#fff;background-image:linear-gradient(90deg,#e8ecf0aa,#0000 16px calc(100% - 16px),#e8ecf0aa),repeating-linear-gradient(0deg,#73829203 0 1px,#0000 1px 5px);position:absolute;inset:0}.ancient-parchment:before,.ancient-parchment:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#f4f6f8 0%,#fff 30% 55%,#e6ebef 91%,#f8fafc 100%);border:1px solid #dde3e9;border-radius:14px/50%;width:min(810px,100% - 12px);height:30px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 5px 9px #334b6418}.ancient-parchment:before{top:28px}.ancient-parchment:after{bottom:28px;transform:translate(-50%)rotate(180deg)}@media (max-width:1100px){.ancient-parchment:before,.ancient-parchment:after{width:min(810px,100% - 72px)}.ancient-parchment:before{top:24px}.ancient-parchment:after{bottom:24px}}@media (max-width:640px){.ancient-parchment .lesson-text{padding:38px 20px}.ancient-parchment:before,.ancient-parchment:after{width:calc(100% - 12px);height:23px}.ancient-parchment:before{top:18px}.ancient-parchment:after{bottom:18px}}@media print{.ancient-parchment:before,.ancient-parchment:after{display:none}.ancient-parchment .lesson-text{background:#fff}}.level-home-septimo:before{content:"";opacity:.18;background-image:url(/filosofia-mito-logos-stickers-v2.png),url(/unidad-1-collage.png),url(/unidad-2-collage.png),url(/filosofia-septimo-encabezado.png);background-position:0 360px,160px 100px,740px 260px,top;background-repeat:repeat;background-size:760px 760px,1100px,1200px,1000px;position:absolute;inset:0}.unit-bubble-stack{gap:52px;padding:14px 16px 40px}.unit-speech-bubble{background:#fff;border:1px solid #dce5ef;padding:32px 38px;position:relative;box-shadow:0 10px 28px #334b6410}.unit-speech-bubble:after,.unit-speech-bubble:before{content:"";pointer-events:none;position:absolute}.unit-bubble-0{border-radius:48px 48px 48px 16px}.unit-bubble-0:after{clip-path:polygon(0 0,100% 0,12% 100%);filter:drop-shadow(1px 1px #dce5ef);background:#fff;width:38px;height:32px;bottom:-30px;left:56px}.unit-bubble-1{border-radius:70px 48px 64px 54px}.unit-bubble-1:after{background:#fff;border:1px solid #dce5ef;border-radius:50%;width:24px;height:24px;bottom:-24px;right:62px}.unit-bubble-1:before{background:#fff;border:1px solid #dce5ef;border-radius:50%;width:12px;height:12px;bottom:-39px;right:44px}.unit-bubble-2{border-radius:36px 64px 20px}.unit-bubble-2:after{clip-path:polygon(0 0,100% 0,90% 100%);filter:drop-shadow(1px 1px #dce5ef);background:#fff;width:40px;height:30px;bottom:-28px;right:74px}@media (max-width:640px){.unit-bubble-stack{gap:44px;padding:10px 2px 34px}.unit-speech-bubble{padding:26px 22px}.unit-bubble-1{border-radius:40px 32px 44px 36px}.level-home-septimo:before{opacity:.14;background-size:540px 540px,760px,840px,700px}}@media (prefers-contrast:more){.level-home-septimo:before{display:none}}.color-title{letter-spacing:.015em;line-height:1.25;color:#111827!important;font-family:Arial Rounded MT Bold,Avenir Next,Trebuchet MS,sans-serif!important;font-weight:900!important}.title-word{white-space:nowrap;display:inline-block}.title-letter{display:inline;position:relative}.portal-heading .color-title{line-height:1.12}.color-title .title-word{max-width:100%}.brand .color-title{font-size:inherit}.level-card .color-title{font-size:46px}.color-title::selection,.color-title span::selection{color:#111827;background:#cbe8ff}@media (max-width:640px){.color-title{letter-spacing:0}.title-letter{font-weight:900}}@media (prefers-contrast:more){.title-letter{text-shadow:none!important}}@media print{.title-letter{text-shadow:none!important}}.catchup-panel{margin:28px 0}.catchup-panel progress{accent-color:#139b83;width:100%;height:18px}.catchup-panel article{border:1px solid var(--line);border-radius:14px;padding:16px}.catchup-panel article>a{margin-left:16px}.catchup-reward{background:#eafff4;border:2px solid #139b83;border-radius:14px;padding:18px;font-weight:800}.catchup-panel .portal-stack{margin-top:18px}.octavo-sticker-field{opacity:.28;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;padding:18px;display:grid}.octavo-sticker-sheet{background-image:url(/octavo-stickers-platon-canonico.png);background-repeat:no-repeat;background-size:300% 200%;justify-self:center;width:240px;height:240px;display:block}.octavo-header-art{background-color:#84cde1;background-image:repeating-linear-gradient(125deg,#6ec6e9 0 130px,#f5bdde 130px 240px,#fce294 240px 360px,#a5dfcc 360px 470px);max-height:none;padding:16px}.octavo-header-art img{object-fit:contain;width:100%;height:auto;max-height:620px}@media (max-width:640px){.octavo-sticker-field{opacity:.22;grid-template-columns:repeat(2,1fr);gap:18px;padding:8px}.octavo-sticker-sheet{width:180px;height:180px}.octavo-header-art{padding:8px}}@media (prefers-contrast:more){.octavo-sticker-field{display:none}}.level-shell.reading-collage-page{background-color:#f2f7fd}@media (max-width:640px){.octavo-level-home .octavo-sticker-field{opacity:.14}}.octavo-header-art{background:0 0;padding:0}.octavo-header-art img{aspect-ratio:3;object-fit:cover;width:100%;height:auto;max-height:none}body{color:#111c30;-webkit-font-smoothing:auto;font-weight:500}.lesson-text{font-weight:550}.portal-main strong{font-weight:750}.lesson-text p{line-height:1.75}.reading-collage-stickers,.reading-collage-myth:after,.level-home-septimo:before,.octavo-sticker-field{filter:saturate(1.4)contrast(1.04)}.octavo-level-home .octavo-sticker-field{opacity:.24}@media (max-width:640px){.octavo-level-home .octavo-sticker-field{opacity:.19}}.thought-cloud{--cloud-edge:#3b83c4;isolation:isolate;color:#111c30;break-inside:avoid;max-width:650px;margin:32px auto 52px;padding:38px 48px 40px;position:relative}.thought-cloud-1{--cloud-edge:#c45797}.thought-cloud-2{--cloud-edge:#16968d}.thought-cloud-outline{z-index:-1;filter:drop-shadow(0 6px 3px #23354a12);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.thought-cloud-outline path{fill:#fff;stroke:var(--cloud-edge);stroke-width:2.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.thought-cloud-content{text-align:center;position:relative}.thought-cloud-label{color:#17456b;letter-spacing:.02em;background:#eaf5ff;border-radius:18px;padding:3px 14px;font-size:.93em;display:inline-block}.thought-cloud-content p{margin:12px 0 0;font-weight:600;line-height:1.65}.thought-cloud-bubbles:before,.thought-cloud-bubbles:after{content:"";border:2px solid var(--cloud-edge);background:#fff;border-radius:50%;width:20px;height:15px;position:absolute;bottom:-13px;left:15%;box-shadow:0 3px 5px #23354a0d}.thought-cloud-bubbles:after{width:11px;height:9px;bottom:-29px;left:12%}@media (max-width:640px){.thought-cloud{margin:28px 0 46px;padding:34px 25px 36px}.thought-cloud-content p{font-size:1em}.thought-cloud-label{padding:3px 10px}}@media (prefers-contrast:more){.thought-cloud{--cloud-edge:#111827}.thought-cloud-label{color:#111827;background:#fff}.thought-cloud-outline{filter:none}}@media print{.thought-cloud-outline{filter:none}.thought-cloud{--cloud-edge:#333}}.lesson-scroll-stack{gap:24px;max-width:820px;min-height:0;margin:0 auto;padding:0;display:grid}.lesson-scroll{min-width:0;padding:28px 0;position:relative}.lesson-scroll .lesson-text{width:100%}.lesson-topic-number{color:#315e7e;letter-spacing:.12em;margin:0 0 12px;font-weight:800}.lesson-scroll .lesson-text h3{margin-top:0}.lesson-closing-scroll .portal-tabs:empty{display:none}@media (max-width:640px){.lesson-with-art.lesson-scroll-stack{gap:20px;padding:0}.lesson-scroll{padding:18px 0}.lesson-topic-number{font-size:11px}}@media print{.lesson-scroll-stack{gap:16px}.lesson-scroll{padding:0}.lesson-scroll .lesson-text{border:1px solid #777;margin:0 auto;padding:22px}}.lesson-route-nav{justify-self:start;padding:0 20px}.lesson-route-button{color:#17344c;cursor:pointer;background:#fff;border:1px solid #426b8e;border-radius:12px;padding:11px 18px;font-weight:700;box-shadow:0 3px 8px #23354a12}.lesson-route-button:hover{background:#eaf5ff}@media (max-width:640px){.lesson-route-nav{padding:0}}.topic-reading-passage{display:flow-root}.topic-reading-passage>p{margin-top:0}.topic-author-stickers{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;max-width:240px;display:flex}.topic-author-sticker{flex-direction:column;align-items:center;gap:6px;width:112px;margin:0;display:flex}.topic-author-portrait{filter:drop-shadow(0 3px 2px #1a2b4721);background-repeat:no-repeat;flex:none;display:block}.topic-author-sticker figcaption{text-align:center;color:#172d4a;font-size:.85rem;font-weight:750;line-height:1.3}.portrait-left .topic-author-stickers{float:left;margin:5px 24px 14px 0}.portrait-right .topic-author-stickers{float:right;margin:5px 0 14px 24px}@media (max-width:600px){.topic-author-stickers{--author-art-scale:.75;gap:14px;max-width:84px}.topic-author-sticker{width:84px}.topic-author-sticker figcaption{font-size:.8rem}.portrait-left .topic-author-stickers{margin-right:16px}.portrait-right .topic-author-stickers{margin-left:16px}.topic-reading-passage:has(.topic-author-sticker:nth-child(2)) .topic-author-stickers{float:none;justify-content:center;max-width:100%;margin:4px 0 20px}}.portrait-center .topic-author-stickers{float:none;justify-content:center;margin:10px auto 22px}.portrait-left .topic-author-portrait.face-left,.portrait-right .topic-author-portrait.face-right{transform:scaleX(-1)}.philosophy-illustration{clear:both;text-align:center;margin:26px 0 30px}.philosophy-illustration img{object-fit:contain;width:100%;height:auto;margin:0 auto;display:block}.philosophy-illustration figcaption{color:#253f58;text-align:left;max-width:640px;margin:16px auto 0;font-size:.95rem;font-weight:550;line-height:1.6}.philosophy-illustration .illustration-plane-label{color:#164468;text-align:center;background:#eaf6ff;border-radius:12px;margin:8px 0;padding:8px 14px;font-size:1rem;font-weight:800;line-height:1.5}.philosophy-illustration .sensible-label{color:#17563e;background:#e9f7ef}.philosophy-meme img{border-radius:12px;max-width:380px}.philosophy-meme figcaption{max-width:480px}@media (max-width:600px){.philosophy-illustration{margin:22px 0}.philosophy-illustration figcaption{font-size:.9rem}.philosophy-illustration .illustration-plane-label{padding:7px 10px;font-size:.9rem}}.topbar{gap:20px;height:auto;min-height:84px;padding-top:16px;padding-bottom:16px}.brand{min-width:0;max-width:100%}.brand-mark{flex-shrink:0}.brand-copy{min-width:0;display:block}.brand .brand-title,.brand .brand-author{font-size:inherit;margin:0;line-height:1.4}.brand .brand-author{margin-top:4px}.brand .brand-rights{letter-spacing:0;text-transform:none;text-shadow:none;color:#253f58;margin-top:5px;font-family:inherit;font-size:.72em;font-weight:500;line-height:1.5}@media (max-width:640px){.topbar{flex-wrap:wrap;align-items:flex-start;gap:12px}.brand{width:100%}.brand-mark{margin-top:3px}}.ideas-illustration a{background:linear-gradient(#fff 0% 52%,#fdfefe 100%);border-radius:18px;display:block}.lesson-text p:not(.eyebrow):not(.illustration-plane-label),.lesson-text li,.lesson-reading-heading>p:last-child,.lesson-section>div:last-child>p,.lesson-checkpoint p,.author-card p,.philosophy-illustration figcaption,.unit-speech-bubble>p:not(.eyebrow){text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.cave-source-link{clear:both;margin:18px 0 24px}.cave-source-link>a{color:#174f85;text-underline-offset:4px;font-weight:750;text-decoration:underline}.cave-quote-dialog{color:#111c30;background:#fff;border:2px solid #426b8e;border-radius:20px;width:min(850px,100vw - 32px);max-height:85vh;padding:26px;overflow:auto;box-shadow:0 18px 70px #11243c55}.cave-quote-dialog::backdrop{background:#142b4e99}.cave-quote-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.cave-quote-header h2{margin:0;font-family:inherit;font-size:1.4rem}.cave-quote-header button{cursor:pointer;background:#fff;border:1px solid #426b8e;border-radius:8px;flex-shrink:0;padding:8px 12px;font-weight:700}.cave-quote-reference{font-size:.95rem;line-height:1.65}.cave-original-text{margin:24px 0;padding:0;font-size:1.05rem;font-weight:550;line-height:1.8}.cave-original-text p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0 0 14px}.cave-original-text em{font-style:italic}@media (max-width:600px){.cave-quote-dialog{padding:18px}.cave-quote-header{gap:10px}.cave-quote-header h2{font-size:1.15rem}.cave-original-text{font-size:1rem}}.cave-original-text .cave-quote-emphasis{font-weight:800}.portal-collage-page{isolation:isolate;background:#f4f9ff;min-height:100vh;position:relative}.portal-collage-page>.topbar,.portal-collage-page>.portal-main,.portal-collage-page>.portal-footer{z-index:1;position:relative}.portal-collage{pointer-events:none;background-image:repeating-linear-gradient(125deg,#0000 0 180px,#1584ec45 180px 340px,#0000 340px 520px),repeating-linear-gradient(25deg,#f0339b40 0 165px,#0000 165px 365px,#ffc92850 365px 535px,#0000 535px 760px),repeating-linear-gradient(165deg,#0000 0 220px,#04c59b40 220px 380px,#0000 380px 650px);position:absolute;inset:0;overflow:hidden}.portal-collage-authors{opacity:.34;filter:saturate(1.2);grid-template-columns:repeat(7,minmax(0,1fr));align-content:space-around;place-items:center;gap:24px 8px;padding:24px 8px;display:grid;position:absolute;inset:0}.portal-collage-sticker{background-repeat:no-repeat;flex-shrink:0;display:block}.portal-collage-symbols{opacity:.08;background:url(/filosofia-mito-logos-stickers-v2.png) 0 0/850px;position:absolute;inset:0}.portal-collage-page .portal-heading{background:#ffffffed;border:1px solid #dbe5ef;border-radius:26px;max-width:800px;padding:28px 32px}.portal-collage-page .portal-columns>section:first-child,.portal-collage-page .portal-how{background:#ffffffed;border:1px solid #dbe5ef;border-radius:24px;padding:24px}.portal-collage-page .portal-footer{background:#ffffffed}@media (max-width:800px){.portal-collage-authors{--portal-sticker-scale:.8;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 4px}.portal-collage-page .portal-heading{padding:24px}.portal-collage-page .portal-columns>section:first-child,.portal-collage-page .portal-how{padding:18px}}@media (max-width:440px){.portal-collage-authors{--portal-sticker-scale:.65;opacity:.29}.portal-collage-page .portal-heading{padding:20px}}@media (prefers-contrast:more){.portal-collage-authors,.portal-collage-symbols{opacity:.12}.portal-collage-page .portal-heading,.portal-collage-page .portal-columns>section:first-child,.portal-collage-page .portal-how{background:#fff}}@media print{.portal-collage{display:none}}.portal-collage-symbols{opacity:.18;background-image:url(/portal-contenidos-collage.png);background-size:1000px}@media (max-width:800px){.portal-collage-symbols{opacity:.15;background-size:700px}}@media (prefers-contrast:more){.portal-collage-symbols{opacity:.08}}.level-portal-nav{margin:20px 0 28px;padding:0}a.lesson-route-button{min-height:40px;text-decoration:none;display:inline-block}.cat-meme-photo{isolation:isolate;width:100%;max-width:380px;margin:0 auto;position:relative}.cat-meme-label{color:#fff;text-transform:uppercase;text-align:center;text-shadow:2px 2px #000,-2px -2px #000,2px -2px #000,-2px 2px #000;pointer-events:none;font-family:Impact,Arial Black,sans-serif;font-size:clamp(18px,4.8vw,28px);font-weight:900;line-height:1.05;position:absolute}.cat-meme-model{top:29%;left:4%}.cat-meme-copy{top:62%;left:45%}.level-shell.reading-collage-page{isolation:isolate;position:relative}.higher-level-header img{aspect-ratio:3;object-fit:contain}.higher-level-collage{position:fixed;inset:0}.higher-level-sticker-field{opacity:.24;filter:saturate(1.4)contrast(1.04);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));place-items:center;gap:24px;padding:18px;display:grid}.higher-level-sticker{background-repeat:no-repeat;flex-shrink:0;display:block}@media (max-width:640px){.higher-level-sticker-field{--level-sticker-scale:.75;opacity:.19;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:8px}}@media (prefers-contrast:more){.higher-level-sticker-field{display:none}}@media print{.higher-level-collage{display:none}}@media (max-width:400px){.higher-level-sticker-field{--level-sticker-scale:.74}}@media (max-width:380px){.higher-level-sticker-field{--level-sticker-scale:.67}}@media (max-width:350px){.higher-level-sticker-field{--level-sticker-scale:.58}}.invitation-banner{z-index:5;color:#132a39;background:#fff;border:1px solid #7395b2;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:18px 0;padding:18px;display:flex;position:relative}.invitation-banner span{font-size:.95rem}.invitation-panel{margin:24px 0}.invitation-panel fieldset{border:1px solid #b6c8d8;border-radius:12px;margin:18px 0;padding:12px}.invitation-panel progress{accent-color:#139b83;width:100%;height:14px}.invitation-level-choice{align-items:center;gap:12px;display:flex!important}.invitation-level-choice input{height:20px;width:20px!important;margin:0!important}.invitation-dialog-backdrop{z-index:100;background:#132a3966;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.invitation-dialog{width:min(580px,100%);max-height:90vh;overflow:auto}.invitation-dialog button{margin-right:14px}@media (max-width:640px){.invitation-banner{padding:14px}.invitation-banner strong,.invitation-banner span{flex-basis:100%}}.invitation-panel button[aria-pressed=true]{color:#fff;background:#153f66;border-color:#153f66}.invitation-dialog{border:1px solid #7395b2;border-radius:20px;padding:28px}.invitation-dialog::backdrop{background:#132a3966}.achievements-page{isolation:isolate;background:#f5f6ff;min-height:100vh;position:relative}.achievements-page:before{content:"";z-index:-1;opacity:.7;pointer-events:none;background:url(/hall-fama-filosofico.png) top/cover no-repeat;position:fixed;inset:0}.achievements-page .topbar{background:#ffffffed;border-radius:18px;gap:16px;padding:16px 24px}.achievement-hero{text-align:center;background:#fffffff0;border:1px solid #d9d5be;border-radius:28px;padding:30px;box-shadow:0 8px 30px #5b60851a}.achievement-hero h1{margin:8px 0;font-size:clamp(34px,5vw,58px)}.achievement-hero h2{margin:12px 0;font-size:clamp(22px,3vw,32px)}.achievement-nav{justify-content:center}.achievement-totals{flex-wrap:wrap;justify-content:center;gap:12px 24px;display:flex}.achievement-totals span{background:#f8f2d6;border-radius:99px;padding:10px 16px}.achievement-totals strong{color:#755321;font-size:1.3rem}.achievement-message{color:#175d4a;min-height:24px;font-weight:700}.achievement-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}.trophy-cabinet{background:linear-gradient(135deg,#fffceccc,#e3edffc9);border:6px solid #a98236;border-radius:24px;padding:24px;box-shadow:0 12px 30px #3c456929,inset 0 0 0 2px #f5d890}.trophy-cabinet>h2,.honor-board>h2{margin-top:0}.trophy-case-inside{background:#f9fbffe0;border:2px solid #c4ab69;border-radius:12px;overflow:hidden}.trophy-shelf{border-bottom:14px solid #b48a43;min-height:170px;padding:12px 16px 0;box-shadow:inset 0 -5px 6px #b3955a28}.trophy-shelf:last-child{border-bottom:0}.trophy-shelf h3{color:var(--shelf-color);margin:0 0 8px;font-size:25px}.trophy-shelf-slots{gap:6px;padding:4px 0 14px;display:grid;overflow-x:auto}.trophy-slot{text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-height:108px;font-size:12px;display:flex}.trophy-slot small{color:#46546a;font-size:10px;line-height:1.2}.achievement-trophy-art{filter:drop-shadow(0 3px 2px #755b3930);width:68px;height:80px}.trophy-empty-space{border-bottom:2px dashed #bec8d2;width:42px;height:66px}.trophy-earned{color:#734c15}.trophy-reveal{animation:.6s ease-out trophy-reveal}.honor-board{background:#fffdf5ed;border:7px solid #a98236;border-radius:24px;padding:24px;box-shadow:0 12px 30px #3c456929}.honor-unit-stack{gap:18px;display:grid}.honor-unit{background:#fff;border:1px solid #ddd8bd;border-radius:16px;padding:20px}.honor-unit h3{margin:8px 0;font-size:20px;line-height:1.4}.honor-medals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.honor-medal{text-align:center;margin:0;padding:8px}.achievement-medal-art{filter:drop-shadow(0 3px 2px #755b3930);width:70px;height:84px}.honor-medal figcaption{font-size:13px;font-weight:650;line-height:1.4}.honor-medal figcaption span{color:#2f6854;margin-top:6px;font-size:11px;font-weight:500;display:block}.honor-empty{color:#4c5f70;font-size:14px}.honor-redeemed{color:#255d3b;background:#ecf7ef;border-radius:10px;padding:12px}.redeem-trophy-button{background:#755420;width:100%;margin-top:18px}.my-achievements-link{background:#755420;margin:14px 0}@keyframes trophy-reveal{0%{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.achievement-gallery{grid-template-columns:1fr}.trophy-cabinet,.honor-board{padding:18px}.achievements-page:before{background-repeat:repeat-y;background-size:100%}}@media (max-width:440px){.achievement-hero{padding:20px 16px}.achievements-page .topbar{flex-wrap:wrap;padding:14px}.trophy-cabinet,.honor-board{border-width:4px;padding:12px}.trophy-shelf{padding:12px 8px 0}.honor-unit{padding:16px}.achievement-trophy-art{width:52px;height:64px}.trophy-slot{font-size:11px}.achievement-totals span{font-size:13px}.honor-medals{gap:8px}}@media (prefers-reduced-motion:reduce){.trophy-reveal{animation:none}}.achievements-page .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.achievement-gallery>section,.trophy-shelf-slots{min-width:0}@media (max-width:900px){.achievement-gallery{grid-template-columns:minmax(0,1fr)}}.global-achievement-nav{z-index:30;background:#ffffffed;border-bottom:1px solid #cedde9;justify-content:flex-end;padding:8px 20px;display:flex;position:sticky;top:0}.global-achievement-nav .lesson-route-button{margin:0}.ranking-board{grid-column:1/-1}.ranking-own{background:#e8f6ed;border-radius:12px;padding:18px;font-size:1.15rem}.ranking-board select{max-width:100%}.ranking-board .portal-table{min-width:420px}.teaching-pace{margin:24px 0}.teaching-pace-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.teaching-pace select{width:100%}@media (max-width:640px){.teaching-pace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ranking-participant-role{color:#42634d;margin-top:5px;font-size:12px;display:block}.ranking-self-row{background:#edf7ef}.ranking-own progress{accent-color:#168e68;width:100%}.logic-collage{background-image:linear-gradient(125deg,#55bcd633,#f787b533),url(/logica-collage.svg);background-size:cover,520px}.logic-visual{clear:both;background:#fff;border:2px solid #b7d3e3;border-radius:20px;margin:26px 0;padding:18px}.logic-visual svg{width:100%;max-height:310px;display:block}.logic-visual text{fill:#17344d;font-size:20px;font-weight:700}.logic-visual .logic-diagram-note{font-size:15px}.logic-visual .logic-witness{fill:#8f2e69;font-size:34px}.logic-visual figcaption{font-size:16px;font-weight:600;line-height:1.6}.logic-visual .portal-tabs button[aria-pressed=true]{color:#fff;background:#245b83}@media (max-width:440px){.logic-visual{padding:12px}.logic-visual figcaption{font-size:14px}}.canonical-topic-media{clear:both;margin:1.6rem 0}.canonical-book-figure{float:none;clear:both;max-width:740px;margin:2rem auto}.canonical-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.canonical-image-button img{object-fit:contain;width:100%;height:auto;max-height:none;display:block}.canonical-book-figure figcaption,.canonical-source{color:#334c61;text-align:center;font-size:.9rem;line-height:1.6}.canonical-video-link{clear:both;background:#eef7ff;border-left:5px solid #2679aa;border-radius:12px;margin:1.7rem 0;padding:1rem 1.3rem}.canonical-video-title{margin:0 0 .5rem!important;font-size:1rem!important;font-weight:700!important}.canonical-video-link>a{color:#155784;text-underline-offset:5px;font-weight:800;text-decoration:underline}.canonical-video-dialog,.canonical-image-dialog{color:#172437;background:#fff;border:2px solid #5b7791;border-radius:20px;width:min(1000px,94vw);max-height:90dvh;padding:clamp(12px,3vw,28px);overflow:auto}.canonical-video-dialog::backdrop{background:#0a162ac2}.canonical-image-dialog::backdrop{background:#0a162ac2}.canonical-video-frame{aspect-ratio:16/9;background:#101b2a;border:0;width:100%;height:auto;margin:1rem 0;display:block}.canonical-video-dialog h2,.canonical-image-dialog h2{font-size:clamp(1rem,2.5vw,1.5rem);line-height:1.4}.canonical-image-dialog{width:min(1200px,94vw)}.canonical-image-dialog>img{object-fit:contain;width:100%;height:auto;display:block}.canonical-topic-media:empty{display:none}:is(.canonical-book-figure:has(img[alt^=Retrato]),.canonical-book-figure:has(img[alt^=Sticker])){max-width:300px}.canonical-image-dialog img{max-height:none}.canonical-video-title{-webkit-hyphens:none!important;hyphens:none!important;text-align:left!important}.canonical-image-citation,.canonical-image-book{color:#263e54;text-align:left;overflow-wrap:anywhere;margin-top:.5rem;font-size:.85rem;line-height:1.6;display:block}.canonical-image-citation{font-weight:600}.new-student-question{background:#f0f7ff;border:1px solid #a6c5df;border-radius:12px;margin:20px 0;padding:16px}.new-student-question legend{color:#173c58;padding:0 6px;font-size:1.05rem;font-weight:800}.new-student-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.portal-card .new-student-options label{cursor:pointer;color:#193d58;background:#fff;border:2px solid #91b0cb;border-radius:10px;justify-content:center;align-items:center;min-height:48px;margin:0;font-size:1rem;font-weight:750;display:flex;position:relative}.portal-card .new-student-options label.selected{color:#164b3a;background:#def5e9;border-color:#16776a}.portal-card .new-student-options input{opacity:0;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.new-student-options label:has(input:focus-visible){outline-offset:3px;outline:3px solid #a775f0}.new-student-question p{color:#29475f;margin-bottom:0;font-size:.9rem;font-weight:550}.canonical-inline-group{display:contents}.canonical-inline-sticker{width:min(40%,280px);position:relative;clear:none!important;margin:5px 0 18px!important}.canonical-position-left .canonical-inline-sticker{float:left;margin-right:24px!important}.canonical-position-right .canonical-inline-sticker{float:right;margin-left:24px!important}.canonical-inline-sticker .canonical-image-button{background:#fff;border:7px solid #fff;border-radius:22px;overflow:visible;box-shadow:0 4px 10px #263d5a18}.canonical-inline-sticker.canonical-kind-portrait{width:112px;max-width:112px}.canonical-inline-sticker.canonical-kind-portrait .canonical-image-button{box-shadow:none;background:0 0;border:0}.canonical-portrait-name{text-align:center!important;margin:8px 0 0!important;font-size:.95rem!important;font-weight:800!important;line-height:1.4!important}.canonical-inline-sticker.canonical-kind-diagram{float:none;width:min(100%,680px);max-width:680px;clear:both!important;margin:22px auto!important}.canonical-kind-sticker .canonical-image-button{transform:rotate(-1deg)}.canonical-position-right .canonical-kind-sticker .canonical-image-button{transform:rotate(1deg)}.canonical-inline-sticker .canonical-image-citation{font-size:.75rem;line-height:1.5}.canonical-inline-sticker[data-source="/canonica-8-p48-img0-color.png"],.canonical-inline-sticker[data-source="/canonica-8-p61-img0-color.png"]{float:none;width:min(100%,520px);clear:both!important;margin:24px auto!important}@media (max-width:600px){.canonical-inline-sticker{width:42%;max-width:170px}.canonical-inline-sticker.canonical-kind-portrait{width:88px;max-width:88px}.canonical-position-left .canonical-inline-sticker{margin-right:16px!important}.canonical-position-right .canonical-inline-sticker{margin-left:16px!important}.canonical-portrait-name{font-size:.8rem!important}.canonical-inline-sticker.canonical-kind-diagram{width:100%;margin:20px auto!important}.canonical-inline-sticker .canonical-image-citation{font-size:.7rem}}.canonical-position-left .canonical-kind-portrait[data-facing=left] .canonical-image-button img,.canonical-position-right .canonical-kind-portrait[data-facing=right] .canonical-image-button img{transform:scaleX(-1)}.canonical-inline-sticker{width:min(28%,180px);max-width:180px;margin-top:0!important}.canonical-inline-sticker .canonical-image-button{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transform:none}.canonical-inline-sticker img{filter:drop-shadow(0 2px 2px #233d5210)}.canonical-inline-sticker.canonical-kind-portrait img{mix-blend-mode:normal}.canonical-inline-sticker[data-source="/canonica-arje.svg"]{width:145px;max-width:25%;margin-top:8px!important}.canonical-inline-sticker[data-source*=philos-sophia]{width:min(36%,260px);max-width:260px}.topic-author-portrait{filter:drop-shadow(0 2px 2px #233d5210)}.topic-author-stickers{max-width:112px}.topic-reading-passage p{-webkit-hyphens:none;hyphens:none;overflow-wrap:normal}@media (max-width:600px){.canonical-inline-sticker{width:min(28%,110px);max-width:110px}.canonical-inline-sticker[data-source="/canonica-arje.svg"]{width:95px;max-width:27%}.canonical-inline-sticker[data-source*=philos-sophia]{float:none;width:min(100%,250px);max-width:250px;margin:12px auto!important}.topic-author-stickers{max-width:84px}.topic-reading-passage p{-webkit-hyphens:none;hyphens:none}}.avatar-profile{color:#20314f;background:#f0f5ff;border:1px solid #c3d3ee;border-radius:18px;margin:1.4rem 0;padding:1rem}.avatar-profile-summary{align-items:center;gap:1rem;display:flex}.student-avatar{border-radius:24px;flex:none;max-width:100%}.avatar-profile h3{margin:0;font-size:1.25rem}.avatar-profile p{margin:.5rem 0;font-size:1rem}.avatar-profile button{cursor:pointer;font:inherit;color:#20314f;background:#fff;border:1px solid #8299bf;border-radius:10px;padding:.65rem .9rem}.avatar-profile button:disabled{opacity:.6;cursor:wait}.avatar-editor{margin-top:1rem}.avatar-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.avatar-choices label{flex-direction:column;gap:.35rem;font-size:1rem;display:flex}.avatar-choices select{color:#20314f;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #8299bf;border-radius:8px;padding:.5rem}.avatar-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.avatar-profile button.portal-button{color:#fff;background:#2558a8}.avatar-editor small{font-size:.875rem}.avatar-profile :focus-visible{outline-offset:3px;outline:3px solid #2558a8}@media (max-width:480px){.avatar-profile-summary{flex-direction:column;align-items:flex-start}.avatar-choices{grid-template-columns:1fr}}.lesson-text .topic-reading .topic-reading-passage>p{-webkit-hyphens:none!important;hyphens:none!important}.canonical-inline-sticker[data-source*=tales-water]{width:120px;max-width:24%}.canonical-inline-sticker[data-source*=filtros]{width:min(36%,270px);max-width:270px}@media (max-width:600px){.canonical-inline-sticker[data-source*=tales-water]{width:88px;max-width:27%}.canonical-inline-sticker[data-source*=filtros]{float:none;width:min(100%,270px);max-width:270px;margin:12px auto!important}}.account-achievement-nav{margin:1rem 0;position:static}.account-achievement-nav .my-achievements-link{box-sizing:border-box;text-align:center;width:100%;margin:0;display:block}.email-blocked-dialog{color:#172d4a;background:#fff;border:2px solid #86b0cf;border-radius:24px;max-width:min(620px,100vw - 40px);padding:28px;box-shadow:0 20px 65px #172d4a40}.email-blocked-dialog::backdrop{background:#172d4a77}.email-blocked-dialog p{text-align:left;font-size:1.15rem;font-weight:650;line-height:1.8}.active-people{max-width:48rem;margin:1.5rem 0}.active-people h2{margin-top:0}.active-people ul{max-height:22rem;margin:1rem 0;padding:0;list-style:none;overflow:auto}.active-people li{border-bottom:1px solid #dae7ef;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.active-people li div{gap:.15rem;display:grid}.active-people li div>span,.active-people small{color:#476078;font-size:.9rem}.online-dot{background:#178442;border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem;display:inline-block;box-shadow:0 0 0 3px #dcf6e5}.active-people-status{margin:.5rem 0}.offline-dot{background:#bd303a;box-shadow:0 0 0 3px #fde5e7}.admin-categories{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:2rem 0 1rem;display:grid}.admin-categories button{color:#173c59;text-align:left;background:#eef6ff;border:1px solid #bfd4e5;border-radius:1rem;padding:1rem;font-weight:750}.admin-categories button[aria-pressed=true]{color:#fff;background:#1a557d}.admin-status-tabs{background:#f1f7fc;border-radius:1rem;padding:.75rem}.avatar-choices>div>label+label{margin-top:.65rem}.avatar-portrait img{display:block}.logic-examples{clear:both;min-width:0;margin:24px 0}.logic-examples h4{color:#176455;margin:0 0 12px}.logic-example-group{break-inside:avoid;background:#f2faf6;border:1px solid #bad8cf;border-radius:12px;margin:12px 0;padding:16px}.logic-example-line{text-align:left;align-items:baseline;gap:12px;padding:9px 0;line-height:1.6;display:flex}.logic-example-line+.logic-example-line{border-top:1px solid #d7e8df}.logic-example-label{color:#335b50;flex:0 0 120px;font-size:.8em}.logic-example-text{overflow-wrap:anywhere;flex:1;min-width:0}.logic-example-line .logic-truth{text-align:center;color:#143b32;flex:0 0 28px;font-weight:800}.logic-normalized{text-align:left;overflow-wrap:anywhere;background:#deefe7;border-left:4px solid #176455;margin-top:14px;padding:14px}.logic-normalized span,.logic-normalized strong{display:block}.logic-normalized span{margin-bottom:6px;font-size:.8em}.logic-example-note{text-align:left}@media (max-width:600px){.logic-example-group{padding:12px}.logic-example-line{flex-wrap:wrap;gap:6px}.logic-example-label{flex-basis:100%}.logic-example-text{flex-basis:calc(100% - 40px)}}
