.app-header{position:relative;isolation:isolate;height:124px;background:#183237;border:0;padding:0 36px}
.app-header::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/static/course-harbor.jpg') center 61%/cover no-repeat;opacity:.48}
.app-header .brand{color:#fff;gap:20px}
.app-header .course-mark{display:flex;align-items:center;border-color:#ffffff40;padding-right:20px}
.course-mark img{display:block;width:64px;height:auto;filter:brightness(0) invert(1)}
.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}
.course-navigation{display:flex;align-items:center;gap:22px;padding:14px 36px;border-bottom:1px solid var(--border);background:#f8faf9}
.course-navigation>a{display:flex;align-items:center;gap:8px;color:#283b40;text-decoration:none;white-space:nowrap}
.global-credit{display:flex;align-items:center;gap:8px;margin-left:auto;padding:8px 0;border:0;background:transparent;color:#205f64;font-variant-numeric:tabular-nums;white-space:nowrap}
.global-credit:hover{background:transparent;text-decoration:underline;text-underline-offset:4px}
.global-credit svg{width:18px;height:18px;flex-shrink:0}
.course-navigation select{max-width:350px;min-width:0;background:white;padding:9px 34px 9px 12px;border:1px solid #aabcb8;border-radius:4px}
.course-navigation>a.active{text-decoration:underline;text-underline-offset:5px}
.course-navigation>a[data-tab="account"]{font-weight:650;color:#164b50;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.course-navigation>a[data-tab="account"] svg{width:22px;height:22px}
.course-page{max-width:1100px}
.coursework-list{border-top:2px solid #233b3e}
.coursework-item{display:grid;grid-template-columns:64px minmax(0,1fr) 24px;gap:22px;align-items:center;padding:26px 12px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}
a.coursework-item:hover{background:#eff6f3;text-decoration:none}
.coursework-item h2{margin:7px 0}
.coursework-item p{margin:0;line-height:1.6}
.coursework-number{color:#205f64;font-weight:650}
.coursework-item.upcoming{color:#435057}
.coursework-item.upcoming h2{font-weight:500}
.assignment-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;list-style:none;border:0;margin:0 0 24px;padding:0}
.assignment-facts>li{line-height:1.7}
.assignment-facts strong{font-weight:650}
.client-letterhead{display:flex;flex-direction:column;gap:6px;padding-bottom:20px;margin-bottom:28px;border-bottom:2px solid #205f64;color:#263e40}
.client-letterhead strong{font-size:20px}
.client-letter{border:0;padding:0;background:none}
.client-signature{margin-top:32px!important;line-height:1.8}
.form-note a,.guide-section p a{color:#205f64;text-decoration:underline;text-underline-offset:3px}
.input-example{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
@media(max-width:650px){.course-navigation{gap:12px;padding:12px 18px;flex-wrap:wrap}.course-navigation select{order:3;max-width:none;width:100%}.global-credit{gap:5px}.global-credit svg{display:none}.assignment-facts{grid-template-columns:1fr}.coursework-item{grid-template-columns:40px minmax(0,1fr) 20px;gap:14px;padding:22px 0}}
.sample pre.sample-prose{font-family:inherit;line-height:1.8;background:#f8faf9}
.question-item h2{margin-bottom:10px}
.question-topic{display:inline-block;max-width:100%;line-height:1.5;padding:3px 8px;margin:0 0 18px;border-radius:4px;background:#eaf2f0;color:#35645b;overflow-wrap:anywhere}
.client-answer p+p{margin-top:13px}
.client-waiting{display:flex;align-items:center;gap:9px;color:var(--muted)}
.client-waiting svg{width:15px;height:15px}
.loading-icon{animation:client-spin 1.2s linear infinite}
#question-form button{min-width:96px}
@keyframes client-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-icon{animation:none}}
.app-header .brand small{color:#e0e9e7;margin-top:6px}
.app-header .profile-button{color:#fff;background:transparent}
.app-header .profile-button:hover{background:#ffffff12}
.app-header .review-label{background:#ffffff18;border:1px solid #ffffff24;color:#e3edea}
:root{--red:#205f64;--green:#287257}
:root{--muted:#4b555d}
#account-menu{display:flex;align-items:center;gap:15px}
#account.account-page{display:block;max-width:1000px}
.account-page>p{margin:14px 0 24px;max-width:760px}
.api-key-row{display:flex;gap:8px;max-width:760px}
.api-key-row input{flex:1;font-family:monospace;}
.credit-row{display:flex;align-items:center;justify-content:space-between;max-width:760px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px 0;margin:28px 0}
.credit-row span{display:block;margin-bottom:8px}
.credit-row strong{}
.guide-section .client-letter p,.guide-section .definition-list dd{line-height:1.7}
.guide-section table{}
.guide-section table th,.guide-section details p,.guide-section summary,.guide-section .limits{}
.guide-section pre,.guide-section code{}
.example-link>span:first-child{}
.example-header .meta,.document .meta{}
.navigation nav a{color:#39464e}
.assignment-facts span,.text-action,.form-note,.table-note{}
.question-topic{color:#244f45}
.client-answer p,#question-form textarea{}
.assignment-page{display:grid;grid-template-columns:195px minmax(0,1fr);column-gap:36px;max-width:1240px}
.assignment-heading{grid-column:2;grid-row:1;align-items:flex-start}
.assignment-layout{display:contents}
.guide-nav{grid-column:1;grid-row:1/3;top:30px;gap:8px}
.guide-content{grid-column:2;grid-row:2;max-width:none;padding-top:28px}
.guide-section>p,.guide-section>.lead{max-width:none;line-height:1.7}
.guide-section>.lead{line-height:1.6}
.guide-section>h2{}
.guide-section>h3{}
.guide-nav a,.due,.sample h3,.sample-caption,.guide-section .sample-caption{color:#3f4a52}
.sample pre.sample-prose{}
.examples-layout{grid-template-columns:320px minmax(0,1fr)}
.records-layout{grid-template-columns:280px minmax(0,1fr)}
.example-link,.record-link{line-height:1.6;color:#334148}
.example-link small{display:block;color:#4b555d}
.records-sidebar h3,.sidebar-title span,.document-heading .section-label{color:#42515a}
.document #document-text{line-height:1.9}
.document-heading h2{}
.document-toolbar .segmented button{min-height:36px}
#legend{color:#34434a;margin:0}
mark{cursor:text}
mark.redact{background:#fbdadd;border-color:#b64a59}
mark.keep{background:#dff1e8;border-color:#448a69}
.private-dot{background:#c55765}
@media(max-width:1200px){.records-layout{grid-template-columns:230px minmax(0,1fr)}.examples-layout{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:800px){.assignment-page{display:block}.assignment-layout{display:block}.guide-content{padding-top:24px}.guide-nav{display:flex;flex-direction:row;overflow:auto;position:static;padding-top:18px;gap:4px}.guide-nav a{white-space:nowrap;padding:10px}.examples-layout{display:block}.records-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:560px){.guide-section>p{}.guide-section>.lead{}.records-layout{display:block}.records-sidebar{display:block}.records-sidebar #record-list{display:flex;overflow:auto}.records-sidebar #source-link{margin-bottom:16px}.records-sidebar .record-link{}.document #document-text{}.document-toolbar{flex-wrap:wrap}.sample pre.sample-prose{}.record-link>svg{display:block}}
.primary:hover{background:#164b50;border-color:#164b50}
.guide-nav a.active,.example-link.active{background:#edf6f4}
.you-tag{color:#205f64;border-color:#b9d8d4;background:#edf6f4}
.formula{background:#f1f7f6}
.view{min-height:calc(100vh - 183px)}
.example-sidebar{height:calc(100vh - 183px)}
@media(max-width:800px){.app-header{height:108px;padding:0 22px}.app-header .brand{}.view{min-height:calc(100vh - 206px)}.example-sidebar{height:auto}}
@media(max-width:560px){.app-header{height:106px;padding:0 18px}.app-header .brand{gap:12px}.app-header .course-mark{padding-right:12px}.app-header .brand small{}.app-header .profile-button{max-width:124px;}.app-header::before{background-position:36% 58%;opacity:.42}}
.competition-heading{margin-bottom:30px;align-items:center}
.competition-heading h1{display:flex;align-items:center;gap:13px;}
.competition-heading .eyebrow{color:#687078;margin-bottom:10px}
.public-badge{font-weight:600;color:#23745b;background:#eaf6ef;border:1px solid #d3e8db;border-radius:4px;padding:5px 8px}
.standing-band{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;padding:25px 0 28px;margin-bottom:35px;border-top:2px solid #282c30;border-bottom:1px solid var(--border)}
.standing-band>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px;border-right:1px solid var(--border)}
.standing-band>div:last-child{border-right:0}
.standing-band>div>span{color:#67717a}
.standing-band strong{font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}
.standing-band small,.standing-band a{color:var(--muted)}
.standing-band a{display:flex;align-items:center;gap:4px;color:var(--red)}
.standing-band a svg{width:12px;height:12px}
.ranking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.ranking-label{display:flex;align-items:center;gap:12px}
.ranking-label h2{}
.ranking-label>span{color:var(--muted);padding-left:12px;border-left:1px solid #ccd3d8;white-space:nowrap}
.ranking-actions{display:flex;align-items:center;gap:7px}
.ranking-search{margin:0;width:215px}
.ranking-search input{background:white;height:38px}
.ranking-actions .icon{border:0;color:#65717a}
.ranking-actions .icon:hover{background:#f0f3f5}
.leaderboard-table th{background:white;border-top:1px solid var(--border);padding-top:14px;padding-bottom:14px}
.leaderboard-table td{padding-top:20px;padding-bottom:20px}
.leaderboard-table .rank-cell{font-weight:600;color:#56626c;width:75px}
.ranking-identity{display:flex;align-items:center;gap:12px;min-width:190px}
.ranking-identity>strong{overflow-wrap:anywhere;max-width:280px}
.alias-avatar{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:650;color:#356a61;background:#e4f2ec}
.alias-avatar[data-color="1"]{color:#42637f;background:#e9f0f7}
.alias-avatar[data-color="2"]{color:#8b4860;background:#f5eaf0}
.alias-avatar[data-color="3"]{color:#796022;background:#f7f0dd}
.ranking-identity .staff-tag,.ranking-identity .you-tag{margin:0;white-space:nowrap}
.leaderboard-table .reference-row{background:#fafbfc}
.reference-row .alias-avatar{background:#eceff1;color:#81909a}
.reference-row .ranking-identity>strong{font-weight:550;color:#586773}
.leaderboard-table .my-ranking{background:#f1f8f5;box-shadow:inset 3px 0 #2d7a60}
.leaderboard-table .score{width:175px;padding-right:22px}
.score-track{display:block;width:90px;height:4px;background:#e8eeeb;margin:8px 0 0 auto;border-radius:2px;overflow:hidden}
.score-track>span{display:block;height:100%;background:#57927d}
.reference-row .score-track>span{background:#a5b3b1}
.ranking-empty{padding:30px;text-align:center;color:var(--muted);border-bottom:1px solid var(--border)}
.version-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px}
.version-field small{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-weight:400}
.version-field small svg{width:11px;height:11px}
.version-heading{display:flex;align-items:center;gap:10px}
.version-download{padding:5px;border:0;flex-shrink:0;color:#205f64}
.leaderboard-explanation{margin:-10px 0 24px;line-height:1.6}
@media(max-width:800px){.ranking-search{display:flex}.ranking-toolbar{flex-wrap:wrap}.ranking-actions{margin-left:auto}.competition-heading h1{}.standing-band{gap:20px}.leaderboard-table td{padding-top:17px;padding-bottom:17px}}
@media(max-width:560px){.competition-heading{display:block;margin-bottom:24px}.competition-heading>.button{margin-top:20px}.competition-heading h1{}.standing-band{gap:13px;padding:19px 0 23px;margin-bottom:25px}.standing-band strong{}.standing-band>div>span{}.standing-band small,.standing-band a{line-height:1.5;padding-right:8px}.standing-band>div{gap:9px}.ranking-actions{width:100%;margin:0}.ranking-search{flex:1;width:auto}.ranking-identity{gap:8px;min-width:150px}.ranking-identity>strong{max-width:150px}.alias-avatar{width:27px;height:27px;}.ranking-identity .staff-tag{}.leaderboard-table .rank-cell{min-width:45px;padding-left:9px;padding-right:9px}.leaderboard-table td{padding-left:10px;padding-right:10px}.leaderboard-table .score{min-width:100px;padding-right:12px}.score-track{width:65px}.leaderboard-table th{padding-left:10px;padding-right:10px}.ranking-label h2{}}
