:root{--ink:#172033;--muted:#667085;--line:#d0d5dd;--blue:#155eef;--ai:#d92d20;--teacher:#d92d20;--student:#07883f;--bar:#fff}
#qrDialog{border:1px solid var(--line);border-radius:12px;padding:20px;max-width:min(440px,94vw);max-height:94vh;overflow:auto;text-align:center}#qrDialog::backdrop{background:#10182899}#qrDialog h2{font-size:17px;margin:8px 28px 12px}#qrImage{display:block;width:340px;max-width:100%;height:auto;margin:auto}#qrDialog a{color:#155eef}.qr-close{float:right;font-size:22px}#qrStatus{color:var(--muted)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#e9edf3;color:var(--ink);font:13px/1.3 Arial,Helvetica,sans-serif}
body{display:grid;grid-template-rows:auto 24px minmax(0,1fr)}header{display:flex;align-items:center;gap:4px;min-height:42px;padding:4px 6px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 4px #10182818;z-index:8;overflow-x:auto}
button,select{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-weight:700}button{min-width:32px;padding:0 8px;cursor:pointer}button:hover:not(:disabled),button.active{background:#eaf1ff;border-color:#84adff}button:disabled{opacity:.35}.brand{display:flex;gap:5px;align-items:baseline;white-space:nowrap;margin-right:4px}.brand span{font-size:10px;color:var(--muted);font-weight:400}#scripts{max-width:125px}#actAsWrap{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:11px}#actAs{max-width:82px}.tools,.nav{display:flex;align-items:center;gap:3px}.tools{margin-right:auto}.tools>select{width:42px}.nav span{white-space:nowrap}.save{background:#155eef;color:#fff;border-color:#155eef;min-width:72px}.save.dirty{background:#b54708;border-color:#b54708}.publish{background:#07883f;color:#fff;border-color:#07883f;min-width:82px}
.ink-wrap{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:11px}.ink-wrap select{width:88px}.ink-settings{position:relative}.ink-settings summary{height:32px;display:flex;align-items:center;padding:0 7px;border:1px solid var(--line);border-radius:6px;background:#fff;font-weight:700;cursor:pointer;white-space:nowrap;list-style:none}.ink-settings summary::-webkit-details-marker{display:none}.ink-panel{position:absolute;z-index:30;top:36px;left:0;width:230px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #10182830}.ink-panel>b{display:block;margin-bottom:7px}.ink-panel>label{display:grid;gap:4px;margin:9px 0}.ink-panel>label.check-row{display:flex;align-items:center;gap:6px}.ink-panel>label.check-row input{margin:0;accent-color:var(--blue)}.ink-panel select,.ink-panel button{width:100%}.palette-choices{display:grid;grid-template-columns:1fr 1fr;gap:5px}.palette-choices label{display:flex;align-items:center;gap:5px;font-size:11px}.palette-choices input{margin:0;accent-color:var(--blue)}.swatch{width:13px;height:13px;border-radius:50%;border:1px solid #0003;display:inline-block;flex:none}
.legend{display:flex;align-items:center;gap:12px;padding:2px 8px;background:#fff;border-bottom:1px solid var(--line);font-size:11px;z-index:7}.legend .ai{color:var(--ai)}.legend .teacher{color:var(--teacher)}.legend .student{color:var(--student)}#saveState{margin-left:auto;color:var(--muted);white-space:nowrap}
main{position:relative;min-height:0;overflow:auto;padding:5px 5px 48px;overscroll-behavior:contain}#paper{position:relative;margin:0 auto;background:#fff;box-shadow:0 3px 18px #10182830;transform-origin:top left}canvas{position:absolute;inset:0;display:block}#overlay{touch-action:none;cursor:crosshair}#message{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted)}#message strong{display:block;color:var(--ink);font-size:17px;margin-bottom:5px}
#textEditor{position:absolute;z-index:5;min-width:80px;min-height:34px;padding:3px;border:2px solid var(--blue);background:#ffffffec;color:var(--ink);font:14px/1.2 Arial;resize:both;overflow:auto;outline:0}#toast{position:fixed;left:50%;bottom:14px;transform:translate(-50%,12px);opacity:0;z-index:20;background:#101828;color:#fff;padding:8px 12px;border-radius:7px;pointer-events:none;transition:.18s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.brand span,.legend{font-size:10px}.brand{max-width:120px;overflow:hidden}.tools button{padding:0 6px}.nav #zoom{display:none}}
