/* Academy uses the same source tokens as the UNIVA homepage and checkout. */
@import url('/css/tokens.css');
@font-face{font-family:'Varela Round';src:url('/fonts/varela-round.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/fonts/inter-var.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:var(--bg);--line:rgba(16,42,102,.22);--pale:var(--soft);--academy-muted:#354e79}
body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
.sidebar{background:var(--bg)}
.brand{display:flex;align-items:center;gap:14px;font-size:0;letter-spacing:0;line-height:1}
.brand img{display:block;width:75px;height:auto;flex-shrink:0}
.brand small{font-size:9px;letter-spacing:2px;line-height:1.4;margin:0;color:var(--ink)}
.sidebar>.side-label{margin-top:42px}
h1,.reader h1{font-family:var(--font-sans);font-weight:650;letter-spacing:-.05em}
.hero h2{font-family:var(--font-sans);font-weight:650;letter-spacing:-.05em}
.hero{border-radius:var(--r-mega);background:linear-gradient(125deg,var(--ink) 45%,var(--dark-2));box-shadow:0 20px 45px -35px rgba(16,42,102,.5)}
.hero-copy{padding:36px 38px}
.book-art{background:transparent}
.book{background:var(--bg);border-left-color:var(--blue-light);border-radius:0 8px 8px 0}
.book strong{font-family:var(--font-display);font-size:25px;letter-spacing:-1px}
.hero .primary{background:var(--soft);color:var(--ink)}
.primary,.secondary{border-radius:var(--r-pill);min-height:43px;font-size:12px;padding:12px 20px;border:0}
.primary{background:var(--ink)}.primary:hover{background:var(--blue-deep)}
.secondary{background:var(--soft)}.secondary:hover{background:#c8dcff}
.sidebar nav button{border-radius:var(--r-pill)}
.sidebar nav button.selected{background:var(--soft);color:var(--ink)}
.sidebar nav button:hover{background:#e0ebff}
.sidebar i{border-radius:var(--r-pill);background:var(--blue);color:#fff}
.module-card{border:0;background:#e2ecff;border-radius:var(--r-panel);min-height:225px;padding:23px}
.module-card:hover{background:#d8e6ff}
.module-card .number{font-family:var(--font-display);color:var(--blue)}
.module-card h3{font-size:15px;font-weight:650}
.module-card p{color:var(--academy-muted);font-size:11px}
.module-card .meta{color:var(--academy-muted)}
.daily-feature{background:var(--soft);border:0;border-radius:var(--r-panel)}
.daily-feature h3,.note-from h3,.exercise h2,.daily-entry h2,.saved-note h2{font-family:var(--font-sans);font-weight:600;letter-spacing:-.04em}
.date-stamp{font-family:var(--font-sans);font-size:14px;font-weight:600}
.reader .lede{font-family:var(--font-sans);font-size:17px;color:var(--academy-muted)}
.muted,.side-label,.side-course small,.student small,.note-from p,.section-title>span,.concept p,.lesson-meta,.source-list,.outline p,.page-footer{color:var(--academy-muted)}
.prompt-box{border-radius:var(--r-panel);background:var(--ink)}
.prompt-top button{border:0;border-radius:var(--r-pill);padding:8px 13px;background:var(--dark-2)}
.concepts{border:0;gap:12px}
.concept{border:0;border-radius:var(--r-card);background:#e2ecff}
.diagram{border-radius:var(--r-panel);background:var(--soft)}
.flow span{border:0;border-radius:var(--r-pill);background:var(--bg)}
.flow span.active{background:var(--blue)}
.diagram button{border:0;border-radius:var(--r-pill);background:var(--bg);min-height:36px}
.check{background:#dfeaff;color:var(--ink);border:0;border-radius:var(--r-card)}
textarea,.search{border:1px solid #c7d7fa;border-radius:var(--r-card);background:#f8fbff}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.preview-banner{border-radius:var(--r-card)}
@media(max-width:700px){.brand{gap:12px}.brand img{width:55px}.brand small{margin:0;font-size:9px}.sidebar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;margin:16px -6px 8px}.sidebar nav button{flex-direction:column;justify-content:center;gap:3px;padding:8px 3px;font-size:9px;min-height:52px;border-radius:13px}.sidebar nav button span{font-size:16px;width:auto}.hero-copy{padding:27px 20px}.hero{border-radius:27px}.hero h2{font-size:34px}.hero .primary{font-size:10px;padding:10px 13px;gap:10px}.book strong{font-size:20px}.module-card{padding:17px;min-height:227px;border-radius:20px}.module-card h3{font-size:14px}.module-card p{font-size:10px}.reader h1{font-size:35px}.date-stamp{display:none}.intro-row h1{font-size:35px}}
/* Strong reading hierarchy and explicit navigation. */
h1,.reader h1,.hero h2{font-weight:800;letter-spacing:-.045em}
h2,h3{font-weight:750}
body{font-size:16px}
.sidebar{background:#fff;border-right:1px solid #c2cfe7}
.sidebar nav button{font-size:14px;font-weight:700;min-height:50px;padding:13px 15px;border-radius:14px}
.sidebar nav button.selected{background:#102a66;color:#fff}
.sidebar nav button.selected span{color:#fff}
.sidebar nav button.selected:hover{background:#173d8e}
.sidebar nav button span{font-size:22px}
.sidebar-bottom{font-size:13px}.student strong{font-size:12px}.student small,.side-course small{font-size:11px}
.side-label,.eyebrow,.edition{font-size:11px;letter-spacing:1.2px;font-weight:750}
.topbar{font-size:13px;background:#fff}.quiet{font-size:13px;min-height:40px;font-weight:650}
.intro-row p{font-size:15px}.intro-row{margin-bottom:30px}
.hero{background:#102a66;border-radius:28px}.hero p{font-size:15px;color:#e0eaff;max-width:390px}.hero-foot{font-size:12px;color:#dce7ff}.hero .eyebrow{color:#dce7ff}
.hero .primary{background:#fff;color:#102a66;font-size:14px;min-height:49px;font-weight:800}
.primary,.secondary{font-size:14px;font-weight:750;min-height:48px}.secondary{box-shadow:inset 0 0 0 1px #a3bce8}
.section-title h2{font-size:24px;font-weight:800}.section-title>span{font-size:12px}
.modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.module-card{background:#fff;border:2px solid #c5d4ee;min-height:205px;border-radius:20px;padding:24px}
.module-card:hover{background:#fff;border-color:#2563ff;box-shadow:0 4px 0 #2563ff}
.module-card .number{font-size:35px;font-family:Inter,sans-serif;font-weight:800;margin-bottom:15px}
.module-card h3{font-size:20px;font-weight:800}.module-card p{font-size:14px}.module-card .meta{font-size:12px;font-weight:650;padding-top:14px}
.daily-feature{background:#d8e6ff;border:1px solid #afc6ec}.daily-feature p,.note-from p{font-size:14px}.daily-feature h3,.note-from h3{font-weight:750}.note-from strong{font-size:13px}
.lesson-directory{margin-top:35px}.lesson-directory details{border:1px solid #b8c9e8;border-radius:14px;margin-bottom:12px;background:#fff;overflow:hidden}
.lesson-directory summary{display:flex;align-items:center;gap:18px;cursor:pointer;padding:20px;list-style:none;min-height:75px}
.lesson-directory summary:after{content:'+';font-size:26px;font-weight:700;margin-left:auto}.lesson-directory details[open] summary:after{content:'−'}
.lesson-directory summary>span:first-child{font-size:11px;font-weight:800;color:#174ac0;white-space:nowrap}.lesson-directory summary strong{font-size:16px}.directory-count{font-size:11px;color:#354e79;white-space:nowrap}
.directory-lessons{border-top:1px solid #c5d4ee;padding:8px 18px 12px}.directory-lessons button{width:100%;display:flex;align-items:center;gap:16px;padding:16px 8px;text-align:left;border:0;border-bottom:1px solid #e0e7f3;background:#fff;min-height:60px}.directory-lessons button:last-child{border-bottom:0}.directory-lessons button:hover{background:#eef4ff}.directory-lessons button>span{color:#2454bb;font-weight:800}.directory-lessons strong{font-size:14px}.directory-lessons small{margin-left:auto;white-space:nowrap;font-size:12px}
.lesson-jump{display:flex;align-items:center;gap:16px;margin:0 0 27px;padding:16px 20px;background:#102a66;border-radius:14px;color:#fff}.lesson-jump label{font-size:13px;font-weight:750;white-space:nowrap}.lesson-jump select{width:100%;min-width:0;padding:12px;border:0;border-radius:8px;background:#fff;color:#102a66;font:600 14px Inter,sans-serif;min-height:46px}
.concept b{font-size:16px;font-weight:800}.concept p,.exercise p,.check,.diagram p{font-size:15px;line-height:1.75}.concept{background:#fff;border:1px solid #c5d4ee}.prompt-box p{font-size:14px;line-height:1.85}.prompt-top button{font-size:13px;min-height:44px;background:#fff;color:#102a66;font-weight:750}.prompt-top .eyebrow{max-width:65%}.diagram button{min-height:44px;font-size:12px;font-weight:700}.flow span{font-size:12px;font-weight:700}.lesson-meta,.source-list,small.save-status{font-size:12px}.notepad{font-size:14px}.outline button{font-size:13px;min-height:52px;padding:14px 10px;border-radius:8px}.outline button.current{background:#102a66;color:#fff}.outline p{font-size:12px}.page-footer{font-size:11px}.preview-banner{font-size:12px}.daily-entry p{font-size:15px}
summary:focus-visible,select:focus-visible{outline:3px solid #2563ff;outline-offset:4px}
@media(max-width:1150px){.sidebar{width:220px}.workspace{margin-left:220px}.directory-count{display:none}}
@media(max-width:700px){.sidebar{width:100%;position:sticky;top:0;z-index:20;padding:12px 16px 0}.workspace{margin-left:0}.sidebar nav{margin:10px -6px 7px}.sidebar nav button{font-size:10px;min-height:55px;padding:7px 2px;gap:4px}.sidebar nav button span{font-size:20px}.brand img{width:48px}.brand small{font-size:10px}.topbar{height:52px;font-size:12px}main{padding:25px 18px}.intro-row h1{font-size:36px}.intro-row p{font-size:14px}.hero{grid-template-columns:minmax(0,1fr);border-radius:22px}.book-art{display:none}.hero-copy{padding:28px}.hero h2{font-size:44px}.hero p{font-size:15px}.hero .primary{font-size:14px}.hero-foot{font-size:11px;gap:16px}.modules{grid-template-columns:1fr}.module-card{min-height:180px;padding:22px}.module-card h3{font-size:20px}.module-card p{font-size:14px}.module-card .meta{font-size:12px}.section-title{gap:12px;align-items:flex-start}.section-title h2{font-size:23px}.section-title>span{font-size:11px;text-align:right;max-width:125px}.lesson-directory summary{flex-wrap:wrap;gap:8px 14px;padding:17px}.lesson-directory summary strong{flex:1;min-width:170px;font-size:15px}.lesson-directory summary>span:first-child{width:100%}.directory-lessons{padding:5px 10px}.directory-lessons button{gap:10px}.directory-lessons strong{font-size:13px}.directory-lessons small{font-size:11px}.lesson-jump{flex-direction:column;align-items:stretch;gap:8px;padding:15px}.reader h1{font-size:34px}.prompt-top{gap:10px;align-items:flex-start}.prompt-top .eyebrow{font-size:10px;max-width:55%}.prompt-top button{white-space:nowrap}.page-footer{font-size:10px}.eyebrow{font-size:10px}.lesson-end{display:grid;grid-template-columns:1fr}.concepts{grid-template-columns:1fr}.flow{gap:5px}.flow span{font-size:11px}.preview-banner{font-size:11px}}
/* Official logo above the Academy label, at every breakpoint. */
.sidebar .brand{display:flex;flex-direction:column;align-items:center;gap:3px;width:100px}
.sidebar .brand img{width:100%;height:auto}
.sidebar .brand small{display:block;margin:0;font-size:11px;font-weight:800;letter-spacing:2.6px;line-height:1.3;text-align:center}
@media(max-width:700px){.sidebar .brand{width:72px;gap:2px}.sidebar .brand small{font-size:9px;letter-spacing:1.7px}}
/* Centre the stacked logo within its own sidebar header area. */
.sidebar .brand{align-self:stretch;width:100%;min-height:96px;justify-content:center;margin:0}
.sidebar .brand img{width:100px}
@media(max-width:700px){.sidebar .brand{width:100%;min-height:65px}.sidebar .brand img{width:72px}}
/* Hardcover illustration: balanced cover, bound spine and layered page block. */
.book-art{perspective:1100px;min-height:365px;padding:35px 40px 45px;overflow:hidden}
.book-art .book{position:relative;isolation:isolate;box-sizing:border-box;width:230px;height:300px;min-height:0;padding:26px 25px 23px 34px;flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(90deg,#a8c2ed 0,#d4e2f8 7px,#edf4ff 17px,#edf4ff 100%);border:0;border-radius:3px 8px 8px 3px;transform:rotate(-7deg) rotateY(-15deg);transform-style:preserve-3d;box-shadow:inset 1px 0 0 #eaf2ff,inset -1px 0 0 #fff,0 20px 24px -16px #071a45}
.book-art .book:before{content:'';position:absolute;z-index:-1;left:9px;right:-13px;top:8px;bottom:-13px;border-radius:2px 7px 8px 3px;background:repeating-linear-gradient(to bottom,#e7e7e1 0px,#e7e7e1 2px,#bfc6d1 2px,#f9f9f5 3px);border-right:3px solid #bccae0;border-bottom:5px solid #94add5;box-shadow:3px 5px 0 #abc3e8,9px 16px 20px -7px rgba(3,13,38,.65);transform:translateZ(-2px)}
.book-art .book:after{content:'';position:absolute;left:16px;top:0;bottom:0;width:5px;border-left:1px solid rgba(62,96,150,.25);background:linear-gradient(90deg,rgba(82,115,167,.14),transparent);pointer-events:none}
.book-art .book>small{font:750 9px/1.5 Inter,sans-serif;letter-spacing:1.4px;color:#173b78}
.book-art .book>strong{font:750 30px/1.13 Inter,sans-serif;letter-spacing:-1.15px;margin:25px 0 20px;color:#102a66}
.book-art .book-lines{gap:6px;margin-top:auto}
.book-art .book-lines span{height:2px;background:#9bb3d8}
.book-art .book>em{font:750 8px/1.5 Inter,sans-serif;letter-spacing:1.25px;margin-top:18px;color:#25467c}
@media(min-width:1600px){.book-art .book{width:250px;height:325px;padding:29px 28px 25px 36px}.book-art .book>strong{font-size:33px}}
@media(min-width:701px) and (max-width:1000px){.book-art{padding:28px 22px 40px}.book-art .book{width:195px;height:275px;padding:24px 20px 20px 30px}.book-art .book>strong{font-size:26px}}
.book-art .book:before{left:auto;right:-12px;top:8px;bottom:-7px;width:13px;border-radius:0 5px 6px 0;transform:none;background:repeating-linear-gradient(90deg,#f7f8f3 0px,#f7f8f3 2px,#c7ced8 2px,#c7ced8 3px);border-right:2px solid #becde2;border-bottom:0;box-shadow:3px 4px 0 #94add5}
.book-art .book{transform-style:flat;box-shadow:inset 1px 0 0 #eaf2ff,inset -1px 0 0 #fff,1px 3px 0 #f5f6ef,2px 5px 0 #b9c6d9,3px 7px 0 #f5f6ef,4px 10px 0 #94add5,10px 24px 20px -10px rgba(3,13,38,.6)}
/* Keep long lesson names and status copy inside narrow phone viewports. */
.workspace,.reading-layout,.reader{min-width:0}
.reader h1,.reader .lede,.lesson-meta,.preview-banner{overflow-wrap:anywhere}
