@font-face{font-family:SpriteGraffiti;src:url('assets/SpriteGraffiti.woff2') format('woff2');font-display:swap}
.cabinet-page{background:#09090c;color:#f4f4f5;min-height:100svh;margin:0;font-family:Golos,sans-serif;display:flex;flex-direction:column}
.cabinet-page *{box-sizing:border-box}.cabinet-header,.cabinet-footer{padding:18px clamp(20px,5vw,90px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #303036}.cabinet-header img{display:block;max-width:100%;height:auto}.cabinet-header nav{display:flex;gap:24px;align-items:center}.cabinet-page a{color:inherit}.cabinet-page button{cursor:pointer}.cabinet-header button{background:transparent;border:0;color:#c9c9d2;font:inherit}.cabinet-page main{flex:1;padding:65px clamp(20px,5vw,90px);width:100%;max-width:1800px;margin:auto}.login-panel{max-width:530px;margin:0 auto}.cabinet-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#a4a4b4}.cabinet-page h1{font:400 clamp(44px,5vw,76px)/1.05 SpriteGraffiti;margin:20px 0 28px}.cabinet-page h1 span{color:#8294ff}.login-panel>p{color:#c0c0cb;line-height:1.6}.login-panel form{margin-top:35px}.login-panel label{display:block;margin:22px 0;font-size:14px}.login-panel input{display:block;width:100%;margin-top:10px;background:#16161c;border:1px solid #464650;border-radius:4px;color:white;padding:17px;font:inherit}.password-field{position:relative;display:block}.password-field input{padding-right:105px}.password-field button{position:absolute;right:12px;top:17px;background:none;border:0;color:#b5beff;font:inherit;font-size:12px}.cabinet-primary{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:16px 24px;background:#354dff;border:0;border-radius:4px;color:#fff;font:600 16px/1.4 Golos;text-decoration:none!important}.cabinet-primary:hover{background:#4b60ff}.cabinet-page :focus-visible{outline:2px solid #a9b3ff;outline-offset:4px}#login-error,#load-error{color:#ffb1aa;line-height:1.5}.demo-note{margin-top:35px;border-left:2px solid #8294ff;padding:12px 18px;background:#141419;color:#aaaaba;font-size:13px;line-height:1.6}.demo-note p{margin:8px 0 0}.account-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.account-top h1{margin-bottom:0}.account-top p{max-width:390px;color:#aaaaba;line-height:1.6}.cabinet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.cabinet-card{background:#141418;display:flex;flex-direction:column;padding:28px;min-width:0;border-top:3px solid #303038}.cabinet-card.owned{border-color:#8294ff}.course-status{font-size:12px;letter-spacing:.06em;color:#aaaaba}.owned .course-status{color:#a9b3ff}.cabinet-card h2{font:400 clamp(30px,3vw,44px)/1.15 SpriteGraffiti;margin:25px 0 18px}.cabinet-card p{font-size:15px;line-height:1.6;color:#bdbdc8}.card-bottom{margin-top:auto;padding-top:26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.card-bottom .cabinet-primary{font-size:14px;padding:13px 18px}.cabinet-back{display:inline-block;margin-bottom:30px;color:#b5beff!important}.course-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:45px}.topic-nav{display:flex;flex-direction:column;gap:0}.topic-nav a{padding:18px 12px;border-bottom:1px solid #34343c;line-height:1.5;text-decoration:none;font-size:14px}.topic-nav a[aria-current=page]{background:#354dff;color:white}.topic-nav .topic-num{color:#a4afff;margin-right:12px}.topic-nav a[aria-current] .topic-num{color:white}.lesson h1{font-size:clamp(34px,4vw,58px)}.video-empty{aspect-ratio:16/9;background:#16161d;border:1px solid #34343e;display:grid;place-content:center;text-align:center;padding:30px;color:#b6b6c6}.video-empty strong{font:400 40px/1 SpriteGraffiti;color:#8294ff}.video-empty p{font-size:14px;line-height:1.6}.lesson video{width:100%;aspect-ratio:16/9;background:#000}.lesson iframe{width:100%;aspect-ratio:16/9;border:0}.lesson-description{line-height:1.75;color:#c2c2ce;max-width:850px;margin:28px 0}.lesson-materials{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid #34343c;padding-top:25px;margin-top:25px}.lesson-materials h2{font-size:18px}.lesson-materials p{color:#aaaaba;font-size:14px;line-height:1.6}.lesson-materials a{display:block;padding:10px 0;color:#b7c0ff}.lesson-pager{display:flex;justify-content:space-between;gap:20px;margin-top:40px}.lesson-pager a{color:#b5beff;text-decoration:none}.cabinet-footer{border-top:1px solid #303036;border-bottom:0;color:#8e8e9e;font-size:12px}.cabinet-page [hidden]{display:none!important}
@media(max-width:1000px){.cabinet-grid{grid-template-columns:1fr 1fr}.course-layout{grid-template-columns:230px minmax(0,1fr);gap:25px}}
@media(max-width:650px){.cabinet-header{padding:15px 20px;align-items:center}.cabinet-header img{width:185px}.cabinet-header nav{gap:12px;font-size:11px;flex-wrap:wrap;justify-content:end}.cabinet-page main{padding:35px 20px}.account-top{display:block}.cabinet-grid{grid-template-columns:1fr}.course-layout{grid-template-columns:1fr}.topic-nav{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px}.topic-nav a{font-size:12px;padding:12px 10px}.lesson-materials{grid-template-columns:1fr}.cabinet-footer{flex-wrap:wrap}.cabinet-page h1{font-size:46px}}
.cabinet-page.login-screen main{display:grid;place-items:center;min-height:calc(100svh - 145px);padding-block:30px}.login-screen .login-panel{width:100%;margin:0;max-width:480px}.login-screen h1{font-size:clamp(40px,4.5vw,62px);text-align:center}.login-screen .cabinet-kicker,.login-screen .login-panel>p{text-align:center}.login-screen .cabinet-primary{width:100%}.login-screen .demo-note{margin-top:24px}.demo-open{background:none;border:0;padding:12px 0 0;color:#b5beff;font:500 13px/1.5 Golos;text-align:left}.demo-open:hover{text-decoration:underline}
.cabinet-cover{aspect-ratio:1.2;position:relative;overflow:hidden;background:#16161d;margin-top:20px}.cabinet-cover img{display:block;width:100%;height:100%;object-fit:cover}.cabinet-cover-art{position:absolute;inset:0;background:url('assets/editorial-reference.png') 54% 64.3%/460% auto no-repeat}.cabinet-cover[data-cover-index="1"] .cabinet-cover-art{background-size:720% auto;background-position:24% .3%}.cabinet-cover[data-cover-index="2"] .cabinet-cover-art{background-size:720% auto;background-position:52% .3%}.cabinet-card .course-status{min-height:18px}.cabinet-card:not(.owned) .cabinet-cover{margin-top:38px}.cabinet-page .cabinet-buy{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-width:0;width:100%;max-width:280px;padding:18px 23px;font:400 26px/1.15 SpriteGraffiti;position:relative;text-decoration:none}.cabinet-card .card-bottom{align-items:start;flex-direction:column;gap:25px}.cabinet-card .button-tag{white-space:nowrap}.cabinet-page .cabinet-buy:hover{background-color:transparent}

#login-form .cabinet-login-button{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;max-width:none;min-width:0;box-sizing:border-box;padding:20px 24px;font:400 30px/1.15 SpriteGraffiti;position:relative}
.password-recovery{margin-top:24px;font-size:14px;line-height:1.65}.password-recovery summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.password-recovery p{margin-top:12px}.password-recovery a,.registration-link a{text-decoration:underline}.registration-link{margin-top:22px;font-size:14px;line-height:1.6}
.cabinet-filter{display:grid;gap:12px;max-width:360px;margin:0 0 30px;color:#bdbdc8;font:400 14px/1.5 Golos,Arial,sans-serif}
.cabinet-filter select{appearance:none;color-scheme:dark;display:block;width:100%;min-height:50px;padding:13px 46px 13px 16px;border:1px solid #464650;border-radius:4px;background:#16161c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7 5 6 5-6' fill='none' stroke='%2395a3ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center/20px no-repeat;color:#f4f4f5;font:400 15px/1.5 Golos,Arial,sans-serif;cursor:pointer}
.cabinet-filter select:hover{border-color:#8294ff}.cabinet-filter option{background:#16161c;color:#f4f4f5}
.account-settings{margin:36px 0;padding-top:28px;border-top:1px solid #303036}
.cabinet-settings-button{max-width:100%;min-height:56px}
.cabinet-cover{aspect-ratio:1}
.cabinet-cover img{object-position:center}
@media(max-width:650px){.cabinet-filter{max-width:none}.cabinet-settings-button{width:100%;font-size:23px;padding-inline:20px}}

/* The account opens on a course library. Tools sit beside the library navigation. */
.cabinet-page #cabinet { max-width: 1200px; padding-block: clamp(28px, 5vw, 56px); }
.cabinet-header > a { min-width: 0; flex: 0 1 250px; }
.cabinet-header nav { flex-shrink: 0; gap: 16px; }
.cabinet-header nav a, .cabinet-header button { display: inline-flex; align-items: center; min-height: 44px; }
.cabinet-sections { display: flex; gap: 24px; border-bottom: 1px solid #363640; margin-bottom: 28px; }
.cabinet-sections a { display: inline-flex; align-items: center; min-height: 44px; border-bottom: 2px solid transparent; text-decoration: none; color: #c5c5d1; }
.cabinet-sections a[aria-current="page"] { border-color: #8294ff; color: white; }
.cabinet-library { max-width: 900px; }
.cabinet-library h1 { font-size: clamp(38px, 5vw, 62px); }
.library-courses, #order-rows { list-style: none; padding: 0; margin: 0; }
.library-course { border-top: 1px solid #363640; }
.library-course-link { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 16px 12px; color: inherit; text-decoration: none; }
.library-course-link:hover, .library-course-link:focus-visible { background: #15151b; }
.library-course-link h2 { text-decoration: underline; text-decoration-color: #85859c; text-underline-offset: .22em; }
.library-course-link:hover h2, .library-course-link svg { color: #aebaff; }
.library-course-link:focus-visible { outline: 2px solid #b5c0ff; outline-offset: -2px; }
.library-course img { display: block; width: clamp(60px, 10vw, 96px); height: auto; aspect-ratio: 1; object-fit: cover; }
.library-course h2 { font: 700 clamp(17px, 2.2vw, 24px)/1.3 Golos, sans-serif; margin: 0; overflow-wrap: anywhere; }
.library-course p { color: #c3c3cf; line-height: 1.45; font-size: 14px; margin-top: 6px; }
.account-settings { margin: 20px 0 0; padding-top: 8px; }
.account-settings button { min-height: 44px; border: 1px solid #515162; border-radius: 3px; background: #18181f; color: #f4f4f5; padding: 8px 14px; font: inherit; cursor: pointer; }
.account-settings button:hover { background: #252530; }
.account-disclosure { border-bottom: 1px solid #363640; padding-block: 4px 8px; }
.account-disclosure summary { min-height: 44px; padding-block: 12px; cursor: pointer; font-weight: 700; }
#order-rows li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-block: 10px; }
#order-rows span { color: #c3c3cf; }
.login-screen #cabinet { justify-items: start; min-height: 0; }
.login-screen .login-panel h1, .login-screen .login-panel > p { text-align: left; }
#login-form .cabinet-login-button { min-height: 44px; padding-block: 12px; font-size: 24px; }
.password-field button { top: 50%; transform: translateY(-50%); min-height: 44px; padding: 8px; right: 6px; }
.topic-nav a { display: flex; align-items: baseline; min-height: 44px; overflow-wrap: anywhere; }
.topic-num { flex-shrink: 0; }
.lesson, .lesson h1, .lesson-materials { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .cabinet-header { gap: 12px; padding-block: 8px; }
  .cabinet-header nav { font-size: 13px; gap: 12px; }
  .library-course-link { gap: 12px; padding-inline: 6px; }
  .topic-nav { grid-template-columns: minmax(0, 1fr); }
  .video-empty { padding: 16px; }
  .video-empty strong { font-size: 28px; }
}

.library-course-no-cover { grid-template-columns: minmax(0,1fr) auto; }
.account-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account-disclosure summary::-webkit-details-marker { display: none; }
.account-disclosure summary::after { content: '+'; color: #b5c0ff; }
.account-disclosure[open] summary::after { content: '−'; }
