:root{color:#192c36;font-synthesis:none;--ink:#192c36;--muted:#586a80;--line:#dce3ec;--green:#187b78;--blue:#176f71;background:#f4f6f9;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button{background:var(--ink);color:#fff;cursor:pointer;text-align:center;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:11px 19px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{filter:brightness(1.14)}button:disabled{opacity:.55;cursor:default}a{color:var(--ink);text-underline-offset:4px}a:hover{color:var(--blue)}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #bfcbda;border-radius:7px;min-height:46px;padding:11px 12px}textarea{resize:vertical}label{margin:12px 0;font-size:.875rem;font-weight:600;display:block}label input,label select,label textarea{margin-top:6px;font-weight:400}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--green);flex:none;margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #288e8a}h1,h2,h3,p{margin:0 0 14px}h1{letter-spacing:-1.6px;font-size:clamp(2rem,3.3vw,3.1rem);font-weight:650;line-height:1.13}h2{letter-spacing:-.4px;font-size:1.3rem}h3{font-size:1.1rem}p{line-height:1.65}.muted{color:var(--muted)}.small{font-size:.875rem}.accent{color:var(--green)}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 max(5vw,24px);display:flex}.brand{letter-spacing:-1px;align-items:center;gap:10px;font-size:1.65rem;font-weight:750;text-decoration:none;display:flex}.brand span{border-left:1px solid var(--line);letter-spacing:1.2px;color:var(--muted);margin-left:24px;padding-left:24px;font-size:.65rem;font-weight:600}nav{align-items:center;gap:28px;font-size:.875rem;font-weight:600;display:flex}nav a{text-decoration:none}main{max-width:1340px;min-height:calc(100vh - 162px);margin:auto;padding:48px 40px 64px}footer{border-top:1px solid var(--line);color:var(--muted);background:#fff;justify-content:space-between;padding:22px 5vw;font-size:.8rem;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin:10px 0 34px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--green);margin-bottom:16px;font-size:.75rem;font-weight:750}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:26px}.metrics{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:36px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:8px;padding:24px;display:flex}.metrics span{color:var(--muted);font-size:.875rem}.metrics strong{font-size:2.4rem;line-height:1.2}.metrics small{color:var(--muted);font-size:1rem;font-weight:400}.section-heading,.row{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading{margin-bottom:20px}.section-heading h2,.section-heading h3{margin:0}.inline{align-items:center;gap:12px;margin:0;display:flex}.inline select{width:auto}.test-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.test-card{padding:24px 24px 0;overflow:hidden}.test-card h3{margin-top:28px;font-size:1.5rem}.test-card h3 a{text-decoration:none}.pill{letter-spacing:.7px;color:#34547c;background:#edf3fa;border-radius:5px;padding:6px 9px;font-size:.7rem;font-weight:700;display:inline-block}.status{border:1px solid var(--line);color:var(--muted);border-radius:30px;padding:4px 10px;font-size:.75rem}.status.started{color:#146549;background:#e4f6ee;border-color:#b3d8c8}.test-meta{color:var(--muted);gap:14px;padding:20px 0;font-size:.8rem;display:flex}.card-bottom{border-top:1px solid var(--line);background:#fafbfd;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 -24px;padding:15px 24px;font-size:.85rem;display:flex}.card-bottom a{font-weight:600;text-decoration:none}.tip{border-left:3px solid var(--green);margin-top:32px;padding:12px 20px}.tip p{color:var(--muted);margin:5px 0;font-size:.875rem}.empty{text-align:center;background:#fff;border:1px dashed #bfcbda;border-radius:12px;padding:56px 20px}.empty p{color:var(--muted);max-width:480px;margin:0 auto 24px}.empty-icon{background:#e9f1fa;border-radius:12px;margin-bottom:20px;padding:12px 18px;font-size:1.7rem;display:inline-block}.secondary{color:var(--ink);background:#fff;border-color:#bfcbda}.quiet{color:var(--muted);background:0 0;border-color:#0000;padding:8px 12px}.danger{color:#a52d22;background:#fff4f2;border-color:#edc6c0}.stack{flex-direction:column;gap:24px;display:flex}.compact{gap:10px}.compact label{margin:3px 0}.editor-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:4px 18px;display:grid}.grade-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.check{align-items:center;gap:10px;font-size:.875rem;font-weight:400;display:flex}.review{background:#ecf6f1;border-radius:8px;margin-top:20px;padding:16px}.actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.file-button{margin:0;font-size:.875rem;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.file-button:focus-within{outline-offset:3px;outline:3px solid #288e8a}.workflow{border-bottom:1px solid var(--line);color:var(--green);gap:32px;margin-bottom:28px;padding-bottom:24px;font-size:.875rem;display:flex}.workflow b{color:var(--ink);margin-left:8px}.back{margin-bottom:24px;font-size:.875rem;display:inline-block}.vocab-row{border-bottom:1px solid var(--line);padding:12px 0}.vocab-main{grid-template-columns:20px 1fr 1fr 36px;align-items:center;gap:10px;display:grid}.vocab-main button{padding:4px;font-size:1.5rem}.vocab-row details{color:var(--muted);margin-top:8px;padding-left:30px;font-size:.8rem}summary{cursor:pointer;padding:6px 0}.question-editor{border:1px solid var(--line);background:#fafbfd;border-radius:8px;margin-top:24px;padding:20px}.savebar{border:1px solid var(--line);z-index:2;background:#fffffffa;border-radius:10px;justify-content:space-between;align-items:center;margin:30px 0;padding:16px 22px;font-size:.875rem;display:flex;position:sticky;bottom:12px;box-shadow:0 5px 25px #192c3612}.publish{margin-top:24px}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:.75}.notice{color:#fff;z-index:20;background:#175e4c;border-radius:9px;max-width:min(90vw,660px);padding:16px 24px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 35px #0002}.notice.error{background:#923629}.notice[hidden]{display:none}.auth{max-width:510px;margin:40px auto}.auth .panel{margin:28px 0}.auth .stack{gap:10px}.join-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:72px;max-width:1100px;margin:9vh auto;display:grid}.join-layout h1{letter-spacing:-2px;font-size:clamp(2.5rem,4vw,3.8rem);line-height:1.12}.lead{color:var(--muted);margin-top:25px;font-size:1.1rem}.join-card{border-top:4px solid var(--green);padding:38px;box-shadow:0 12px 40px #192c3607}.join-card h2{margin:28px 0}.join-card button{width:100%;margin:14px 0}.code-input{text-transform:uppercase;letter-spacing:3px;padding:16px;font-family:ui-monospace,monospace;font-size:1.5rem}.steps{color:var(--muted);flex-direction:column;gap:14px;margin-top:35px;font-size:.875rem;display:flex}.steps b{color:var(--green);margin-right:12px;display:inline-block}.student-heading{justify-content:space-between;gap:20px;max-width:780px;margin:0 auto 25px;display:flex}.student-heading h1{font-size:2rem}.timer{background:var(--ink);color:#fff;text-align:center;border-radius:10px;min-width:150px;height:max-content;padding:12px 20px}.timer span{font-size:.75rem;display:block}.timer strong{font-variant-numeric:tabular-nums;font-size:1.6rem}.student-form,.progress,.progress-caption{max-width:780px;margin:auto}.progress{background:#dce5ed;border-radius:4px;height:6px;overflow:hidden}.progress>div{background:var(--green);height:100%;transition:width .3s}.progress-caption{color:var(--muted);margin:12px auto 28px;font-size:.8rem}.student-question{margin:18px 0;padding:28px}.question-number{color:var(--green);font-size:1rem;font-weight:700}.prompt{margin:18px 0;font-size:1.2rem;line-height:1.6}.student-question>input{font-size:1.1rem}.answer-option{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:14px;padding:15px;font-size:1rem;font-weight:400;display:flex}.answer-option:has(input:checked){border-color:var(--green);background:#e9f5f0}.submit-panel{text-align:right;margin:28px 0}.submit-panel p{color:var(--muted);font-size:.875rem}.result-page{text-align:center;max-width:720px;margin:25px auto}.result-page h1{margin:24px 0}.score-circle{border:12px solid #d0eadf;border-top-color:var(--green);border-radius:50%;flex-direction:column;justify-content:center;width:240px;height:240px;margin:36px auto;display:flex}.score-circle strong{font-size:4.4rem;line-height:1.2}.score-circle span{color:var(--muted)}.result-stats{justify-content:center;gap:70px;margin:24px;display:flex}.result-stats div{flex-direction:column;display:flex}.result-stats strong{font-size:2.2rem}.result-stats span{color:var(--muted);font-size:.875rem}.answers{text-align:left;gap:16px;margin:30px 0;display:grid}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:15px 12px}th{color:var(--muted);background:#f6f8fb;font-size:.8rem}th button{color:var(--muted);background:0 0;min-height:30px;padding:0;font-size:.8rem}td button.link{color:var(--blue);background:0 0;min-height:30px;padding:0}.grade{background:#eaf0f7;border-radius:6px;padding:5px 13px;display:inline-block}.analysis-grid{grid-template-columns:1.5fr 1fr;gap:24px;margin:24px 0;display:grid}.analysis-item{border-bottom:1px solid var(--line);padding:17px 0}.analysis-item p{margin:4px 0}.analysis-item meter{width:100%;height:14px;margin:8px 0;display:block}.analysis-item .row{font-size:.875rem}meter::-webkit-meter-optimum-value{background:var(--green)}.distribution-row{align-items:center;gap:16px;padding:12px 0;font-size:.875rem;display:flex}.distribution-row meter{flex:1;height:18px}.distribution-row b{min-width:24px}dl{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;padding-top:24px;font-size:.875rem;display:grid}dt{color:var(--muted)}dd{text-align:right;margin:0}.deletion{margin-top:32px}.deletion p{color:var(--muted);font-size:.875rem}dialog{border:1px solid var(--line);max-width:90vw;max-height:90vh;color:var(--ink);border-radius:16px;padding:32px}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d2133aa}.qr-dialog{text-align:center;width:580px}.qr-dialog img{width:300px;max-width:100%;margin:10px auto;display:block}.qr-dialog.large{width:90vw}.qr-dialog.large img{width:min(60vh,650px)}.qr-dialog a{overflow-wrap:anywhere}.qr-dialog .actions{justify-content:center}.big-code{letter-spacing:5px;font-size:2.2rem;display:block}.close{font-size:1.5rem;position:absolute;top:8px;right:12px}.detail-dialog{width:760px}.answer-detail{border-top:1px solid var(--line);padding:20px 0}.answer-detail p{margin:8px 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1050px){.brand span{display:none}.test-grid{grid-template-columns:1fr 1fr}.editor-layout{grid-template-columns:minmax(0,1fr) 270px}.join-layout{gap:35px}.panel{padding:22px}.workflow{gap:18px}}@media (width<=760px){.topbar{height:72px;padding:0 18px}.brand{font-size:1.4rem}.brand img{width:30px;height:30px}nav{gap:8px;font-size:.8rem}main{padding:28px 16px 45px}.page-heading{flex-direction:column;align-items:flex-start;margin:8px 0 26px}.page-heading h1{font-size:2rem}.metrics{gap:8px;margin-bottom:26px}.metrics article{padding:16px 12px}.metrics strong{font-size:1.8rem}.metrics span{font-size:.75rem}.test-grid,.editor-layout,.analysis-grid,.join-layout{grid-template-columns:1fr}.join-layout{gap:30px;margin:25px 0}.join-layout h1{font-size:2.7rem}.join-card{padding:26px}.steps{display:none}.lead{font-size:1rem}.panel{padding:20px}.form-grid{gap:4px 12px}.workflow{gap:12px;font-size:.75rem}.workflow span{flex:1}.workflow b{margin:4px 0;display:block}.savebar{gap:12px;padding:12px;bottom:5px}.savebar span{font-size:.75rem}.savebar button{flex:none;padding:10px;font-size:.875rem}.vocab-main{grid-template-columns:20px 1fr 1fr 25px;gap:6px}.vocab-main input{padding:9px 6px;font-size:.875rem}.student-heading h1{font-size:1.6rem}.timer{min-width:110px;padding:10px}.timer strong{font-size:1.4rem}.student-question{padding:22px}.student-heading .eyebrow{font-size:.65rem}.progress-caption{gap:12px;font-size:.7rem}.auth{margin:20px auto}.result-page h1{font-size:2rem}.result-stats{gap:50px}footer{padding:20px;display:block}footer span{display:none}.section-heading{gap:12px}.inline{font-size:.8rem}.inline select{max-width:150px}.qr-dialog{padding:28px 18px}.analysis-grid{gap:18px}.question-editor{padding:14px}.prompt{font-size:1.1rem}.submit-panel button{width:100%}.actions button,.actions .button{font-size:.875rem}.notice{width:90vw;bottom:12px}.score-circle{width:210px;height:210px}.score-circle strong{font-size:3.8rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.answer-wrong,.field-message{color:#a31d24}.answer-correct,.answer-solution{color:#146b38}.answer-detail h3{white-space:pre-line}.field-error,[aria-invalid=true]{outline-offset:2px;outline:2px solid #f8ced2;border:2px solid #a31d24!important}.field-message{margin:8px 0;font-size:.9rem;font-weight:600}#publish{scroll-margin-bottom:110px}#print-area{display:none}.signature{break-inside:avoid;margin-top:36px}.signature div{gap:36px;padding-top:34px;display:flex}.signature span{border-top:1px solid #222;padding-top:7px}.signature span:first-child{width:25%}.signature span:last-child{flex:1}@media print{@page{size:A4;margin:16mm}body.printing-tests{color:#111!important;background:#fff!important}body.printing-tests>:not(#print-area){display:none!important}body.printing-tests #print-area{display:block!important}.test-paper{break-after:page;font-size:11pt;line-height:1.4}.test-paper:last-child{break-after:auto}.test-paper h1{font-size:20pt}.test-paper h3{font-size:12pt}.test-paper .answer-detail{break-inside:avoid;border-bottom:1px solid #ccc;padding:10px 0}.test-paper .answer-detail p{margin:5px 0}.test-paper header,.test-paper footer{color:#111;background:0 0;padding:0;display:block}.answer-wrong{color:#a31d24!important}.answer-solution,.answer-correct{color:#146b38!important}#print-area{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.brand-copy{flex-direction:column;gap:2px;display:flex}.brand-copy b{letter-spacing:-1.1px;font-size:1.85rem;line-height:1.1}.brand-copy strong{color:#187b78;font-weight:800}.brand-copy small{letter-spacing:.2px;color:var(--muted);font-size:.66rem;font-weight:500}.topbar{min-height:88px}.join-card{border-top:4px solid #389e97}.pill{color:#155e5d;background:#e5f5f1}button:not(.secondary):not(.quiet):not(.danger),.button:not(.secondary){background:#185f61}@media (width<=760px){.brand-copy b{font-size:1.4rem}.brand-copy small{max-width:180px;font-size:.56rem}.brand{gap:7px}.topbar{min-height:76px}}@media (width<=400px){.topbar{padding-inline:10px}.brand-copy small{max-width:130px;line-height:1.35}}.ai-suggestions{background:#eef8f5;border-left:3px solid #389e97;margin-block:12px;padding:12px}.catalog-picker{background:#eef8f5;border:1px solid #bfded7;border-radius:12px;margin-block:16px;padding:18px}.catalog-section{border-bottom:1px solid var(--line);background:#fff;padding:12px}.catalog-section summary{cursor:pointer;padding:8px 0;font-weight:600}.catalog-entry{border-bottom:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:22px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px;padding:9px 0;display:grid}
