:root{--ink:#26212c;--muted:#6c6472;--plum:#573460;--lavender:#eee8f4;--line:#e2dce8;--teal:#176c62;--paper:#f7f6fa;--red:#a03845}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Tahoma,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9866ac;outline-offset:4px}button{border:0;border-radius:10px;padding:12px 22px;background:var(--plum);color:white;min-height:48px;font-weight:700}.quiet{background:transparent;color:var(--plum);border:1px solid var(--line);padding:8px 16px}.top{max-width:1240px;margin:auto;padding:25px 32px;display:flex;align-items:center;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:bold;line-height:1.4}.brand small{display:block;font-weight:normal;color:var(--muted);font-size:12px;margin-top:4px}.mark{font-size:32px;color:var(--plum);width:48px;height:48px;border:1px solid #cbbbd3;border-radius:16px;display:grid;place-items:center}.top-note{margin-inline-start:auto;color:var(--muted);font-size:13px}main{max-width:1176px;margin:0 auto;padding:24px 24px 60px}h1{font-size:clamp(32px,5vw,56px);line-height:1.3;margin:8px 0 18px;letter-spacing:-1.5px}h2{font-size:23px;line-height:1.45;margin:0 0 10px}p{margin:8px 0 18px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:16px 0 38px}.intro p{color:var(--muted);max-width:440px}.intro-label{color:var(--plum);font-size:14px}.steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px;font-size:13px;color:var(--plum)}.steps span{padding:6px 10px;background:var(--lavender);border-radius:6px}.specimen{position:relative;padding:20px 28px 12px;background:#e6dce9;border-radius:100px 15px 15px 15px;min-height:230px}.specimen img{display:block;object-fit:cover;width:100%;height:210px;border:10px solid white;transform:rotate(-3deg);box-shadow:0 10px 24px #57346015}.specimen figcaption{font-size:12px;text-align:center;color:var(--plum);padding-top:15px}.home-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:26px}.section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.small{font-size:13px;color:var(--muted)}.lab-list{display:grid;gap:0}.lab-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:16px 0;cursor:pointer}.lab-row:last-child{border-bottom:0}.lab-row input{width:21px;height:21px;accent-color:var(--plum);flex-shrink:0}.lab-row strong{display:block;font-size:16px}.lab-row small{color:var(--muted);font-size:12px}.lab-row .count{margin-inline-start:auto;color:var(--plum);font-size:13px;white-space:nowrap}.lab-num{color:var(--plum);font-size:12px;background:var(--lavender);border-radius:5px;padding:3px 6px}.form-row{display:flex;gap:16px;margin:20px 0}.form-row label{flex:1;color:var(--muted);font-size:13px}select{width:100%;background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:6px}.check{display:flex;gap:9px;align-items:center;font-size:14px;margin:16px 0}.check input{accent-color:var(--plum);width:18px;height:18px}.primary{width:100%;margin-top:12px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row>*{flex:1}.mistakes{margin-top:12px;background:white;color:var(--red);border:1px solid #e4cdd1;width:100%}.saved{padding:14px;background:var(--lavender);border-radius:10px;margin:20px 0}.saved button{margin-top:6px}.progress-strip{display:flex;gap:20px;font-size:13px;color:var(--muted);margin-top:20px}.progress-strip strong{display:block;color:var(--ink);font-size:22px}.session-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:15px}.session-head h1{font-size:25px;margin:0;letter-spacing:0}.progress{height:5px;background:var(--line);border-radius:4px;overflow:hidden;margin:18px 0 24px}.progress span{display:block;height:100%;background:var(--plum);transition:width .2s}.quiz-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:24px;align-items:start}.image-panel{padding:16px;background:white;border:1px solid var(--line);border-radius:16px}.image-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px}.image-toolbar span{font-size:13px;color:var(--muted)}.image-button{display:block;width:100%;height:440px;background:#f0edf3;padding:12px;border-radius:8px;cursor:zoom-in}.image-button img{width:100%;height:100%;object-fit:contain;display:block}.answer-panel{min-height:310px}.closed-answer{text-align:center;padding:30px 0}.closed-answer .eye{font-size:32px;color:#9a83a5;margin-bottom:10px}.closed-answer p{color:var(--muted);font-size:14px}.answer-name{direction:ltr;text-align:left;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.3;overflow-wrap:anywhere;margin:14px 0 20px;color:var(--plum)}.source-line{font-size:12px;color:var(--muted)}.detail{direction:ltr;text-align:left;line-height:1.65;font-family:Arial,sans-serif;color:#45404b;margin:14px 0;font-size:15px}details{border-top:1px solid var(--line);padding:14px 0;margin-top:12px}summary{cursor:pointer;font-size:14px;color:var(--plum)}.grading{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.correct{background:var(--teal)}.wrong{background:#f8e9ec;color:var(--red)}.grading button[aria-pressed=true]{outline:3px solid var(--plum);outline-offset:2px}.keyboard{font-size:11px;color:var(--muted);margin:16px 0 0}.quiz-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.stats{display:flex;gap:18px;color:var(--muted);font-size:13px;margin-top:15px}.stats .green{color:var(--teal)}.stats .red{color:var(--red)}.result-top{text-align:center;max-width:650px;margin:25px auto}.result-score{font:64px Georgia,serif;color:var(--plum);line-height:1.2;margin:20px 0}.result-list{display:grid;gap:10px;margin-top:28px}.result-item{display:flex;align-items:center;gap:15px;background:white;border:1px solid var(--line);padding:12px;border-radius:10px}.result-item img{width:85px;height:70px;object-fit:contain;background:var(--paper)}.result-item strong{display:block;direction:ltr;text-align:left;font-family:Georgia,serif;line-height:1.3}.result-item small{color:var(--muted)}.badge{margin-inline-start:auto;white-space:nowrap;font-size:12px;color:var(--red)}.badge.good{color:var(--teal)}.note{color:var(--muted);font-size:12px;margin-top:20px}dialog{border:0;border-radius:14px;width:min(1100px,96vw);max-height:94dvh;padding:18px;background:white;color:var(--ink)}dialog::backdrop{background:#221329dd}dialog img{width:100%;max-height:74dvh;object-fit:contain;display:block}.viewer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}dialog p{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0}footer{padding:20px;text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:10px 18px;display:none;z-index:5}#toast.show{display:block}[hidden]{display:none!important}@media(max-width:760px){.top{padding:16px;gap:10px}.top-note{display:none}main{padding:12px 16px 36px}.intro{grid-template-columns:1fr;gap:12px;padding:12px 0 28px}.intro h1{font-size:38px}.intro p{margin-bottom:12px}.specimen{display:none}.home-grid{grid-template-columns:1fr;gap:16px}.panel{padding:20px}.quiz-layout{grid-template-columns:1fr;gap:16px}.image-button{height:42dvh;min-height:240px;max-height:420px}.answer-panel{min-height:0}.closed-answer{padding:6px 0}.closed-answer .eye{display:none}.answer-name{font-size:25px}.keyboard{display:none}.lab-row strong{font-size:14px}.session-head h1{font-size:20px}.result-item img{width:65px;height:60px}.result-item{gap:10px}.result-item strong{font-size:14px}.badge{font-size:11px}.button-row{flex-direction:column}.brand{font-size:14px}.mark{width:40px;height:40px}.steps{margin-top:14px}.progress-strip{margin-top:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
