@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#101219;--muted:#6c7079;--line:#e1e2e5;--paper:#f4f3f0;--white:#fff;--red:#d42632;--red-dark:#8f1720;--green:#2a7555;--nav:#0d0f14;--soft:#eceae6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:28px 18px 20px;display:flex;flex-direction:column}.wordmark{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.08em;font-size:13px;padding:0 8px 30px}.wordmark strong{color:#ef4c57}.wordmark small{display:block;color:#777d88;font-size:9px;letter-spacing:.25em;margin-top:2px}.mark{width:34px;height:34px;border-radius:6px;background:#fff;color:#111;display:grid;place-items:center;position:relative;font-size:22px}.mark i{position:absolute;color:var(--red);font-size:13px;left:4px;top:1px;font-style:normal}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#8f949f;padding:12px 14px;text-align:left;border-radius:7px;font:600 13px Manrope;display:flex;gap:12px;align-items:center;cursor:pointer}.nav-item span{font-size:17px;width:18px;text-align:center}.nav-item:hover,.nav-item.active{background:#1a1d24;color:#fff}.nav-item.active:after{content:"";width:3px;height:20px;background:var(--red);border-radius:3px;margin-left:auto}.sidebar-bottom{margin-top:auto;display:grid;gap:12px}.streak{border:1px solid #292c34;background:#15171d;padding:12px;display:flex;gap:10px;align-items:center;border-radius:8px}.streak>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#361418;color:#ff737c;font-weight:800}.streak b,.profile b{font-size:11px}.streak small,.profile small{display:block;color:#777d87;font-size:9px;margin-top:2px}.profile{border:0;background:transparent;color:#fff;text-align:left;display:flex;gap:10px;align-items:center;padding:10px;cursor:pointer}.profile>span,.avatar{width:32px;height:32px;border-radius:50%;background:#ddd2c6;color:#332b25;border:0;display:grid;place-items:center;font-weight:800;font-size:11px}
main{min-width:0}.topbar{height:68px;padding:0 4vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(244,243,240,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.status{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.status span{width:7px;height:7px;border-radius:50%;background:#d99c2c}.top-actions{display:flex;align-items:center;gap:12px}.quiet{border:0;background:transparent;color:#62666e;font-weight:600;cursor:pointer}.avatar{display:inline-grid}.mobile-brand{display:none;font:800 12px Manrope;letter-spacing:.08em}.mobile-brand strong{color:var(--red)}.mobile-brand em{font-style:normal;color:#777}
.view{display:none;padding:58px 4vw 80px;max-width:1500px;margin:auto}.view.active{display:block}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:center;padding:35px 0 75px}.kicker,.section-title small,.page-intro small,.tutor-context>small,.deck-list>small{color:var(--red);font:800 10px Manrope;letter-spacing:.2em}.hero-copy h1,.page-intro h1{font:800 clamp(46px,5.5vw,83px)/.98 Manrope;margin:18px 0 22px;letter-spacing:-.055em}.hero-copy h1 em,.page-intro h1 em{font-style:normal;color:var(--red)}.hero-copy>p,.page-intro>p{font-size:17px;color:var(--muted);line-height:1.7;max-width:720px}.hero-actions{display:flex;gap:10px;margin-top:30px}.primary,.secondary,.dark-button{border:0;padding:14px 18px;border-radius:5px;font:700 12px Manrope;cursor:pointer}.primary{background:var(--red);color:#fff}.primary:hover{background:#b71d28}.secondary{background:#fff;border:1px solid var(--line)}.primary span,.dark-button span{margin-left:18px}.readiness-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:34px;display:grid;grid-template-columns:160px 1fr;gap:30px;align-items:center;box-shadow:0 18px 60px rgba(21,22,25,.06)}.ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--red) calc(var(--p)*1%),#e9e7e3 0);position:relative}.ring:after{content:"";position:absolute;width:118px;height:118px;border-radius:50%;background:#fff}.ring div{z-index:1;text-align:center}.ring b{display:block;font:800 34px Manrope}.ring span{font-size:10px;color:var(--muted);text-transform:uppercase}.readiness-copy>small{font-size:9px;color:var(--muted);letter-spacing:.16em}.readiness-copy h2{font:800 24px Manrope;margin:8px 0}.readiness-copy p{font-size:12px;color:var(--muted)}.meter{height:5px;background:#eceae6;border-radius:4px}.meter i{display:block;width:38%;height:100%;background:var(--red)}.next{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.next span{display:block;font-size:8px;color:var(--muted);letter-spacing:.14em}.next b{font-size:11px}.content-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:28px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-title h2{font:800 26px Manrope;margin:5px 0}.text-button{border:0;background:transparent;color:var(--red);font-weight:700;font-size:11px;cursor:pointer}.task-list{display:grid;gap:9px}.task{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px;display:grid;grid-template-columns:24px 43px 1fr 32px;gap:14px;align-items:center;transition:.2s}.task:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.05)}.check{width:18px;height:18px;border:1px solid #c6c7ca;border-radius:50%;background:#fff;cursor:pointer}.task.done .check{background:var(--green);border-color:var(--green)}.task.done .check:after{content:"✓";color:#fff;font-size:11px}.task.done h3{text-decoration:line-through;color:#90939a}.task-icon{width:42px;height:42px;border-radius:7px;background:#e9e8e5;display:grid;place-items:center;font:800 11px Manrope}.task-icon.red{background:#f7e2e4;color:var(--red)}.task small{font-size:8px;color:#8c9098;letter-spacing:.12em}.task h3{font:700 14px Manrope;margin:4px 0}.task p{font-size:11px;color:var(--muted);margin:0}.arrow{border:0;background:transparent;font-size:18px;cursor:pointer}.tomorrow-card{background:var(--red);color:#fff;padding:30px;border-radius:10px;align-self:start}.tomorrow-card .kicker{color:#ffd1d4}.tomorrow-card h2{font:800 28px Manrope;margin:12px 0}.tomorrow-card p{font-size:12px;line-height:1.6;color:#ffd8da}.tomorrow-card label{font-size:9px;font-weight:800;letter-spacing:.12em;display:block;margin-top:22px}.tomorrow-card select{width:100%;margin-top:8px;padding:12px;border:1px solid rgba(255,255,255,.35);background:#b21c27;color:#fff;border-radius:5px}.dark-button{width:100%;margin-top:12px;background:#111318;color:#fff}.generated-plan{font-size:11px;margin-top:14px;line-height:1.5;display:none}.generated-plan.show{display:block}.pathways-title{margin-top:70px}.pathways{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pathway{text-align:left;border:1px solid var(--line);background:#fff;border-radius:9px;padding:28px;cursor:pointer;min-height:260px;transition:.2s}.pathway:hover{border-color:#aaa;transform:translateY(-3px)}.pathway>span{float:right;font:800 34px Manrope;color:#e2e0dc}.pathway small{font-size:8px;color:var(--red);letter-spacing:.14em}.pathway h3{font:800 24px Manrope;margin:28px 0 10px}.pathway p{font-size:12px;color:var(--muted);line-height:1.6}.pathway b{font-size:10px;color:var(--red)}
.page-intro{padding:30px 0 50px;border-bottom:1px solid var(--line);margin-bottom:32px}.page-intro.compact{padding-top:5px}.filters{display:flex;gap:8px;margin-bottom:25px}.filters button,.mode-tabs button,.level-pills button{border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:20px;font-size:10px;font-weight:700;cursor:pointer}.filters button.active,.mode-tabs button.active,.level-pills button.active{background:#111;color:#fff;border-color:#111}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module{background:#fff;border:1px solid var(--line);padding:25px;border-radius:8px;display:flex;flex-direction:column;min-height:275px}.module-top{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);letter-spacing:.14em}.module-top b{color:var(--red)}.module h2{font:800 22px Manrope;margin:30px 0 10px}.module p{font-size:12px;color:var(--muted);line-height:1.6}.module-meta{display:flex;gap:12px;font-size:9px;color:#777;margin-top:auto}.module button{margin-top:20px;border:0;border-top:1px solid var(--line);padding:15px 0 0;background:transparent;text-align:left;color:var(--red);font-weight:800;cursor:pointer}
.tutor-layout{display:grid;grid-template-columns:1fr 300px;gap:30px}.mode-tabs{display:flex;gap:7px;margin:20px 0}.chat{background:#fff;border:1px solid var(--line);min-height:310px;max-height:420px;overflow:auto;border-radius:9px;padding:24px}.message{display:flex;gap:12px;margin-bottom:18px}.message>span{width:30px;height:30px;border-radius:50%;background:#f7dfe1;color:var(--red);display:grid;place-items:center;flex:0 0 auto}.message small{font-size:8px;color:var(--red);font-weight:800;letter-spacing:.12em}.message p{font-size:13px;line-height:1.7;margin:5px 0}.message.user{justify-content:flex-end}.message.user>span{order:2;background:#1b1e25;color:#fff}.message.user>div{background:#f0efec;border-radius:8px;padding:10px 13px;max-width:80%}.composer{display:grid;grid-template-columns:1fr 48px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;margin-top:10px}.composer textarea{border:0;resize:none;padding:9px;font:12px 'DM Sans';outline:0}.composer button{border:0;border-radius:6px;background:var(--red);color:#fff;font-size:20px}.safety{font-size:9px;color:#92959b}.tutor-context{background:#16181e;color:#fff;padding:25px;border-radius:9px;align-self:start;position:sticky;top:100px}.tutor-context h3{font:800 24px Manrope;margin:8px 0}.tutor-context p{font-size:12px;color:#aeb2ba;line-height:1.6}.tutor-context hr{border:0;border-top:1px solid #30333b;margin:24px 0}.level-pills{display:flex;gap:5px;margin-top:10px}.level-pills button{background:#23262e;border-color:#353842;color:#aaa}.prompt-chip{width:100%;border:1px solid #333740;background:#20232a;color:#c8cbd1;padding:11px;text-align:left;border-radius:6px;margin-top:8px;font-size:10px;cursor:pointer}
.imaging-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.image-stage{background:#111318;border-radius:9px;padding:18px;position:relative;min-height:620px}.case-badge{color:#888d96;font-size:8px;letter-spacing:.14em}.xray-placeholder{position:absolute;inset:55px 18px 58px;overflow:hidden;background:radial-gradient(ellipse at center,#38404b,#12151a 65%);display:grid;place-items:center}.xray-placeholder:before{content:"";position:absolute;width:270px;height:190px;border:20px solid rgba(224,232,236,.18);border-radius:45% 45% 40% 40%;top:80px}.xray-placeholder:after{content:"";position:absolute;width:70px;height:110px;border:15px solid rgba(230,237,240,.19);border-top:0;top:100px;border-radius:0 0 50% 50%}.xray-placeholder span{position:absolute;bottom:20px;color:#aeb4bc;font-size:10px;letter-spacing:.12em}.femur{position:absolute;width:30px;height:230px;background:linear-gradient(90deg,transparent,rgba(230,237,240,.2),transparent);top:265px}.femur.left{left:37%;transform:rotate(7deg)}.femur.right{right:37%;transform:rotate(-7deg)}.image-tools{position:absolute;bottom:16px;left:18px;right:18px;display:flex;justify-content:center;gap:8px}.image-tools button{background:#24272e;border:1px solid #3a3e47;color:#fff;width:30px;height:28px;border-radius:4px}.image-tools span{color:#aaa;font-size:10px;align-self:center}.interpretation-panel{background:#fff;border:1px solid var(--line);padding:25px;border-radius:9px}.interpretation-panel>small{color:var(--red);font-size:8px;letter-spacing:.15em}.interpretation-panel h2{font:800 25px Manrope}.read-steps{padding:0;list-style:none}.read-steps li{border-top:1px solid var(--line)}.read-steps li>button{width:100%;display:grid;grid-template-columns:26px 1fr 20px;align-items:center;text-align:left;border:0;background:#fff;padding:13px 0;cursor:pointer}.read-steps li>button>span{width:22px;height:22px;border-radius:50%;background:#eee;display:grid;place-items:center;font-size:9px}.read-steps b{font-size:11px}.read-steps small{display:block;color:var(--muted);font-size:9px}.read-steps i{font-style:normal}.read-steps textarea{display:none;width:100%;border:1px solid var(--line);padding:10px;margin-bottom:12px;font:11px 'DM Sans';min-height:65px}.read-steps li.open textarea{display:block}.wide{width:100%}.teaching-answer{background:#f3f2ef;padding:15px;margin-top:12px;border-left:3px solid #bbb}.teaching-answer b{font-size:11px}.teaching-answer p{font-size:10px;color:var(--muted);margin-bottom:0}.teaching-answer.unlocked{border-color:var(--green);background:#edf6f1}
.flash-layout{display:grid;grid-template-columns:280px 1fr;gap:35px}.deck-list{background:#fff;border:1px solid var(--line);padding:25px;border-radius:8px}.deck-list h2{font:800 22px Manrope}.deck-progress{height:5px;background:#eee}.deck-progress i{display:block;width:17%;height:100%;background:var(--red)}.deck-list>p{font-size:10px;color:var(--muted)}.deck{width:100%;border:0;background:transparent;padding:12px 0;border-top:1px solid var(--line);text-align:left;font-size:11px}.deck span{float:right}.deck.active{color:var(--red);font-weight:800}.flash-study{max-width:720px;margin:auto;width:100%}.flashcard{width:100%;height:400px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:50px;cursor:pointer;box-shadow:0 18px 55px rgba(0,0,0,.06);position:relative}.flashcard small{color:var(--red);font-size:9px;letter-spacing:.15em}.flashcard h2{font:800 30px/1.35 Manrope}.flashcard p{font-size:11px;color:var(--muted)}.flashcard .back{display:none}.flashcard.flipped{background:#17191f;color:#fff}.flashcard.flipped .front{display:none}.flashcard.flipped .back{display:block}.rating{text-align:center;margin-top:20px}.rating span{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.rating button{border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:5px;font-size:10px;margin:3px;cursor:pointer}
dialog{border:0;border-radius:12px;padding:0;max-width:760px;width:90%;box-shadow:0 30px 100px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(5,6,8,.7);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px}.lesson-head{padding:42px 42px 24px}.lesson-head small{color:var(--red);font-size:9px;letter-spacing:.15em}.lesson-head h2{font:800 35px Manrope;margin:8px 0}.lesson-head p{font-size:12px;color:var(--muted)}.lesson-loop{display:grid;grid-template-columns:repeat(5,1fr);background:#f2f1ee;border-block:1px solid var(--line)}.lesson-loop div{padding:18px;border-right:1px solid var(--line)}.lesson-loop span{color:var(--red);font-size:9px}.lesson-loop b{display:block;font-size:11px;margin:7px 0}.lesson-loop p{font-size:9px;color:var(--muted)}.dialog-start{margin:25px;width:calc(100% - 50px)}
@media(max-width:1100px){.app-shell{grid-template-columns:78px 1fr}.sidebar{padding-inline:12px}.wordmark>span:last-child,.nav-item:not(.active):after,.nav-item{font-size:0}.wordmark{justify-content:center;padding-inline:0}.nav-item{justify-content:center}.nav-item span{font-size:18px}.nav-item.active:after{display:none}.streak div,.profile div{display:none}.streak{justify-content:center}.profile{justify-content:center}.content-grid,.tutor-layout{grid-template-columns:1fr}.tutor-context{position:static}.module-grid{grid-template-columns:1fr 1fr}.imaging-layout{grid-template-columns:1fr}.image-stage{min-height:520px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:0 18px}.mobile-brand{display:block}.status{display:none}.view{padding:30px 18px 60px}.hero-grid,.content-grid,.pathways,.module-grid,.flash-layout{grid-template-columns:1fr}.hero-grid{padding-top:5px}.hero-copy h1,.page-intro h1{font-size:48px}.readiness-card{grid-template-columns:110px 1fr;padding:22px}.ring{width:105px;height:105px}.ring:after{width:81px;height:81px}.ring b{font-size:24px}.task{grid-template-columns:20px 40px 1fr}.task .arrow{display:none}.pathways{gap:10px}.mode-tabs{overflow:auto}.imaging-layout{display:block}.image-stage{min-height:440px;margin-bottom:15px}.flashcard{height:350px;padding:32px}.lesson-loop{grid-template-columns:1fr}.lesson-loop div{border-right:0;border-bottom:1px solid var(--line)}}
