/* MEDCORE 1.1 visual layer. All illustrations are decorative; clinical source media stays in chapter content. */
:root{
  --bg:#0c0e16;
  --bg2:#131722;
  --panel:#191e2b;
  --panel-soft:#151a26;
  --panel-deep:#10141e;
  --border:#343b4d;
  --border-soft:#2d3444;
  --text:#f3f3f7;
  --muted:#b0b8ca;
  --quiet:#8994aa;
  --accent:#b5a3ed;
  --purple:#8971d4;
  --radius:15px;
  --shadow:0 12px 35px #05070e30;
}
body{background:#0c0e16}
.app-shell{grid-template-columns:238px minmax(0,1fr)}
.sidebar{background:#10141e;border-right-color:#292f40;box-shadow:none}
.brand{padding-bottom:31px}
.brand-logo{position:relative;display:block;max-width:100%;width:173px;aspect-ratio:3/1}
.brand-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.brand-logo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#edf0f8 0%,#edf0f8 35%,transparent 46%);-webkit-mask-image:url('../assets/brand/logo.png');mask-image:url('../assets/brand/logo.png');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.brand .brand-subtitle{margin-top:8px}
.mobile-brand .brand-logo{width:171px;max-height:54px}
.topbar{background:#11151fdb;border-bottom-color:#303746}
.workspace{background:#0c0e16}
.content{
  background-image:linear-gradient(180deg,#0d1019ce 0%,#0d1019e8 550px,#0d1019f5 950px),url('../assets/visual/BA01_dashboard_desktop.webp');
  background-size:cover,100% auto;
  background-position:center top,center top;
  background-repeat:no-repeat;
  background-attachment:local;
}
body[data-view="library"] .content{background-image:linear-gradient(180deg,#0d1019d1 0%,#0d1019ef 640px,#0d1019fa 1100px),url('../assets/visual/BA02_academy_desktop.webp')}
body[data-view="study"] .content{background-image:linear-gradient(180deg,#0d1019d0 0%,#0d1019f0 700px,#0d1019fa 1100px),url('../assets/visual/BA03_training_desktop.webp')}
body[data-view="instructor"] .content,body[data-view="audit"] .content,body[data-view="settings"] .content{background-image:linear-gradient(180deg,#0d1019dc,#0d1019f5 650px)}
.content{padding-top:33px}
.content h1{font-weight:720;letter-spacing:-.037em}
.eyebrow{color:#ad9cdc;letter-spacing:.15em}
.intro{color:#bfc6d4;max-width:63ch}
.panel,.card,.continue-card,.focus-card,.area-card,.study-card,.tile{background:linear-gradient(145deg,#1b202ddc,#151a25e9);box-shadow:var(--shadow);border-color:#353d4d}
.panel{backdrop-filter:blur(6px)}
.button{background:linear-gradient(115deg,#856ccf,#6f52b7);border-color:#9d84e0;box-shadow:0 6px 17px #4b377c2e}
.button:hover{box-shadow:0 8px 18px #4b377c44}
.button.secondary{background:#252a39;border-color:#4d566c}
.chip{background:#1b202c;border-color:#3b4456}
.chip.selected,.chip:hover{background:#302b47}
.dashboard:before,.hero-art,.focus-card:after{display:none!important}
.dashboard>*{z-index:auto}
.section-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,32%);align-items:center;min-height:228px;margin:-3px 0 17px;padding:25px 30px;overflow:hidden;border:1px solid #343c4e;border-radius:18px;background:linear-gradient(110deg,#1c2130f0 0%,#171c28f2 57%,#181d2bd9 100%);box-shadow:var(--shadow)}
.section-hero-copy{position:relative;z-index:1;min-width:0}
.section-hero-copy .intro{margin-bottom:0}
.section-hero-art{display:flex;align-items:center;justify-content:center;height:210px;min-width:0;margin:-14px -15px -14px 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 22%)}
.section-hero-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center right;opacity:.78}
.section-hero h1{font-size:clamp(28px,3.15vw,45px);max-width:18ch}
body[data-view="home"] .section-hero{min-height:219px}
.continue-card{display:grid;grid-template-columns:minmax(155px,25%) minmax(0,1fr)!important;gap:24px;align-items:center;min-height:196px;padding:20px!important;overflow:hidden;background:linear-gradient(110deg,#202536ed,#181d2aea)}
.continue-card:before{border-top-color:#ae9cdb4d}
.continue-card>.continue-art{position:relative!important;right:auto!important;top:auto!important;z-index:1!important;grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:100%!important;height:155px!important;min-height:0!important;overflow:hidden;border:1px solid #41455f;border-radius:11px;background:#171929;box-shadow:none;opacity:1!important}
.continue-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.continue-card>.continue-copy,.continue-card>div:not(.continue-art):not(.hero-art){grid-column:2;grid-row:1;min-width:0}
.continue-card h2{max-width:none!important;font-size:clamp(20px,2.05vw,27px)}
.continue-card p{margin-bottom:9px}
.continue-card .progressbar{max-width:580px}
.grid4>.panel,.grid4>.stat{background:#181d29dc;box-shadow:none;border-color:#343c4c}
.grid4>.stat:hover{border-color:#8572b5;background:#202436}
.stat-num{font-variant-numeric:tabular-nums}
.focus-card{background:#1a202cdb;box-shadow:none}
.focus-card:hover,.area-card:hover,.tile:hover{transform:translateY(-1px);border-color:#8677af}
.focus-card:after{content:none}
.area-grid,.tile-grid{gap:13px}
.area-card.tile,.tile.area-card{position:relative;display:flex;align-items:center;min-height:103px;overflow:hidden;padding:12px 14px;background:#1a202be8;text-align:left}
.tile-grid .tile{position:relative;display:flex;align-items:center;min-height:103px;gap:12px;overflow:hidden;padding:12px 14px;background:#1a202be8}
.area-card .area-art,.tile .area-art{flex:none;display:block;width:65px;height:72px;object-fit:contain;opacity:.81}
.area-card .area-art img,.tile .area-art img{display:block;width:100%;height:100%;object-fit:contain}
.area-card .area-art.opaque-art img,.tile .area-art.opaque-art img{border-radius:8px;mask-image:radial-gradient(ellipse at center,#000 36%,transparent 75%)}
.area-card .area-copy,.tile .area-copy{min-width:0;position:relative;z-index:1}
.area-card .area-copy strong,.tile .area-copy strong{font-size:13px;line-height:1.3}
.area-card .area-copy small,.tile .area-copy .little{margin-top:5px}
.area-card.tile:after,.tile.area-card:after{content:none}
.area-card .area-arrow{flex:none;margin-left:auto;color:#a9a4c7}
.area-card:not(:has(.area-art)) .area-icon,.tile:not(:has(.area-art)) .area-icon{background:#292b3e;color:#af9edf}
.daily-review{background:#1b2030e8;box-shadow:none}
.academy-header{margin-bottom:18px}
.academy-header .section-hero{margin-bottom:17px}
.library-layout{grid-template-columns:minmax(230px,285px) minmax(0,1fr);gap:17px;align-items:start}
.library-sidebar{min-width:0}
.chapter-picker{border:1px solid #384050;border-radius:13px;background:#151b26f0}
.chapter-picker>summary{padding:12px 15px;color:#d5cceb;font-weight:650;cursor:pointer;list-style-position:inside}
.chapter-picker[open]>summary{border-bottom:1px solid #343b4c}
.library-list{position:sticky;top:0;max-height:calc(100dvh - 105px);border-color:#384050;background:#151b26f0}
.chapter-picker .library-list{position:static;margin:0;border:0;border-radius:0 0 13px 13px;background:transparent}
.library-item{border-radius:9px;padding:11px 12px}
.library-item:hover,.library-item.selected{background:#24283a;border-color:#665b88}
.library-item.selected{box-shadow:inset 3px 0 0 #a18aca}
.library-item .unit{color:#b7a3eb}
.reader{padding:clamp(19px,2.3vw,34px);background:#191e2af7;box-shadow:0 20px 48px #04060c46}
.reader-top{position:relative;min-height:116px;padding:0 110px 17px 0;border-bottom:1px solid var(--border-soft)}
.reader-top .eyebrow,.reader-top .reader-head{margin-bottom:9px}
.reader-top h1,.reader-top h2{max-width:25ch;margin:0 0 9px;font-size:clamp(24px,2.5vw,34px);line-height:1.22}
.reader-emblem{position:absolute;top:0;right:0;width:102px;height:102px;object-fit:contain;opacity:.76}
.reader-emblem img{display:block;width:100%;height:100%;object-fit:contain}
.reader-emblem.opaque-art img{border-radius:14px;mask-image:radial-gradient(ellipse at center,#000 37%,transparent 77%)}
.reader-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(175px,205px);gap:clamp(18px,2.2vw,34px);align-items:start}
.reader-main{grid-column:1;grid-row:1;min-width:0}
.reader-grid>.toc,.reader-grid>details.toc{grid-column:2;grid-row:1;position:sticky;top:12px;max-height:calc(100dvh - 120px);margin:18px 0 0;overflow:auto;background:#151a25;border-color:#343c4d}
.reader-grid>.toc summary{font-size:12px;font-weight:700;color:#d1c8eb}
.reader-tools{margin-bottom:8px;padding:14px 0;border-bottom-color:#303747}
.chapter-search{display:flex;align-items:center;gap:7px;margin-left:auto}
.chapter-search input{width:min(185px,22vw);min-width:100px}
.reader .depths{margin:0 0 11px}
.reader .markdown{max-width:72ch;margin-inline:0;font-size:15.5px;line-height:1.76;color:#e0e3ec;overflow-wrap:anywhere}
.reader .markdown h1{margin:18px 0 25px;font-size:clamp(25px,2.2vw,33px);line-height:1.22;letter-spacing:-.026em}
.reader .markdown h2{margin:38px 0 16px;padding-bottom:11px;border-bottom-color:#3c4354;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.015em}
.reader .markdown h3{margin:29px 0 11px;font-size:18px;font-weight:680}
.reader .markdown p{margin:14px 0}
.reader .markdown li{margin:7px 0;padding-left:2px}
.reader .markdown ul,.reader .markdown ol{padding-left:25px}
.reader .markdown strong{color:#f3f0fb}
.reader .markdown blockquote{margin:24px 0;padding:15px 19px;border-left:3px solid #a28bcf;background:#242738;color:#e0dbe9;line-height:1.64}
.reader .markdown table{width:100%;margin:22px 0;border-collapse:collapse;border:1px solid #444b5c;border-radius:7px;background:#171d29}
.reader .markdown th{background:#252b3b;color:#ece9f4;text-align:left}
.reader .markdown td,.reader .markdown th{padding:10px 12px;vertical-align:top;border-color:#3c4355}
.reader .markdown tr:nth-child(even) td{background:#1b2130}
.reader .markdown img{border-radius:8px}
.reader .markdown a{color:#c0b0f0;text-decoration-color:#9e8cc880;text-underline-offset:3px}
.reader .markdown code{background:#303549;color:#eee2ff}
.reader .markdown pre{background:#121824;border-color:#3b4457}
.reader .source-panel{max-width:72ch;margin:36px 0 26px;background:#151a26}
.reader .note-area{max-width:72ch;background:#121824}
.personal-notes{max-width:72ch;margin:28px 0;padding:15px;border:1px solid #374052;border-radius:10px;background:#151b28}
.personal-notes summary{font-weight:650;color:#e8e3f4;cursor:pointer}
.personal-notes[open] summary{margin-bottom:12px}
.toc{scrollbar-width:thin;scrollbar-color:#59516e transparent}
.toc a,.toc button{font-size:12px;line-height:1.42}
.toc>div{display:block}
.toc label{display:flex;align-items:start;gap:7px;margin-top:5px;white-space:normal;line-height:1.35}
.toc input{flex:none;width:16px;height:16px;margin:0}
.study-card{max-width:790px;min-height:280px;margin-top:25px;padding:clamp(25px,3vw,42px);background:#1b2030f5}
.study-card .question{max-width:36ch;margin:28px 0;font-size:clamp(23px,2.3vw,30px);line-height:1.4}
.study-card .note-area{min-height:132px;background:#121724}
.study-answer{line-height:1.7}
.lecture-document{max-width:900px;margin:22px auto;padding:clamp(24px,3.2vw,52px);border:1px solid #404759;border-radius:16px;background:#1d2330f7;box-shadow:0 18px 48px #05060a4a}
.lecture-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 18px;border:1px solid #374051;border-radius:13px;background:#181d29e8}
.lecture-toolbar label{color:#b8c0d0;font-size:13px;font-weight:650}
.lecture-toolbar .lecture-choice{flex:1 1 320px;width:auto;margin:0}
.lecture-toolbar .document-actions{margin:0}
.document-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #3b4353}
.speaker-notes{max-width:68ch;margin:25px auto 0;padding:16px;border-left:2px solid #a492cd;background:#242738;color:#d9d7e4}
.lecture-document .outline{max-width:68ch;margin-inline:auto;font-size:15.5px;line-height:1.78}
.lecture-document .markdown h1,.lecture-document .markdown h2{letter-spacing:-.018em}
.lecture-document .markdown h2{margin-top:32px}
.lecture-editor{margin-top:25px;padding-top:21px;border-top:1px solid var(--border)}
.lecture-editor[hidden]{display:none!important}
.lecture-editor .note-area{min-height:165px;background:#121824}
.document-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:18px 0}
.lecture-choice{width:min(100%,720px);background:#191f2d}
.section-heading{margin-top:29px}
.notice{background:#322b268a}

@media(max-width:1180px){
  .library-layout{grid-template-columns:minmax(205px,245px) minmax(0,1fr)}
  .reader-grid{grid-template-columns:minmax(0,1fr) 165px;gap:15px}
  .area-grid,.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .section-hero{grid-template-columns:minmax(0,1fr) 31%;min-height:204px;padding:21px 24px}
  .section-hero-art{height:185px}
  .library-layout{display:block}
  .library-list{position:static;max-height:245px;margin-bottom:16px}
  .reader-grid{grid-template-columns:minmax(0,1fr) 185px}
}
@media(max-width:820px){
  .app-shell{display:block}
  .content{background-image:linear-gradient(180deg,#0d1019d3 0%,#0d1019f0 540px,#0d1019fa 930px),url('../assets/visual/BA01_dashboard_iphone.webp');background-size:cover,100% auto}
  body[data-view="library"] .content{background-image:linear-gradient(180deg,#0d1019d4 0%,#0d1019f0 650px,#0d1019fa 1050px),url('../assets/visual/BA02_academy_iphone.webp')}
  body[data-view="study"] .content{background-image:linear-gradient(180deg,#0d1019d4 0%,#0d1019f0 650px,#0d1019fa 1050px),url('../assets/visual/BA03_training_iphone.webp')}
  .mobile-brand .brand-logo{width:155px;max-height:51px}
  .reader-grid{display:block}
  .reader-grid>.toc,.reader-grid>details.toc{position:static;max-height:none;margin:16px 0 23px}
  .toc:not([open])>*:not(summary){display:none}
  .reader-main{width:100%}
  .reader .markdown{max-width:70ch}
  .chapter-search{flex:1 1 100%;margin-left:0}
  .chapter-search input{flex:1;width:auto;min-width:0}
}
@media(max-width:600px){
  .content{padding-top:19px}
  .mobile-brand .brand-logo{width:clamp(112px,33vw,160px);height:auto}
  .mobile-brand .brand-subtitle{max-width:135px;white-space:normal;line-height:1.35;letter-spacing:.08em;font-size:6px}
  .section-hero{display:block;min-height:0;padding:18px 18px 13px;margin-bottom:15px}
  .section-hero h1{font-size:clamp(26px,7.4vw,34px);max-width:none}
  .section-hero .intro{font-size:13px;line-height:1.55}
  .section-hero-art{height:85px;margin:5px -8px -8px 38%;mask-image:linear-gradient(90deg,transparent,#000 18%)}
  .section-hero-art img{object-position:right center}
  body[data-view="home"] .section-hero{min-height:0}
  .dashboard>.eyebrow{display:block}
  .dashboard>h1{font-size:clamp(27px,7vw,35px)}
  .dashboard>h1:before,.dashboard>.intro:after{content:none}
  .dashboard>.intro{font-size:13px;margin-bottom:19px}
  .continue-card{display:block!important;padding:18px!important;min-height:0}
  .continue-card>.continue-art{float:right;width:37%!important;height:120px!important;margin:0 0 11px 14px;border:0;background:transparent}
  .continue-card>.continue-copy,.continue-card>div:not(.continue-art):not(.hero-art){position:relative;z-index:1}
  .continue-card h2{font-size:20px;max-width:75%!important}
  .continue-card p{font-size:12px}
  .continue-card .button{clear:both;width:100%}
  .daily-review{margin-top:12px}
  .section-heading{align-items:start;gap:5px;flex-wrap:wrap;margin-top:25px}
  .section-heading h2{width:100%;font-size:21px}
  .section-heading p,.section-heading span{font-size:11px}
  .area-grid,.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .area-card.tile,.tile.area-card,.tile-grid .tile{min-height:104px;display:block;padding:9px 11px}
  .area-card .area-art,.tile .area-art{float:right;width:58px;height:64px;margin:-2px -6px 0 3px;opacity:.7}
  .area-card .area-arrow{display:none}
  .area-card .area-copy,.tile .area-copy{padding-top:11px}
  .area-card .area-copy strong,.tile .area-copy strong{font-size:12px}
  .area-card .area-copy small,.tile .area-copy .little{font-size:10px}
  .library-list{max-height:210px}
  .reader{padding:18px 16px}
  .reader-top{min-height:99px;padding-right:74px}
  .reader-top h1,.reader-top h2{font-size:24px}
  .reader-emblem{width:76px;height:76px;opacity:.72}
  .reader-tools{gap:7px}
  .reader-tools .button{padding-inline:10px;font-size:12px}
  .reader .markdown{font-size:15px;line-height:1.72}
  .reader .markdown h1{font-size:25px}
  .reader .markdown h2{font-size:20px;margin-top:33px}
  .reader .markdown h3{font-size:17px}
  .reader .markdown td,.reader .markdown th{padding:8px 9px;font-size:12px}
  .study-card{padding:22px;min-height:0}
  .study-card .question{font-size:22px}
  .lecture-document{padding:22px 18px}
  .document-actions .button{flex:1 1 auto}
}
@media(max-width:390px){
  .topbar{padding-inline:12px}
  .content{padding-inline:13px}
  .continue-card h2{font-size:18px}
  .continue-card>.continue-art{width:34%!important;height:105px!important}
  .area-card .area-art,.tile .area-art{width:48px;height:58px}
  .reader{padding:16px 13px}
  .reader-top h1,.reader-top h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.button,.focus-card,.area-card,.tile{transition:none}}
@media print{
  .content,.workspace{background:#fff!important}
  .section-hero,.section-hero-art,.reader-emblem,.continue-art{display:none!important}
  .lecture-document{max-width:none;margin:0;padding:0;background:white;border:0;box-shadow:none;color:black}
  .lecture-document *{color:black!important}
}
/* Keep utility artwork within navigation and preserve edited document formatting. */
.footer-ecg{display:block;width:100%;height:32px;object-fit:contain;opacity:.5}
.lecture-custom,.speaker-notes p{white-space:pre-wrap}
.collapsed .brand-logo{width:40px;height:40px;background:url('../assets/brand/icon-192.png') center/contain no-repeat}
.collapsed .brand-logo img,.collapsed .brand-logo:after{display:none}

.utility-art{float:right;width:60px;height:60px;object-fit:contain;opacity:.7;pointer-events:none}
.brand-logo img{filter:brightness(1.65)}
@media(min-width:821px){.academy-header{min-height:168px;padding-top:16px;padding-bottom:16px}.academy-header .section-hero-art{height:150px}.reader-top{min-height:76px;padding-bottom:12px}.reader-emblem{height:75px;width:75px}.reader-emblem img{height:75px;width:75px}}
@media(min-width:821px){.tile-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
.area-card .area-copy strong{display:block;white-space:normal;overflow-wrap:anywhere}

/* Compact sidebar search frees the desktop content's full height. */
.sidebar-search{width:100%;min-width:0;height:36px;padding:0 10px;gap:7px;flex-shrink:0;margin:0 0 12px}
.sidebar-search input{font-size:12px}.sidebar-search svg{width:16px;height:16px}.sidebar-search kbd{font-size:9px;padding:1px 3px}
.sidebar-study-note{font-size:9px;line-height:1.5;color:#c29b62;margin:0 6px 18px;letter-spacing:.03em}
.workspace>.content{flex:1}
@media(min-width:821px){.workspace>.topbar{display:none}.collapsed .sidebar-search{padding:0 10px;cursor:text}.collapsed .sidebar-search input,.collapsed .sidebar-search kbd,.collapsed .sidebar-study-note{display:none}.collapsed .sidebar-search:focus-within input{display:block}}
@media(max-width:820px){.topbar .sidebar-search{margin:0;flex:1;width:auto;min-width:0}.topbar{min-height:64px;padding-block:8px}.topbar .sidebar-search:focus-within{background:#1d2334}.topbar .sidebar-search kbd{display:none}}
