:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#243a31;background:#f3f6f2;font-size:16px;line-height:1.55;--green:#235c47;--muted:#667b70;--line:#dbe5dc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;background:var(--green);color:white;border:1px solid transparent;border-radius:12px;padding:10px 17px;font-weight:600}button.secondary{background:white;color:var(--green);border-color:var(--line)}button.danger{color:#993c31;background:#fff5f2;border-color:#efc8c0}button:disabled{opacity:.55;cursor:wait}a{color:var(--green);text-underline-offset:3px}input,select,textarea{border:1px solid #bacdc0;border-radius:9px;padding:10px 12px;max-width:100%;background:white;color:#243a31}textarea{resize:vertical;width:100%;min-height:140px}label{display:grid;gap:5px}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:20px;height:20px}h1,h2,h3{line-height:1.2;margin:0 0 16px}h1{font-size:clamp(28px,4vw,40px);letter-spacing:-1px}h2{font-size:24px}h3{font-size:19px}p{margin:0 0 16px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(24px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:32px;font-weight:800;text-decoration:none;display:flex;align-items:center;gap:12px;white-space:nowrap}.brand span{font-size:24px}#account{display:flex;align-items:center;gap:14px;font-size:14px}#app{max-width:1120px;margin:40px auto;padding:0 24px 64px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 3px 0 #e5ece4}.stack{display:grid;gap:18px}.login{max-width:460px;margin:8vh auto}.login h1{margin-bottom:10px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:700;margin-bottom:12px}.muted{color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:24px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:24px}.course{display:flex;flex-direction:column;gap:10px}.course button{align-self:flex-start;margin-top:auto}.alert,[role=alert]{background:#fff1e9;color:#82391f;border:1px solid #efc3a8;padding:12px 16px;border-radius:10px}.alert:empty{display:none}#notice:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;background:#233f32;color:white;padding:12px 20px;border-radius:12px;z-index:1000;box-shadow:0 4px 20px #0002}.exercise{margin-top:20px;scroll-margin-top:20px}.exercise .instructions{white-space:pre-wrap;color:#516b5c}.exercise-content{line-height:1.8;overflow-wrap:anywhere}.answer-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:15px 0}.answer-row label{min-width:180px}.answer-row [role=status]{flex-basis:100%;font-size:14px;color:#426b50}.gap{display:inline-block;margin:4px;vertical-align:middle;max-width:240px}.gap select,.gap input{width:100%}.gap-form{display:inline-block;vertical-align:middle;border:1px solid var(--line);padding:8px;border-radius:10px;margin:4px;max-width:100%}.gap-form .answer-row{margin:0;display:grid;gap:5px}.gap-form button{font-size:12px;padding:5px 10px}.choices{display:grid;gap:9px}.choice{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px}.token-picker{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.token-picker button{background:#edf3ef;color:#284e3b;min-width:38px}.ordered-answer{border:1px dashed #a8bfae;border-radius:12px;min-height:54px;padding:10px;display:flex;gap:6px;flex-wrap:wrap}.ordered-answer button{background:#fff;color:#243a31;border-color:var(--line);padding:5px 9px}.media-grid{display:flex;gap:18px;flex-wrap:wrap}.media-card{max-width:100%;margin:0}.media-card img,.exercise-content img{max-width:100%;max-height:500px;object-fit:contain;border-radius:12px}.emoji{font-size:64px}.media-card figcaption{font-size:14px;color:var(--muted)}audio,video{max-width:100%;display:block;margin:10px 0}.rich p{white-space:pre-wrap}.rich table{border-collapse:collapse;width:100%;overflow:auto}.rich td,.rich th{border:1px solid var(--line);padding:7px}.rich ul,.rich ol{padding-left:28px}.vocabulary{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,1fr);gap:6px 16px}.vocabulary div{padding:8px;border-bottom:1px solid var(--line)}.section-heading{margin:32px 0 0}.review-actions{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.review-actions button{font-size:12px;padding:5px 9px}.comments{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.comment{padding:10px 0;white-space:pre-wrap}.comment small{display:block;color:var(--muted)}.comment-form{display:flex;gap:8px}.comment-form input{flex:1;min-width:0}.member{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.invite-link{width:100%;margin-top:12px}.author-frame{width:100%;height:calc(100vh - 200px);min-height:650px;border:1px solid var(--line);border-radius:15px;background:white}.import-box{margin:20px 0}.run-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.run-summary output{color:var(--muted)}.carousel-nav{display:flex;gap:8px;margin-top:8px}.timer{display:block;font-size:13px;color:#667b70;margin-bottom:8px}.live{color:var(--muted);font-size:13px;margin-bottom:14px}:focus-visible{outline:3px solid #d19e45;outline-offset:3px}[hidden]{display:none!important}@media(max-width:640px){.site-header{padding:16px}#account{flex-wrap:wrap;justify-content:flex-end}#account span{display:none}#app{padding:0 16px;margin-top:26px}.card{padding:18px}.answer-row{align-items:stretch;flex-direction:column}.gap-form .answer-row{display:grid}.comment-form{flex-wrap:wrap}.author-frame{min-height:650px}.member{align-items:flex-start}.toolbar{align-items:flex-start}}
