:root{--ink:#19152d;--muted:#6c6880;--paper:#fbfaff;--purple:#6339dd;--purple-dark:#382176;--line:#e8e3f4;--mint:#4ea896;--orange:#f36b2a;--red:#9e2929;--yellow:#f9c83a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.site-header{height:76px;max-width:1200px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:10px;align-items:center;color:var(--purple);font-size:22px;font-weight:750;text-decoration:none;letter-spacing:-.8px}
.brand b{color:var(--ink)}
.brand-mark{width:31px;height:31px;display:grid;place-items:center;background:linear-gradient(135deg,#8d72f2,#4c25c0);border-radius:10px;color:#fff;font-size:17px;box-shadow:0 6px 16px #6a42d547}
.site-header nav{display:flex;gap:28px}
.site-header nav a{color:#777387;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.06em;font-weight:750}
.site-header nav a:hover,.site-header nav a.active{color:var(--purple)}
.hero{max-width:840px;margin:68px auto 48px;padding:0 28px}
.eyebrow{margin:0 0 12px;color:var(--purple);font-size:11px;font-weight:800;letter-spacing:.16em}
.hero h1,.page-intro h1{font-size:clamp(45px,7vw,76px);line-height:.97;letter-spacing:-.065em;margin:0}
.hero h1 em,.page-intro h1 em{font-family:Georgia,serif;color:var(--purple);font-weight:400}
.hero-copy{max-width:525px;margin:23px 0 28px;color:var(--muted);font-size:17px;line-height:1.6}
.search{height:58px;border-bottom:3px solid var(--purple);display:flex;align-items:center;gap:13px;color:#aaa6b5}
.search span{font-size:31px;line-height:0;transform:rotate(-18deg)}
.search input{border:0;outline:0;background:transparent;width:100%;font:400 21px/1 inherit;color:var(--ink)}
.search input::placeholder{color:#b7b2c2}
.notice-strip{max-width:840px;margin:0 auto 72px;padding:18px 22px;background:linear-gradient(115deg,#392279,#6736d9);border-radius:18px;color:#fff;display:flex;align-items:center;gap:15px;box-shadow:0 15px 30px #5031ad2b}
.notice-icon{font-size:12px;font-weight:900;border:1px solid #ffffff80;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}
.notice-strip p{margin:0;line-height:1.45;font-size:13px;flex:1}
.notice-strip p b{font-size:11px;letter-spacing:.08em}
.notice-strip a{color:#fff;text-decoration:none;font-weight:750;font-size:13px;white-space:nowrap}
.notice-strip a span{font-size:19px;margin-left:6px}
.catalog-section,.collection{max-width:1030px;margin:auto;padding:0 28px 90px}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.section-heading .eyebrow{margin-bottom:5px}
.section-heading h2{margin:0;font-size:28px;letter-spacing:-.045em}
.catalog-count{font-size:10px;letter-spacing:.12em;color:#8f8a9d;font-weight:800;margin:0 0 4px}
.subject-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.subject-card{height:285px;border-radius:19px;padding:20px;display:flex;flex-direction:column;position:relative;overflow:hidden;color:#fff}
.subject-card:not(a){cursor:default}
.anatomy-card{background:linear-gradient(145deg,#4fbaac,#25877f);text-decoration:none}
.dermatology-card{background:linear-gradient(145deg,#327d9b,#14506f);text-decoration:none}
.coming-card{background:linear-gradient(145deg,#f17932,#e14a20)}
.coming-card.warm{background:linear-gradient(145deg,#aa3333,#7d191f)}
.card-top{font-size:10px;font-weight:800;letter-spacing:.1em;color:#fffbd0}
.subject-card strong{margin-top:16px;font-size:30px;line-height:1.05;letter-spacing:-.055em;z-index:1}
.card-art{position:absolute;right:19px;bottom:42px;font-size:142px;line-height:.7;opacity:.88;font-family:Georgia,serif}
.anatomy-art{font-size:180px;font-weight:100;right:25px;bottom:46px}
.card-link{margin-top:auto;font-size:12px;font-weight:700;z-index:1}
.card-link b{font-size:18px;margin-left:7px}
.empty-state{color:var(--muted);padding:16px 0}
footer{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:24px 28px;color:#898497;font-size:10px;font-weight:800;letter-spacing:.1em;display:flex;justify-content:space-between}
.catalog-page{max-width:1030px;margin:auto;padding:28px 28px 0}
.back-link{color:var(--purple);text-decoration:none;font-weight:750;font-size:13px}
.page-intro{margin:52px 0 68px;max-width:670px}
.page-intro p:last-child{color:var(--muted);font-size:17px;line-height:1.6;max-width:520px;margin:20px 0 0}
.anatomy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.system-card{height:310px;border:1px solid var(--line);border-radius:20px;padding:21px;position:relative;overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
a.system-card{text-decoration:none}
.heart-system{background:linear-gradient(150deg,#472480,#6f3ed2);border:0;color:#fff;box-shadow:0 16px 35px #5630ab27}
.pending-system{background:#f4f1f9;color:#817b8c}
.system-index{font-size:11px;font-weight:850;letter-spacing:.1em}
.system-icon{font-size:88px;line-height:1;margin:auto;color:var(--yellow);filter:drop-shadow(0 13px 16px #26115b80)}
.pending-system .system-icon{color:#bbb3c8;filter:none}
.system-card div{margin-top:auto}
.system-card div p{font-size:10px;font-weight:850;letter-spacing:.13em;margin:0 0 7px;color:#e6dafe}
.pending-system div p{color:#948ba3}
.system-card h2{margin:0;font-size:26px;letter-spacing:-.055em}
.system-card div span{display:block;margin-top:11px;font-size:12px;font-weight:650;color:#eee7ff}
.pending-system div span{color:#9992a3}
.system-card div b{font-size:17px;margin-left:6px}
.article{max-width:820px;margin:0 auto;padding:20px 28px 90px}
.article-hero{margin:48px 0 40px}
.article h1{font-size:clamp(38px,6vw,62px);letter-spacing:-.06em;line-height:1.02;margin:0;max-width:780px}
.article h2{font-size:25px;letter-spacing:-.04em;margin:48px 0 14px}
.article p,.article li{color:var(--muted);font-size:16px;line-height:1.7}
.article ul{padding-left:22px}
.skin-map{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:27px 0}
.skin-map div{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}
.skin-map b{display:block;color:var(--purple);font-size:12px;letter-spacing:.07em}
.skin-map span{display:block;color:var(--muted);font-size:13px;line-height:1.45;margin-top:6px}
.source-note{margin-top:56px;padding:18px;border-left:3px solid var(--purple);background:#f4f0ff;color:var(--muted);font-size:13px;line-height:1.55}
.lesson-hub .article-hero{margin-bottom:28px}.learning-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.learning-choice{min-height:265px;border-radius:20px;padding:21px;display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;color:#fff}.theory-choice{background:linear-gradient(145deg,#472480,#6f3ed2)}.quiz-choice{background:linear-gradient(145deg,#176e7e,#2fa28e)}.choice-number{font-size:11px;font-weight:850;letter-spacing:.1em}.choice-icon{font-size:85px;line-height:1;margin:auto;color:var(--yellow);font-weight:800}.learning-choice div{margin-top:auto}.learning-choice p{margin:0 0 7px;color:#e6dafe;font-size:10px;font-weight:850;letter-spacing:.13em}.learning-choice h2{margin:0;font-size:29px;letter-spacing:-.055em}.learning-choice div span{display:block;margin-top:11px;font-size:12px;font-weight:650;color:#eee7ff}.learning-choice div b{font-size:17px;margin-left:6px}.quiz-form{display:grid;gap:16px}.quiz-form fieldset{margin:0;padding:21px;border:1px solid var(--line);border-radius:16px;background:#fff}.quiz-form legend{padding:0 4px;color:var(--ink);font-size:17px;line-height:1.45;font-weight:700}.quiz-form legend b{color:var(--purple);margin-right:7px}.quiz-form label{display:block;margin-top:12px;color:var(--muted);font-size:15px;line-height:1.45;cursor:pointer}.quiz-form input{accent-color:var(--purple)}.quiz-submit{justify-self:start;border:0;border-radius:13px;background:var(--purple);color:#fff;padding:14px 18px;font:800 14px/1 inherit;cursor:pointer}.quiz-score{min-height:25px;margin:0;color:var(--purple);font-weight:800;font-size:16px}.quiz-feedback{display:none!important;margin:14px 0 0!important;padding-top:13px;border-top:1px solid var(--line);font-size:14px!important}.is-correct{border-color:#4ea896!important;background:#f0fbf8!important}.is-wrong{border-color:#d86a6a!important;background:#fff6f6!important}.is-unanswered{border-color:#d3a534!important}.is-correct .quiz-feedback,.is-wrong .quiz-feedback,.is-unanswered .quiz-feedback{display:block!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.quiz-form label{padding:10px 12px;border:1px solid transparent;border-radius:10px;transition:.15s ease}.quiz-form label:hover{border-color:var(--line);background:#faf9fc}.quiz-form .answer-key{border-color:#27a94f!important;background:#effbf2!important;color:#13833a!important;font-weight:750}.quiz-form .answer-wrong{border-color:#d85d5d!important;background:#fff1f1!important;color:#b32f2f!important}.quiz-feedback .feedback-title{display:block;margin-bottom:4px}
@media(max-width:700px){.site-header{height:65px;padding:0 18px}
.brand{font-size:19px}
.site-header nav{gap:15px}
.site-header nav a{font-size:9px}
.hero{margin:46px auto 34px;padding:0 20px}
.hero-copy{font-size:15px}
.notice-strip{margin:0 20px 52px;padding:15px}
.notice-strip a{font-size:11px}
.catalog-section,.collection{padding:0 20px 60px}
.subject-grid,.anatomy-grid{grid-template-columns:1fr}
.skin-map{grid-template-columns:1fr}
.subject-card{height:205px}
.card-art{font-size:110px;bottom:30px}
.section-heading h2{font-size:24px}
.catalog-count{display:none}
.catalog-page{padding:20px 20px 0}
.page-intro{margin:44px 0 48px}
.page-intro p:last-child{font-size:15px}
.system-card{height:230px}
.system-icon{font-size:65px}
.article{padding:20px 20px 60px}
.learning-choices{grid-template-columns:1fr}.learning-choice{min-height:215px}
.article-hero{margin:38px 0 30px}
.article p,.article li{font-size:15px}
footer{padding:19px 20px;font-size:8px}
}
