.dropzone{border:2px dashed #007bff;border-radius:5px;padding:20px;text-align:center;transition:border .3s ease-in-out;background-color:#fafafa;cursor:pointer;color:#000;-webkit-user-select:none;user-select:none}.dropzone.accept{background-color:#6babff}.dropzone.active{border:2px dashed #6babff}.dropzone:hover,.dropzone:active{border:2px dashed #0056b3;background-color:#6babff}.dropzone.disabled{border:2px dashed #6c757d;background-color:#8d8d8d;cursor:not-allowed}.printable-images{margin-top:20px;display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;max-width:var(--page-width, 8.5 var(--page-unit, in))}.printable-images.help{align-self:stretch;justify-content:center}.print-container{margin-top:10px;margin-bottom:10px;display:flex;flex-direction:column;row-gap:20px;max-width:100%;overflow-x:auto;--bleed-edge-width: var(--bleed-edge, 0mm);--image-zoom-width: var(--image-zoom, 6.2mm);--guide-display: var(--guides-display, block);--guide-border-color: var(--guides-color, #adff2f);--guide-border-color-inverted: var(--guides-color-inverted, #ff0000);--guide-border-width: var(--guides-thickness, 1px);--image-container-buffer-width: var(--image-container-buffer, var(--guide-border-width));--guide-corner-offset: calc( calc(-.5 * var(--guide-border-width)) + calc(var(--bleed-edge-width) * var(--guides-at-bleed-edge, 1)) )}.actions{display:flex;align-items:center;gap:.5rem}.page{display:flex;flex-direction:column;justify-content:center;align-items:center;height:var(--page-height, 11 var(--page-unit, in));width:var(--page-width, 8.5 var(--page-unit, in));background:#fff;overflow:hidden}.page-container{position:relative}.page-container.loading{pointer-events:none}.card-grid{display:grid;grid-template-columns:repeat(var(--grid-columns, 3),min-content);page-break-after:always;justify-content:center;align-items:center;text-align:center}.context-menu{position:absolute;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 10px #0003;z-index:9999;list-style:none;padding:0;margin:0}.context-menu li{display:flex;justify-content:space-between;padding:8px 12px;gap:16px;cursor:pointer;color:#000;transition:background-color .1s}.context-menu li:hover{background-color:#eee}.context-menu li.destructive{color:red}.context-menu li.destructive:hover{background-color:#fdd}.context-menu li .command{color:#000;font-style:italic;white-space:nowrap;font-weight:300}.card{position:relative;transition:outline-color .1s ease-in-out;outline-color:transparent}.card:not(.empty):not(.loading):hover{outline-width:4px;outline-color:var(--interaction-color);outline-style:solid;z-index:1000}.card:before,.card:after{pointer-events:none;display:var(--guide-display);border-color:#000;border-style:solid;border-width:0px}.card .placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff}.card .loading{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:4px solid rgba(0,0,0,.1);border-top:4px solid #000;border-radius:50%;animation:spin 1s linear infinite}.card .error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:red;font-size:24px;-webkit-user-select:none;user-select:none}.card .empty:after{content:"";position:absolute;top:var(--guide-corner-offset);left:var(--guide-corner-offset);right:var(--guide-corner-offset);bottom:var(--guide-corner-offset);border-color:#000;border-style:solid;border-width:var(--guide-border-width)}.card.first-row:after{content:"";position:absolute;height:100%;bottom:100%;left:var(--guide-corner-offset);right:var(--guide-corner-offset);border-left-width:var(--guide-border-width);border-right-width:var(--guide-border-width)}.card.last-row:after{content:"";position:absolute;height:100%;top:100%;left:var(--guide-corner-offset);right:var(--guide-corner-offset);border-left-width:var(--guide-border-width);border-right-width:var(--guide-border-width)}.card.last-column:before{content:"";position:absolute;width:100%;left:100%;top:var(--guide-corner-offset);bottom:var(--guide-corner-offset);border-top-width:var(--guide-border-width);border-bottom-width:var(--guide-border-width)}.card.first-column:before{content:"";position:absolute;width:100%;right:100%;top:var(--guide-corner-offset);bottom:var(--guide-corner-offset);border-top-width:var(--guide-border-width);border-bottom-width:var(--guide-border-width)}.image-container{overflow:hidden;display:flex;justify-content:center;align-items:center;width:calc(var(--card-width, 63mm) + calc(var(--bleed-edge-width) * 2) + var(--image-container-buffer-width));height:calc(var(--card-height, 88mm) + calc(var(--bleed-edge-width) * 2) + var(--image-container-buffer-width))}.image{width:calc(var(--card-width, 63mm) + var(--image-zoom-width));object-fit:cover}.image.loading{opacity:0}.guide{z-index:2;display:var(--guide-display);position:absolute}.guide .content{position:relative;height:4px;width:4px}.guide .inner:after,.guide .inner:before,.guide .outer:after,.guide .outer:before{display:block;position:absolute;content:"";border-color:var(--guide-border-color);border-style:solid;border-width:0px}.guide .inner:after,.guide .inner:before{left:0;top:0;width:100%;height:100%}.guide .outer:after,.guide .outer:before{width:calc(var(--bleed-edge-width) - calc(var(--guide-border-width) * .5));height:calc(var(--bleed-edge-width) - calc(var(--guide-border-width) * .5))}.guide .inner:after,.guide .outer:after{border-color:var(--guide-border-color-inverted);border-style:dotted}.guide.top-left{top:var(--guide-corner-offset);left:var(--guide-corner-offset)}.guide.top-left .inner:after,.guide.top-left .inner:before{border-top-width:var(--guide-border-width);border-left-width:var(--guide-border-width)}.guide.top-left .outer:after,.guide.top-left .outer:before{bottom:calc(100% - 1px);right:calc(100% - 1px);border-bottom-width:var(--guide-border-width);border-right-width:var(--guide-border-width)}.guide.top-right{top:var(--guide-corner-offset);right:var(--guide-corner-offset)}.guide.top-right .inner:after,.guide.top-right .inner:before{left:-1px;border-top-width:var(--guide-border-width);border-right-width:var(--guide-border-width)}.guide.top-right .outer:after,.guide.top-right .outer:before{bottom:calc(100% - 1px);left:calc(100% - 1px);border-bottom-width:var(--guide-border-width);border-left-width:var(--guide-border-width)}.guide.bottom-left{bottom:var(--guide-corner-offset);left:var(--guide-corner-offset)}.guide.bottom-left .inner:after,.guide.bottom-left .inner:before{top:-1px;border-bottom-width:var(--guide-border-width);border-left-width:var(--guide-border-width)}.guide.bottom-left .outer:after,.guide.bottom-left .outer:before{top:calc(100% - 1px);right:calc(100% - 1px);border-top-width:var(--guide-border-width);border-right-width:var(--guide-border-width)}.guide.bottom-right{bottom:var(--guide-corner-offset);right:var(--guide-corner-offset)}.guide.bottom-right .inner:after,.guide.bottom-right .inner:before{top:-1px;left:-1px;border-bottom-width:var(--guide-border-width);border-right-width:var(--guide-border-width)}.guide.bottom-right .outer:after,.guide.bottom-right .outer:before{top:calc(100% - 1px);left:calc(100% - 1px);border-top-width:var(--guide-border-width);border-left-width:var(--guide-border-width)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-errors{position:relative;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;margin:1rem 0;padding:.5rem 1rem}.image-errors button.close{display:flex;align-items:center;justify-content:center;background-color:transparent;border:0;color:#721c24;font-size:1rem;height:1.25rem;width:1.25rem;margin:0;padding:0;position:absolute;right:.5rem;top:.5rem;border-radius:2px}.image-errors button.close:after{content:"✕"}.image-errors button.close:hover{color:#721c24;background-color:#f5c6cb}.image-errors button.close:focus{outline:none;box-shadow:0 0 0 .2rem #dc354540;color:#721c24}.image-errors .description{display:flex;flex-direction:column;gap:.5rem}.image-errors .description ul{display:flex;flex-direction:column;gap:.25rem;list-style-type:none;margin:0;padding:0}.image-errors .description ul li{font-size:.875rem}.image-errors .description ul li .name{font-weight:700;font-style:italic}.progress-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.progress-content{background:#1a1a1a;padding:2rem;border-radius:12px;text-align:center;min-width:350px;box-shadow:0 10px 25px #00000080;animation:slideIn .3s ease-out;border:1px solid #333}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.progress-content h3{margin:0 0 1.5rem;color:#fff;font-size:1.5rem;font-weight:600}.progress-bar-container{margin-bottom:1rem}.custom-progress{width:100%!important;margin-bottom:.5rem}.custom-progress .ProgressBar__label{display:none!important}.custom-progress .ProgressBar__container{background:#333!important}.custom-progress>div>div{position:relative;background:linear-gradient(90deg,#00d4aa,#00b894)!important}.custom-progress>div>div:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{color:#ccc;font-size:.9rem;font-weight:500}.truncated-preview-warning{position:relative;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:.25rem;color:#856404;margin:1rem 0;padding:.5rem 1rem}.description{display:flex;flex-direction:column;gap:.5rem}.description div{font-size:.875rem;line-height:1.4}form{display:grid;grid-template-columns:repeat(auto-fit,165px);gap:1rem;margin:16px;align-self:stretch;justify-content:center}label{display:flex;flex-direction:column;font-weight:700;-webkit-user-select:none;user-select:none}input[type=number],input[type=color],select{padding:.5rem;font-size:1rem;border:1px solid #ccc;border-radius:4px;width:100%;box-sizing:border-box}input[type=color]{padding:0;height:2.5rem}input[type=checkbox]{margin:0;width:2rem;height:2rem}#root{height:100vh;width:100vw;display:flex;flex-direction:column;align-items:stretch}#app-header{display:flex;justify-content:center;align-items:center;background-color:#282c34;color:#fff}#app-main{display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:#282c34;color:#fff;flex:1;align-items:flex-start;padding:0 3rem;gap:3rem}#app-main>aside{display:flex;align-items:center}#app-footer{display:flex;justify-content:center;align-items:center;background-color:#282c34;color:#fff}#download-indicator{background-color:var(--interaction-color);border-radius:5px;color:#fff;padding:10px;text-align:center;transition:opacity .3s ease-in-out;-webkit-user-select:none;user-select:none;opacity:0;position:fixed;top:1rem;right:1rem;z-index:1000}#download-indicator.active{opacity:1}.community-banner{background-color:#4f46e5;color:#fff;padding:12px 0;text-align:center;width:100%;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;box-shadow:0 2px 4px #0000001a}.community-banner p{margin:0;font-size:14px;font-weight:500}.community-banner a{color:#fff;text-decoration:none;transition:opacity .2s ease}.community-banner a:hover{opacity:.8;text-decoration:underline}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--interaction-color: #646cff}a{font-weight:500;color:var(--interaction-color);text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition-property:border-color,background-color;transition-duration:.1s;transition-timing-function:ease-in-out}button:hover{border-color:var(--interaction-color)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button:disabled{cursor:not-allowed;border-color:transparent}button.primary{background-color:var(--interaction-color);color:#fff}button.primary:hover{background-color:#535bf2}button.primary:disabled{color:#aaa;background-color:#5559a7;border-color:#5559a7}button.primary:focus,button.primary:focus-visible{outline-color:#535bf2}input:disabled{cursor:not-allowed}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
