:root{--blue:#0753a6;--blue2:#0b6dcc;--ink:#15243a;--muted:#607087;--line:#d7e0eb;--soft:#eef4fa;--red:#b42318;--green:#12805c;--shadow:0 18px 50px rgba(16,39,68,.16)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#eaf0f7}button,input,select{font:inherit}.topbar{height:74px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#063f83,#0871cb);color:#fff;box-shadow:0 3px 16px rgba(0,34,80,.22)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#fff;color:var(--blue);font-weight:900}.brand strong{display:block;font-size:20px}.brand small{display:block;margin-top:2px;opacity:.82}.privacy{display:flex;align-items:center;gap:8px;font-size:13px}.privacy span{width:9px;height:9px;border-radius:50%;background:#62e6aa;box-shadow:0 0 0 4px rgba(98,230,170,.15)}.tabs{height:58px;padding:8px 24px;display:flex;gap:8px;background:#fff;border-bottom:1px solid var(--line)}.tab{border:0;border-radius:10px;padding:0 18px;background:transparent;color:#3a4c65;font-weight:700;cursor:pointer}.tab.active{background:#e7f1ff;color:var(--blue)}main{height:calc(100vh - 132px)}.view{display:none;height:100%;grid-template-columns:350px minmax(0,1fr)}.view.active{display:grid}.panel{padding:24px;background:#fff;border-right:1px solid var(--line);overflow:auto}.panel h1{font-size:23px;margin:12px 0 8px}.panel p{line-height:1.55}.pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:#e8f2ff;color:var(--blue);font-size:12px;font-weight:800}.notice{display:flex;gap:10px;align-items:center;margin:20px 0;padding:12px;border:1px solid #f0b7b2;border-radius:12px;background:#fff1f0;color:#75201a}.notice strong{letter-spacing:.08em}.notice span{font-size:12px;line-height:1.4}.field{display:grid;gap:6px;margin:13px 0}.field span{font-size:13px;font-weight:700;color:#40516a}.field input,.field select{width:100%;min-height:42px;border:1px solid #bdcada;border-radius:9px;padding:8px 10px;background:#fff}.stack{display:grid;gap:9px}.button{min-height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:800;cursor:pointer}.primary{background:linear-gradient(120deg,var(--blue),var(--blue2));color:#fff}.secondary{background:#e8f2ff;color:var(--blue);border:1px solid #b7d4f5}.ghost{background:#f0f3f7;color:#415169}.delete{background:#fff0ef;color:var(--red);border:1px solid #f1b0aa}.stage-wrap{position:relative;overflow:auto;padding:30px;display:grid;place-items:start center;background:radial-gradient(circle at top,#f7faff,#e3ebf4)}.paper{position:relative;background:#fff;box-shadow:var(--shadow);transform-origin:top center}.model-paper{width:min(850px,100%)}.model-paper img{display:block;width:100%;height:auto}.muted{color:var(--muted);font-size:14px}.drop-zone{min-height:150px;border:2px dashed #8db1db;border-radius:15px;background:#f3f8ff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;cursor:pointer}.drop-zone input{display:none}.drop-zone.drag{background:#e4f1ff;border-color:var(--blue)}.drop-icon{font-size:32px;color:var(--blue)}.drop-zone small{margin-top:5px;color:var(--muted)}.file-state{margin:14px 0;padding:10px;border-radius:9px;background:#eaf8f2;color:#126348;font-size:13px;font-weight:700;overflow-wrap:anywhere}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.tool-button{min-height:74px;border:1px solid #bbcee3;border-radius:11px;background:#f5f9fe;color:#26415f;cursor:pointer}.tool-button b{display:block;margin:auto auto 4px;font-size:19px}.tool-button span{font-size:12px;font-weight:800}.tool-button.danger{color:var(--red);background:#fff3f2;border-color:#efbbb7}.selection-panel{margin-top:15px;padding:14px;border:1px solid #c9d6e5;border-radius:12px;background:#f7f9fc}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-actions{margin-top:18px}.empty-state{margin:auto;text-align:center;color:#65768c}.empty-state span{display:grid;place-items:center;width:72px;height:72px;margin:auto;border-radius:18px;background:#fff;color:var(--blue);font-size:23px;font-weight:900;box-shadow:var(--shadow)}.empty-state h2{margin-bottom:4px}.editor-paper{line-height:0}.editor-paper canvas{display:block;max-width:100%;height:auto}.editor-paper #overlayLayer{position:absolute;inset:0;overflow:hidden}.overlay-item{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:3px 6px;line-height:1.08;font-family:Arial,sans-serif;font-weight:700;white-space:nowrap;cursor:move;user-select:none;touch-action:none;border:1px dashed transparent;transform-origin:center}.overlay-item.selected{border-color:#0871cb;box-shadow:0 0 0 2px rgba(8,113,203,.16)}dialog{border:0;border-radius:17px;padding:0;box-shadow:0 28px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(8,19,35,.68);backdrop-filter:blur(4px)}.dialog-card{width:min(420px,92vw);padding:24px}.dialog-card h2{margin:8px 0}.dialog-card input{width:100%;min-height:44px;border:1px solid #bdcada;border-radius:9px;padding:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.error{min-height:18px;color:var(--red);font-size:13px}.busy{position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:rgba(10,25,45,.72);color:#fff}.busy[hidden]{display:none}.spinner{width:42px;height:42px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.topbar{height:auto;min-height:70px;padding:12px 15px}.privacy{display:none}.tabs{padding:8px}.tab{flex:1;padding:0 8px;font-size:13px}main{height:auto;min-height:calc(100vh - 128px)}.view.active{display:block}.panel{border-right:0;border-bottom:1px solid var(--line);padding:18px}.stage-wrap{min-height:60vh;padding:15px}.model-info p{margin-bottom:10px}.model-info .notice{margin:12px 0}.model-info .stack{grid-template-columns:1fr 1fr}.tool-grid{grid-template-columns:1fr 1fr}}@media print{.topbar,.tabs,.panel{display:none!important}.view{display:none!important}.view.active{display:block!important}.stage-wrap{padding:0;background:#fff;overflow:visible}.paper{box-shadow:none;width:100%!important}.overlay-item{border:0!important}}
/* Complete read-only model: all seven pages in a continuous vertical viewer. */
.model-stage{display:block!important}
.model-pages{width:min(850px,100%);margin:0 auto;display:grid;gap:36px;padding-bottom:8px}
.model-pages .model-paper{width:100%;margin:0}
.model-pages .model-paper img{display:block;width:100%;height:auto}
.model-pages figcaption{position:absolute;right:12px;bottom:-27px;padding:4px 9px;border-radius:999px;background:#fff;color:#52647a;font-size:12px;font-weight:700;line-height:1.2;box-shadow:0 4px 14px rgba(16,39,68,.12)}
.page-count{display:flex;align-items:center;gap:9px;margin:14px 0 18px;padding:10px;border-radius:10px;background:#f1f6fc;color:#52647a}
.page-count strong{color:var(--blue)}
.page-count span{font-size:12px}
.editable-model-card{margin-top:22px;padding:16px;border:1px solid #b9d9ce;border-radius:14px;background:linear-gradient(145deg,#f3fbf8,#eef6ff)}
.editable-model-card .pill.safe{background:#dff6ed;color:#0d694b}
.editable-model-card h2{margin:10px 0 5px;font-size:18px}
.editable-model-card p{margin:0 0 12px;font-size:13px;color:#506177}
.editable-model-card .button+.button{margin-top:8px}
@media print{.model-pages{width:100%;gap:0}.model-pages .model-paper{break-after:page;page-break-after:always}.model-pages figcaption{display:none}}
.html-dialog{width:min(1180px,96vw);height:min(900px,94vh);max-width:none;max-height:none}.html-dialog-card{height:100%;padding:20px;display:flex;flex-direction:column}.html-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.html-dialog-head h2{margin:7px 0 0}.dialog-close{border:0;background:#edf2f7;color:#273b54;width:40px;height:40px;border-radius:10px;font-size:28px;line-height:1;cursor:pointer}.html-tabs{display:flex;gap:7px;margin:10px 0}.html-tab{border:1px solid #bfd0e3;border-radius:9px;background:#f4f7fb;color:#36506d;padding:9px 14px;font-weight:800;cursor:pointer}.html-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}#htmlPreview,#htmlCode{width:100%;flex:1;min-height:420px;border:1px solid #bccbdd;border-radius:10px;background:#edf1f5}#htmlCode{resize:none;padding:14px;background:#111827;color:#d7e8ff;font:12px/1.5 Consolas,Monaco,monospace;white-space:pre;overflow:auto}.html-dialog .dialog-actions{flex-wrap:wrap}@media(max-width:800px){.html-dialog{width:98vw;height:96vh}.html-dialog-card{padding:13px}#htmlPreview,#htmlCode{min-height:300px}}
.source-paper{width:min(100%,1000px);height:calc(100vh - 190px);min-height:620px;background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.source-paper iframe{display:block;width:100%;height:100%;border:0;background:#fff}.source-stage-wrap{place-items:start center}.source-stage-wrap .empty-state span{width:auto;min-width:82px;padding:0 12px;font-size:18px}@media(max-width:800px){.tabs{height:auto;flex-wrap:wrap}.source-paper{height:70vh;min-height:480px}}
.password-field{padding:12px;border:1px solid #c8d7e8;border-radius:12px;background:#f5f9fe}.password-field>span:first-child{font-size:14px}.password-field>span:first-child small{font-weight:500;color:#6a7a8e}.password-field>small{font-size:12px;color:#607087}.password-entry{display:flex}.password-entry input{min-width:0;border-radius:9px 0 0 9px}.password-entry button{border:1px solid #9fb7d1;border-left:0;border-radius:0 9px 9px 0;padding:0 12px;background:#e6f1fd;color:#0753a6;font-weight:800;cursor:pointer}
.extraction-status{margin:2px 0 8px;padding:9px 11px;border-radius:9px;background:#eaf8f2;color:#126348;font-size:13px;font-weight:700}.extraction-status:empty{display:none}
