:root{--bg:#f6f5f1;--panel:#fff;--panel2:#f1efe8;--text:#2c2c2a;--text2:#5f5e5a;--border:#d3d1c7;--accent:#185fa5;--accent-bg:#e6f1fb;--accent-text:#0c447c;--ok:#3b6d11;--ok-bg:#eaf3de;--danger:#a32d2d;--danger-bg:#fcebeb;--warn-bg:#faeeda;--warn:#633806;--onaccent:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1f1e1c;--panel:#2c2c2a;--panel2:#262624;--text:#f1efe8;--text2:#b4b2a9;--border:#444441;--accent:#85b7eb;--accent-bg:#0c447c;--accent-text:#b5d4f4;--ok:#c0dd97;--ok-bg:#27500a;--danger:#f7c1c1;--danger-bg:#501313;--warn-bg:#412402;--warn:#fac775;--onaccent:#042c53}}:root[data-theme=dark]{--bg:#1f1e1c;--panel:#2c2c2a;--panel2:#262624;--text:#f1efe8;--text2:#b4b2a9;--border:#444441;--accent:#85b7eb;--accent-bg:#0c447c;--accent-text:#b5d4f4;--ok:#c0dd97;--ok-bg:#27500a;--danger:#f7c1c1;--danger-bg:#501313;--warn-bg:#412402;--warn:#fac775;--onaccent:#042c53}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,sans-serif;font-size:14px;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.top{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.top h1{margin:0;font-size:16px;font-weight:500}.tag{background:var(--warn-bg);color:var(--warn);border-radius:6px;margin-left:6px;padding:1px 8px;font-size:11px}.dest{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:12px;overflow:hidden}.dest.ok{color:var(--ok)}.sp{flex:1}.notice{background:var(--warn-bg);color:var(--warn);margin:0;padding:8px 16px;font-size:12px}.btn{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:5px 12px;font-size:13px}.btn:hover{background:var(--panel2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--onaccent)}.btn.primary:hover{opacity:.9}.btn.small{padding:3px 10px;font-size:12px}.btn.icon{flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn.warn{border-color:var(--danger);color:var(--danger)}.grid{flex:1;grid-template-columns:minmax(300px,370px) minmax(0,1fr);align-items:start;gap:12px;padding:12px 16px;display:grid}.left{flex-direction:column;gap:12px;min-width:0;display:flex}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}.card h2{color:var(--text2);margin:0 0 8px;font-size:12px;font-weight:500}.row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.row:hover{background:var(--panel2)}.row.sel{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}.row .nm{flex:1;min-width:0}.row .n1{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.row .n2{text-overflow:ellipsis;white-space:nowrap;color:var(--text2);font-size:11px;overflow:hidden}.row.sel .n2{color:var(--accent-text)}.st{background:var(--panel2);color:var(--text2);white-space:nowrap;border-radius:6px;padding:1px 8px;font-size:11px}.st.ok{background:var(--ok-bg);color:var(--ok)}.rm{width:22px;height:22px;color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.rm:hover{background:var(--panel2);color:var(--danger)}.empty{text-align:center;color:var(--text2);padding:20px 8px;font-size:13px}.seg{gap:14px;margin-bottom:10px;font-size:13px;display:flex}.seg label{cursor:pointer}.fld{color:var(--text2);flex-direction:column;gap:2px;margin-bottom:8px;font-size:12px;display:flex}.fld input,.fld select,.srow select,.types{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;width:100%;padding:6px 8px;font-size:14px}.fld input:focus,.fld select:focus{outline:2px solid var(--accent);outline-offset:0}.hint{color:var(--danger);font-size:11px}.hint.okc{color:var(--ok)}.ferr{color:var(--danger);font-size:12px;display:block}.fld input.invalid,.fld select.invalid{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.legend{flex-wrap:wrap;align-items:center;gap:4px;margin:-2px 0 8px;display:flex}.lg{font:inherit;border:1px solid var(--border);background:var(--panel2);color:var(--text2);cursor:pointer;border-radius:6px;padding:1px 8px;font-size:11px}.lg:hover{background:var(--accent-bg);color:var(--accent-text)}.lgmore{color:var(--text2);font-size:11px}.mt{height:70px;font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);resize:vertical;border-radius:8px;width:100%;padding:6px 8px;font-size:13px}.dfmt{color:var(--text2);flex-wrap:wrap;align-items:center;gap:12px;margin:-2px 0 8px;font-size:11px;display:flex}.dfmt select{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;width:auto;padding:2px 4px;font-size:12px}.res{background:var(--panel2);border-radius:8px;margin:4px 0 8px;padding:8px 10px}.res .cap{color:var(--text2);font-size:11px}.res .nm{word-break:break-all;font-size:14px;font-weight:500}.res .meta{color:var(--text2);margin-top:2px;font-size:11px}.chk{color:var(--text2);cursor:pointer;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;display:flex}.acts{gap:8px;display:flex}.acts .btn{flex:1}.acts2{margin-top:8px}.msg{min-height:18px;padding:0 4px;font-size:12px}.msg.ok{color:var(--ok)}.msg.err{color:var(--danger)}.msg.info{color:var(--text2)}.right{background:var(--panel2);border:1px solid var(--border);border-radius:12px;flex-direction:column;height:calc(100vh - 170px);min-height:460px;display:flex;position:sticky;top:8px;overflow:hidden}.tool{border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:flex}.tool input[type=number]{width:52px;font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:3px 6px;font-size:12px}.viewer{scrollbar-gutter:stable;flex:1;justify-content:center;align-items:flex-start;padding:12px;display:flex;overflow:auto}.viewer canvas{box-shadow:0 0 0 1px var(--border);background:#fff}.viewer.scroll{display:block;position:relative}.pages{flex-direction:column;align-items:center;gap:12px;width:max-content;min-width:100%;display:flex}.page{box-shadow:0 0 0 1px var(--border);background:#fff;flex:none;position:relative}.page-canvas canvas{width:100%;height:100%;box-shadow:none;display:block}.page .ph{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.redact-layer{position:absolute;inset:0}.redact-layer.on{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.redact-box{background:#000;border:0;border-radius:0;padding:0;display:block;position:absolute}.redact-layer.on .redact-box{cursor:pointer}.redact-layer.on button.redact-box:hover,.redact-layer.on button.redact-box:focus-visible{outline-offset:1px;outline:2px solid #e24b4a}.redact-box.draft{pointer-events:none;background:#0000008c;outline:1px dashed #e24b4a}.redactnote{background:var(--panel);border-bottom:1px solid var(--border);padding:6px 12px;font-size:12px;line-height:1.5}.redactnote strong{color:var(--danger);font-weight:600;display:block}.thumb-wrap{line-height:0;display:inline-block;position:relative}.viewer iframe{border:1px solid var(--border);background:#fff;width:100%;height:100%;min-height:400px}.ph{color:var(--text2);text-align:center;margin:auto;padding:24px;font-size:13px}.foot{background:var(--panel);border-top:1px solid var(--border);color:var(--text2);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex}.settings{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:12px 16px 0;padding:12px 14px}.settings h2{margin:0 0 8px;font-size:13px;font-weight:500}.srow{align-items:center;gap:10px;padding:3px 0;font-size:13px;display:flex}.srow .lbl{width:80px}.srow .btn{padding:0 8px}.sgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.types{resize:vertical;height:130px}.ex{background:var(--panel2);word-break:break-all;border-radius:8px;margin-top:8px;padding:6px 10px;font-size:12px}.drop{border:3px dashed var(--accent);color:var(--accent);z-index:50;pointer-events:none;background:#185fa52e;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed;inset:0}.idlewarn{z-index:60;border:1px solid var(--danger);background:var(--danger-bg);max-width:calc(100vw - 32px);color:var(--danger);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}.mergebar{color:var(--text2);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:11px;display:flex}.row input[type=checkbox]{flex:none;margin:0}.pagegrid{align-self:stretch;width:100%}.pg-tool{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pg-hint{color:var(--text2);margin:6px 0 10px;font-size:11px}.pg-list{flex-wrap:wrap;align-items:center;row-gap:12px;display:flex}.pg-cell{align-items:center;display:flex}.pg-item{background:var(--panel);border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}.pg-item.dragging{opacity:.4}.pg-item.dropat{border-color:var(--accent)}.thumb{cursor:pointer;background:0 0;border:none;padding:0;line-height:0}.thumb-img{width:120px;height:170px;box-shadow:0 0 0 1px var(--border);background:#fff;justify-content:center;align-items:center;display:flex}.thumb:focus-visible .thumb-img{outline:2px solid var(--accent)}.pg-cap{color:var(--text2);font-size:11px}.pg-btns{gap:2px;display:flex}.pg-btns .btn.icon{width:26px;height:26px}.pg-cut{width:22px;height:60px;color:var(--text2);cursor:pointer;opacity:.45;background:0 0;border:1px dashed #0000;border-radius:6px;justify-content:center;align-items:center;margin:0 2px;padding:0;display:flex}.pg-cut:hover{opacity:1;border-color:var(--border)}.pg-cut.on{opacity:1;border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}@media (max-width:820px){.grid{grid-template-columns:1fr}.right{height:70vh;position:static}.sgrid{grid-template-columns:1fr}}
