:root{--cream:#fdf9e9;--teal:#116b7e;--ink:#263d40;--muted:#617371;--line:#d9e4dc;--mint:#e4f5e8;--warn:#fff0d9}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 "Segoe UI",sans-serif}a{color:var(--teal)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.skip-link{position:absolute;top:-80px;left:15px;background:white;padding:12px;z-index:10}.skip-link:focus{top:10px}.top{max-width:1260px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line)}.top a{text-decoration:none}.brand{font-size:36px;font-weight:750;letter-spacing:-3px;line-height:1}.brand span{display:block;font-size:10px;letter-spacing:3px;text-align:center;margin-top:6px}.login{font-size:14px;border:1px solid var(--line);border-radius:24px;padding:9px 16px}main{max-width:1260px;margin:auto;padding:0 32px;min-height:75vh}.hero{padding:42px 0 24px}.eyebrow{color:var(--teal);letter-spacing:2px;font-size:11px;font-weight:750}.hero h1{font-size:clamp(28px,4vw,43px);line-height:1.2;letter-spacing:-1px;margin:8px 0 16px}.hero p:last-child{color:var(--muted)}h2{font-size:23px;line-height:1.35;margin:0 0 15px}h3{font-size:18px;margin:0 0 10px}p{margin:10px 0 16px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;margin-bottom:40px}.panel{min-width:0;overflow-wrap:anywhere;border:1px solid #e5e9df;border-radius:22px;background:white;padding:26px;box-shadow:0 4px 16px #233f350a}.sidebar{height:fit-content}.detail{display:grid;gap:20px;min-width:0;align-content:start}.detail>.panel{min-width:0}.small{color:var(--muted);font-size:13px}.entries{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:20px 0}.entry{display:block;text-align:left;width:100%;border:1px solid var(--line);border-radius:15px;padding:15px;background:#fcfdf9;color:var(--ink)}.entry.selected{border:2px solid var(--teal);background:var(--mint);padding:14px}.entry strong,.entry span{display:block}.entry span{font-size:13px;color:var(--muted);margin-top:5px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:8px;border:0;border-radius:14px;padding:11px 18px;background:var(--teal);color:white;font-size:14px;font-weight:650;text-decoration:none}.button.secondary{background:var(--mint);color:var(--teal)}.button.caution{background:#765424;color:white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.notice,.callout{padding:15px 18px;border-radius:14px;background:var(--warn);overflow-wrap:anywhere}.notice{margin:12px 0 24px;white-space:pre-line}.notice.error{background:#fff0e9;color:#7e3227}.callout.good{background:var(--mint)}.callout p:last-child{margin-bottom:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tag{border-radius:20px;background:#edf5ee;padding:5px 10px;color:var(--teal);font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:block;font-size:14px;font-weight:650;margin:12px 0 5px}input,select,textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #c5d6cc;border-radius:12px;background:#fcfdf9;padding:10px 12px;color:var(--ink);min-height:46px}textarea{min-height:78px;resize:vertical}input:disabled,select:disabled,textarea:disabled{background:#edf1ec;color:var(--muted)}.roster{display:grid;gap:12px;margin-top:18px}.learner{padding:16px;border:1px solid var(--line);border-radius:16px}.learner-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.learner-head p{margin:0}.learner .grid{align-items:start}.learner label{font-size:12px}.problems{padding-left:22px}.problems li{margin:6px 0}.code{font-family:ui-monospace,monospace;font-size:clamp(18px,3.8vw,30px);font-weight:750;letter-spacing:2px;overflow-wrap:anywhere;background:var(--mint);padding:18px;border-radius:14px;display:block;user-select:all}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:16px;border-radius:14px;background:#f5f7f1}.metric strong{display:block;font-size:25px;color:var(--teal)}.metric span{font-size:12px;color:var(--muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}caption{text-align:left;color:var(--muted);margin:12px 0}th,td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}th{font-size:12px}tr.own{background:var(--mint)}.empty{color:var(--muted);padding:15px 0}.status{font-size:13px;color:var(--teal)}footer{max-width:1260px;margin:auto;padding:24px 32px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:15px}@media(max-width:950px){.workspace{grid-template-columns:245px minmax(0,1fr)}.panel{padding:20px}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metric{display:flex;justify-content:space-between;align-items:center;gap:10px}.metric strong{font-size:21px}}@media(max-width:700px){.workspace{grid-template-columns:1fr}.entries{grid-template-columns:repeat(2,minmax(0,1fr))}.top{padding:20px}.top>a:not(.brand):not(.login){display:none}main{padding:0 18px}.hero{padding:30px 0 15px}.panel{padding:20px}.actions>.button{flex:1 1 180px}.code{font-size:22px;letter-spacing:1px}footer{padding:20px}}@media(max-width:420px){.entries{grid-template-columns:1fr}.login{font-size:12px}.code{font-size:19px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
