:root{color-scheme:light dark;--font-stack:"Helvetica Neue",system-ui,-apple-system,"Segoe UI",sans-serif;--color-navy:#29308A;--color-text:#2A2924;--color-border:#EBEBEB;--color-success:#1B7A34;--color-error:#D93025;--color-highlight:#B5E0FA;--radius-lg:12px;--radius-sm:8px}*{box-sizing:border-box}body{margin:0;padding:32px;font-family:var(--font-stack);line-height:1.5;color:var(--color-text)}a,h1,h2,h3,h4,h5,h6{color:var(--color-navy)}:focus-visible{outline:3px solid currentColor;outline-offset:2px}button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--color-navy);background:var(--color-navy);color:#fff}table{border-collapse:collapse}td,th{border:1px solid var(--color-border);padding:8px 16px;text-align:left}.login-page{min-height:100vh;display:grid;place-items:center;padding:0}.login-card{width:100%;max-width:24rem;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.login-sub{margin-top:0;opacity:.75}.login-form{display:flex;flex-direction:column;gap:8px}.login-form input{min-height:44px;padding:8px;font-size:1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.login-form button{min-height:44px;margin-top:8px;font-size:1rem;cursor:pointer}.login-error{color:var(--color-error);margin:0}.report-grid-note{max-width:60ch;opacity:.8;font-size:.9rem}.grid-cell-hit{background:var(--color-highlight)}.grid-cell-empty,.grid-cell-hit{text-align:center}.grid-total{font-weight:600}.filters{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.filters label{display:flex;flex-direction:column;font-size:.85rem;gap:8px}.filters select{min-height:40px;font-size:1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.element-text{max-width:32rem;white-space:pre-wrap;overflow-wrap:break-word}.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.top-bar nav{display:flex;gap:16px}.inline-form{display:inline-flex;align-items:center;gap:8px;margin-left:16px}.inline-form input[type=text],.inline-form select{min-height:40px;font-size:1rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.inline-form button{min-height:40px;padding:0 16px;cursor:pointer}.inline-error{color:var(--color-error);margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem}.status-bug{color:var(--color-error)}.status-fixed{color:var(--color-success)}.status-closed,.status-deleted,.status-queue{color:#5f6368}.admin-form{gap:16px;max-width:32rem;margin:16px 0 32px}.admin-form,.admin-form label{display:flex;flex-direction:column}.admin-form label{gap:8px}.admin-form input,.admin-form select,.admin-form textarea{min-height:44px;font:inherit;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.admin-form textarea{min-height:auto}.admin-form button{min-height:44px;align-self:start;padding:0 16px;cursor:pointer}.invitation-link{font-family:monospace;font-size:.85rem;max-width:24rem;overflow-wrap:break-word}.strings-form fieldset{display:flex;flex-direction:column;gap:16px;max-width:40rem;margin:0 0 24px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.strings-field{display:flex;flex-direction:column;gap:8px;font-size:.9rem}.strings-field input,.strings-field textarea{min-height:44px;font:inherit;font-size:1rem;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.strings-save{min-height:44px;padding:0 24px;cursor:pointer;font-weight:600}.revision-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.revision-row{display:flex;align-items:center;gap:16px}.assignment-generator{margin:16px 0 32px}.viewer-image-fit,.viewer-image-zoomed{display:block;margin:16px 0;padding:0;border:0;background:none;cursor:zoom-in;max-width:100%}.viewer-image-fit{width:100%;max-height:80vh;overflow:hidden}.viewer-image-fit img{display:block;width:100%;height:100%;max-height:80vh;object-fit:contain}.viewer-image-zoomed{cursor:zoom-out;max-width:100vw;overflow:auto}.viewer-image-zoomed img{display:block;width:auto;height:auto;max-width:none}