:root{font-family:Arial,Helvetica,sans-serif;color:#203e3c;background:#f3f6f3;font-size:16px;line-height:1.55;--accent:#17665c;--line:#d9e4de}*{box-sizing:border-box}body{margin:0}header{max-width:1280px;margin:auto;padding:24px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}a{color:var(--accent)}.brand{text-decoration:none;font-size:25px;font-weight:800;letter-spacing:-1px}.brand span{color:#d39b4d}.brand small{font-size:11px;letter-spacing:1px;font-weight:400}small{display:block;color:#677c76}nav,.row,.actions,.tabs,.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav{font-size:13px}nav form{margin:0}main{max-width:1140px;margin:40px auto;padding:0 24px}h1{font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-1.3px;margin:12px 0 20px}h2{font-size:22px;line-height:1.3;margin:0 0 12px}h3{font-size:18px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:bold}.muted{color:#687c75;font-size:14px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:28px;margin:20px 0;box-shadow:0 5px 20px #234b3705}.task-head{display:flex;gap:16px;align-items:center;margin-bottom:24px}.task-head h2{margin:0}.number{display:grid;place-items:center;background:#e9f2eb;color:var(--accent);width:48px;height:48px;border-radius:13px;font-size:20px;font-weight:bold;flex-shrink:0}.reading{background:#f3f7f3;padding:24px;border-left:3px solid #b5cfba;border-radius:8px;margin:18px 0;white-space:normal;overflow-wrap:anywhere}table{width:100%;border-collapse:collapse;table-layout:fixed}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:1px;background:#f1f5f0;color:#536b63}th,td{padding:15px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}td input{width:100%}th:first-child{width:52%}.table-wrap th:first-child{width:18%}input,textarea,select{width:100%;font:inherit;font-size:15px;border:1px solid #c6d5cb;border-radius:9px;padding:11px 12px;background:white;color:#203e3c}textarea{resize:vertical;min-height:88px}input:focus,textarea:focus,select:focus{outline:3px solid #83bda93d;border-color:var(--accent)}input:disabled,textarea:disabled{background:#f6f8f6;color:#41584e;opacity:1}label{display:block;font-size:13px;font-weight:bold;margin:10px 0}label input,label textarea,label select{display:block;margin-top:6px;font-weight:normal}.check{display:flex;gap:10px;align-items:center}.check input{width:auto;margin:0}button,.button{display:inline-block;font:inherit;font-size:14px;font-weight:bold;text-decoration:none;border:1px solid #c7d9ce;border-radius:10px;background:white;color:var(--accent);padding:11px 17px;cursor:pointer;line-height:1.4}button:hover,.button:hover{background:#edf4ee}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#104d46}button:disabled{opacity:.45;cursor:default}.actions{margin:24px 0 12px}.tabs{margin:24px 0}.badge{display:inline-block;padding:5px 11px;border-radius:30px;background:#e7eee9;font-size:12px;white-space:nowrap}.accepted,.success{color:#176342}.accepted{background:#e3f2e6}.submitted{background:#e1edf7;color:#375d7b}.returned{background:#ffecdf;color:#9c5026}.error{color:#ac3c32}.needs-revision{border:2px solid #d58963}.notice{padding:15px 20px;background:#e8f2ed;border-radius:10px;margin:15px 0;font-size:14px}.form-grid,.review-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;align-items:end}.review-fields{grid-template-columns:1fr 2fr;background:#f5f7f3;padding:15px;border-radius:12px;margin-top:20px}.filters{align-items:end;margin:24px 0}.filters label{flex:1;min-width:150px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.chips span{background:#f0f5ed;padding:6px 12px;border-radius:8px;font-size:14px}summary{cursor:pointer;font-weight:bold;padding:10px 0}details details{border-top:1px solid var(--line);margin-top:12px}.cards,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.cards .panel,.grid .panel{margin:0}.login{max-width:460px;margin:60px auto}.result{display:block;font-size:12px;margin-top:4px}.correct td{background:#edf7ed}.incorrect td{background:#fff0eb}.notes-hidden{visibility:hidden}audio{width:100%;margin:12px 0}footer{text-align:center;padding:35px;font-size:12px;color:#73857c}[data-form-message]:not(:empty){padding:18px;border:1px solid var(--line);border-radius:12px;background:white}button:focus-visible,a:focus-visible{outline:3px solid #d1b475;outline-offset:3px}@media(max-width:700px){header{padding:20px;align-items:flex-start;flex-direction:column}main{padding:0 14px;margin:26px auto}.panel{padding:18px}.review-fields{grid-template-columns:1fr}th,td{padding:10px 7px;font-size:14px}.table-wrap{overflow-x:auto}.table-wrap table{min-width:620px}.actions button{flex:1}.reading{padding:17px}.brand{font-size:23px}}

.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.work-grid .panel{margin:0}
/* Shared visual language from the main platform; independent layout. */
:root{--accent:#0879d9;--line:#c8d8e8;color:#071f3f;background:#f2f7fd}body{background:radial-gradient(circle at 8% 2%,#09d9ff1c,transparent 24rem),linear-gradient(180deg,#f8fbff,#edf5fd)}header{max-width:none;background:linear-gradient(118deg,#03152d,#093668);color:white;box-shadow:0 12px 36px #03152d2e}.brand{display:flex;align-items:center;gap:14px;color:white;letter-spacing:-.5px}.brand>img{width:64px;height:64px;border-radius:14px}.brand span{color:white}.brand small{color:#acc5df;letter-spacing:.5px}header nav a{color:#dff8ff}header nav button{color:white;background:#ffffff14;border-color:#09d9ff70}.primary{background:linear-gradient(120deg,#0879d9,#0962ad);color:#fff}.primary:hover{background:#095eaa}button:hover,.button:hover{border-color:#0879d9}.panel{border-radius:16px;border-color:#c8d8e8;box-shadow:0 6px 22px #0936680a}.number{background:#dff8ff;color:#093668;border:1px solid #9deeff}.eyebrow{color:#0965b2}.reading{background:#f0f7ff;border-color:#09b7d5}.notice{background:#e9f8ff}.tabs{min-width:60%}.word-list article{padding:17px 0;border-top:1px solid var(--line)}.word-list strong{font-size:20px;color:#093668}.word-list .ipa{color:#657a94;margin-left:10px}.word-list p{margin:5px 0;font-style:italic}.picture-recall img{display:block;width:100%;max-width:850px;border-radius:12px;margin:16px auto}.picture-recall img[hidden]{display:none}.picture-recall button{margin:8px 0}.schulte-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-width:420px;margin:20px auto}.schulte-grid button{aspect-ratio:1;font-size:24px;padding:8px}.schulte-grid .hit{background:#d9f4e4;color:#086a40;opacity:1}.schulte-grid .miss{background:#ffe0df;color:#ad1728}.training-clock{font-size:40px;text-align:center;font-variant-numeric:tabular-nums}.overtime{color:#b82d3d;animation:blink 1s infinite}@keyframes blink{50%{opacity:.35}}.stroop-word{text-align:center;font-size:54px;font-weight:800;padding:30px}.ink-red{color:#c21d35}.ink-blue{color:#1161d2}.ink-green{color:#147346}.ink-orange{color:#b65b00}.ladder-text{font-size:24px;line-height:2.4;padding:15px;border:1px solid var(--line);border-radius:12px}.ladder-text input{display:inline-block;width:32px;padding:3px;text-align:center;font-size:22px;margin:0 1px}.letter-error{background:#ffe0df!important;border-color:#b82d3d!important}.crossword-scroll{overflow-x:auto}.crossword-grid{width:auto;table-layout:fixed;margin:16px auto}.crossword-grid td{position:relative;width:34px;min-width:34px;height:42px;padding:0;border:1px solid #7a98b6;background:white}.crossword-grid td.blank{background:#16395e;border-color:#16395e}.crossword-grid small{position:absolute;top:0;left:2px;font-size:9px;z-index:1}.crossword-grid input{width:34px;height:40px;padding:8px 1px 0;text-transform:uppercase;text-align:center;border:0;border-radius:0;font-size:18px}.trainer-stage:empty{display:none}.trainer-message{font-weight:bold}.needs-revision{border-color:#d87950}@media(prefers-reduced-motion:reduce){.overtime{animation:none}}@media(max-width:700px){header{padding:15px}.brand{font-size:22px}.schulte-grid{max-width:350px}.ladder-text{font-size:20px}.tabs{width:100%}}
