:root { color-scheme: light; font-family: "Avenir Next", "Trebuchet MS", sans-serif; color: #193b34; background: #f8f8f2; }
* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
a { color: #21583f; text-underline-offset: .2em; }
button { font: inherit; font-weight: 700; cursor: pointer; border: 1px solid #9aaea2; background: #f4f6ef; color: #214738; border-radius: 4px; padding: .75rem 1rem; min-height: 44px; }
button:hover { background: #e7eedf; }
button:disabled { opacity: .6; cursor: default; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #a75c17; outline-offset: 4px; }
.skip-link { position: absolute; top: -80px; left: 1rem; background: #faf9ef; padding: 1rem; z-index: 5; }.skip-link:focus { top: 0; }
.account-main { width: min(100% - 3rem, 1180px); margin: clamp(2.5rem, 6vw, 6rem) auto; }
.eyebrow { font-size: .75rem; font-weight: 850; letter-spacing: .13em; }
h1, h2, h3, p { margin-top: 0; } h1 { font-size: clamp(3rem, 6.8vw, 6.5rem); line-height: 1; letter-spacing: -.065em; margin-bottom: 1.5rem; } h1 em { color: #946015; font-style: normal; } h2 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); line-height: 1.15; letter-spacing: -.035em; } p { line-height: 1.65; } h3 { font-size: 1.25rem; }
.account-welcome { display: grid; grid-template-columns: 1.2fr 1fr; align-items: start; gap: clamp(2rem, 7vw, 7rem); }
.account-intro { font-size: 1.12rem; max-width: 33rem; color: #476457; }
.account-benefits { list-style: none; counter-reset: benefit; padding: 0; margin: 2rem 0; }.account-benefits li { counter-increment: benefit; position: relative; padding: 1rem 0 1rem 2.8rem; border-top: 1px solid #d0d9cb; }.account-benefits li:before { content: "0" counter(benefit); position: absolute; left: 0; font-size: .8rem; color: #8b651e; font-weight: 800; }.account-benefits strong,.account-benefits span { display: block; }.account-benefits span { color: #526857; font-size: .9rem; margin-top: .3rem; }
.signin-panel { margin-top: 2rem; padding: clamp(1.5rem, 3vw, 3rem); background: #e9eedf; border: 1px solid #c8d3bc; }.signin-panel h2 { max-width: 18rem; }.google-signin { width: 100%; background: #fdfcf6; border-color: #7c9481; display: flex; align-items: center; justify-content: center; gap: .8rem; margin: 1.8rem 0 1rem; color: #203d32; }.google-mark { font-family: Arial, sans-serif; font-size: 1.5rem; color: #3569b6; font-weight: 700; }.signin-help,.signin-fineprint { font-size: .82rem; color: #465e4e; }.guest-link { display: inline-block; padding-block: 1.2rem; font-size: .9rem; font-weight: 700; }.signin-fineprint { border-top: 1px solid #c2ceba; padding-top: 1.2rem; margin: 0; }
.account-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }.account-heading h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); }.account-heading p { overflow-wrap: anywhere; }.account-heading button { flex-shrink: 0; }.sync-message { margin-bottom: .4rem; }[data-sync-retry] { margin-bottom: 2.5rem; }
.account-courses { border-top: 1px solid #c4d0bf; }.account-course { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; align-items: center; gap: 1rem; padding: 1.6rem 0; border-bottom: 1px solid #c4d0bf; }.account-course h3,.account-course p { margin: 0; }.account-course p { font-size: .85rem; color: #4c6655; }.account-course a { font-size: .9rem; font-weight: 750; }.account-course progress { width: 100%; accent-color: #366b4a; height: .6rem; }
.account-tools { margin: 3rem 0; max-width: 50rem; }.account-actions { display: flex; flex-wrap: wrap; gap: .8rem; }.account-conflict { padding: 1.5rem; border: 1px solid #ad8249; margin: 1rem 0; background: #faf0d9; }.account-conflict button { margin: .4rem .5rem .4rem 0; }.version-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }.version-compare pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 22rem; overflow: auto; font-size: .8rem; }summary { cursor: pointer; min-height: 44px; padding-block: .7rem; font-weight: 700; }.erase-options { max-width: 50rem; }.erase-options button { color: #853620; }
.account-privacy { padding-top: 2.5rem; margin-top: 5rem; border-top: 1px solid #c4d0bf; max-width: 52rem; scroll-margin-top: 2rem; }.account-privacy p { color: #476050; font-size: .9rem; }.account-message:empty { display: none; }.account-message { padding: 1rem; background: #eee7ca; margin-top: 1.5rem; }.account-footer { width: min(100% - 3rem, 1180px); margin: 0 auto 2rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .9rem; }
@media (max-width: 760px) { .account-main { width: min(100% - 2rem, 1180px); }.account-welcome { display: flex; flex-direction: column; gap: 1rem; }.account-welcome > section:first-child { display: contents; }.account-welcome > section:first-child > .eyebrow { order: 0; }.account-welcome h1 { order: 1; }.account-intro { order: 2; }.signin-panel { order: 3; width: 100%; }.account-benefits { order: 4; width: 100%; }.signin-panel { margin: 0; }.account-welcome h1 br { display: none; }.account-welcome h1 { max-width: 12ch; }.account-heading { align-items: flex-start; flex-direction: column; }.account-course { grid-template-columns: 1fr auto; }.account-course h3 { grid-column: 1 / -1; }.account-course progress { grid-row: 3; }.version-compare { grid-template-columns: 1fr; }.account-privacy { margin-top: 3rem; } }
@media print { .signin-panel,.account-actions,.account-heading button,.erase-options,button { display:none !important; }.account-welcome { display: block; } }
