:root{--bg:#f4f5f7;--panel:#fff;--ink:#1c1e26;--muted:#61656f;--line:#d8dae0;--accent:#2f5bd7;--accent-soft:#2f5bd724;--danger:#b3261e;--warn:#8a5a00}*{box-sizing:border-box}[hidden]{display:none!important}body{color:var(--ink);background:var(--bg);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.topbar{background:var(--panel);border-bottom:1px solid var(--line);padding:14px 20px}.topbar h1{margin:0;font-size:18px}.topbar__note{color:var(--muted);margin:2px 0 0;font-size:13px}.layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;padding:16px;display:grid}@media (max-width:860px){.layout{grid-template-columns:1fr}}.sidebar{flex-direction:column;gap:12px;display:flex;position:sticky;top:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px}.panel h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:14px}.filepick{border:2px dashed var(--line);text-align:center;cursor:pointer;border-radius:8px;padding:16px;display:block}.filepick:hover{border-color:var(--accent)}.filepick strong{display:block}.filepick span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.filepick input{width:100%;margin-top:10px;font-size:12px}.status{color:var(--muted);margin:10px 0 0;font-size:13px}.status[data-kind=error]{color:var(--danger)}.status[data-kind=warn]{color:var(--warn)}.hint{color:var(--muted);margin:8px 0 0;font-size:12px}.summary{margin:0 0 8px;font-size:13px}.radios{gap:12px;font-size:13px;display:flex}.row{gap:8px;margin-top:10px;display:flex}button{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:7px 10px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);width:100%}button.danger{color:var(--danger);border-color:#e6c3c0}button:disabled{opacity:.55;cursor:default}.field-label{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.field-label input,.field-label select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:6px;margin-top:3px;padding:6px 8px;font-size:14px;display:block}.checkline{align-items:center;gap:7px;margin-bottom:8px;font-size:13px;display:flex}.viewer{flex-direction:column;align-items:center;gap:18px;min-width:0;display:flex}.empty{color:var(--muted)}.page-wrap{flex-direction:column;gap:5px;display:flex}.page-caption{color:var(--muted);margin:0;font-size:12px}.page{background:#fff;position:relative;box-shadow:0 1px 5px #0000002e}.page canvas{display:block}.overlay{touch-action:none;cursor:crosshair;position:absolute;inset:0}.field{border:1px solid var(--accent);background:var(--accent-soft);cursor:move;position:absolute}.field--checkbox{border-style:solid;border-radius:2px}.field--preview{pointer-events:none;background:#2f5bd71a;border-style:dashed}.field.is-selected{z-index:2;background:#2f5bd738;border-width:2px}.field__tag{background:var(--accent);color:#fff;white-space:nowrap;pointer-events:none;text-overflow:ellipsis;border-radius:2px 2px 0 0;max-width:220px;padding:0 3px;font-size:10px;line-height:1.3;position:absolute;bottom:100%;left:0;overflow:hidden}.handle{border:1px solid var(--accent);background:#fff;border-radius:2px;width:9px;height:9px;position:absolute}.handle--nw{cursor:nwse-resize;top:-5px;left:-5px}.handle--n{cursor:ns-resize;top:-5px;left:calc(50% - 4px)}.handle--ne{cursor:nesw-resize;top:-5px;right:-5px}.handle--e{cursor:ew-resize;top:calc(50% - 4px);right:-5px}.handle--se{cursor:nwse-resize;bottom:-5px;right:-5px}.handle--s{cursor:ns-resize;bottom:-5px;left:calc(50% - 4px)}.handle--sw{cursor:nesw-resize;bottom:-5px;left:-5px}.handle--w{cursor:ew-resize;top:calc(50% - 4px);left:-5px}.dropzone{color:#fff;z-index:10;background:#1c1e268c;place-items:center;font-size:20px;display:grid;position:fixed;inset:0}
