*{box-sizing:border-box}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;min-height:100vh;padding:0}#app{padding:1rem}@media(min-width:768px){#app{padding:2rem}}h4{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1rem;font-weight:600;margin-bottom:.75rem;margin-top:1.25rem;padding-bottom:.5rem}@media(min-width:768px){h4{font-size:1.1rem;margin-top:1.5rem}}h4:first-child{margin-top:0}pre{background-color:#1a202c;border-radius:8px;box-shadow:inset 0 2px 4px #0000001a;color:#68d391;font-size:.75rem;line-height:1.5;margin-top:.5rem;max-width:100%;overflow-x:auto;padding:.75rem;white-space:pre-wrap;word-wrap:break-word}@media(min-width:768px){pre{font-size:.875rem;padding:1rem;white-space:pre}}p{line-height:1.6;margin-bottom:1rem;margin-top:.5rem}label{color:#4a5568;display:block;font-size:.9rem;margin-bottom:.5rem}@media(min-width:768px){label{font-size:.95rem}}input[type=number],input[type=text]{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);border:2px solid #a0aec0;border-radius:6px;color:#2d3748;font-size:16px;font-weight:600;padding:.3em .6em;transition:all .2s ease}@media(min-width:768px){input[type=number],input[type=text]{font-size:.95rem;padding:.4em .8em}}input[type=number]:focus,input[type=text]:focus{background:linear-gradient(135deg,#fff,#e2e8f0);border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}input[type=number]:hover,input[type=text]:hover{background:linear-gradient(135deg,#f7fafc,#e2e8f0);border-color:#667eea}.input-disabled,input[type=number]:disabled,input[type=text]:disabled{background-color:#e2e8f0!important;border-color:#cbd5e0!important;color:#718096!important;cursor:not-allowed;opacity:.7}.input-disabled:hover,input[type=number]:disabled:hover,input[type=text]:disabled:hover{background-color:#e2e8f0!important;border-color:#cbd5e0!important}input:user-invalid{background-color:#fff5f5;border:2px solid #fc8181;outline:none}input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:1.2rem;margin-right:.5rem;width:1.2rem}input[type=range]{accent-color:#667eea;background:#e2e8f0;border-radius:3px;cursor:pointer;height:6px;outline:none;width:100%}.input-number{width:4.5em}.input-select{background-color:#fff;border:1px solid #cbd5e0;border-radius:4px;font-size:inherit;padding:.5em}@media(min-width:768px){.input-number{width:5.5em}}.bleed-input-grey{background-color:#f7fafc;border-color:#cbd5e0}.bleed-input-white{background-color:#fff;border-color:#667eea}.bleed-input-overridden{background-color:#f7fafc;border-color:#cbd5e0;border-style:dashed;opacity:.7}.bleed-overridden-indicator{color:#f56565;font-weight:700;margin-left:.25em}button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 6px #667eea40;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;min-height:44px;padding:.7rem 1.2rem;touch-action:manipulation;transition:all .3s ease}@media(min-width:768px){button{min-height:auto;padding:.6rem 1.2rem}}button:hover{box-shadow:0 6px 12px #667eea59;transform:translateY(-2px)}button:active{transform:translateY(0)}@media(hover:none){button:hover{transform:none}}a{color:#667eea;font-weight:500;text-decoration:none;transition:color .2s ease}a:hover{color:#764ba2}section{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;margin-bottom:1.5rem;padding:1rem}@media(min-width:768px){section{margin-bottom:2rem;padding:2rem}}#settings{order:2;width:100%}@media(min-width:768px){#settings{max-width:none;order:2}}@media(min-width:1024px){#settings{flex-shrink:0;order:1;width:calc(50vw - 3rem)}}@media(min-width:1400px){#settings{flex-shrink:0;order:1;width:calc(50vw - 3rem)}}.preview-section{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;order:1;overflow-x:auto;overflow-y:auto;padding:1rem;width:100%;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media(min-width:768px){.preview-section{order:1;padding:2rem}}@media(min-width:1024px){.preview-section{align-self:flex-start;flex-shrink:0;height:calc(100vh - 4rem);order:2;position:sticky;top:2rem;width:calc(50vw - 3rem)}}@media(min-width:1400px){.preview-section{height:calc(100vh - 4rem);top:2rem;width:calc(50vw - 3rem)}}.preview-container{align-items:flex-start;display:flex;flex-direction:column;padding-bottom:2rem;padding-right:2rem;width:-moz-fit-content;width:fit-content}#preview{height:auto;width:auto}.preview-content{overflow:visible}.preview-section::-webkit-scrollbar{height:10px;width:10px}.preview-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.preview-section::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.preview-section::-webkit-scrollbar-thumb:hover{background:#764ba2}#registration-margin-error,#trail-cutting-warning{background:linear-gradient(135deg,#fc8181,#f56565);border-radius:8px;box-shadow:0 4px 6px #fc838340;color:#fff;display:inline-block;font-size:.9rem;font-weight:500;margin-top:.75rem;padding:.75rem 1rem}@media(min-width:768px){#registration-margin-error,#trail-cutting-warning{font-size:1rem}}.main-container{align-items:stretch;display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.main-container{gap:1.5rem}}@media(min-width:1024px){.main-container{align-items:flex-start;flex-direction:row;gap:2rem}}.json-section{background:#f7fafc;border-radius:8px;margin-top:1rem;padding:.75rem}@media(min-width:768px){.json-section{padding:1rem}}.copy-button-container{align-items:flex-start;display:flex;flex-direction:column;gap:.5em;margin-bottom:1rem}@media(min-width:768px){.copy-button-container{align-items:center;flex-direction:row}}.copy-button-container h4{border:none;font-size:.95rem;margin:0;padding:0}@media(min-width:768px){.copy-button-container h4{font-size:1.1rem}}.copy-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:6px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;font-size:.85em;gap:.3em;padding:.4em .8em;transition:all .2s ease}.copy-button:hover{border-color:#667eea;box-shadow:0 4px 8px #667eea33;transform:translateY(-1px)}.copy-button.copied{background:#e8f5e8;border-color:#48bb78}.rotate-button{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);cursor:pointer;display:inline-flex;font-size:.95rem;gap:.5em;padding:.5em 1em}.rotate-button:hover{box-shadow:0 6px 12px #48bb7859}.rotation-display{color:#2d3748;display:inline-block;font-size:.9rem;font-weight:600;margin-left:.5em}@media(min-width:768px){.rotation-display{font-size:1rem}}.computed-value{color:#2d3748;display:inline-block;font-size:.9rem;font-weight:600;text-align:center;width:4.5em}@media(min-width:768px){.computed-value{font-size:1rem}}.info-text{color:#718096;display:inline;font-size:.875rem;font-style:italic;margin-top:.25rem}.preview-controls{background:#f7fafc;border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;margin-bottom:1rem;padding:.75rem;position:sticky;top:0;z-index:10}@media(min-width:768px){.preview-controls{align-items:center;flex-direction:row;gap:1rem;padding:1rem}}.preview-controls label{color:#2d3748;font-size:.9rem;font-weight:600;margin:0}@media(min-width:768px){.preview-controls label{font-size:1rem}}.crease-line-input{display:inline-block;margin-bottom:.5rem}.remove-crease{align-items:center;color:#f56565;display:inline-flex;font-weight:700;justify-content:center;margin-left:.5em;margin-right:1.5em;min-height:44px;min-width:44px;padding:.25em;transition:color .2s ease}@media(min-width:768px){.remove-crease{min-height:auto;min-width:auto;padding:0}}.remove-crease:hover{color:#e53e3e}.sheet-preview{background-color:#f7fafc;border:2px solid #2d3748;border-radius:0;box-shadow:0 10px 25px #00000026;position:relative}.preview-header{margin-bottom:1rem}.preview-label{color:#2d3748;font-size:.75rem;font-weight:600;letter-spacing:.5px}@media(min-width:768px){.preview-label{font-size:.9rem}}.preview-wrapper{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.app-header{color:#fff;margin-bottom:1rem;padding:0 1rem;position:relative;text-align:center}@media(min-width:768px){.app-header{margin-bottom:2rem}}.pdf-downloads{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;position:absolute;right:1rem;top:0}@media(max-width:767px){.pdf-downloads{align-items:center;margin-top:1rem;position:static}}.pdf-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .75rem;text-decoration:none;transition:all .3s ease}@media(min-width:768px){.pdf-link{font-size:.9rem;padding:.6rem .9rem}}.pdf-link:hover{background:#fff3;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.pdf-link:active{transform:translateY(0)}.pdf-icon{flex-shrink:0;font-size:1.2rem}@media(min-width:768px){.pdf-icon{font-size:1.3rem}}.app-title{font-size:1.75rem;font-weight:700;line-height:1.2;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}@media(min-width:768px){.app-title{font-size:2.5rem}}.app-subtitle{font-size:.9rem;font-weight:400;line-height:1.4;margin:0;opacity:.95}@media(min-width:768px){.app-subtitle{font-size:1.1rem}}.import-export-section{margin-bottom:2rem}.import-area{background-color:#f9f9f9;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease}.import-area:hover{background-color:#f0f7ff;border-color:#007bff}.import-area.drag-over{background-color:#e7f3ff;border-color:#007bff;border-style:solid}.import-label{cursor:pointer;display:block}.import-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.import-icon{font-size:2rem}.import-text{color:#333;font-weight:500}.import-subtext{color:#666;font-size:.9rem}.import-error{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.import-error,.import-success{margin-top:1rem;padding:.75rem}.import-success{background-color:#efe;border:1px solid #cfc;border-radius:4px;color:#3c3}.impose-status{margin-top:.5rem;white-space:pre-wrap;word-break:break-word}
