#practice-title:focus-visible,#practice-feedback:focus-visible{outline:2px solid #88a76e;outline-offset:5px;border-radius:4px}
.execution-banner{display:flex;align-items:flex-start;gap:22px;border:1px solid #dce6d4;background:#edf3e7;padding:19px 22px;border-radius:7px;margin:0 0 25px;color:#6d835c}
.execution-label{display:flex;gap:7px;align-items:center;font-size:10px;font-weight:600;white-space:nowrap;min-width:135px;padding-top:2px}.execution-label>.icon{width:16px;height:16px}
.execution-banner strong{font-size:12px;font-weight:600;color:#526e40}.execution-banner p{font-size:11px;line-height:1.8;margin-top:5px;color:#7c8f6e}.execution-banner p b{font-weight:600}
.practice-entry{display:flex;align-items:center;gap:18px;padding:23px;border:1px solid #dfe8d5;border-radius:8px;background:#f0f5e8;margin:23px 0;color:#6a8853}.practice-entry:hover{background:#eaf2df}.practice-entry .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:8px}.practice-entry h3{font-size:18px;color:#4f6c3d}.practice-entry p{font-size:11px;margin-top:7px;line-height:1.8}.practice-entry small{display:block;margin-top:9px;font-size:9px;color:#8b9e7b}.practice-entry>.icon{margin-left:auto;width:17px;height:17px}.practice-entry>.stat-icon{width:43px;height:43px;background:#e1eccf}
.chapter-preparation{padding:23px;margin:26px 0 3px;border:1px solid #e1e8d9;background:#fafcf6;border-radius:7px}.chapter-preparation>.eyebrow{font-size:7px;letter-spacing:1.3px}.chapter-preparation>h2{font-size:18px;margin-bottom:13px;line-height:1.5}.chapter-preparation>p{font-size:13px;color:#6a8057;line-height:1.85}.prerequisite-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.prerequisite-links>strong{font-size:10px;color:#83966e;width:100%;font-weight:600;margin-bottom:3px}.prerequisite-links>a{font-size:9px;padding:6px 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid #e0e8d6;border-radius:4px;background:#fff;color:#7d9268;line-height:1.6}.prerequisite-links>a:hover{background:#eaf2df}.prerequisite-links .icon{width:11px;height:11px}.prerequisite-links>span{font-size:11px;color:#98a78b}.chapter-preparation>.chapter-scope{font-size:10px;margin-top:17px;color:#94a487;line-height:1.85}.chapter-scope>b{font-weight:500}.chapter-vocabulary{border-top:1px solid #e4ebda;margin-top:18px;padding-top:16px}.chapter-vocabulary summary{font-size:11px;color:#7d9566;cursor:pointer}.chapter-vocabulary dl{display:grid;grid-template-columns:1fr 1fr;gap:17px 23px;margin:20px 0 0}.chapter-vocabulary dt{font-size:11px;font-weight:600;color:#657f4f;margin-bottom:5px}.chapter-vocabulary dd{font-size:11px;line-height:1.8;margin:0;color:#8c9c7c}
.practice-intro{display:flex;align-items:center;gap:20px;padding:25px 27px;border:1px solid #dde7d1;border-radius:8px;background:#eaf1e0;margin:0 0 25px}.practice-intro>.stat-icon{height:46px;width:46px;font-size:16px;font-weight:500;background:#dce8c9}.practice-intro h2{font-size:20px;margin-bottom:8px;color:#4f6c3d}.practice-intro p{font-size:12px;color:#81946e;max-width:710px;line-height:1.9}.practice-progress{font-size:11px;color:#78945b;white-space:nowrap;margin-left:auto}
.practice-layout{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px}.practice-steps{position:sticky;top:22px;display:flex;flex-direction:column;gap:8px}.practice-steps>button{display:flex;align-items:flex-start;gap:12px;padding:15px 13px;border:1px solid transparent;border-radius:7px;text-align:left;line-height:1.6}.practice-steps>button>span:first-child{font-size:10px;display:grid;place-items:center;width:25px;height:25px;background:#eaf0e1;color:#8ca576;border:1px solid #dfe8d3;border-radius:50%;flex-shrink:0}.practice-steps strong{font-size:11px;font-weight:550;color:#748c5e}.practice-steps small{display:block;font-size:9px;color:#98a78a;margin-top:4px}.practice-steps>button[aria-current]{background:#fff;border-color:#e0e7d7}.practice-steps>button[aria-current]>span:first-child{background:#618548;color:#fff;border-color:#618548}.practice-steps>button:disabled{opacity:.5;cursor:default}.practice-steps>a{font-size:10px;margin:15px 13px;color:#8fa17b}.practice-panel{padding:30px;min-width:0}.practice-panel>header{padding-bottom:22px;border-bottom:1px solid #e5ebdc;margin-bottom:24px}.practice-panel>header h2{font-size:27px;color:#3d5a30;line-height:1.3;margin:0 0 12px}.practice-panel>header>p{font-size:12px;color:#91a27f}.practice-instruction{font-size:13px;color:#7d916a;line-height:1.95;margin:0 0 25px}.practice-instruction strong{font-weight:600}.practice-instruction code{font-size:12px;color:#6e8958;background:#f0f5e8;padding:2px 5px;border-radius:3px}.practice-source{margin:20px 0 25px;border:1px solid #e2e9d9;border-radius:7px;overflow:hidden}.practice-source-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 19px;background:#f5f8ef}.practice-source-heading h3{font-size:15px;color:#6c8656}.practice-source>p{font-size:12px;color:#8a9b78;line-height:1.9;padding:17px 19px}.practice-source blockquote{background:#fbfaf5;border-left:2px solid #c8d6b7;color:#9ba489;font-size:11px;line-height:1.8;margin:0 19px 19px;padding:12px 15px}.practice-table{margin:0;font-size:11px}.practice-table caption{text-align:left;padding:10px 18px 15px;color:#99a88a;font-size:9px;line-height:1.8}.practice-table th{font-size:10px;color:#839a6c}.practice-table th,.practice-table td{padding:12px 18px}.practice-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:19px;border-top:1px solid #e6ecde;background:#fafcf7}.practice-field{display:flex;flex-direction:column;gap:9px;margin:18px 0;font-size:12px;color:#71895d;font-weight:500;line-height:1.85;min-width:0}.practice-field-grid>.practice-field{margin:0}.practice-field select{appearance:auto;width:100%;max-width:100%;min-width:0;color:#7f936d;background:#fff;border:1px solid #dbe5cf;border-radius:5px;padding:12px 30px 12px 11px;font-size:11px;line-height:1.7;cursor:pointer}.practice-field select:focus-visible{outline:3px solid #91ad77;outline-offset:2px}.practice-json{padding:18px 19px;margin:0 19px 20px;background:#263e33;border-radius:5px;color:#cbddbb;overflow-x:auto;font:11px/2 Consolas,monospace}.practice-schema{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:22px;background:#f1f5ea;border:1px solid #e0e8d5;border-radius:6px;margin-bottom:25px}.practice-schema>span{font-size:9px;color:#8da17b;letter-spacing:.8px;line-height:1.8}.practice-schema>code{font-size:12px;color:#5f7d49;text-align:right;overflow-wrap:anywhere}.practice-contract{padding:20px 23px;margin:21px 0;background:#f7f4e9;border:1px solid #e9e2ca;border-radius:6px;color:#95865e}.practice-contract strong{font-size:12px;color:#85764d;font-weight:600}.practice-contract p{font-size:12px;line-height:1.95;margin-top:10px}.practice-selection{padding:0;border:1px solid #e1e8d7;border-radius:6px;min-width:0;margin:23px 0}.practice-selection>legend{font-size:12px;color:#7e9569;padding:0 10px;margin-left:10px;line-height:1.8}.row-checkbox{display:flex;align-items:center;justify-content:center;padding:3px;cursor:pointer}.row-checkbox input,.practice-rules input{accent-color:#5e8446;width:17px;height:17px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.practice-rules{border:0;min-width:0;padding:0;margin:0 0 25px}.practice-rules>legend{font-size:12px;color:#71885c;margin-bottom:16px;font-weight:600}.practice-rules>label{display:flex;align-items:flex-start;gap:12px;border:1px solid #e0e8d5;padding:17px;border-radius:6px;margin:12px 0;font-size:13px;color:#75905e;line-height:1.8;cursor:pointer}.practice-rules small{display:block;font-size:11px;color:#97a888;margin-top:3px}.practice-rules label:has(input:checked){background:#f0f5e8;border-color:#aec396}.comparison-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0 16px}.comparison-cards>div{padding:22px;background:#f8f9f4;border:1px solid #e6ebde;border-radius:6px}.comparison-cards>div:last-child{background:#edf4e4;border-color:#dce8cc}.comparison-cards span{font-size:8px;letter-spacing:1.2px;color:#91a17e}.comparison-cards h3{font-size:26px;color:#648049;font-weight:550;margin:14px 0 10px}.comparison-cards p{font-size:11px;line-height:1.9;color:#94a384}.comparison-note{font-size:10px;color:#95a587;line-height:1.9;margin:0 0 24px}.comparison-bars{padding:21px;border:1px solid #e1e9d7;border-radius:6px;margin:20px 0}.comparison-bars h3,.practice-rejections h3{font-size:13px;color:#768f60;font-weight:550;margin:0 0 20px}.comparison-bars>div{display:flex;align-items:center;gap:14px;margin:15px 0;font-size:10px}.comparison-bars>div>span{width:75px;color:#91a47e}.comparison-bars>div>div{height:7px;background:#edf2e6;border-radius:4px;flex:1;overflow:hidden}.comparison-bars i{display:block;height:100%;background:#94b67b;border-radius:4px}.comparison-bars strong{font-weight:500;color:#75925e;min-width:85px;text-align:right}.practice-rejections{padding:19px;background:#faf8f1;border:1px solid #ece5d4;border-radius:6px;margin:20px 0}.practice-rejections h3{color:#a28d60;margin-bottom:15px}.practice-rejections>p{font-size:11px;color:#a79b7c}.practice-rejections ul{padding:0;margin:0;list-style:none}.practice-rejections li{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;color:#a2926c;padding:10px 0;border-top:1px solid #ece5d6}.practice-rejections strong{font-weight:500}.practice-rejections li span{font-size:10px;text-align:right}.practice-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e6ecdf;padding-top:24px;margin-top:27px}.practice-actions>div{display:flex;gap:10px}.practice-save-note{font-size:10px!important;line-height:1.9;margin-top:20px;color:#a1af95!important}.practice-panel .error-message ul,.practice-panel .success-message ul{list-style:none;padding:0;margin:15px 0 0}.practice-panel .error-message li,.practice-panel .success-message li{display:flex;gap:10px;font-size:11px;line-height:1.9;margin:9px 0}.practice-finished{text-align:center;background:#edf4e4;border:1px solid #d7e7c6;padding:30px 25px;border-radius:7px;margin:25px 0;color:#7c9765}.practice-finished>span{display:grid;place-items:center;height:40px;width:40px;background:#d9e8c8;border-radius:50%;margin:0 auto 18px;font-size:18px}.practice-finished h2{font-size:22px;color:#587741}.practice-finished p{font-size:12px;line-height:1.9;margin:16px 0 22px}.practice-reset-confirm{margin-top:23px;border:1px solid #e7dfc8;padding:20px;background:#faf7ef;border-radius:6px}.practice-reset-confirm p{font-size:12px;color:#a09068;line-height:1.8;margin-bottom:17px}.practice-reset-confirm .button{margin:5px 7px 5px 0}
@media(max-width:1190px){.practice-layout{grid-template-columns:180px minmax(0,1fr);gap:17px}.practice-panel{padding:24px}.practice-steps>button{gap:9px;padding:12px 9px}.practice-steps strong{font-size:10px}.practice-steps small{font-size:8px}.practice-field-grid{grid-template-columns:1fr}.execution-banner{gap:15px;padding:18px}.execution-label{min-width:115px;font-size:9px}.comparison-cards{gap:10px}.comparison-cards>div{padding:18px}.comparison-cards h3{font-size:23px}.comparison-bars{padding:18px}.comparison-bars>div{gap:9px}.comparison-bars>div>span{width:65px}.comparison-bars strong{min-width:76px;font-size:9px}.practice-intro{padding:23px}.practice-intro p{font-size:11px}.practice-progress{font-size:10px}}
@media(max-width:980px){.practice-layout{grid-template-columns:1fr;gap:20px}.practice-steps{position:static;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.practice-steps>button{flex-direction:column;align-items:center;gap:9px;text-align:center;padding:13px 6px}.practice-steps>button>span:first-child{width:26px;height:26px}.practice-steps strong{font-size:9px}.practice-steps small{display:none}.practice-steps>a{display:none}.practice-panel{padding:28px}.practice-field-grid{grid-template-columns:1fr 1fr}.execution-banner{flex-direction:column;gap:12px}.execution-label{min-width:0}.chapter-vocabulary dl{gap:17px}.practice-intro{flex-wrap:wrap}.practice-intro>div{flex:1}.practice-intro>.practice-progress{margin-left:66px;margin-top:-8px}.practice-entry{padding:21px;gap:15px}}
@media(max-width:540px){.execution-banner{padding:17px;margin-bottom:22px}.execution-banner p{font-size:10px;line-height:1.9}.execution-banner strong{font-size:11px;line-height:1.8}.execution-label{font-size:9px}.practice-entry{padding:19px 16px;gap:12px;align-items:flex-start}.practice-entry h3{font-size:16px;line-height:1.5}.practice-entry .eyebrow{font-size:6px;line-height:1.8;letter-spacing:1px}.practice-entry p{font-size:10px}.practice-entry small{font-size:8px}.practice-entry>.stat-icon{width:29px;height:29px}.practice-entry>.stat-icon .icon{width:15px;height:15px}.practice-entry>.icon{width:13px;margin-top:6px}.chapter-preparation{padding:20px 17px;margin-top:24px}.chapter-preparation>h2{font-size:17px}.chapter-preparation>p{font-size:12px;line-height:1.9}.chapter-preparation>.chapter-scope{font-size:9px}.chapter-vocabulary dl{grid-template-columns:1fr;gap:15px}.chapter-vocabulary dd{font-size:11px}.prerequisite-links>a{font-size:9px}.practice-intro{padding:21px 18px;gap:14px}.practice-intro>.stat-icon{width:34px;height:34px;font-size:12px;align-self:flex-start}.practice-intro h2{font-size:17px;line-height:1.5}.practice-intro p{font-size:11px;line-height:1.85}.practice-intro>.practice-progress{margin-left:48px;font-size:10px}.practice-steps{gap:4px}.practice-steps strong{font-size:8px;line-height:1.7;font-weight:400}.practice-steps>button{padding:11px 4px;gap:7px}.practice-steps>button>span:first-child{width:24px;height:24px;font-size:9px}.practice-panel{padding:23px 16px}.practice-panel>header h2{font-size:24px;line-height:1.4}.practice-panel>header>p{font-size:11px}.practice-instruction{font-size:12px;line-height:1.95}.practice-source-heading{padding:16px 14px;align-items:flex-start}.practice-source-heading h3{font-size:13px;line-height:1.6}.practice-source-heading .small-badge{font-size:6px;letter-spacing:.5px;padding:4px 5px}.practice-source>p{padding:16px 14px;font-size:11px}.practice-field-grid{grid-template-columns:1fr;gap:19px;padding:17px 14px}.practice-field{font-size:11px;margin:19px 0;line-height:1.8}.practice-field select{font-size:11px;padding:12px 24px 12px 10px}.practice-table caption{padding:9px 13px;font-size:8px;line-height:1.9}.practice-table td,.practice-table th{padding:11px 13px;font-size:10px}.practice-table th{font-size:9px}.practice-json{margin:0 13px 17px;padding:15px 12px;font-size:10px;line-height:1.9}.practice-source blockquote{margin:0 13px 17px;font-size:10px;padding:12px}.practice-contract{padding:18px 17px}.practice-contract p{font-size:11px;line-height:1.9}.practice-contract strong{font-size:11px}.practice-schema{padding:18px;gap:14px 10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-schema>span{font-size:8px}.practice-schema>code{font-size:11px;align-self:center}.practice-selection>legend{font-size:11px;padding:0 7px}.practice-rules label{padding:15px 12px;gap:10px;font-size:12px}.practice-rules small{font-size:10px;line-height:1.8}.practice-rules>legend{font-size:11px}.comparison-cards{grid-template-columns:1fr;gap:12px}.comparison-cards>div{padding:21px}.comparison-cards h3{font-size:27px}.comparison-cards p{font-size:11px}.comparison-cards span{font-size:8px}.comparison-note{font-size:10px;line-height:1.9}.comparison-bars{padding:18px 14px}.comparison-bars h3,.practice-rejections h3{font-size:12px;line-height:1.7}.comparison-bars>div{gap:8px;font-size:9px}.comparison-bars>div>span{width:64px}.comparison-bars strong{font-size:9px;min-width:74px}.practice-rejections{padding:17px 14px}.practice-rejections li{align-items:flex-start;flex-direction:column;gap:6px;font-size:10px}.practice-rejections li span{font-size:10px;text-align:left}.practice-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}.practice-actions>div{display:flex;gap:10px}.practice-actions>div>.button{flex:1;min-width:0;font-size:10px;padding:11px 10px}.practice-actions>.button{font-size:10px}.practice-panel .error-message,.practice-panel .success-message{padding:17px 14px}.practice-panel .error-message li,.practice-panel .success-message li{font-size:10px;gap:8px;line-height:1.9}.practice-panel .error-message strong,.practice-panel .success-message strong{font-size:11px}.practice-finished{padding:25px 18px}.practice-finished h2{font-size:21px}.practice-finished p{font-size:11px}.practice-save-note{font-size:9px!important}.practice-reset-confirm{padding:17px}.practice-reset-confirm p{font-size:11px}.practice-reset-confirm>.button{width:100%;margin:5px 0;font-size:10px}}
@media(max-width:540px){.practice-intro{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px}.practice-intro>div{min-width:0}.practice-intro>.practice-progress{grid-column:2;margin:0;justify-self:start}}
