:root{color:#111827;font-synthesis:none;--ink:#111827;--accent:#0057b8;--link:#116329;--muted:#667085;--border:#d0d5dd;--white:#fff;--bg:#eee;--bbox-fill:#ffffff57;background:#eee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit;border-radius:0}button,.button-link{border:1px solid var(--accent);background:var(--accent);min-height:40px;color:var(--white);cursor:pointer;justify-content:center;align-items:center;padding:8px 14px;text-decoration:none;display:inline-flex}button:hover,.button-link:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--link)}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2}h2{font-size:18px;line-height:1.3}label{color:var(--ink);gap:6px;display:grid}input,select,textarea{border:1px solid var(--border);background:var(--white);width:100%;min-height:42px;color:var(--ink);padding:8px}textarea{resize:vertical;min-height:100px}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:12px}th{background:var(--ink);color:var(--white)}.table-scroll{overflow-x:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--white);border:2px solid var(--accent);padding:12px;position:fixed;top:-100px;left:8px}.skip-link:focus{top:8px}.app-header{border-bottom:1px solid var(--border);align-items:center;gap:28px;min-height:64px;padding:10px 24px;display:flex}.app-header nav{align-self:stretch;display:flex}.app-header nav a{border-bottom:3px solid #0000;align-items:center;padding:0 14px;text-decoration:none;display:flex}.app-header nav a.active{border-bottom-color:var(--accent);font-weight:700}.header-account{color:var(--muted);align-items:center;gap:10px;margin-left:auto;display:flex}.button-link{min-height:auto;color:var(--link);background:0 0;border-color:#0000;padding:2px 4px}.button-secondary{color:var(--accent);background:var(--white);border-color:var(--accent)}.app-main{max-width:1920px;margin:0 auto;padding:24px}.page-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.page-heading p{color:var(--muted)}.panel,.review-panel{border:1px solid var(--border);background:var(--bg);padding:16px}.empty-state{border:1px dashed var(--border);color:var(--muted);padding:20px}.form-error{border-left:4px solid var(--ink);padding:10px 12px;font-weight:700}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-form{gap:16px;width:min(100%,420px);display:grid}.review-toolbar{grid-template-columns:minmax(260px,1fr) 300px auto;align-items:end;gap:16px;margin-bottom:16px;display:grid}.review-toolbar h1{margin:6px 0 0}.pagination{align-items:end;gap:8px;display:flex}.pagination label{width:90px}.review-grid{grid-template-columns:minmax(360px,1.2fr) minmax(320px,1fr) minmax(320px,1fr);align-items:stretch;gap:12px;display:grid}.review-panel{min-width:0;height:760px;overflow:auto}.raster-stage{border:1px solid var(--border);width:100%;line-height:0;position:relative}.raster-stage img{width:100%;height:auto;display:block}.bbox{border:1px solid var(--accent);background:var(--bbox-fill);min-height:0;color:var(--ink);padding:0;position:absolute}.bbox span{background:var(--white);border:1px solid var(--accent);min-width:max-content;height:21px;padding:0 4px;font-size:12px;line-height:20px;position:absolute;top:-22px;left:-1px}.bbox.selected{background:#0057b824;border-width:3px}.bbox.selected span{background:var(--accent);color:var(--white);font-weight:700}.code-panel pre{background:var(--bg);min-height:calc(100% - 34px);color:var(--ink);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;overflow:auto}.code-panel mark{background:var(--accent);color:var(--white)}.render-panel iframe{border:1px solid var(--border);background:var(--bg);width:100%;height:calc(100% - 38px)}.figure-details,.comments-panel{margin-top:16px}.figure-grid{grid-template-columns:minmax(220px,420px) 1fr;gap:20px;display:grid}.figure-grid img{border:1px solid var(--border);max-width:100%;max-height:360px}.figure-grid dl{margin:0}.figure-grid dl div{border-bottom:1px solid var(--border);padding:10px 0}.figure-grid dt{font-weight:700}.figure-grid dd{white-space:pre-wrap;margin:4px 0 0}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.button-group{gap:4px;display:flex}.button-group button{color:var(--accent);background:var(--white)}.button-group button.selected{color:var(--white);background:var(--accent);font-weight:700}.comment-list{padding:0;list-style:none}.comment-list li{border-top:1px solid var(--border);padding:12px 0}.comment-meta{color:var(--muted);flex-wrap:wrap;gap:12px;display:flex}.comment-meta strong{color:var(--ink)}.comment-actions,.comment-edit{align-items:start;gap:8px;display:flex}.comment-edit textarea{flex:1}.comment-form{border-top:2px solid var(--ink);gap:12px;max-width:900px;padding-top:16px;display:grid}.admin-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.admin-form{gap:12px;display:grid}.compact-list{margin:0;padding-left:20px}.iteration-list{margin:0;padding-left:24px}.iteration-list li{margin:0 0 8px}.iteration-list time{color:var(--muted);font-size:13px;display:block}.action-list{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1279px){.review-toolbar{grid-template-columns:1fr 1fr}.pagination{grid-column:1/-1}.review-grid{grid-template-columns:1fr}.review-panel{height:auto;min-height:520px}}@media (width<=720px){.app-header{flex-wrap:wrap;align-items:flex-start;padding:10px 12px}.app-header nav{order:3;width:100%}.header-account{margin-left:0}.app-main{padding:16px 10px}.review-toolbar,.admin-grid,.figure-grid{grid-template-columns:1fr}.pagination{flex-wrap:wrap}.section-heading{flex-direction:column;align-items:flex-start}.button-group{flex-wrap:wrap}}
