:root{color:#202c26;font-synthesis:none;background:#f6f8f6;font-family:system-ui,-apple-system,Segoe UI,Malgun Gothic,sans-serif;font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:#254f40;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,.button{color:#263b30;cursor:pointer;background:#fff;border:1px solid #bbc6be;border-radius:5px;padding:.65rem 1rem;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#edf2ee}button:disabled{opacity:.55;cursor:not-allowed}.primary{color:#fff;background:#254f40;border-color:#254f40}.primary:hover{background:#1d4033}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #a36a10}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:1rem;font-size:2rem;line-height:1.4}h2{margin-bottom:.8rem;font-size:1.3rem}h3{font-size:1.05rem}p{overflow-wrap:anywhere}.container{width:100%;max-width:1000px;margin:0 auto;padding:0 24px}main.container{min-height:65vh;padding-top:40px;padding-bottom:60px}.site-header{background:#fff;border-bottom:1px solid #d8e0d9}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1000px;margin:auto;padding:20px 24px;display:flex}.brand{font-size:1.2rem;font-weight:750;text-decoration:none}.brand span{color:#606e65;margin-left:10px;font-size:.85rem;font-weight:400}nav{flex-wrap:wrap;gap:24px;display:flex}nav a{font-size:.95rem;text-decoration:none}nav a.active{font-weight:750;text-decoration:underline}.page-heading{margin-bottom:30px}.page-heading>p:last-child{color:#536159}.home-heading{padding:20px 0}.home-heading h1{font-size:2.7rem}.eyebrow{letter-spacing:.05em;color:#52695b;margin-bottom:.65rem;font-size:.8rem;font-weight:700}.panel{background:#fff;border:1px solid #d6ded7;border-radius:7px;min-width:0;margin-bottom:24px;padding:26px}.booth-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.booth{flex-direction:column;display:flex}.booth .button{align-self:flex-start;margin-top:auto}.notice{color:#3f5039;background:#f0f3e9;border-left:3px solid #8b9e65;margin:18px 0 24px;padding:14px 18px}.muted,small{color:#606e65;font-size:.87rem}.error{color:#a32424;background:#fff2f0;border-left:3px solid #a32424;padding:12px 14px}.required{color:#894122;font-size:.8rem}label{margin:0 0 18px;font-weight:600;display:block}input:not([type=checkbox]),textarea,select{width:100%;color:inherit;background:#fff;border:1px solid #aebdb2;border-radius:4px;margin-top:6px;padding:10px 12px;display:block}textarea{resize:vertical;line-height:1.8}textarea:disabled,input:disabled,select:disabled{background:#f1f4f1}.checkbox{align-items:flex-start;gap:10px;font-size:.95rem;font-weight:400;display:flex}.checkbox input{accent-color:#254f40;flex-shrink:0;width:18px;height:18px;margin-top:5px}.form-grid{grid-template-columns:1fr 1fr;align-items:end;gap:0 20px;display:grid}.form-grid>button{justify-self:start}.actions,.toolbar,.pagination{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar{align-items:end;margin-bottom:18px}.toolbar label{flex:150px;margin-bottom:0}.section-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.badge{background:#f2f6f2;border:1px solid #cbd7cd;border-radius:3px;padding:3px 10px;font-size:.8rem}.metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;display:grid}.metrics>div{text-align:center;background:#eef3ef;border:1px solid #d9e2db;padding:16px}.metrics strong{color:#254f40;font-size:1.6rem;display:block}.metrics span{color:#58665c;font-size:.82rem;display:block}.challenge{letter-spacing:.025em;white-space:pre-wrap;word-break:break-all;background:#fafbf9;border:1px solid #dce3dd;padding:18px;font-size:1.28rem;line-height:2}.correct{color:#254f40;background:#e8f1e9}.incorrect{color:#a32424;background:#fff0ed;-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-decoration-thickness:2px}.cursor{border-left:2px solid #254f40}details{margin-bottom:24px}summary{cursor:pointer;font-weight:600}details li{margin-bottom:8px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:.9rem}caption{text-align:left;padding:12px 0;font-weight:600}th,td{border-bottom:1px solid #d9e2da;padding:12px 10px}th{background:#f4f7f3}td small{display:block}td button{padding:5px 9px;font-size:.8rem}.empty{text-align:center;padding:40px 10px}.login-panel{max-width:480px}.letter-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.welcome-letter footer{text-align:right;color:#52695b}.original{background:#f6f7f4;border-left:3px solid #b8c9bc;margin:0 0 22px;padding:18px}.review-list{padding:0;list-style:none}.review-list li{border-bottom:1px solid #d8e0d9;padding:20px 0}.review-list li:first-child{padding-top:0}.preview-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0;display:-webkit-box;overflow:hidden}.pagination{justify-content:center;margin-top:24px;font-size:.9rem}.completion{margin:30px 0;padding:40px}.completion code{word-break:break-all}.site-footer{color:#606e65;background:#fff;border-top:1px solid #d7e0d9;padding:24px 0;font-size:.82rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.site-footer a{margin-right:18px}.skip-link{z-index:10;background:#fff;padding:12px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:10px}@media (width<=640px){.container{padding:0 18px}main.container{padding-top:28px}.header-inner{gap:12px;padding:16px 18px}nav{gap:20px}nav a{font-size:.85rem}.brand{font-size:1.05rem}.booth-grid,.form-grid{grid-template-columns:1fr}.panel{padding:20px}.home-heading h1{font-size:2.2rem}h1{font-size:1.7rem}.metrics{gap:7px}.metrics>div{padding:12px 5px}.metrics strong{font-size:1.3rem}.metrics span{font-size:.75rem}.challenge{padding:14px;font-size:1.1rem}.completion{padding:24px}.actions>*{text-align:center;flex:auto}.site-footer .container{display:block}.toolbar label{flex-basis:100%}.pagination{gap:8px}}
