.tool-shell{display:grid;grid-template-columns:21rem minmax(0,1fr);border:1.5px solid var(--ink);background:var(--paper)}@media(max-width:940px){.tool-shell{grid-template-columns:1fr}}.stepper{display:flex;gap:0;list-style:none;margin:0 0 1.5rem;padding:0;border-top:1.5px solid var(--ink)}.stepper-item{flex:1}.stepper-item>span,.stepper-item>button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.8rem .9rem .8rem 0;border:0;border-top:2px solid transparent;margin-top:-1.5px;background:none;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:left}.stepper-item>button{cursor:pointer}.stepper-item>button:hover{color:var(--ink)}.stepper-item.is-active>span{color:var(--ink);border-top-color:var(--magenta)}.stepper-no{display:grid;place-items:center;width:1.35rem;height:1.35rem;flex:none;border:1px solid currentColor;font-size:.62rem}.stepper-item.is-active .stepper-no{background:var(--magenta);border-color:var(--magenta);color:#fff}.notice{margin:0 0 1.25rem;padding:.7rem .9rem;border-left:2px solid var(--cyan);background:var(--paper-2);font-size:.86rem;color:var(--ink-mid)}.notice--warning{border-left-color:var(--magenta)}.notice--error{border-left-color:var(--magenta);color:var(--magenta-deep);font-weight:500}.step-select{display:grid;gap:1.25rem}.picker--hero .dropzone{padding:clamp(2.5rem,8vw,4.5rem) 1.5rem;font-size:.85rem}.picker--hero .dropzone-action{font-size:.95rem;margin-top:.45rem}.picker--hero .picker-actions{justify-content:center}.dropzone-mark{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.15fr .85fr;gap:3px;width:34px;height:44px;margin:0 auto 1.1rem;padding:3px;border:1px solid currentColor}.dropzone-mark span{background:currentColor;opacity:.55}.dropzone-mark span:nth-child(3){opacity:1}.picker-actions{display:flex;justify-content:center;gap:.4rem;margin-top:.75rem}.folder-picker-button{padding:.7rem 1rem;border:1px solid var(--rule);background:#fff3;color:var(--ink-mid);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .15s}.folder-picker-button:hover:not(:disabled){border-color:var(--ink);color:var(--ink);background:#fff6}.folder-picker-button:disabled{opacity:.45;cursor:not-allowed}.reading{margin:0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--cyan-deep);text-align:center}.selection-bar{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;padding-bottom:.6rem;border-bottom:1.5px solid var(--ink)}.counter{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft)}.counter strong{font-size:1rem;color:var(--ink)}.selection-help{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em;color:var(--ink-soft);margin-right:auto}.link-button{padding:0;border:0;background:none;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer}.link-button:hover{color:var(--magenta);text-decoration:underline}.step-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-top:.5rem}.step-footer .primary{padding:.85rem 1.6rem;border:1.5px solid var(--magenta);background:var(--magenta);color:#fff;font-family:var(--font-mono);font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s}.step-footer .primary:hover{background:var(--ink);border-color:var(--ink)}.step-footer-note{font-family:var(--font-mono);font-size:.65rem;color:var(--ink-soft)}.sidebar-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.sidebar-thumbs{margin-bottom:.7rem}.sidebar-thumbs summary{cursor:pointer;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);list-style:none}.sidebar-thumbs summary::-webkit-details-marker{display:none}.sidebar-thumbs summary:before{content:"+ ";color:var(--magenta)}.sidebar-thumbs[open] summary:before{content:"– "}.sidebar-thumbs summary:hover{color:var(--ink)}.sidebar-thumbs .thumbs{max-height:15rem;overflow-y:auto}.tool-sidebar{padding:1.4rem;border-right:1px solid var(--rule);background:var(--paper)}@media(max-width:940px){.tool-sidebar{border-right:0;border-bottom:1px solid var(--rule)}}.tool-sidebar fieldset{border:0;border-top:1px solid var(--rule);padding:1rem 0 1.35rem;margin:0}.tool-sidebar fieldset:first-of-type{border-top:0;padding-top:0}.tool-sidebar legend{font-family:var(--font-mono);font-size:.63rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta);padding:0;margin-bottom:.35rem}.tool-sidebar label,.tool-sidebar .field-label{display:block;font-family:var(--font-mono);font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin:.85rem 0 .3rem}.tool-sidebar fieldset>label:first-of-type{margin-top:.5rem}.tool-sidebar input[type=number],.tool-sidebar select{width:100%;padding:.5rem .55rem;border:1px solid var(--rule);border-radius:0;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.85rem}.tool-sidebar input[type=number]:focus,.tool-sidebar select:focus{border-color:var(--ink)}.tool-sidebar select:disabled{opacity:.45}.tool-sidebar .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.tool-sidebar .check{display:flex;align-items:center;gap:.5rem;margin:.55rem 0 0;font-family:var(--font-body);font-size:.82rem;letter-spacing:0;text-transform:none;color:var(--ink-mid);cursor:pointer}.tool-sidebar .check input{margin:0;accent-color:var(--magenta)}.hint{font-family:var(--font-mono);font-size:.63rem;line-height:1.6;color:var(--ink-soft);margin:.55rem 0 0}.dropzone{display:block;width:100%;padding:1.5rem .75rem;border:1.5px dashed var(--rule);background:transparent;color:var(--ink-soft);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-align:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.dropzone-action{display:block;margin-top:.3rem;font-weight:600;color:var(--ink)}.dropzone:hover,.dropzone.is-over{border-color:var(--magenta);background:var(--magenta-wash);color:var(--magenta-deep)}.dropzone.is-over .dropzone-action{color:var(--magenta-deep)}.tool-sidebar button:not(.dropzone),.actions button{padding:.5rem .7rem;border:1px solid var(--rule);border-radius:0;background:transparent;color:var(--ink-mid);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.tool-sidebar button:not(.dropzone):hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.tool-sidebar button:disabled{opacity:.4;cursor:not-allowed}.dropzone:disabled{opacity:.5;cursor:not-allowed}.actions{display:grid;gap:.45rem;margin-top:.5rem}.actions button{padding:.8rem;font-size:.72rem}.actions .primary{background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600}.actions .primary:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--paper)}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;list-style:none;margin:.7rem 0 0;padding:0}.thumbs--gallery{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem;margin-top:0}.thumbs--gallery .thumb-index{font-size:.62rem;padding:0 5px}.thumbs--gallery .thumb-actions button{width:22px;height:22px;font-size:.72rem}.thumb{position:relative;padding-top:100%;border:1px solid var(--rule);overflow:hidden;background:var(--paper-2);cursor:grab}.thumb.is-dragging{opacity:.3}.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.thumb-index{position:absolute;left:0;top:0;padding:0 3px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.52rem;line-height:1.5}.thumb-actions{position:absolute;right:2px;top:2px;display:flex;gap:2px;opacity:0;transition:opacity .15s}.thumb:hover .thumb-actions,.thumb:focus-within .thumb-actions{opacity:1}.thumb-actions button{width:17px;height:17px;padding:0;border:0;background:var(--ink);color:var(--paper);font-size:.6rem;line-height:1;cursor:pointer}.thumb-actions button:hover{background:var(--magenta)}.tool-main{padding:1.5rem;background:var(--paper-2);min-width:0}.tool-status{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--ink-soft);text-align:center}.tool-status .error{color:var(--magenta-deep);font-weight:600}.tool-status .warning{color:var(--cyan-deep)}.empty-state{max-width:30rem;margin:0 auto;padding:3.5rem 1.5rem;border:1.5px dashed var(--rule);text-align:center;font-size:.9rem;color:var(--ink-soft)}.preview{display:flex;flex-direction:column;align-items:center}.page-holder{margin-bottom:1.75rem;content-visibility:auto;contain-intrinsic-size:auto 900px}.page{position:relative;overflow:hidden;background:#fff;transform-origin:top left;box-shadow:0 1px 2px #15171b17,0 16px 40px -18px #15171b4d}.margin-guide{position:absolute;border:1px dashed rgba(0,145,199,.55);pointer-events:none}.slot{position:absolute;overflow:hidden}.slot.is-bordered{border:1px solid #9aa3b0}.slot img{position:absolute;left:50%;top:50%;transform-origin:center center}.slot .caption{position:absolute;inset:auto 0 0;background:#ffffffdb;font-size:6pt;line-height:1.25;text-align:center;color:#444;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.page-number{position:absolute;inset:auto 0 2mm;text-align:center;font-size:8pt;color:#555}.page-label{margin:.5rem 0 0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);text-align:center}@media print{.site-header,.site-footer,.tool-sidebar,.tool-status,.tool-intro,.stepper,.notice,.page-label,.ad-slot{display:none!important}.tool-shell{display:block;border:0;background:#fff}.tool-main{padding:0;background:#fff}.page-holder{width:auto!important;height:auto!important;margin:0!important;content-visibility:visible!important}.page{box-shadow:none;transform:none!important;break-after:page;page-break-after:always}.page-holder:last-child .page{break-after:auto;page-break-after:auto}.margin-guide{display:none!important}}
