/* IMARCS University. Loaded after imarcs.org /styles.css. Content styles are the course textbook look
   (private/src/course/textbook.css over learn.css), scoped to .uni so the main site styles stay untouched. */

/* Hero: same treatment as the plain imarcs.org subpages */
body.p-uni #hero{min-height:auto;display:block;padding:clamp(130px,18vh,200px) clamp(18px,6vw,90px) clamp(40px,6vh,72px);overflow:hidden}
body.p-uni #hero .hero-inner{width:100%}
body.p-uni #hero h1{font-size:clamp(2.1rem,5.6vw,4rem);max-width:22ch}
.ueyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px}
.ucrumb{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#a9c3d8;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.ucrumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ufree{display:inline-block;margin-top:18px;font-size:.9rem;font-weight:600;color:var(--ink);background:var(--green);border-radius:999px;padding:6px 14px}

/* Content */
.uni{max-width:1100px;margin:0 auto;padding:28px max(16px,env(safe-area-inset-right,0px)) 80px max(16px,env(safe-area-inset-left,0px));color:#0D337B;font-family:var(--body)}
.uni section{border-top:1px solid #e3e8f0;padding:28px 0;scroll-margin-top:84px;overflow-x:visible}
.uni h2{font-family:var(--disp);font-size:clamp(1.3rem,3.6vw,1.6rem);font-weight:800;line-height:1.2;letter-spacing:-.01em;margin:0 0 10px;color:#0D337B;text-wrap:balance}
.uni h3{font-family:var(--disp);font-size:1.05rem;font-weight:700;margin:22px 0 6px;color:#377F75}
.uni p{line-height:1.6;margin:0 0 14px;max-width:820px;font-size:1.02rem}
.uni ul,.uni ol{max-width:820px;line-height:1.6;padding-left:22px}
.uni li{margin:0 0 6px}
.uni a{color:var(--cyan-ink);text-decoration:underline;text-underline-offset:3px}
.uni b,.uni strong{font-weight:700}
.uni table{border-collapse:collapse;width:100%;max-width:900px}
.uni td{border-bottom:1px solid #e3e8f0;padding:10px 12px;vertical-align:top;line-height:1.45}
.uni td:first-child{width:42%;font-weight:600}
.uni th{text-align:left;padding:10px 12px;border-bottom:2px solid #0D337B}
.uni .words td:first-child{width:24%}
.uni .carry td:first-child{width:38%}
.uni .eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#377F75;font-weight:700;margin:0 0 6px}
.uni .sub{color:#556}
.uni .fig{overflow-x:auto}
.uni .fig svg{width:100%;height:auto;display:block}
.uni .fig svg text{font-family:Montserrat,system-ui,sans-serif}
.uni .fig svg.mfig{max-width:560px;margin:10px 0 16px}
.uni .rule{background:#eaf6fa;border-left:6px solid #3CB8D6;padding:14px 16px;margin:18px 0;line-height:1.55;font-size:1.05rem;max-width:820px}
.uni .rule b{color:#0D337B}
.uni .rule.crit{background:#fdecea;border-left-color:#c0392b}
.uni .rule.crit b{color:#c0392b}
.uni .ift{margin:20px 0 14px;display:block;max-width:900px}
.uni .ift table{width:100%;border-collapse:collapse}
.uni .ift th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#556;border-bottom:2px solid #0D337B;padding:8px 10px;text-align:left}
.uni .ift td{border-bottom:1px solid #e3e8f0;padding:9px 10px;vertical-align:top;line-height:1.45;font-weight:500}
.uni .ift td:first-child{width:46%;font-weight:600}
.uni .ift .row{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #e3e8f0}
.uni .ift .if,.uni .ift .then{background:none;border-radius:0;padding:9px 10px;line-height:1.45}
.uni .ift .if b,.uni .ift .then b{display:none}
.uni .cyu{margin:18px 0 8px;max-width:900px}
.uni .cyu h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#556;margin:0 0 6px}
.uni .think{margin:0;border:0;border-bottom:1px solid #e3e8f0;padding:9px 0;background:none}
.uni .think summary{cursor:pointer;font-weight:600;line-height:1.5}
.uni .think .tag{display:none}
.uni .think p{margin:8px 0 2px 18px;color:#377F75;font-weight:500}
.uni .rem{color:#0D337B;padding:10px 0 0;font-size:1.02rem;border-top:2px solid #0D337B;max-width:900px;margin-top:14px}
.uni .rem b{text-transform:uppercase;font-size:13px;letter-spacing:.06em;margin-right:6px}
.uni .loopstrip{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:4px 0 16px}
.uni .loopstrip li{border:2px solid #c9d3e3;color:#8a94a6;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;white-space:nowrap;margin:0}
.uni .loopstrip li.on{background:#0D337B;border-color:#0D337B;color:#fff}
.uni .tocbox{border:1px solid #c9d3e3;border-left:5px solid #0D337B;border-radius:8px;padding:14px 18px 6px;margin:0 0 30px;max-width:640px;background:#f7f9fc}
.uni .tochead{font-family:var(--body);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#556;margin:0 0 4px;padding:0;border:0}
.uni .tocbox .toc{display:block;margin:0;padding:0;list-style:none}
.uni .tocbox .toc li{border-top:1px solid #e3e8f0;margin:0}
.uni .tocbox .toc li:first-child{border-top:0}
.uni .tocbox .toc a{display:flex;align-items:center;gap:10px;padding:12px 2px;font-size:16px;font-weight:600;color:#0D337B;text-decoration:none;line-height:1.35}
.uni .tocbox .toc a::after{content:"\203A";margin-left:auto;font-size:22px;line-height:1;color:#9aa3b2}
.uni .src ol{line-height:1.7;font-size:14px}
.uni .src a{color:#0D337B;word-break:break-word}
@media(max-width:700px){.uni .ift td{font-size:15px;padding:8px 6px}.uni td{padding:9px 8px}}

/* Section check and module test slots */
.uchk{margin:22px 0 0;max-width:820px;border:1px solid #c9d3e3;border-left:5px solid #377F75;border-radius:8px;background:#f3f8f7;padding:14px 16px}
.uchk-h{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#2A6058;margin:0 0 4px!important}
.uchk-t{margin:0!important;font-size:.98rem!important}
.utest{background:#f7f9fc;border:1px solid #c9d3e3!important;border-radius:10px;padding:22px 20px!important;margin:28px 0}

/* Previous / next */
.upn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 0;max-width:900px}
.upn a{display:block;border:1px solid #c9d3e3;border-radius:10px;padding:14px 16px;text-decoration:none;color:#0D337B;font-weight:700;line-height:1.35}
.upn a span{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#556;font-weight:500;margin-bottom:4px}
.upn .next{text-align:right;grid-column:2}
@media(max-width:560px){.upn{grid-template-columns:1fr}.upn .next{grid-column:1;text-align:left}}

/* Course home */
.uhome h2{margin-top:10px}
.uni .umods{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px;max-width:900px}
.umods li{margin:0}
.umods a{display:flex;gap:14px;align-items:flex-start;border:1px solid #e3e8f0;border-radius:10px;padding:16px 18px;text-decoration:none;color:#0D337B}
.umods a:hover{border-color:#3CB8D6}
.unum{width:38px;height:38px;border-radius:50%;background:#0D337B;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.ut{flex:1;min-width:0}
.ut b{display:block;font-size:1.08rem;margin-bottom:4px}
.ut span{font-size:.95rem;color:#556;line-height:1.5}

/* Michael 2026-10-26: no "Get reef updates" side tab on module pages (the tab is added by imarcs.org chrome.js) */
body.p-umod .ims-side,body.p-uaccount .ims-side,body.p-usignin .ims-side,body.p-uorg .ims-side,body.p-ujoin .ims-side,body.p-uadmin .ims-side,body.p-uverify .ims-side{display:none!important}

/* Account link in the module banner */
.uacct{margin:14px 0 0}
.uacct a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Account and sign-in pages */
body.p-uaccount #hero,body.p-usignin #hero{background:#04182f}
.uform{max-width:480px;margin:18px 0 10px}
.uform label{display:block;font-weight:700;margin:0 0 6px}
.uform input{width:100%;font:inherit;font-size:1.05rem;padding:13px 14px;border:2px solid #c9d3e3;border-radius:9px;color:#0D337B;background:#fff}
.uform input:focus{outline:none;border-color:#3CB8D6}
.ubtn{font:inherit;font-weight:700;border:2px solid #0D337B;background:#0D337B;color:#fff;border-radius:9px;padding:12px 20px;cursor:pointer;margin-top:12px}
.ubtn.alt{background:#fff;color:#0D337B}
.ubtn:disabled{opacity:.5;cursor:default}
.ubtn:focus-visible{outline:3px solid #3CB8D6;outline-offset:2px}
.uform-msg{min-height:1.4em;margin:10px 0 0!important}
.uform-msg.bad{color:#c0392b}
.unote{font-size:.95rem!important;color:#556}

/* Quizzes */
.uchk p{max-width:none}
.uok{color:#2A6058}
.uno{color:#c0392b}
.qhead{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:6px 0 12px;font-size:.95rem}
.qsc{margin-left:auto}
.qbar{flex-basis:100%;height:8px;background:#e3e8f0;border-radius:4px;overflow:hidden}
.qbar i{display:block;height:100%;background:#377F75}
.qcard{border:1px solid #e3e8f0;border-radius:10px;padding:16px;background:#fff}
.qmeta{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#377F75;font-weight:700;margin-bottom:6px}
.qtext{font-size:1.06rem!important;font-weight:600;line-height:1.5;margin:0 0 14px!important}
.opt{display:block;width:100%;text-align:left;font:inherit;line-height:1.45;background:#f3f6fb;border:2px solid transparent;border-radius:8px;padding:12px 14px;margin:0 0 8px;cursor:pointer;color:#0D337B}
.opt:hover:not(:disabled){border-color:#3CB8D6}
.opt:disabled{cursor:default}
.opt.right{background:#e8f4f2;border-color:#377F75}
.opt.wrong{background:#fdecea;border-color:#c0392b}
.opt:focus-visible{outline:3px solid #3CB8D6;outline-offset:2px}
.exp{margin-top:12px;padding:12px 14px;border-radius:8px;background:#f3f6fb;line-height:1.55}
.qres{font-size:1.5rem!important;font-weight:800;margin:4px 0 6px!important}
.qbd td:first-child{width:auto}
.qbd td,.qbd th{font-size:.95rem}
.uchk,.utest{scroll-margin-top:84px}

/* Organization pages */
body.p-uorg #hero,body.p-ujoin #hero,body.p-uadmin #hero,body.p-uverify #hero{background:#04182f}
.uorgs{list-style:none;padding:0}
.uorgs li{border:1px solid #e3e8f0;border-radius:10px;padding:14px 16px;margin:0 0 10px;line-height:1.6}
.uorgs span,.usmall{font-size:.9rem;color:#556}
.utable{overflow-x:auto}
.uform textarea,.uform select{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border:2px solid #c9d3e3;border-radius:9px;color:#0D337B;background:#fff;margin-bottom:12px}
.umodp{border-top:1px solid #e3e8f0;padding:12px 0}
.umodp h3{margin-top:0}
.rconf{background:#fdf3e1;border-left:4px solid #C59E4F;padding:10px 14px;margin:8px 0;max-width:640px}
.rst{padding:6px 12px;margin:0 0 0 8px;font-size:.9rem}
.ucrumbs{font-size:.92rem}
a.ubtn{display:inline-block;text-decoration:none;color:#fff}
.uadmcounts{font-size:1.05rem}
