@font-face{font-family:Oswald;src:url('/assets/fonts/Oswald.ttf') format('truetype');font-weight:200 700;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
.workspace-dialog{border:0;border-radius:28px;padding:30px;width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto;color:#19191e}.workspace-dialog::backdrop{background:#15101bbb;backdrop-filter:blur(5px)}.workspace-dialog .modal-head{margin-bottom:22px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
:root{--learn-purple:#6b52c7;--learn-lime:#d5ff45;--learn-ink:#19191e;--learn-paper:#f5f2e9}
h1,h2,.display,.big-stat{font-family:'Oswald','Roboto Condensed',sans-serif}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar{overflow:hidden}.avatar:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6b52c7;outline-offset:4px}.form-error{color:#98232d;background:#ffe9ec;padding:12px;border-radius:12px}.preserve-lines{white-space:pre-wrap}.course-overview h1{max-width:900px}.course-overview>p{max-width:800px;line-height:1.7;margin:20px 0}.curriculum-row{display:grid;grid-template-columns:56px 1fr auto;gap:22px;align-items:center;padding:26px 0;border-top:1px solid #e6e3ed}.curriculum-week{font-family:Oswald,sans-serif;font-size:42px;color:#81719f}.curriculum-copy h3{font-size:1.3rem;margin:4px 0 10px}.curriculum-copy p{color:#5e5a66;line-height:1.6}.curriculum-copy small{display:block;margin-top:10px;color:#756e83}.curriculum-copy .course-meta{margin:0 0 8px}.lesson-heading h1{font-size:clamp(2.4rem,4.8vw,4.4rem);margin:12px 0}.lesson-heading p{color:#625e6b;line-height:1.6}.lesson-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:center}.learning-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.learning-nav{position:sticky;top:18px;padding:22px 18px;border-radius:26px;background:#eae5f5}.learning-nav>.eyebrow{display:block;padding:0 8px 18px;font-size:.7rem}.learning-nav>button{display:flex;gap:12px;align-items:center;width:100%;border:0;border-radius:14px;background:transparent;padding:13px 10px;text-align:left;font:600 .85rem Manrope,sans-serif;color:#514b61;cursor:pointer}.learning-nav>button>span{display:grid;place-items:center;width:23px;height:23px;font-size:20px}.learning-nav>button.active{background:#fff;color:#302242}.learning-note{border-top:1px solid #d6cfe3;margin-top:20px;padding-top:20px}.learning-note label{font-size:.85rem;font-weight:700}.learning-note textarea{width:100%;resize:vertical;margin:10px 0;border:1px solid #d8d2e3;border-radius:12px;padding:10px;font:inherit;background:#f9f7fd}.learning-note small{display:block;font-size:.7rem;color:#746b82;margin-top:6px}.lesson-main{min-width:0;padding:24px!important}.slide-image-area{position:relative;aspect-ratio:16/9;background:var(--learn-paper);border-radius:18px;overflow:hidden;display:grid;place-items:center}.slide-image-area img{width:100%;height:100%;object-fit:contain}.slide-load-error{padding:25px}.player-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0}.player-controls .button{padding:10px 15px;min-height:42px}.player-controls label{font-size:.8rem;color:#625d6b}.player-controls select{padding:6px;border:1px solid #dcd7e5;border-radius:9px;background:white}.player-under{padding:10px 4px}.player-under>p{font-size:.85rem;line-height:1.6;color:#625d6b}.slide-stage:fullscreen,.expanded-slide{background:#17171c;display:flex;flex-direction:column;justify-content:center;padding:24px}.slide-stage:fullscreen .slide-image-area{height:calc(100vh - 110px);aspect-ratio:auto}.slide-stage:fullscreen .player-controls label{color:white}.expanded-slide{position:fixed;inset:0;z-index:300}.lesson-reading{max-width:850px;margin:0 auto}.lesson-lead{font-size:1.05rem;line-height:1.8;color:#5b5666;margin:12px 0 28px}.reading-block{position:relative;padding:32px 0;border-top:1px solid #ece8f1}.reading-index{font-size:.7rem;font-weight:800;color:#77678f;letter-spacing:.1em}.reading-block h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:12px 0 20px;line-height:1.2}.reading-block p{font-size:1rem;line-height:1.95;max-width:72ch}.reading-stat{font:600 clamp(3rem,7vw,5.5rem) Oswald,sans-serif;color:var(--learn-purple);margin:20px 0}.reading-stat small{display:block;font:500 .85rem Manrope,sans-serif;color:#60596c;margin-top:10px}.lesson-formula{font:500 clamp(1.4rem,3vw,2.3rem) Oswald,sans-serif;background:var(--learn-lime);border-radius:20px;padding:25px;margin:24px 0;overflow-wrap:anywhere}.source-link{display:inline-block;font-size:.75rem;color:#604b9d;margin-top:18px;line-height:1.6}.lesson-chart{margin:28px 0}.lesson-bar-row{display:grid;grid-template-columns:95px 1fr 65px;align-items:center;gap:14px;margin:14px 0;font-size:.85rem}.lesson-bar-track{height:30px;background:#efecf5;border-radius:99px;overflow:hidden}.lesson-bar-track>div{height:100%;background:#8a70db;border-radius:99px}.lesson-bar-row:nth-child(2) .lesson-bar-track>div{background:#bfd943}.lesson-table-wrap{overflow:auto;margin:24px 0}.lesson-table-wrap table{border-collapse:collapse;width:100%;font-size:.85rem}.lesson-table-wrap th,.lesson-table-wrap td{padding:14px;border-bottom:1px solid #e8e2f0;text-align:left;white-space:nowrap}.lesson-table-wrap th{background:#f1edf7}.lesson-bridge{background:#eee8ff;border-radius:22px;padding:24px;margin:28px 0}.lesson-bridge>span{font-size:.75rem;font-weight:800;text-transform:uppercase;color:#706080}.lesson-bridge p{line-height:1.75;margin:12px 0}.quiz-stage,.homework-stage,.questions-stage{max-width:820px;margin:auto}.quiz-stage h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.3;margin:28px 0}.quiz-dots{display:flex;gap:8px;flex-wrap:wrap}.quiz-dots button{width:38px;height:38px;border:1px solid #dcd5e7;border-radius:50%;background:white;cursor:pointer}.quiz-dots button.current{outline:2px solid #6b52c7;outline-offset:2px}.quiz-dots button.correct{background:#d5ff45;border-color:#d5ff45}.answer-options{display:grid;gap:10px;margin:25px 0}.answer-options label{position:relative;display:flex;align-items:center;gap:15px;border:1px solid #ddd6e8;border-radius:18px;padding:18px;cursor:pointer;line-height:1.6}.answer-options label:has(input:checked){background:#eee8ff;border-color:#6b52c7}.answer-options input{accent-color:#6b52c7;width:18px;height:18px;flex:none}.quiz-feedback{border-radius:20px;padding:22px;margin:24px 0}.quiz-feedback p{line-height:1.75;margin-top:10px}.is-correct{background:#eff8d9}.is-retry{background:#fff1d9}.homework-stage h2,.questions-stage h2{font-size:2.4rem;margin:16px 0}.homework-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:.8rem;color:#665b76;margin:20px 0}.rubric{padding:18px;background:#f6f3fa;border-radius:16px}.rubric summary{cursor:pointer;font-weight:700}.rubric ul{padding-left:22px;line-height:1.8;margin-top:15px}.homework-field{display:block;margin:28px 0}.homework-field>span{display:flex;gap:14px;align-items:center;font-weight:700;line-height:1.5;margin-bottom:12px}.homework-field b{font:500 25px Oswald,sans-serif;color:#9782bd}.homework-field textarea{width:100%;padding:16px;border:1px solid #ddd5e7;border-radius:17px;font:inherit;line-height:1.6;resize:vertical}.question-thread{margin-top:22px}.question-thread article,.question-thread{padding:18px 0;border-bottom:1px solid #e9e2f0}.question-thread p{line-height:1.8;margin:12px 0}.teacher-answer{background:#edf5df;border-radius:14px;padding:18px}.home-guide{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.home-guide h1{font-size:clamp(3rem,5.5vw,5rem);line-height:1.12}.home-guide p{line-height:1.8;color:#615969;margin:20px 0}.home-guide img{width:100%;height:100%;object-fit:cover;border-radius:24px;max-height:320px}.onboarding-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px}.onboarding-step{padding:22px;border:1px solid #e6deee;border-radius:22px}.onboarding-step b{font:500 32px Oswald,sans-serif;color:#9781b8}.onboarding-step h3{margin:12px 0;font-size:1rem}.onboarding-step p{font-size:.85rem;line-height:1.7;color:#756b80;margin-bottom:16px}.project-start-form{display:grid;gap:18px}.project-purpose{max-width:750px;line-height:1.8;color:#6c6076}.project-empty{padding:35px 0}.project-empty h2{font-size:2.5rem;margin-bottom:16px}.project-empty p{line-height:1.8;margin-bottom:24px}.nav{z-index:80}.notice{line-height:1.6}
@media(min-width:1100px){.app-shell{max-width:1320px!important}.lesson-main{padding:32px!important}}
@media(max-width:850px){.learning-layout{grid-template-columns:1fr}.learning-nav{position:static;display:flex;flex-wrap:wrap;gap:5px;padding:12px}.learning-nav>.eyebrow,.learning-note{display:none}.learning-nav>button{width:auto;font-size:.75rem;padding:9px}.learning-nav>button>span{width:16px}.home-guide{grid-template-columns:1fr}.home-guide img{max-height:220px;object-position:70% center}.onboarding-steps{grid-template-columns:1fr}.lesson-heading-row{align-items:flex-start;flex-direction:column}.lesson-main{padding:18px!important}.curriculum-row{grid-template-columns:36px 1fr;gap:14px}.curriculum-row>.button{grid-column:2;justify-self:start}.curriculum-week{font-size:32px}.player-controls{gap:8px}.player-controls .button span{display:none}.lesson-bar-row{grid-template-columns:75px 1fr 55px;gap:8px}.reading-block p{font-size:.95rem}.course-overview h1{font-size:2.7rem}.homework-stage h2{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.lesson-heading{padding:22px 28px!important}.lesson-heading .back{margin-bottom:12px}.lesson-heading h1{font-size:clamp(2.2rem,4vw,3.3rem);margin:6px 0}.lesson-heading p{margin:0}.learning-note summary{cursor:pointer;font-size:.85rem;font-weight:700}.slide-image-area{max-height:calc(100dvh - 380px);min-height:180px}.slide-stage:fullscreen .slide-image-area{max-height:none}.lesson-main{margin-bottom:80px}
@media(max-width:850px){.learning-note{display:block;width:100%;margin-top:10px;padding-top:12px}.learning-note textarea{min-height:70px;max-height:120px}.learning-note small{display:inline;margin-left:12px}}
.modal-backdrop{z-index:200}
.surface>.eyebrow,.heading-block>.eyebrow,.lesson-heading-row>div>.eyebrow{display:block;margin-bottom:14px;line-height:1.5}
.eyebrow{line-height:1.5}.eyebrow+h1,.eyebrow+h2{margin-top:14px}.home-guide .eyebrow{display:block;margin-bottom:14px}
.surface>h1,.heading-block>h1{line-height:1.12;margin-bottom:20px;overflow-wrap:break-word}
.surface>h2,.section-head h2{line-height:1.15}.surface>p{line-height:1.75}.section-head{flex-wrap:wrap;align-items:center}.section-head>*{min-width:0}.lesson-heading-row>div{min-width:0}.lesson-heading h1{line-height:1.15;margin:10px 0 16px}.heading-block p{line-height:1.75}.project-purpose{margin:20px 0}.project-fields{margin:24px 0}.project-fields>.content-block,.project-fields>.content-block:first-child{padding:22px;border:1px solid #e9e4ef;border-radius:20px;background:#f7f5fa;min-width:0}.project-fields p{overflow-wrap:anywhere}.project-empty{padding:28px}.avatar-choice input:focus-visible+img{outline:3px solid #6b52c7;outline-offset:4px}.avatar-choice img{background:var(--learn-paper)}
:root{--panel-gap:12px}.surface{margin-bottom:var(--panel-gap)}.hero-row,.grid-two,.detail-grid,.event-grid,.learning-layout,.home-guide,.course-grid,.onboarding-steps,.course-admin-grid{gap:var(--panel-gap)}.hero-row>.surface,.grid-two>.surface,.detail-grid>.surface,.learning-layout>.surface{margin-bottom:0}.hero-row,.detail-grid{margin-bottom:var(--panel-gap)}.lesson-main{margin-bottom:0}.grid-two>.card+.card,.event-grid>.card+.card{margin-top:0}
.slide-study{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.85fr);gap:24px;align-items:start}.slide-study .slide-image-area{max-height:none;min-height:0}.slide-stage{min-width:0}.slide-explanation{padding:22px;background:#f6f3fa;border-radius:20px;min-width:0}.slide-explanation>.eyebrow{display:block;font-size:.66rem;line-height:1.5}.slide-explanation h2{font-size:1.7rem;line-height:1.2;margin:12px 0 18px}.slide-explanation p{font-size:.9rem;line-height:1.8;margin:0}.slide-explanation h3{font-size:.8rem;margin:0 0 8px;color:#5f498d}.slide-example,.slide-thought{margin-top:22px;padding-top:18px;border-top:1px solid #dfd7e9}.slide-explanation .text-btn{white-space:normal;text-align:left;font-size:.8rem;line-height:1.6;margin-top:20px;padding:0}.slide-stage:fullscreen{width:100%;height:100%}.slide-stage:fullscreen .slide-image-area{min-height:0;width:100%}.expanded-slide .slide-image-area{min-height:0;max-height:calc(100dvh - 140px)}
.exercise-level{font-size:.75rem;font-weight:800;color:#66518c}.exercise-context{padding:20px;border-radius:18px;background:#f3f0f8;line-height:1.8}.exercise-table-wrap{margin:24px 0;overflow:auto}.exercise-table{border-collapse:collapse;width:100%;font-size:.9rem}.exercise-table caption{text-align:left;line-height:1.6;padding-bottom:16px;color:#6a6175}.exercise-table th,.exercise-table td{padding:16px;border-bottom:1px solid #e7e0ef;text-align:left;line-height:1.5}.exercise-table thead th{background:#efebf7;font-size:.8rem}.exercise-table tbody th{width:62%;font-weight:600}.exercise-table th small{display:block;color:#736a7d;margin-top:5px}.exercise-table input{width:100%;min-width:85px;min-height:46px;border:1px solid #c9bfd9;border-radius:12px;padding:10px;background:white}.part-feedback{display:block;font-size:.72rem;font-weight:700;margin-top:8px}.part-ok{color:#286025}.part-retry{color:#8b5200}.classification-targets{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.classification-target{padding:16px 20px;border:2px dashed #9b89b9;border-radius:16px;background:#efeafa;color:#534270;font-size:.8rem;font-weight:700}.classification-cards{display:grid;gap:12px;margin:22px 0}.classification-card{position:relative;padding:20px 20px 20px 38px;border:1px solid #dcd3e8;border-radius:18px;background:#faf8fc;line-height:1.6}.classification-card>label{display:block;font-size:.9rem;margin-bottom:12px}.classification-card select{width:100%;padding:12px;border:1px solid #c9bfd9;border-radius:12px;background:white;min-height:46px}.drag-handle{position:absolute;left:12px;top:21px;color:#7b6794;cursor:grab}.order-list{list-style:none;padding:0;display:grid;gap:12px;margin:24px 0}.order-list li{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid #ddd4e8;border-radius:18px;background:#f8f5fc}.order-position{font:500 26px Oswald,sans-serif;color:#8a71ad}.order-text{font-size:.9rem;line-height:1.6}.order-buttons{display:grid;gap:6px}.order-buttons button{border:0;border-radius:10px;width:44px;height:40px;background:#e8dff5;color:#44305f}.exercise-table input:focus-visible,.classification-card select:focus-visible{outline:3px solid #6b52c7;outline-offset:3px}
.practice-guide{margin:28px 0}.guide-goal{padding:24px;border-radius:22px;background:#edf4d9}.guide-goal>.eyebrow{display:block;margin-bottom:14px;color:#4a6433}.guide-goal p,.guide-goal small{line-height:1.8}.guide-goal p{margin:10px 0 20px}.guide-goal h3{font-size:1rem}.guide-goal small{display:block;color:#536145}.guide-route-title{margin:32px 0 18px;font-size:1.3rem}.guide-steps{list-style:none;padding:0;margin:0;display:grid;gap:16px}.guide-steps>li{padding:24px;border:1px solid #e4ddec;border-radius:22px}.guide-step-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.guide-step-head h4{flex:1;min-width:160px;margin:0;font-size:1rem;line-height:1.5}.guide-step-number{font:500 28px Oswald,sans-serif;color:#967cba}.guide-steps p{line-height:1.85;margin:18px 0}.step-result{padding:16px;background:#f4f0f9;border-radius:14px}.step-result strong{font-size:.75rem;color:#655078}.step-result p{font-size:.9rem;margin:8px 0 0}.guide-example,.guide-stretch{padding:22px;background:#f7f3e9;border-radius:20px;margin:20px 0;line-height:1.85}.guide-example summary,.guide-stretch summary,.case-analysis summary{cursor:pointer;font-weight:800;font-size:.9rem;line-height:1.6}.guide-example p,.guide-stretch p{margin:18px 0 0;line-height:1.85}.guide-pitfalls{padding:20px 4px}.guide-pitfalls ul{padding-left:22px;line-height:1.8}.guide-pitfalls li+li{margin-top:12px}.field-hint{font-size:.86rem;line-height:1.75;color:#62556e;margin:12px 0}
.case-dossier{padding:28px;border:1px solid #ded5ed;border-radius:24px;margin:24px 0 36px;background:#fbf9ff}.case-dossier>.eyebrow{display:block;margin-bottom:14px}.case-dossier h2{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.2;margin:0 0 22px}.case-dossier p{line-height:1.9}.case-situation{font-size:1rem}.case-question{padding:22px;background:#e9e2fa;border-radius:18px;margin:22px 0}.case-question strong,.case-transfer strong{font-size:.8rem}.case-question p,.case-transfer p{margin:12px 0 0}.case-analysis{margin:24px 0}.case-analysis>section{padding:24px 0;border-bottom:1px solid #e6dfee}.case-analysis h3{font-size:1.1rem;margin:10px 0 14px;line-height:1.4}.case-analysis p{margin:0}.case-transfer{padding:22px;background:#edf5d8;border-radius:18px}.case-dossier .source-link{overflow-wrap:anywhere}
@media(min-width:1200px){.app-shell{max-width:1480px!important}.learning-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:1100px){.slide-study{grid-template-columns:1fr}.slide-explanation{padding:24px}.slide-explanation h2{font-size:2rem}}
@media(max-width:700px){:root{--panel-gap:8px}.surface{margin-bottom:var(--panel-gap)}.app-shell{padding-left:8px;padding-right:8px}.slide-explanation{padding:20px}.exercise-table th,.exercise-table td{padding:12px 8px}.exercise-table tbody th{width:58%;font-size:.8rem}.classification-card{padding:18px 16px 18px 32px}.order-list li{padding:14px 12px;gap:10px;grid-template-columns:20px 1fr auto}.order-text{font-size:.83rem}.guide-steps>li,.guide-goal,.case-dossier{padding:20px}.guide-step-head .pill{font-size:.7rem}.guide-step-head h4{min-width:120px}.case-question,.case-transfer{padding:18px}.project-fields>.content-block,.project-fields>.content-block:first-child{padding:20px}.surface>h1{font-size:clamp(2.8rem,12vw,4rem)}.section-head .text-btn{white-space:normal;text-align:left}.text-btn{max-width:100%}}
@media(max-width:700px){.nav button,.nav button.active{min-width:52px;display:flex;flex-direction:column;gap:4px;padding:7px 8px;height:auto}.nav button span,.nav button.active span{display:block;font-size:9px;line-height:1.2}.nav{padding:7px 9px;border-radius:25px}.lesson-heading{padding:20px 24px!important}}
