:root{--primary:#c32328;--ink:#482b29;--muted:#806b65;--line:#efddd4}*{box-sizing:border-box}body{margin:0;background:#fff6f0;color:var(--ink);font-family:Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,a,input,summary{outline-offset:4px}a{color:inherit}.launcher{max-width:820px;margin:8vh auto;padding:32px}.launcher h1{font-size:clamp(28px,5vw,44px)}.launcher p{line-height:1.6}.file-picker{display:flex;gap:16px;flex-wrap:wrap;padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions button{padding:14px 20px;background:var(--primary);color:white;border:0;border-radius:8px}.button{display:inline-flex;align-items:center;justify-content:center;font-weight:600}dialog{border:0;border-radius:12px;padding:0;color:var(--ink);width:min(1100px,95vw);height:90vh}dialog::backdrop{background:#421919bb}.reader-header{display:flex;align-items:center;gap:16px;padding:16px 20px}.reader-header strong{overflow-wrap:anywhere}.reader-header small{display:block;margin-top:5px}.reader-header a{margin-left:auto;font-size:12px;white-space:nowrap}.reader-header .fullscreen-toggle{font-size:12px;white-space:nowrap}.reader-header button{border:0;background:#fbe9df;padding:10px;border-radius:5px}.primary{background:var(--primary);color:white}[hidden]{display:none!important}
.students-open,#students-refresh{font-size:12px;white-space:nowrap}.reader-header .students-open{margin-left:0}
.editor-viewing{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 20px;background:#fff3cd;border-block:1px solid #f0d78c;font-size:14px}.editor-viewing button{margin-left:auto;border:0;background:var(--primary);color:white;padding:8px 12px;border-radius:6px}
.students-modal{display:none;flex-direction:column}.students-modal[open]{display:flex}.students-note{margin:0 20px 12px;padding:10px 12px;background:#fbe9df;border-radius:8px;font-size:13px}
.students-scroll{overflow:auto;padding:0 20px 20px;flex:1}.students-modal table{width:100%;border-collapse:collapse;font-size:14px}.students-modal th,.students-modal td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.students-modal th{position:sticky;top:0;background:white}
.students-modal td button{border:1px solid var(--line);background:#fbe9df;border-radius:6px;padding:6px 10px}.students-modal .muted{color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;background:#e8f5e9;color:#1b5e20}.badge.none{background:#f1f1f1;color:#666}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
