:root{font-family: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}a{font-weight:500;color:#646cff;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:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Courier New,Consolas,Monaco,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}.app-container{display:flex;flex-direction:row;min-height:100vh;position:relative}.sidebar-toggle{position:fixed;top:10px;left:10px;z-index:1001;background:#e8f0f8;color:#1a5490;border:2px solid #1a5490;width:40px;height:40px;border-radius:0;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #1a549033;transition:all .2s;font-weight:700}.sidebar-toggle:hover{background:#1a5490;color:#e8f0f8;box-shadow:3px 3px #1a54904d}.sidebar{position:fixed;top:0;left:0;bottom:0;background:#e8f0f8;background-image:linear-gradient(rgba(26,84,144,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(26,84,144,.08) 1px,transparent 1px);background-size:20px 20px;color:#1a5490;padding:60px 10px 10px;box-shadow:3px 0 #1a54904d,6px 0 20px #0000001a;width:300px;overflow-y:auto;transition:transform .3s ease;z-index:1000;border-right:3px solid #1a5490}.sidebar.closed{transform:translate(-100%)}.sidebar-section{margin:30px 0;background:#ffffffb3;padding:15px;position:relative}.sidebar-section:last-of-type{border-bottom:none}.sidebar-section h2{font-size:16px;margin:0 0 15px;color:#0d3a66;text-transform:uppercase;letter-spacing:2px;font-weight:700;border-bottom:2px dashed #1a5490;padding-bottom:8px}.config-group{margin-bottom:20px}.config-group:last-child{margin-bottom:0}.config-group h3{font-size:13px;margin:0 0 10px;color:#2c5d8f;text-transform:uppercase;letter-spacing:1px;font-weight:700;font-family:Courier New,monospace}.sidebar label{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer;font-size:13px;font-family:Courier New,monospace;font-weight:500}.sidebar input[type=number]{width:80px;padding:6px 8px;border-radius:0;border:2px solid #1a5490;background:#fff;color:#0d3a66;font-size:13px;font-family:Courier New,monospace;font-weight:700}.sidebar input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#1a5490}.file-upload{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left}.file-upload input[type=file]{width:100%;padding:8px;cursor:pointer;border:2px solid #1a5490;border-radius:0;background:#fff;color:#0d3a66;font-size:13px;font-family:Courier New,monospace}.file-upload input[type=file]::file-selector-button{background:#1a5490;color:#fff;border:2px solid #0d3a66;padding:6px 12px;border-radius:0;cursor:pointer;margin-right:10px;font-size:12px;font-family:Courier New,monospace;font-weight:700}.file-upload input[type=file]::file-selector-button:hover{background:#0d3a66;border-color:#1a5490}.help-text{display:block;color:#4a7ba7;font-size:11px;line-height:1.4;margin-top:-3px;font-family:Courier New,monospace;font-style:italic}.main-content{flex:1;overflow-y:auto;background:#232323;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;position:relative}.sidebar.closed~.main-content{margin-left:0}.print-button{background:#1a5490;color:#fff;border:3px solid #0d3a66;padding:12px 24px;border-radius:0;cursor:pointer;font-size:14px;font-weight:700;width:100%;margin-top:10px;transition:all .2s;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:2px;box-shadow:3px 3px #0d3a664d;position:relative}.print-button:hover{background:#0d3a66;border-color:#1a5490;box-shadow:5px 5px #0d3a6666;transform:translate(-1px,-1px)}@media print{.sidebar,.sidebar-toggle{display:none}body{background:#fff}}.card-wrapper{position:relative}.card-container{border:1mm solid #000;background:#fff;padding:3mm;box-sizing:border-box;display:flex;flex-direction:column;page-break-inside:avoid;text-align:center;position:relative;z-index:3;font-family:"PT Serif",serif}.card-container.rounded{border-radius:4mm}.card-container.square{border-radius:0}.card-container.borderless{border-color:transparent}.card-header{border-bottom:1px solid #333;padding-bottom:2mm;margin-bottom:2mm}.card-name{margin:4mm 0 2mm;font-size:14pt;font-weight:700;color:#000}.card-costs{display:flex;gap:2mm;flex-wrap:wrap;justify-content:center}.cost{width:8mm;height:8mm;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10pt;color:#fff;border:1px solid #000;-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact}.cost-red{background-color:#e74c3c!important}.cost-blue{background-color:#3498db!important}.cost-green{background-color:#36bb4e!important}.cost-white{background-color:#989898!important}.card-body{flex:1;overflow:hidden}.card-text{margin:0;font-size:10pt;line-height:1.4;color:#000}.card-types{font-size:9pt;font-weight:700;color:#333;margin-top:2mm;padding-top:2mm;border-top:1px solid #333;text-align:center}.card-extra-field{font-size:8pt;margin-top:1mm;padding-top:1mm;border-top:1px dashed #999;color:#666}.cut-guidelines{position:absolute;top:0;left:0;width:100%;height:100%}.cut-guideline-wrapper{position:relative;width:100%;height:100%}.cut-line{position:absolute}.cut-line.top{top:0;left:-50%;width:200%;border-top:1px dashed #ccc}.cut-line.bottom{bottom:0;left:-50%;width:200%;border-bottom:1px dashed #ccc}.cut-line.left{top:-50%;left:0;height:200%;border-left:1px dashed #ccc}.cut-line.right{top:-50%;right:0;height:200%;border-right:1px dashed #ccc}.cut-line-bleed{position:absolute;top:-3mm;left:-3mm;height:100%;width:100%;background:#fff;padding:3mm;box-sizing:content-box;z-index:2}.print-container{padding:10mm;min-height:100vh}.page{background:#fff;margin:0 auto 10mm;box-shadow:0 0 10px 5px #0009;position:relative;box-sizing:border-box;overflow:hidden}.cards-grid{display:grid;box-sizing:border-box}.cutting-guide{position:absolute;background-color:red}.cutting-guide-left,.cutting-guide-right{width:1px;height:20mm;top:50%;transform:translateY(-50%)}.cutting-guide-left{left:0}.cutting-guide-right{right:0}.cutting-guide-top,.cutting-guide-bottom{height:1px;width:20mm;left:50%;transform:translate(-50%)}.cutting-guide-top{top:0}.cutting-guide-bottom{bottom:0}@media print{.print-container{background:#fff;padding:0}.page{margin:0;box-shadow:none;page-break-after:always}.page:last-child{page-break-after:auto}@page{size:A4;margin:0}body{margin:0;padding:0}}
