:root{--ink:#071647;--blue:#0758f8;--blue-2:#3d94fb;--paper:#fbfaf7;--panel:#fff;--muted:#7180a4;--line:#dde2ea;--soft:#edf4ff;--green:#0d9a63;--serif:"DM Serif Display",Georgia,serif;--sans:Manrope,Arial,sans-serif;--text-2xs:10px;--text-xs:11px;--text-sm:13px;--text-ui:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--text-display:72px;--learning-title:clamp(48px,4.5vw,62px);--learning-question:clamp(38px,4vw,52px)}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans)}body{margin:0;min-width:320px;background:var(--paper)}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(7,88,248,.4);outline-offset:3px}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);padding:10px 14px;border-radius:8px;background:var(--blue);color:#fff;text-decoration:none}.skip-link:focus{transform:translateY(0)}
.app-shell{min-height:100vh;max-width:1440px;margin:auto;display:grid;grid-template-columns:296px minmax(0,1fr);border-inline:1px solid var(--line);overflow:hidden}.sidebar{position:relative;display:flex;min-height:100vh;flex-direction:column;border-right:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.5)}.brand{z-index:1;display:flex;align-items:center;gap:6px;height:87px;padding:0 24px;border:0;border-bottom:1px solid var(--line);background:transparent;font:22px/1 var(--serif);letter-spacing:.075em;white-space:nowrap}.brand-logo{display:block;width:42px;height:42px;flex:0 0 auto;object-fit:contain}.brand-name{display:flex;align-items:center;gap:8px;min-width:0}.brand strong{color:var(--blue);font-weight:400}.navigation{z-index:1;display:grid;gap:4px;padding:37px 0}.nav-item{display:flex;align-items:center;gap:25px;min-height:65px;width:100%;padding:0 39px;border:0;background:transparent;text-align:left;color:var(--ink);font:19px/1.05 var(--serif)}.nav-item>i{width:27px;font:26px/1 "Phosphor";text-align:center}.nav-item:hover{background:#f1f6ff}.nav-item.active{padding-left:34px;border-left:5px solid var(--blue);background:linear-gradient(90deg,#eef5ff,#dfeeff);color:var(--blue)}.sidebar-art{position:absolute;inset:auto 0 0;height:54%;background:linear-gradient(to bottom,rgba(251,250,247,0),rgba(251,250,247,.06)),url("./assets/architecture-courtyard.png") center 42%/cover no-repeat;opacity:.68;pointer-events:none}
.workspace{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:25px;height:87px;padding:0 34px 0 220px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.5)}.global-search{display:flex;align-items:center;gap:14px;width:min(588px,100%);height:48px;padding:0 17px;border:1px solid var(--line);border-radius:13px;background:rgba(250,252,255,.82);color:var(--ink)}.global-search>i{font-size:22px}.global-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:var(--text-ui)}.global-search input::placeholder{color:#7886a9}.top-actions{display:flex;align-items:center;gap:21px}.round-button{display:grid;place-items:center;min-width:48px;height:48px;border:0;border-radius:50%;background:#e7f1ff;color:var(--blue);font:700 15px var(--serif)}.round-button>i{font-size:25px}.language-button{background:#e8f3ff}.vertical-rule{width:1px;height:31px;background:var(--line)}.mobile-menu{display:none}.main-content{padding:39px 34px 52px}.page{width:100%;max-width:1120px;margin:auto}.page-heading{padding-bottom:26px;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{margin:0;font:clamp(51px,5.2vw,var(--text-display))/.94 var(--serif);letter-spacing:-.035em}h2{margin:0;font:34px/1 var(--serif);letter-spacing:-.028em}h3{margin:0;font:24px/1.1 var(--serif)}.subtitle{margin:11px 0 0;color:var(--muted);font:clamp(20px,2vw,26px)/1.25 var(--serif)}.eyebrow{margin:0 0 20px;color:var(--ink);font-size:var(--text-xs);font-weight:800;letter-spacing:.19em}.blue-text{color:var(--blue)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:63px;padding:0 28px;border:1px solid var(--blue);border-radius:10px;font-size:var(--text-base);font-weight:600}.primary-button{background:var(--blue);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.3)}.primary-button:hover{background:#0048d8}.secondary-button{background:transparent;color:var(--blue)}.secondary-button:hover{background:#f1f6ff}.primary-button i,.secondary-button i{font-size:22px}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.8fr);gap:42px;padding-top:37px}.feature-title{margin:0 0 21px;font:clamp(52px,5vw,72px)/.88 var(--serif);letter-spacing:-.05em}.feature-copy{max-width:440px;margin:0 0 25px;color:#50618b;font:19px/1.5 var(--serif)}.course-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:25px;padding-top:22px;border-top:1px solid var(--line);color:#35476c;font-size:16px;font-weight:500;line-height:1.35}.course-meta span{display:flex;align-items:center;gap:8px;white-space:nowrap}.course-meta i{color:var(--blue);font-size:20px;line-height:1}.overview-photo,.library-photo,.test-photo,.progress-photo{margin:0;overflow:hidden;background:#e3edf9}.overview-photo{height:455px}.cover-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.today-list{align-self:stretch;padding-left:32px;border-left:1px solid var(--line)}.today-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.today-list h2{font:800 var(--text-xs) var(--sans);letter-spacing:.18em;text-transform:uppercase}.today-heading button{border:0;background:none;color:var(--blue);font-size:22px}.today-word{display:grid;grid-template-columns:57px 1fr;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.audio{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:#e9f2ff;color:var(--blue)}.audio i{font-size:23px}.audio:hover,.tiny-button:hover{background:#dbeaff}.word-link{padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:26px/.98 var(--serif)}.word-link:hover{color:var(--blue)}.word-kind{margin-left:6px;color:#687798;font-size:var(--text-xs)}.today-word p{margin:6px 0 0;color:#697897;font-size:var(--text-sm);line-height:1.45}.path{margin-top:31px;padding-top:26px;border-top:1px solid var(--line)}.path-head{display:flex;justify-content:space-between;gap:20px;font-size:var(--text-xs);font-weight:800;letter-spacing:.18em}.path-head button{border:0;background:transparent;color:var(--blue);font-size:var(--text-2xs);font-weight:800;letter-spacing:.15em}.path-head i{font-size:16px;vertical-align:middle}.path-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:27px}.path-step{position:relative;display:grid;justify-items:center;color:#3d5073;text-align:center;font:18px/1.2 var(--serif)}.path-step>i{position:absolute;z-index:0;top:24px;left:50%;width:calc(100% + 8px);height:1px;background:#cbd2df}.path-step:last-child>i{display:none}.path-num{z-index:1;display:grid;place-items:center;width:50px;height:50px;margin-bottom:11px;border:1px solid #a9b4c9;border-radius:50%;background:var(--paper);font:21px var(--serif)}.path-step.done .path-num{border-color:var(--blue);background:var(--blue);color:#fff}.path-step.current .path-num{border:2px solid var(--blue);color:var(--blue)}
.library-header{display:grid;grid-template-columns:minmax(0,1fr) 357px;gap:28px;align-items:end}.back-button{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:0;border:0;background:none;color:#4b608b;font-size:14px}.back-button i{font-size:17px}.library-photo{height:151px}.dictionary-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(175px,.75fr) auto;gap:20px;align-items:end;margin-top:24px;padding:20px 0 25px;border-top:1px solid var(--line)}.filter-search{display:flex;align-items:center;gap:12px;height:43px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.filter-search i{font-size:19px}.filter-search input{width:100%;border:0;outline:0;background:none;color:var(--ink);font-size:var(--text-ui)}.field span{display:block;margin-bottom:6px;color:#273a62;font-size:10px;font-weight:800;letter-spacing:.05em}.field select{width:100%;height:43px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:13px}.dictionary-count{padding-bottom:8px;white-space:nowrap;font:20px var(--serif);text-align:right}.table-wrap{overflow-x:auto}.word-table{width:100%;min-width:760px;border-collapse:collapse}.word-table th{padding:0 12px 10px;text-align:left;color:#1d3158;font-size:9px;font-weight:800;letter-spacing:.14em}.word-table td{padding:10px 12px;border-top:1px solid var(--line);color:#667696;font-size:var(--text-ui);vertical-align:middle}.word-table td:first-child{width:50px;color:#2f4166}.word-table .translation{max-width:230px;line-height:1.35}.status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:var(--text-sm)}.status:before{width:12px;height:12px;border-radius:50%;background:#c4cbd7;content:""}.status.l1:before{background:var(--green)}.status.l2:before{background:var(--blue)}.status.l3:before{background:#c4cbd7}.table-actions{display:flex;justify-content:flex-end;gap:9px}.tiny-button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eaf2ff;color:var(--blue)}.tiny-button i{font-size:18px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 7px 0;color:#24375d;font:15px var(--serif)}.pagination-controls{display:flex;gap:6px}.pagination-controls button{display:grid;place-items:center;min-width:34px;height:34px;border:0;border-radius:50%;background:transparent}.pagination-controls button.active{background:var(--blue);color:#fff}
.detail-page{max-width:1115px}.word-detail-head{display:grid;grid-template-columns:1fr 289px;gap:25px;align-items:center}.crumb{display:flex;align-items:center;gap:9px;margin:0 0 13px;color:#63749b;font-size:13px}.crumb i{font-size:14px}.word-term{font-size:clamp(70px,8vw,104px)}.translation-row{display:flex;align-items:center;gap:15px;margin-top:16px;color:#6175ab;font:28px var(--serif)}.detail-actions{display:grid;gap:14px}.detail-actions button{width:100%}.detail-section{padding:25px 0;border-top:1px solid var(--line)}.word-detail-head+.detail-section{margin-top:28px}.translation-list{display:grid;gap:10px;margin-top:15px}.translation-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;align-items:baseline;margin:0;color:#243d73;font:25px/1.25 var(--serif)}.translation-language{display:inline-flex;align-items:center;gap:5px;color:#667696;font:700 11px/1 var(--sans);letter-spacing:.08em;white-space:nowrap}.translation-flag{display:block;width:18px;height:12px;border:1px solid rgba(34,53,88,.16);border-radius:2px;box-shadow:0 1px 2px rgba(27,51,92,.12)}.notice-card{display:flex;gap:18px;margin-top:17px;padding:20px 23px;border-radius:13px;background:var(--soft);color:var(--blue)}.notice-card>i{font-size:30px}.notice-card strong{display:block;color:var(--ink);font:24px var(--serif)}.notice-card p,.usage-copy{margin:6px 0 0;color:#566a94;font-size:15px;line-height:1.5}.paired-section{display:grid;grid-template-columns:1fr 1fr;gap:30px}.paired-section>div+div{padding-left:30px;border-left:1px solid var(--line)}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.pills span{padding:10px 20px;border-radius:24px;background:#edf4ff;color:var(--blue);font-size:14px}
.definition-list{display:grid;gap:0;margin-top:15px;border-top:1px solid var(--line)}.definition-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;align-items:start;margin:0;padding:13px 0;border-bottom:1px solid var(--line);color:#405882;font-size:15px;line-height:1.55}.definition-item:last-child{border-bottom:0}.definition-language{display:inline-flex;align-items:center;gap:5px;padding-top:4px;color:#667696;font:700 11px/1 var(--sans);letter-spacing:.08em;white-space:nowrap}.dark .definition-item{color:#b7c7e2}
.practice-page{max-width:1110px}.practice-page>.subtitle{margin-bottom:62px}.practice-grid{display:grid;grid-template-columns:minmax(0,1fr) 362px;gap:50px}.question-title{margin:0 0 33px;font:clamp(44px,5vw,66px)/.98 var(--serif);letter-spacing:-.035em}.answer-list{display:grid;gap:15px;max-width:680px}.answer{display:flex;align-items:center;gap:20px;min-height:71px;padding:0 23px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.5);text-align:left;font:29px var(--serif)}.answer:hover,.answer.selected{border-color:var(--blue);background:#eef5ff}.radio{width:33px;height:33px;flex:0 0 auto;border:2px solid #a8b5cf;border-radius:50%}.answer.selected .radio{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 7px #fff}.word-help{align-self:start;padding:32px;border-radius:12px;background:#eef4ff}.word-help .eyebrow{margin-bottom:30px}.help-word{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:22px;border-bottom:1px solid #cfdae9;font:34px var(--serif)}.word-help p{margin:21px 0 0;color:#4e6190;font:19px/1.4 var(--serif)}.word-help .muted-copy{margin-top:14px;font-style:italic}.practice-actions{display:flex;gap:15px;max-width:680px;margin-top:34px}.practice-actions button{flex:1}.answer-feedback{margin-top:17px;color:var(--green);font-weight:700}
.test-hero{display:grid;grid-template-columns:minmax(0,1.25fr) 333px;gap:42px;align-items:center}.test-stats{display:flex;gap:33px;margin:25px 0;padding:20px 4px;border-block:1px solid var(--line);font:23px var(--serif)}.test-stats span{display:flex;align-items:center;gap:15px}.test-stats span+span{padding-left:31px;border-left:1px solid #bfc9da}.test-stats i,.test-note>i,.test-feature>i{color:var(--blue)}.test-stats i{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#eaf2ff;font-size:27px}.test-note{display:flex;gap:17px;padding:20px;border-radius:9px;background:var(--soft)}.test-note>i{font-size:30px}.test-note strong{font:19px var(--serif)}.test-note p{margin:4px 0 0;color:#697a9f;font-size:var(--text-sm)}.test-features{margin-top:18px}.test-feature{display:flex;gap:18px;padding:13px 7px;border-bottom:1px solid var(--line)}.test-feature>i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eaf2ff;font-size:24px}.test-feature h3{font-size:24px}.test-feature p{margin:3px 0 0;color:#6d7d9f;font-size:var(--text-sm)}.test-photo{height:630px}.test-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:27px;padding:17px 19px;border-radius:10px;background:#f1f5fc}.test-bottom>div{display:flex;align-items:center;gap:22px;color:#5b6d94}.test-bottom span{font-size:11px;font-weight:800;letter-spacing:.12em}.test-bottom strong{color:var(--ink);font:24px var(--serif)}.test-bottom em{font-size:13px;font-style:normal}.test-bottom button{min-width:315px}
.question-page{max-width:1005px}.timer{display:flex;justify-content:space-between;align-items:center;font:21px var(--serif)}.timer span:last-child{display:flex;gap:12px;align-items:center}.timer i{color:var(--blue);font-size:28px}.test-progress{height:9px;overflow:hidden;margin:17px 0 67px;border-radius:20px;background:#e0e6ef}.test-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#7ba4fa)}.question-page .question-title{max-width:970px}.complete-page{max-width:1060px}.score-grid{display:grid;grid-template-columns:220px 270px 1fr;gap:35px;align-items:center;margin-top:31px;padding:12px 12px 25px;border-bottom:1px solid var(--line)}.score-ring{display:grid;place-items:center;width:205px;height:205px;border:14px solid var(--blue);border-left-color:#d9e6fa;border-radius:50%;transform:rotate(-20deg)}.score-ring span{transform:rotate(20deg);font:58px var(--serif)}.score-number{display:grid;gap:5px}.score-number strong{font:64px/.9 var(--serif)}.score-number span{color:#66789f;font:20px var(--serif)}.strengths{display:flex;gap:17px;padding-left:30px;border-left:1px solid var(--line)}.strengths>i{display:grid;place-items:center;min-width:58px;height:58px;border-radius:50%;background:#eaf2ff;color:var(--blue);font-size:27px}.strengths strong{font:25px var(--serif)}.strengths p{margin:5px 0 0;color:#687a9f;font-size:14px}.review-note{display:flex;gap:20px;margin-top:22px;padding:20px 27px;border-radius:10px;background:var(--soft)}.review-note>i{color:var(--blue);font-size:34px}.review-note strong{font:25px var(--serif)}.review-note p{margin:4px 0 0;color:#60729a;font-size:14px}.complete-actions{display:flex;gap:15px;margin-top:25px}.complete-actions button{flex:1}
.progress-page>.subtitle{margin-bottom:26px}.progress-card{display:grid;grid-template-columns:minmax(0,1.18fr) 204px minmax(220px,.64fr);gap:29px;align-items:center;padding:36px;border:1px solid #2b4163;border-radius:13px}.progress-card h2{font-size:clamp(49px,4.8vw,72px)}.progress-count{margin:22px 0;color:#a9b8d2;font:21px var(--serif)}.progress-count strong{color:var(--blue-2);font-size:34px}.progress-bar{height:21px;overflow:hidden;border-radius:30px;background:#2c4167}.progress-bar span{display:block;width:25%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#53adff)}.metrics{display:flex;gap:20px;margin-top:31px}.metric{display:grid;grid-template-columns:16px auto;column-gap:9px;align-items:center;padding-right:18px;border-right:1px solid #304464}.metric:last-child{border:0}.metric i{grid-row:span 2;width:14px;height:14px;border-radius:50%;background:var(--blue)}.metric:nth-child(2) i{background:#a6cdfc}.metric:nth-child(3) i{background:#6a80a5}.metric strong{font-size:21px}.metric span{color:#a7b4ca;font-size:11px}.progress-photo{height:375px}.next-action{padding-left:27px;border-left:1px solid #304464}.next-action p{margin:0 0 25px;font-size:10px;font-weight:800;letter-spacing:.16em}.next-action button{width:100%;padding-inline:17px;white-space:nowrap}.analytics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.analytics-card{padding:27px 30px;border:1px solid #2b4163;border-radius:12px}.analytics-card h3{font:800 var(--text-xs) var(--sans);letter-spacing:.16em}.analytics-card>p{margin:7px 0 0;color:#a8b5cc;font-size:var(--text-ui)}.bars{display:flex;align-items:end;justify-content:space-between;gap:13px;height:177px;margin-top:8px;padding:20px 12px 0;border-bottom:1px solid #3d526e}.bar{display:grid;grid-template-rows:auto 1fr auto;gap:6px;align-items:end;justify-items:center;height:100%;color:#aab7cd;font-size:var(--text-xs)}.bar b{font-weight:500}.bar i{display:block;width:33px;border-radius:7px 7px 0 0;background:linear-gradient(90deg,#61adff,#3686ec)}.history{display:grid;margin-top:17px}.history-row{display:grid;grid-template-columns:60px 1fr auto 25px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #2d4360}.history-row>i:first-child{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#17345f;color:#79afff;font-size:25px}.history-row strong{font:20px var(--serif)}.history-row p{margin:4px 0 0;color:#9caecb;font-size:var(--text-sm)}.history-row b{font:25px var(--serif)}.history-row>i:last-child{font-size:19px}
body.dark{--paper:#0b1a2e;--panel:#10223a;--ink:#f3f6fe;--muted:#aab8d3;--line:#2a3e5b;--soft:#172b48;color:var(--ink)}.dark .sidebar,.dark .topbar{background:rgba(9,24,43,.96)}.dark .nav-item:hover{background:#132b4e}.dark .nav-item.active{background:linear-gradient(90deg,#103a72,#163461)}.dark .global-search,.dark .filter-search,.dark .field select,.dark .answer{background:#10223a;color:var(--ink)}.dark .feature-copy,.dark .today-word p,.dark .word-table td,.dark .notice-card p,.dark .usage-copy,.dark .subtitle{color:#aebbd3}.dark .word-link,.dark .word-table td:first-child{color:var(--ink)}.dark .path-num{background:var(--paper)}
.dark .word-help,.dark .test-bottom,.dark .review-note,.dark .notice-card{background:#172b48}.dark .word-help p,.dark .test-note p,.dark .test-feature p,.dark .strengths p,.dark .review-note p,.dark .pagination,.dark .crumb,.dark .back-button,.dark .definition,.dark .translation-row,.dark .word-kind{color:#aebbd3}.dark .word-help .help-word{border-color:#304464}.dark .audio,.dark .tiny-button,.dark .round-button,.dark .language-button,.dark .test-stats i,.dark .test-feature>i,.dark .strengths>i{background:#17345f;color:#79afff}.dark .audio:hover,.dark .tiny-button:hover,.dark .round-button:hover{background:#1d467e}.dark .pills span{background:#17345f;color:#91bdff}.dark .test-progress{background:#263c5c}.dark .score-ring{border-left-color:#2b4163}.dark .test-bottom>div{color:#aebbd3}.dark .test-bottom strong,.dark .notice-card strong,.dark .review-note strong{color:var(--ink)}.dark .field span,.dark .word-table th{color:#aebbd3}.dark .language-menu button:hover,.dark .language-menu button[aria-current="true"]{background:#17345f}.dark .answer:hover,.dark .answer.selected{background:#17345f}.dark .secondary-button:hover{background:#17345f}
@media(max-width:1180px){.topbar{padding-left:45px}.overview-grid{grid-template-columns:minmax(0,1.2fr) 210px}.today-list{grid-column:1/-1;display:grid;grid-template-columns:180px repeat(4,1fr);gap:14px;padding:20px 0 0;border-top:1px solid var(--line);border-left:0}.today-heading{display:block}.today-word{padding:0;border-bottom:0}.today-word .audio{width:43px;height:43px}.today-word{grid-template-columns:46px 1fr}.today-word .word-link{font-size:23px}.today-word p{display:none}.progress-card{grid-template-columns:1fr 204px}.next-action{grid-column:1/-1;padding:20px 0 0;border-top:1px solid #304464;border-left:0}.next-action button{max-width:345px}}
@media(max-width:900px){.app-shell{display:block;border:0}.sidebar{min-height:69px;height:69px;overflow:visible;border:0;border-bottom:1px solid var(--line)}.brand{height:69px;padding:0 24px;border:0;font-size:23px}.navigation{position:absolute;z-index:20;top:135px;left:0;right:0;display:none;padding:10px 0;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:0 15px 24px rgba(6,24,65,.14)}.navigation.open{display:grid}.sidebar-art{display:none}.topbar{position:relative;z-index:30;height:66px;padding:0 20px;background:var(--paper)}.top-actions{gap:9px}.top-actions .vertical-rule{display:none}.language-button{display:grid}.mobile-menu{display:grid}.main-content{padding:29px 20px 46px}.overview-grid,.test-hero{grid-template-columns:1fr}.overview-photo{width:min(100%,380px);height:390px}.today-list{display:block;padding-top:24px}.today-heading{display:flex}.today-word{padding:16px 0;border-bottom:1px solid var(--line)}.today-word p{display:block}.library-header{grid-template-columns:1fr}.library-photo{width:100%;max-width:357px}.dictionary-filters{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.dictionary-count{text-align:left}.word-detail-head{grid-template-columns:1fr}.detail-actions{grid-template-columns:1fr 1fr}.practice-grid{grid-template-columns:1fr}.word-help{max-width:510px}.test-photo{width:min(100%,380px);height:420px}.test-bottom{display:grid}.test-bottom button{min-width:0}.score-grid{grid-template-columns:180px 1fr}.strengths{grid-column:1/-1;padding:22px 0 0;border-top:1px solid var(--line);border-left:0}.progress-card{grid-template-columns:1fr}.progress-photo{width:min(100%,360px);height:320px}.analytics{grid-template-columns:1fr}}
@media(max-width:560px){h1{font-size:49px}.main-content{padding:24px 14px 38px}.topbar{padding:0 14px}.global-search{gap:9px}.global-search input{font-size:11px}.round-button{min-width:41px;height:41px}.feature-title{font-size:52px}.overview-grid{padding-top:28px}.path-head{align-items:flex-start;flex-direction:column}.path-list{grid-template-columns:repeat(2,1fr);gap:24px}.path-step>i{display:none}.dictionary-filters{gap:12px}.word-table{min-width:700px}.pagination{align-items:flex-start;flex-direction:column}.word-term{font-size:67px}.detail-actions,.paired-section{grid-template-columns:1fr}.paired-section>div+div{padding:23px 0 0;border-top:1px solid var(--line);border-left:0}.translation-row{font-size:23px}.practice-page>.subtitle{margin-bottom:35px}.question-title{font-size:42px}.answer{min-height:63px;padding:0 15px;font-size:24px}.practice-actions,.complete-actions{flex-direction:column}.test-stats{align-items:flex-start;flex-direction:column;gap:10px}.test-stats span+span{padding-left:0;border-left:0}.test-bottom>div{align-items:flex-start;flex-direction:column;gap:4px}.timer{font-size:17px}.timer span:last-child{white-space:nowrap}.test-progress{margin-bottom:42px}.score-grid{grid-template-columns:1fr;gap:25px}.score-number strong{font-size:55px}.strengths{grid-column:auto}.progress-card{padding:25px}.metrics{flex-wrap:wrap}.metric{min-width:110px}.analytics-card{padding:22px 18px}.bar i{width:23px}.history-row{grid-template-columns:48px 1fr auto}.history-row>i:last-child{display:none}.history-row>i:first-child{width:43px;height:43px}.today-word .word-link{font-size:25px}}

/* Reference-locked typography calibration: approved desktop and compact mobile scales. */
.field select{font-size:var(--text-ui)}.word-table th,.test-bottom span,.next-action p{font-size:var(--text-2xs)}.back-button,.crumb,.notice-card p,.usage-copy,.pills span,.strengths p,.review-note p{font-size:var(--text-ui)}.progress-card h2{font-size:clamp(49px,4.6vw,68px);line-height:.98}.metric strong{font-size:22px}.metric span{font-size:12px}.test-bottom em{font-size:var(--text-sm)}.test-note p,.test-feature p{line-height:1.45}.progress-count,.score-number span{font-size:22px}.metric strong,.progress-count strong,.score-number strong,.history-row b{font-variant-numeric:tabular-nums}
.language-picker{position:relative}.language-button{min-width:48px;height:48px;padding:0;border:0;background:#e8f3ff;box-shadow:none;font-size:15px}.language-menu{position:absolute;z-index:40;top:calc(100% + 10px);right:0;display:none;width:176px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 14px 30px rgba(6,24,65,.16)}.language-menu.open{display:grid;gap:2px}.language-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:600 13px var(--sans);text-align:left}.language-menu button:hover,.language-menu button[aria-current="true"]{background:#e8f3ff;color:var(--blue)}.language-menu button span{font-size:11px;font-weight:800;letter-spacing:.08em}
@media(max-width:560px){.language-button{min-width:41px;height:41px;font-size:13px}}
@media(max-width:900px){.author-layout{grid-template-columns:1fr;gap:28px}.author-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 0 0;border-top:1px solid var(--line);border-left:0}.author-stat{min-width:0;padding:0;border-top:0;border-right:1px solid var(--line)}.author-stat:last-child{border-right:0}.author-stat:after{margin-top:8px}.author-heading h1{font-size:44px}.author-role{font-size:17px}.author-topic{font-size:21px}}
@media(max-width:560px){.author-heading h1{font-size:36px!important;line-height:1.06}.author-role{margin-top:14px;font-size:16px;line-height:1.5}.author-research{grid-template-columns:1fr;gap:12px;margin-top:23px;padding:20px}.author-research-icon{width:40px;height:40px;font-size:21px}.author-topic{font-size:19px;line-height:1.42}.author-stats{gap:8px;margin-top:0;padding-top:18px}.author-stat strong{font-size:42px}.author-stat span{font-size:11px}.author-stat:after{width:27px;height:3px}}

/* Verified lexical relations on word-detail pages */
.relationship-section{padding-bottom:29px}.relationship-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.relationship-heading h2{margin-bottom:6px}.relationship-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.relation-verified{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.relation-verified.suggested{color:#7a5d18}.relation-verified i{font-size:16px}.relationship-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;border-top:1px solid var(--line)}.relation-language{min-width:0;padding:18px 18px 3px 0}.relation-language+.relation-language{padding-left:20px;border-left:1px solid var(--line)}.relation-language-head{display:inline-flex;align-items:center;gap:7px;margin-bottom:17px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.09em}.relation-language-head img{width:17px;height:12px;object-fit:cover;border-radius:1px;box-shadow:0 0 0 1px rgba(26,66,112,.1)}.relation-row+.relation-row{margin-top:15px}.relation-kind{display:block;margin-bottom:8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.relation-kind.antonyms{color:#a76464}.relation-pills{display:flex;flex-wrap:wrap;gap:7px}.relation-pill{display:inline-flex;align-items:center;gap:5px;min-height:31px;padding:5px 9px;border:1px solid #cddcf3;border-radius:999px;background:#edf4ff;color:#16498f;font-family:inherit;font-size:12px;font-weight:700;line-height:1.2;text-align:left}.relation-pill i{font-size:13px}.relation-pill.antonyms{border-color:#ead4d1;background:#fcf1ef;color:#935050}.relation-pill:not(span){cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.relation-pill:not(span):hover{transform:translateY(-1px);border-color:#8baee1;background:#e3efff}.relation-pill.antonyms:not(span):hover{border-color:#dba7a0;background:#f9e4e1}.relation-empty{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.dark .relation-verified.suggested{color:#f1c970}.dark .relation-pill{border-color:#31517d;background:#16345d;color:#91bfff}.dark .relation-pill.antonyms{border-color:#6e4650;background:#452b32;color:#ffb9b5}.dark .relation-kind.antonyms{color:#dc9d9a}.dark .relation-pill:not(span):hover{background:#1e4476}.dark .relation-pill.antonyms:not(span):hover{background:#57343d}
@media(max-width:780px){.relationship-heading{flex-direction:column;gap:9px}.relationship-grid{grid-template-columns:1fr}.relation-language{padding:17px 0}.relation-language+.relation-language{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.author-identity{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:28px;align-items:start}.author-portrait{width:190px;aspect-ratio:4/5;margin:0;overflow:hidden;border:1px solid var(--line);background:#edf4ff}.author-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.dark .author-portrait{border-color:#304464;background:#10223a}@media(max-width:900px){.author-identity{grid-template-columns:minmax(0,1fr) 180px;gap:24px}.author-portrait{width:180px}}@media(max-width:560px){.author-identity{grid-template-columns:1fr;gap:19px}.author-portrait{width:min(100%,230px);margin:0 auto;aspect-ratio:4/5}.author-identity>div{order:2}.author-portrait{order:1}}
.author-timeline{margin-top:32px;padding-top:27px;border-top:1px solid var(--line)}.author-timeline>.eyebrow{margin:0 0 17px;color:var(--blue)}.author-timeline ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.author-timeline li{display:grid;grid-template-columns:132px minmax(0,1fr);gap:20px;padding:15px 0;border-top:1px solid var(--line)}.author-timeline li:first-child{border-top:0}.author-timeline time{color:var(--blue);font:700 13px/1.45 var(--sans);letter-spacing:.04em}.author-timeline p{max-width:680px;margin:0;color:#50618b;font:16px/1.5 var(--serif);text-wrap:pretty}.dark .author-timeline p{color:#aebbd3}@media(max-width:560px){.author-timeline{margin-top:25px;padding-top:22px}.author-timeline li{grid-template-columns:1fr;gap:4px;padding:13px 0}.author-timeline time{font-size:12px}.author-timeline p{font-size:15px;line-height:1.46}}
.practice-page>h1,.tests-page h1,.progress-page>h1{font-size:var(--learning-title);line-height:.98}.practice-page>.subtitle,.tests-page .subtitle,.progress-page>.subtitle{font-size:24px}.practice-page .question-title,.question-page .question-title{font-size:var(--learning-question);line-height:1.02}.answer{min-height:68px;font-size:26px}.help-word{font-size:30px}.word-help p{font-size:18px}.test-stats{font-size:21px}.test-feature h3{font-size:22px}.progress-card h2{font-size:clamp(45px,4.1vw,60px)}.progress-count{font-size:20px}.progress-count strong{font-size:32px}.metric strong{font-size:20px}.metric span{font-size:11px}
@media(max-width:560px){.global-search input{font-size:12px}.brand{font-size:22px}.nav-item{font-size:18px}.subtitle{font-size:20px}.course-meta{gap:14px;font-size:14px}.course-meta span{gap:7px}.course-meta i{font-size:18px}.today-word p,.word-table td,.status{font-size:13px}}
@media(max-width:560px){.practice-page>h1,.tests-page h1,.progress-page>h1{font-size:44px}.practice-page>.subtitle,.tests-page .subtitle,.progress-page>.subtitle{font-size:20px}.practice-page .question-title,.question-page .question-title{font-size:39px}.answer{font-size:23px}.help-word{font-size:27px}}
@media(max-width:560px){.brand-logo{width:36px;height:36px}}
@media(max-width:360px){.brand{gap:4px;padding-inline:16px;font-size:20px;letter-spacing:.055em}.brand-logo{width:34px;height:34px}.brand-name{gap:6px}}

/* Purposeful product motion: feedback (controls), continuity (routes), and hierarchy (menus). */
:root{--motion-fast:120ms;--motion-default:200ms;--motion-slow:320ms;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--motion-sm:6px;--motion-md:12px}
body,.sidebar,.topbar,.global-search,.language-menu,.navigation,.progress-card,.analytics-card,.test-bottom,.answer,.word-help,.notice-card,.primary-button,.secondary-button,.round-button,.nav-item,.audio,.tiny-button,.word-link{transition-property:background-color,border-color,color,box-shadow,opacity,transform,filter;transition-duration:var(--motion-default);transition-timing-function:var(--ease-in-out)}
body{transition-duration:var(--motion-slow)}
.primary-button,.secondary-button,.round-button,.audio,.tiny-button,.nav-item,.word-link{transition-duration:var(--motion-fast);transition-timing-function:var(--ease-out)}
.primary-button:hover,.secondary-button:hover,.round-button:hover,.audio:hover,.tiny-button:hover{transform:translateY(-2px)}
.primary-button:active,.secondary-button:active,.round-button:active,.audio:active,.tiny-button:active,.nav-item:active{transform:scale(.98)}
.nav-item:hover{transform:translateX(3px)}
.answer:hover{border-color:#8eb7f8;transform:translateX(4px);box-shadow:0 8px 18px rgba(23,83,181,.07)}
.page-enter:not(.practice-page){animation:page-enter var(--motion-slow) var(--ease-out) both}@keyframes page-enter{from{opacity:0;transform:translateY(var(--motion-md))}to{opacity:1;transform:translateY(0)}}
.language-menu{display:grid;gap:2px;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top right;transition-property:opacity,transform,visibility,background-color,border-color,color;transition-duration:var(--motion-default);transition-timing-function:var(--ease-out)}
.language-menu.open{display:grid;visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0) scale(1)}
.language-menu button{transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.language-menu button:hover{transform:translateX(2px)}
.dark .cover-photo{transition:filter var(--motion-slow) var(--ease-in-out)}
@media(max-width:900px){.navigation{display:grid;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px);transition-property:opacity,transform,visibility,background-color,border-color;transition-duration:var(--motion-default);transition-timing-function:var(--ease-out)}.navigation.open{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){:root{--motion-fast:0ms;--motion-default:0ms;--motion-slow:0ms;--motion-sm:0px;--motion-md:0px}.page-enter{animation:none}.language-menu,.navigation{transform:none!important}}

/* Desktop shell is a viewport-anchored frame: routing must never move the sidebar art or header. */
html{scrollbar-gutter:stable}body{overflow-y:scroll}@media(min-width:901px){.sidebar{align-self:start;height:100vh;min-height:0;position:sticky;top:0}.sidebar-art{position:relative;inset:auto;height:auto;min-height:0;flex:1 1 auto;background-position:center 42%}.workspace{min-width:0}}

/* The sidebar is a single editorial panel: navigation resolves naturally into the photograph. */
@media(min-width:901px){
  .sidebar{isolation:isolate}
  .navigation{padding-bottom:0}
  .sidebar-art{position:relative;flex:1 1 0;min-height:0;background-position:center 48%;opacity:1}
  .sidebar-art::before{position:absolute;z-index:1;top:0;right:0;left:0;height:44px;background:linear-gradient(to bottom,rgba(251,250,247,.96),rgba(251,250,247,0));content:"";pointer-events:none}
  body.dark .sidebar-art::before{background:linear-gradient(to bottom,rgba(9,24,43,.96),rgba(9,24,43,0))}
}

@media(min-width:901px) and (max-width:1180px){
  .overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(235px,.8fr)}
  .today-list{display:block;grid-column:auto;padding:0 0 0 24px;border-top:0;border-left:1px solid var(--line)}
  .today-heading{display:flex}.today-word{padding:17px 0;border-bottom:1px solid var(--line)}.today-word p{display:block}
}

/* Long dictionary terms must preserve the page geometry in every locale. */
.word-detail-head>div,.translation-row span,.today-word>div,.test-feature>div,.history-row>div{min-width:0}
.word-term{max-width:100%;font-size:clamp(46px,5.8vw,78px);line-height:.92;overflow-wrap:anywhere;hyphens:auto}
.translation-row{flex-wrap:wrap}.translation-row span{overflow-wrap:anywhere;font-size:clamp(20px,2.3vw,28px);line-height:1.16}
.detail-actions button,.primary-button,.secondary-button{white-space:normal;text-wrap:balance}
.word-table td,.word-link,.today-word p,.definition,.usage-copy,.notice-card p,.test-feature p,.answer{overflow-wrap:anywhere;hyphens:auto}
.pills span{max-width:100%;overflow-wrap:anywhere}
@media(max-width:560px){.word-term{font-size:clamp(42px,13vw,58px)}.detail-actions button{min-height:56px;padding-inline:14px}.translation-row{gap:10px}}

/* Table action circles align with the visual centre of each dictionary row. */
.word-table td:last-child{vertical-align:middle}.table-actions{align-items:center;min-height:48px}.tiny-button{padding:0;line-height:1}.tiny-button i{display:grid;place-items:center;width:1em;height:1em;line-height:1;transform:translateX(1px)}

/* Custom filter menu mirrors the language picker instead of using a native select. */
.filter-picker{position:relative}.filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:43px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:600 var(--text-ui) var(--sans);text-align:left}.filter-toggle i{font-size:15px}.filter-menu{top:calc(100% + 7px);right:auto;left:0;width:100%;min-width:210px;transform-origin:top left}.filter-menu button{min-height:40px}.dark .filter-toggle{background:#10223a;color:var(--ink)}
.empty-history{margin:18px 0 4px!important;color:#9caecb!important;font-size:var(--text-ui)!important}
.project-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;max-width:1120px;margin:44px auto 0;padding:22px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);line-height:1.4}.project-footer strong{color:var(--blue);font-weight:700}.dark .project-footer strong{color:#79afff}
.author-page{max-width:1120px}.author-layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:46px}.author-heading{padding-bottom:29px;border-bottom:1px solid var(--line)}.author-heading .eyebrow{margin-bottom:14px;color:var(--blue)}.author-heading h1{max-width:760px;font:48px/1.02 var(--serif);letter-spacing:-.035em;text-wrap:balance}.author-role{max-width:760px;margin:18px 0 0;color:#50618b;font:18px/1.55 var(--serif);text-wrap:pretty}.author-research{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-items:start;margin-top:30px;padding:25px 27px;border:1px solid var(--line);background:rgba(237,244,255,.42)}.author-research-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#e9f2ff;color:var(--blue);font-size:24px}.author-research .eyebrow{margin:3px 0 11px;color:var(--blue)}.author-topic{max-width:690px;margin:0;color:#243d73;font:22px/1.36 var(--serif);text-wrap:pretty}.author-stats{align-self:start;padding-left:31px;border-left:1px solid var(--line)}.author-stat{display:grid;gap:3px;padding:18px 0 22px;border-top:1px solid var(--line)}.author-stat:first-child{padding-top:0;border-top:0}.author-stat strong{color:var(--ink);font:52px/.88 var(--serif);font-variant-numeric:tabular-nums}.author-stat span{color:#52658f;font-size:14px;line-height:1.35}.author-stat:after{display:block;width:36px;height:4px;margin-top:10px;background:var(--blue);content:""}.dark .author-role,.dark .author-stat span{color:#aebbd3}.dark .author-topic{color:#dbe7ff}.dark .author-research{border-color:#304464;background:#10223a}.dark .author-research-icon{background:#17345f;color:#79afff}
.answer .radio{display:grid;place-items:center}.answer .radio i{font-size:19px;font-weight:900}.answer.revealed-correct{border-color:#12a46f;background:#eaf9f1;color:#075f43;box-shadow:0 8px 22px rgba(18,164,111,.12);animation:answer-confirm 360ms var(--ease-out) both}.answer.revealed-correct .radio{border-color:#12a46f;background:#12a46f;color:#fff;box-shadow:none}.answer.revealed-wrong{border-color:#df5361;background:#fff0f1;color:#a12e3b;animation:answer-shake 420ms var(--ease-out) both}.answer.revealed-wrong .radio{border-color:#df5361;background:#df5361;color:#fff;box-shadow:none}.answer.revealed-muted{opacity:.48;transform:none!important;box-shadow:none!important}.answer.revealed-muted .radio{border-color:#c5cede}.answer-feedback{display:flex;align-items:flex-start;gap:14px;max-width:680px;margin-top:17px;padding:17px 19px;border:1px solid;border-radius:11px;animation:feedback-enter 360ms var(--ease-out) both}.answer-feedback .feedback-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;font-size:22px}.answer-feedback strong{display:block;font-size:15px}.answer-feedback p{margin:3px 0 0;font-size:14px;line-height:1.45}.answer-feedback.is-correct{border-color:#9ee2c4;background:#effbf5;color:#086747}.answer-feedback.is-correct .feedback-icon{background:#d3f4e2;color:#0b9b68}.answer-feedback.is-wrong{border-color:#f1b6bd;background:#fff5f5;color:#972f3b}.answer-feedback.is-wrong .feedback-icon{background:#ffe1e4;color:#cf3d4d}.dark .answer.revealed-correct{border-color:#35c58c;background:#103c38;color:#dfffee}.dark .answer.revealed-correct .radio{background:#20ae78;border-color:#20ae78}.dark .answer.revealed-wrong{border-color:#e87983;background:#442736;color:#ffe4e6}.dark .answer.revealed-wrong .radio{background:#cf5461;border-color:#cf5461}.dark .answer-feedback.is-correct{border-color:#277a61;background:#103c38;color:#dcffed}.dark .answer-feedback.is-correct .feedback-icon{background:#155b48;color:#83f2c1}.dark .answer-feedback.is-wrong{border-color:#7c4250;background:#442736;color:#ffe1e4}.dark .answer-feedback.is-wrong .feedback-icon{background:#693341;color:#ffacb3}@keyframes answer-confirm{0%{transform:scale(.98)}55%{transform:scale(1.012)}100%{transform:scale(1)}}@keyframes answer-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}55%{transform:translateX(6px)}75%{transform:translateX(-3px)}}@keyframes feedback-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.answer.revealed-correct,.answer.revealed-wrong,.answer-feedback{animation:none}}
.path-step{gap:0}.path-step strong{position:relative;z-index:1;font:18px/1.2 var(--serif)}.path-step small{position:relative;z-index:1;display:block;min-height:18px;margin-top:5px;color:#71809b;font:11px/1.25 var(--sans)}.path-num{position:relative;isolation:isolate;border:0!important;background:conic-gradient(var(--blue) var(--path-progress),#dbe2ec 0)!important;padding:2px;overflow:hidden}.path-num:before{position:absolute;z-index:-1;inset:2px;border-radius:inherit;background:var(--paper);content:""}.path-num>span{display:grid;place-items:center;width:100%;height:100%}.path-step.done .path-num:before{background:var(--blue)}.path-step.done .path-num>span{color:#fff}.path-step.needs-review .path-num{background:conic-gradient(#d8636b var(--path-progress),#f0d9dc 0)!important}.path-step.needs-review .path-num>span{color:#b6404a}.path-step.needs-review strong{color:#a43440}.path-step.needs-review small{color:#aa5d64}.dark .path-num:before{background:var(--paper)}.dark .path-step small{color:#9aa9c2}.dark .path-step.needs-review .path-num{background:conic-gradient(#ef7f88 var(--path-progress),#513845 0)!important}.dark .path-step.needs-review .path-num>span,.dark .path-step.needs-review strong{color:#ff9ca4}.dark .path-step.needs-review small{color:#d69ca2}@media(max-width:560px){.project-footer{margin-top:34px;padding-top:18px;font-size:12px}}
.progress-card,.analytics-card{border-color:var(--line);background:var(--panel)}.progress-count{color:var(--muted)}.progress-bar{background:#dce6f4}.metric{border-color:var(--line)}.metric:nth-child(2) i{background:#9fc8fa}.metric:nth-child(3) i{background:#9eacc5}.metric span{color:var(--muted)}.next-action{border-color:var(--line)}.analytics-card>p{color:var(--muted)}.bars{border-color:var(--line)}.bar{color:var(--muted)}.history-row{border-color:var(--line)}.history-row>i:first-child{background:#e9f2ff;color:var(--blue)}.history-row p{color:var(--muted)}.empty-history{color:var(--muted)!important}.dark .progress-card,.dark .analytics-card{border-color:#2b4163;background:#10223a}.dark .progress-count,.dark .metric span,.dark .analytics-card>p,.dark .bar,.dark .history-row p,.dark .empty-history{color:#aab8d3!important}.dark .progress-bar{background:#2c4167}.dark .metric,.dark .next-action,.dark .bars,.dark .history-row{border-color:#304464}.dark .metric:nth-child(2) i{background:#a6cdfc}.dark .metric:nth-child(3) i{background:#6a80a5}.dark .history-row>i:first-child{background:#17345f;color:#79afff}
.practice-page.page-enter{animation:practice-wash 780ms var(--ease-out) both}.practice-page.page-enter>.eyebrow,.practice-page.page-enter>h1,.practice-page.page-enter>.subtitle,.practice-page.page-enter .practice-grid>section,.practice-page.page-enter .word-help,.practice-page.page-enter>.practice-actions{animation:practice-rise 620ms var(--ease-out) both}.practice-page.page-enter>.eyebrow{animation-delay:20ms}.practice-page.page-enter>h1{animation-delay:80ms}.practice-page.page-enter>.subtitle{animation-delay:150ms}.practice-page.page-enter .practice-grid>section{animation-delay:230ms}.practice-page.page-enter .word-help{animation-delay:360ms}.practice-page.page-enter>.practice-actions{animation-delay:470ms}@keyframes practice-wash{from{background:color-mix(in srgb,var(--panel) 82%,var(--blue));filter:saturate(.88)}to{background:transparent;filter:saturate(1)}}@keyframes practice-rise{from{opacity:.18;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.dark .practice-page.page-enter{animation-name:practice-wash-dark}@keyframes practice-wash-dark{from{background:color-mix(in srgb,var(--panel) 76%,#1d569f);filter:saturate(.88)}to{background:transparent;filter:saturate(1)}}@media(prefers-reduced-motion:reduce){.practice-page.page-enter,.practice-page.page-enter>*{animation:none!important;filter:none!important}}
@media(max-width:900px){.author-layout{grid-template-columns:1fr;gap:28px}.author-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 0 0;border-top:1px solid var(--line);border-left:0}.author-stat{min-width:0;padding:0;border-top:0;border-right:1px solid var(--line)}.author-stat:last-child{border-right:0}.author-stat:after{margin-top:8px}.author-heading h1{font-size:44px}.author-role{font-size:17px}.author-topic{font-size:21px}}
@media(min-width:901px) and (max-width:1180px){.author-layout{grid-template-columns:1fr;gap:28px}.author-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px 0 0;border-top:1px solid var(--line);border-left:0}.author-stat{min-width:0;padding:0;border-top:0;border-right:1px solid var(--line)}.author-stat:last-child{border-right:0}.author-stat:after{margin-top:8px}.author-heading h1{font-size:44px}.author-role{font-size:17px}.author-topic{font-size:21px}}
@media(max-width:560px){.author-heading h1{font-size:36px!important;line-height:1.06}.author-role{margin-top:14px;font-size:16px;line-height:1.5}.author-research{grid-template-columns:1fr;gap:12px;margin-top:23px;padding:20px}.author-research-icon{width:40px;height:40px;font-size:21px}.author-topic{font-size:19px;line-height:1.42}.author-stats{gap:8px;margin-top:0;padding-top:18px}.author-stat strong{font-size:42px}.author-stat span{font-size:11px}.author-stat:after{width:27px;height:3px}}
