@charset "UTF-8";
:root{--paper:#f5f6f1;--white:#fff;--ink:#293e32;--muted:#77847b;--blue:#315e46;--blue-dark:#274d38;--line:#e1e7e1;--green:#347663;--soft-green:#ecf4ed;--gold:#bd885b;--radius:20px;--keyboard-height:0px;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,select,summary{touch-action:manipulation}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cca475;outline-offset:4px}input:focus,select:focus{outline:3px solid #accab3;outline-offset:1px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4vw,48px);line-height:1.18;letter-spacing:-1.1px;font-weight:400;margin-bottom:14px}h1 em{color:var(--blue);font-weight:400}h2{font-size:20px;line-height:1.35;font-weight:600;margin-bottom:12px}h3{font-size:16px;font-weight:600}p{margin-bottom:16px}[hidden]{display:none!important}.muted{color:var(--muted);font-size:15px}.eyebrow{font-size:10px;letter-spacing:1.9px;line-height:1.65;font-weight:700;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid transparent;border-radius:10px;min-height:46px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--blue);color:#fff}.primary:hover:not(:disabled){background:var(--blue-dark)}.secondary{border-color:var(--line);background:var(--white)}.secondary:hover:not(:disabled){background:#edf3ec}.light{background:#fff;color:var(--blue)}.text-button{background:none;border:0;padding:7px;color:var(--blue);font-size:13px;min-height:40px}.text-button:hover{text-decoration:underline}.skip-link{position:fixed;z-index:100;left:12px;top:-70px;background:#fff;padding:12px}.skip-link:focus{top:12px}.initial-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--blue);font-family:Georgia,serif;font-size:38px}.initial-loading span{font:14px Arial,sans-serif;color:var(--muted)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:27px Georgia,serif;letter-spacing:-.5px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-size:40px;line-height:1;padding-bottom:5px;font-style:italic}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:1.1px;line-height:2.3;text-transform:uppercase}.brand-button{border:0;background:none;padding:0;text-align:left;color:var(--blue)}
.login-layout{min-height:100vh;display:grid;grid-template-columns:1.04fr 1fr;background:#fff}.login-story{background:var(--blue);color:#fff;min-height:100vh;padding:44px 9%;display:flex;flex-direction:column;overflow:hidden;position:relative}.login-story .brand{color:#fff}.login-story-content{margin:auto 0;padding:50px 0;position:relative;z-index:1}.login-story .eyebrow{color:#d6e5d9;letter-spacing:1.65px;font-size:9px}.login-story h1{color:#fff;font-size:clamp(43px,4.5vw,65px);line-height:1.1;margin-top:24px;letter-spacing:-1.5px}.login-story h1 em{color:#e2c397}.login-story-content>p{color:#d3e2d7;font-size:15px;line-height:1.8;margin-top:28px}.letter-art{display:flex;gap:16px;margin-top:55px;transform:rotate(-8deg);align-items:center}.letter-art span{width:80px;height:100px;background:#ffffff0d;border:1px solid #ffffff24;border-radius:18px;font:74px Georgia,serif;display:grid;place-items:center;color:#dae7dd}.letter-art span:nth-child(2){transform:translateY(15px) rotate(12deg);color:#e2c397}.letter-art span:nth-child(3){transform:rotate(9deg)}.story-foot{margin-bottom:0;font:italic 17px Georgia,serif;color:#d9e5da}.story-foot span{font:10px Arial,sans-serif;color:#adc2b1;margin-left:10px}.login-form-area{display:grid;place-items:center;padding:70px 35px}.login-card{width:min(365px,100%)}.login-card .eyebrow{font-size:9px;letter-spacing:1.65px;margin-bottom:19px;color:var(--gold)}.login-card h2{font:36px Georgia,serif;letter-spacing:-.7px;margin-bottom:17px}.login-card form{margin-top:36px}.login-card label{font-size:12px;font-weight:600;display:block;margin-bottom:9px}.login-card input{height:49px;width:100%;border:1px solid #dce0e1;border-radius:9px;padding:11px 14px;background:#fbfbfa;font-size:15px;min-width:0}.login-card input::placeholder{color:#a5acb2}.login-card #login{margin-bottom:23px}.password-wrap{position:relative}.password-wrap input{padding-right:88px}.password-wrap button{position:absolute;right:6px;top:5px;min-height:39px;font-size:11px;border:0;background:none;color:var(--muted);padding:5px 8px}.login-submit{width:100%;justify-content:space-between;margin-top:27px}.login-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:29px;display:flex;gap:10px;border-top:1px solid #eee;padding-top:21px}.login-note>span{font-size:23px;color:var(--gold)}.form-error{color:#a34b47;font-size:13px;margin:15px 0 0}
.app-header{height:100px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(28px,calc((100vw - 1180px)/2));gap:54px}.app-header .brand{font-size:25px}.app-header .brand-mark{width:39px;height:39px;font-size:36px}.nav-link{background:none;border:0;color:var(--blue);font-size:13px;font-weight:600;padding:10px 3px;border-bottom:2px solid var(--blue)}.account{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px}.account-avatar{width:32px;height:32px;background:#eaf1e9;border-radius:50%;display:grid;place-items:center;color:var(--blue);font:22px Georgia,serif}.account .text-button{color:var(--muted);margin-left:15px;font-size:11px}.page-container{max-width:1180px;margin:auto;padding:48px 28px 34px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.page-heading .eyebrow{margin-bottom:12px;color:var(--gold)}.page-heading h1{font-size:44px}.page-heading p{margin-bottom:0}.heading-greek{font:italic 65px Georgia,serif;color:#e0e7de;transform:rotate(-9deg);margin-right:40px}.dashboard-top{display:grid;grid-template-columns:1.28fr 1fr;gap:24px;margin-bottom:45px}.continue-card{background:var(--blue);border-radius:var(--radius);padding:30px 34px;color:#fff;position:relative;overflow:hidden;min-height:224px}.continue-card .eyebrow{color:#c0d7c4;position:relative;z-index:1}.continue-card h2{font:29px Georgia,serif;margin:15px 0 9px;position:relative;z-index:1}.continue-card p{font-size:13px;color:#d3e3d6;max-width:83%;position:relative;z-index:1}.continue-card .button{font-size:12px;min-height:41px;position:relative;z-index:1}.continue-art{position:absolute;right:13px;bottom:-46px;font:230px Georgia,serif;line-height:1;color:#ffffff0b;transform:rotate(-16deg)}.progress-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;gap:25px;align-items:center}.progress-ring{--percent:0%;width:106px;height:106px;border-radius:50%;background:conic-gradient(var(--green) var(--percent),#edf1ee 0);display:grid;place-items:center;flex-shrink:0;position:relative}.progress-ring::before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}.progress-ring strong{z-index:1;font:28px Georgia,serif;font-weight:400;color:var(--green)}.progress-card .eyebrow{font-size:9px}.progress-card h2{font-size:35px;line-height:1;margin:13px 0 9px;font-weight:400}.progress-card h2 small{font-size:13px;color:var(--muted);font-weight:400}.progress-card p{font-size:12px;color:var(--muted);margin-bottom:22px}.sync-label{font-size:10px;color:var(--green);display:flex;align-items:center;gap:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.section-heading h2{font:27px Georgia,serif;margin-bottom:0}.section-heading>span{font-size:11px;color:var(--muted)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.step-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:24px;display:flex;flex-direction:column;min-height:257px}.step-card.available{border-color:#b7cfbd}.step-card.audio-ready{background:#f2f6f0}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.step-number{font:23px Georgia,serif;color:#b8c3c9}.available .step-number{color:var(--blue)}.step-status{font-size:9px;padding:4px 9px;border-radius:20px;background:#f1f2f0;color:#919798}.available .step-status{color:var(--green);background:var(--soft-green)}.audio-ready .step-status{color:var(--blue);background:#e7f0e7}.step-card h3{font-size:17px;margin:0 0 10px;line-height:1.4;color:var(--ink)}.step-card p{font-size:12px;color:var(--muted);line-height:1.65;flex:1;margin-bottom:20px}.step-card .topics{font-size:10px;color:#9099a0;line-height:1.8;margin-top:-7px;margin-bottom:15px}.step-card .step-action{border:0;background:none;text-align:left;padding:7px 0;font-size:12px;font-weight:600;color:var(--blue);display:flex;justify-content:space-between}.step-card .step-unavailable{font-size:11px;color:#9da4a8;padding:7px 0}.course-footnote{font-size:11px;color:var(--muted);margin:27px 0 0;text-align:center}.app-footer{max-width:1180px;padding:26px 28px;margin:15px auto 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#9ca7ad}.app-footer>span{font:20px Georgia,serif}.app-footer p{font:italic 13px Georgia,serif;margin-bottom:0}.notice{padding:15px 18px;font-size:13px;border-radius:10px;background:#ecf3ea;color:var(--blue)}.notice.error{background:#fff0ec;color:#a34b47}.app-message{max-width:1124px;margin:20px auto 0}.back-link{border:0;background:none;padding:0;color:var(--muted);font-size:12px;display:flex;gap:10px;align-items:center;min-height:40px;margin-bottom:21px}
.practice-page{padding-top:27px}.practice-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px;gap:15px}.practice-heading .eyebrow{color:var(--gold);margin-bottom:9px}.practice-heading h1{font-size:36px;margin:0}.practice-solved{font-size:11px;color:var(--green);background:var(--soft-green);border-radius:25px;padding:8px 14px;white-space:nowrap}.practice-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px}.practice-sidebar{padding-top:20px}.practice-sidebar>.eyebrow{margin-bottom:14px}.set-tabs{display:flex;flex-direction:column;gap:7px;margin-bottom:28px}.set-tab{border:1px solid transparent;border-radius:10px;background:none;text-align:left;padding:13px 12px;display:flex;justify-content:space-between;font-size:12px}.set-tab[aria-pressed="true"]{background:#e7f0e7;border-color:#d8e4d8;color:var(--blue);font-weight:600}.set-tab span{font-size:10px;opacity:.8}.jump-label{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.practice-sidebar select{width:100%;height:42px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px;font-size:12px;color:var(--ink)}.sidebar-tip{margin-top:29px;padding:23px 0 0;border-top:1px solid var(--line)}.sidebar-tip>span{font:35px Georgia,serif;color:var(--gold)}.sidebar-tip h3{font-size:12px;margin:8px 0}.sidebar-tip p,.theory-note{font-size:11px;color:var(--muted);line-height:1.8}.theory-note{padding-top:14px;border-top:1px solid var(--line);margin-top:19px}.save-status{font-size:10px;color:var(--green);margin:0 1px 11px;min-height:16px;text-align:right}.save-status.error{color:#a34b47}.exercise-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 36px;min-height:380px}.exercise-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:27px}.exercise-topline .eyebrow{font-size:9px;color:var(--gold)}.solved-badge{font-size:10px;color:var(--green)}.exercise-instruction{font:25px Georgia,serif;margin-bottom:7px}.exercise-subtitle{font-size:12px;color:var(--muted);margin-bottom:24px}.sentence{font:25px Georgia,"Times New Roman",serif;line-height:2.1;color:#31543d;overflow-wrap:anywhere}.sentence input{width:215px;max-width:100%;height:43px;border:1px solid #cbd9cb;border-bottom:2px solid #8aaf92;border-radius:8px;background:#f4f8f3;padding:3px 10px;margin:0 7px;font:24px Georgia,"Times New Roman",serif;color:var(--blue);text-align:center;vertical-align:baseline}.sentence input::placeholder{font:italic 19px Georgia,serif;color:#9cad9f}.sentence input.correct{border-color:#609b84;background:#f4faf6}.sentence input.incorrect{border-color:#c3897e;background:#fff9f7}.translation{font-size:12px;color:var(--muted);margin:15px 0 11px}.word-hint{font-size:11px;color:#758a79;background:#f0f5f0;display:inline-block;padding:6px 10px;border-radius:7px;margin-bottom:25px}.answer-actions{display:flex;gap:12px;flex-wrap:wrap}.answer-actions .button{min-height:42px;font-size:12px;padding:10px 17px;gap:25px}.answer-actions .secondary{font-size:11px;color:var(--muted)}.answer-feedback{margin-top:23px;font-size:13px;border-radius:8px;padding:13px 16px;background:#fff5ec;color:#a5734b;line-height:1.65}.answer-feedback.correct{background:var(--soft-green);color:var(--green)}.answer-feedback.error{background:#fff0ec;color:#a34b47}.answer-feedback small{display:block;font-size:10px;opacity:.8}.reveal-button{padding-left:0;font-size:12px;margin-top:7px}.correct-answer{font:22px Georgia,serif;color:var(--blue);margin:10px 0 15px}.explanation{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.explanation summary{font-size:12px;color:var(--blue);cursor:pointer;min-height:36px}.explanation p{font-size:13px;color:#657c6b;line-height:1.8;margin:4px 0 0}.audio-bar{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.audio-caption{font-size:10px;color:var(--muted);display:block;margin-bottom:9px}.audio-buttons{display:flex;gap:7px;flex-wrap:wrap}.audio-button{border:1px solid #e1e8de;border-radius:8px;min-height:39px;padding:9px 12px;color:var(--blue);background:#f9fcf8;font-size:11px}.audio-button:hover{background:#e7f0e7}.audio-status{font-size:10px;color:var(--muted);display:block;margin-top:9px;min-height:15px}.exercise-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.exercise-navigation .button{font-size:12px;min-height:41px;padding:10px 16px}.exercise-navigation>span{font-size:11px;color:var(--muted)}.exercise-dots{display:flex;justify-content:center;gap:6px;margin-top:22px;flex-wrap:wrap}.exercise-dot{border:1px solid var(--line);border-radius:7px;background:none;width:32px;height:32px;font-size:10px;color:var(--muted)}.exercise-dot.solved{color:var(--green);background:var(--soft-green);border-color:#d0e3d6}.exercise-dot[aria-current="true"]{color:#fff;background:var(--blue);border-color:var(--blue)}.audio-page h1{margin-top:10px;max-width:700px}.audio-page>.notice{max-width:760px;margin-top:30px}.chant-list{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.chant-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:25px}.chant-card .chant-icon{display:block;font:45px Georgia,serif;color:var(--gold);margin-bottom:15px}.chant-card h2{font:25px Georgia,serif}.chant-card>p{font-size:12px;color:var(--muted)}
.keyboard-panel{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(690px,100%);padding:15px 20px max(12px,env(safe-area-inset-bottom));background:#f7faf5;border:1px solid #cedece;border-radius:19px 19px 0 0;box-shadow:0 -8px 40px #24462b19}.keyboard-top{display:flex;justify-content:space-between;align-items:center}.keyboard-top strong{font:18px Georgia,serif;color:var(--blue)}.keyboard-top strong span{font:10px Arial,sans-serif;color:var(--muted)}.keyboard-top button{min-height:32px;font-size:11px}.keyboard-help{font-size:10px;color:var(--muted);margin:3px 0 12px}.key-row{display:flex;justify-content:center;gap:5px;margin:6px 0}.key-row button{flex:1;max-width:57px;min-width:0;border:1px solid #d6e2d5;background:#fff;box-shadow:0 2px 0 #d9e4d7;border-radius:7px;height:37px;font:22px Georgia,serif;color:var(--blue);padding:0}.key-row button:hover{background:#e7f0e7}.key-row button[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue)}.key-tools{margin-top:11px}.key-tools button{font:17px Arial,sans-serif;max-width:none}.key-tools #key-space{flex:4;font-size:11px}.keyboard-pending{min-height:15px;font-size:10px;color:var(--muted);margin:9px 0 0;text-align:center}.keyboard-open{padding-bottom:var(--keyboard-height)}
@media(min-width:1400px){.login-story{padding-left:14%;padding-right:12%}}
@media(max-width:1000px){.dashboard-top{grid-template-columns:1.1fr 1fr;gap:17px}.continue-card{padding:27px}.progress-card{gap:15px;padding:22px}.progress-ring{width:90px;height:90px}.progress-ring strong{font-size:25px}.steps-grid{grid-template-columns:repeat(2,1fr)}.practice-layout{grid-template-columns:190px minmax(0,1fr);gap:23px}.exercise-card{padding:28px}.sentence{font-size:24px}.app-header{gap:30px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-story{min-height:0;padding:26px 28px 30px}.login-story .brand{font-size:24px}.login-story .brand-mark{width:38px;height:38px;font-size:35px}.login-story-content{padding:32px 0 0}.login-story .eyebrow{font-size:8px}.login-story h1{font-size:37px;line-height:1.14;margin:14px 0}.login-story h1 br{display:none}.login-story h1 em{white-space:nowrap}.login-story-content>p{font-size:12px;line-height:1.7;margin:15px 0 0}.letter-art,.story-foot{display:none}.login-form-area{padding:38px 28px 32px}.login-card{max-width:430px}.login-card .eyebrow{font-size:8px;margin-bottom:13px}.login-card h2{font-size:30px}.login-card .muted{font-size:13px}.login-card form{margin-top:25px}.login-note{margin-bottom:0}.app-header{height:82px;padding:0 20px;gap:18px}.app-header nav{display:none}.app-header .brand{font-size:22px}.app-header .brand small{font-size:7px}.app-header .brand-mark{width:34px;height:34px;font-size:31px}.account{gap:7px;font-size:11px}.account-avatar{display:none}.account .text-button{margin-left:4px;font-size:10px}.page-container{padding:30px 20px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:34px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.page-heading p{font-size:12px;max-width:270px}.heading-greek{font-size:45px;margin-right:0}.dashboard-top{grid-template-columns:1fr;margin-bottom:35px;gap:16px}.continue-card{min-height:210px;padding:26px}.continue-card h2{font-size:28px}.progress-card{padding:21px 25px;gap:22px}.progress-ring{width:85px;height:85px}.progress-card h2{font-size:30px;margin-top:9px}.progress-card p{margin-bottom:12px}.section-heading h2{font-size:25px}.section-heading>span{font-size:10px}.steps-grid{gap:12px}.step-card{padding:19px;min-height:250px}.step-card h3{font-size:15px}.step-card p{font-size:11px}.step-top{margin-bottom:15px}.step-status{font-size:8px;padding:4px 7px}.course-footnote{font-size:10px;text-align:left;line-height:1.8}.app-footer{margin-top:0;padding:24px 20px}.app-footer p{font-size:10px}.app-message{margin:15px 20px 0}.practice-page{padding-top:20px}.back-link{margin-bottom:15px;font-size:11px}.practice-heading{margin-bottom:15px;align-items:flex-start;flex-direction:column;gap:11px}.practice-heading h1{font-size:29px}.practice-heading .eyebrow{font-size:8px}.practice-solved{font-size:10px;padding:6px 12px}.practice-layout{grid-template-columns:1fr;gap:10px}.practice-sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:0;align-items:center}.practice-sidebar>.eyebrow,.sidebar-tip,.theory-note,.jump-label{display:none}.set-tabs{flex-direction:row;margin:0;gap:3px}.set-tab{font-size:11px;padding:11px 10px;white-space:nowrap;min-height:40px}.set-tab span{display:none}.practice-sidebar select{width:91px;font-size:10px;height:39px}.save-status{margin-top:4px;font-size:9px}.exercise-card{padding:25px 22px;border-radius:16px;min-height:350px}.exercise-topline{margin-bottom:23px}.exercise-topline .eyebrow{font-size:8px}.exercise-instruction{font-size:23px}.exercise-subtitle{font-size:11px;margin-bottom:18px}.sentence{font-size:23px;line-height:2.1}.sentence input{font-size:23px;width:190px;height:41px;margin:0 4px}.translation{font-size:11px;line-height:1.7}.word-hint{font-size:10px;line-height:1.7;margin-bottom:20px}.answer-actions{gap:9px}.answer-actions .button{font-size:11px;padding:10px 14px;gap:16px}.answer-actions .secondary{font-size:10px}.answer-feedback{font-size:12px}.explanation p{font-size:12px}.exercise-navigation{margin-top:18px}.exercise-navigation .button{font-size:11px}.audio-page h1{font-size:31px}.chant-list{grid-template-columns:1fr}.keyboard-panel{padding:12px 12px max(10px,env(safe-area-inset-bottom))}.keyboard-top strong span{display:none}.keyboard-help{font-size:9px}.key-row{gap:4px}.key-row button{font-size:20px;height:36px;border-radius:6px}.keyboard-pending{font-size:9px}.desktop-break{display:none}}
@media(max-width:430px){.heading-greek{display:none}.steps-grid{grid-template-columns:1fr}.step-card{min-height:0;padding:22px}.step-card h3{font-size:17px}.step-card p{font-size:12px;margin-bottom:15px}.step-card .topics{font-size:10px}.step-card .step-action{font-size:12px}.step-top{margin-bottom:16px}.progress-card{padding:20px;gap:20px}.account #account-name{max-width:100px;overflow:hidden;text-overflow:ellipsis}.brand small{letter-spacing:.6px}.exercise-card{padding:23px 18px}.sentence input{width:165px}.answer-actions .button{padding:10px 12px;gap:15px}.answer-actions .secondary{font-size:9px}.set-tab{font-size:10px;padding:10px 9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:20px;background:var(--white);color:var(--muted);font-size:11px;min-height:38px;padding:8px 13px;white-space:nowrap}.theme-toggle:hover{color:var(--blue);border-color:var(--blue)}.login-form-area{position:relative}.login-form-area>.theme-toggle{position:absolute;top:25px;right:28px}.account .theme-toggle{margin-right:12px}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;--paper:#141d19;--white:#1b2a23;--ink:#e8eee8;--muted:#a7b5ab;--blue:#abd1b6;--blue-dark:#3e6b50;--line:#32473b;--green:#acd0b6;--soft-green:#263e30;--gold:#cfb28a}
html[data-theme="dark"] .login-layout,html[data-theme="dark"] .app-header,html[data-theme="dark"] .skip-link,html[data-theme="dark"] .progress-ring::before,html[data-theme="dark"] .progress-card,html[data-theme="dark"] .step-card,html[data-theme="dark"] .exercise-card,html[data-theme="dark"] .chant-card,html[data-theme="dark"] .practice-sidebar select{background:var(--white)}
html[data-theme="dark"] .login-story,html[data-theme="dark"] .continue-card{background:#1e3b2b}
html[data-theme="dark"] .primary{background:#abd1b6;color:#193627}html[data-theme="dark"] .primary:hover:not(:disabled){background:#bfdfc7}
html[data-theme="dark"] .light{background:#dcebdd;color:#274732}html[data-theme="dark"] .secondary:hover:not(:disabled){background:#294232}
html[data-theme="dark"] .login-card input{background:#15221a;border-color:#405347;color:var(--ink)}html[data-theme="dark"] .login-card input::placeholder{color:#93a99a}html[data-theme="dark"] .login-note{border-color:var(--line)}
html[data-theme="dark"] .account-avatar{background:#2a4232;color:var(--blue)}html[data-theme="dark"] .heading-greek{color:#3b4f40}
html[data-theme="dark"] .progress-ring{background:conic-gradient(var(--green) var(--percent),#2d4434 0)}
html[data-theme="dark"] .step-card.available{border-color:#587460}html[data-theme="dark"] .step-card.audio-ready{background:#1d2f24}html[data-theme="dark"] .step-number{color:#8fa395}
html[data-theme="dark"] .step-status{background:#2b3a30;color:#b2c2b7}html[data-theme="dark"] .available .step-status{color:var(--green);background:var(--soft-green)}html[data-theme="dark"] .audio-ready .step-status{color:var(--blue);background:#2c4433}
html[data-theme="dark"] .step-card .topics,html[data-theme="dark"] .step-card .step-unavailable,html[data-theme="dark"] .app-footer{color:#a5b4ab}
html[data-theme="dark"] .notice{background:#2a4233;color:#c3dcc9}html[data-theme="dark"] .notice.error,html[data-theme="dark"] .answer-feedback.error{background:#422b2c;color:#efb2a5}html[data-theme="dark"] .form-error,html[data-theme="dark"] .save-status.error{color:#efb2a5}
html[data-theme="dark"] .set-tab[aria-pressed="true"]{background:#2a4233;border-color:#4c6353;color:var(--blue)}html[data-theme="dark"] .sentence{color:#d1e5d5}html[data-theme="dark"] .sentence input{background:#17291d;border-color:#516f59;color:#dceee0}html[data-theme="dark"] .sentence input::placeholder{color:#9ab39f}
html[data-theme="dark"] .sentence input.correct{background:#1c352b;border-color:#64967d}html[data-theme="dark"] .sentence input.incorrect{background:#382b2b;border-color:#aa786c}
html[data-theme="dark"] .word-hint{background:#263c2d;color:#b5cabc}html[data-theme="dark"] .answer-feedback{background:#3b332b;color:#e4bd91}html[data-theme="dark"] .answer-feedback.correct{background:var(--soft-green);color:var(--green)}html[data-theme="dark"] .explanation p{color:#b9cdc0}
html[data-theme="dark"] .audio-button{background:#233c2b;border-color:#48654f;color:var(--blue)}html[data-theme="dark"] .audio-button:hover{background:#2e4d37}
html[data-theme="dark"] .exercise-dot.solved{border-color:#3a6150}html[data-theme="dark"] .exercise-dot[aria-current="true"]{background:#abd1b6;border-color:#70927a;color:#193627}
html[data-theme="dark"] .keyboard-panel{background:#1c2f23;border-color:#4b6853;box-shadow:0 -8px 40px #0004}html[data-theme="dark"] .key-row button{background:#2b4733;border-color:#536f59;box-shadow:0 2px 0 #142b1b;color:#d9ecde}html[data-theme="dark"] .key-row button:hover{background:#365b40}html[data-theme="dark"] .key-row button[aria-pressed="true"]{background:#91ba9c;border-color:#9ec6a8;color:#193627}
@media(max-width:760px){.login-form-area{padding-top:86px}.login-form-area>.theme-toggle{top:21px;right:28px}.account .theme-toggle{margin-right:0;padding:7px 10px;font-size:9px;min-height:34px}.app-header{padding:0 16px}.account{gap:5px}.app-header .brand small{display:none}}
@media(max-width:430px){.app-header .brand{font-size:20px;gap:7px}.app-header .brand-mark{width:29px;height:29px;font-size:27px}.account #account-name{max-width:70px}.account .text-button{padding:7px 3px}}
