body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,body,html{height:100%}:root{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--text-primary:#fff;--text-secondary:#b3b3b3;--accent:#6366f1;--accent-hover:#4f46e5;--error:#ef4444;--border:#404040}body{background-color:#1a1a1a;background-color:var(--bg-primary);color:#fff;color:var(--text-primary);margin:0;max-width:100vw;overflow-x:hidden;overflow-y:auto;width:100%}*{box-sizing:border-box}h1{font-size:2rem;letter-spacing:.05em;margin:0}.definition{color:#b3b3b3;color:var(--text-secondary);font-family:serif;font-size:1rem;line-height:1.6;margin:.75rem 0}.definition .word{color:#fff;color:var(--text-primary);font-size:1.1rem;font-weight:700}.definition .pronunciation{color:#b3b3b3;color:var(--text-secondary);font-family:monospace;font-size:1rem}.definition .type{font-style:italic}.definition .meaning,.definition .type{color:#b3b3b3;color:var(--text-secondary)}.definition .meaning{display:inline-block;margin-top:.2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.App{background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:hidden}.app-shell{grid-column-gap:1.5rem;align-items:stretch;box-sizing:border-box;column-gap:1.5rem;flex:1 1 auto;grid-template-columns:auto minmax(0,1fr);min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 1.5rem;width:100%}.app-shell,.sidebar{display:grid;position:relative}.sidebar{--sidebar-width:clamp(300px,32vw,420px);--sidebar-footer-height:5.25rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#202024e6;border:1px solid #6e729159;border-left:none;border-radius:0 24px 24px 0;box-shadow:16px 0 40px #00000059;grid-template-rows:1fr auto;max-height:100%;overflow:hidden;width:var(--sidebar-width);z-index:2}.sidebar-scroll{display:flex;flex-direction:column;gap:1.5rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1.5rem 1.5rem calc(1.25rem + var(--sidebar-footer-height));position:relative;scrollbar-gutter:stable;z-index:1}.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-track{background:#0000}.sidebar-scroll::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:999px}.sidebar-scroll:hover::-webkit-scrollbar-thumb{background-color:#ffffff40}.App-header{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:1rem;margin:0;padding:2.25rem 1.5rem 1.75rem;text-align:center;width:100%}.App-header h1{font-size:clamp(2rem,4vw,2.75rem);letter-spacing:.08em;line-height:1.2;max-width:min(960px,92vw)}.App-header p{margin:0;max-width:min(680px,90vw)}.sidebar-menu{display:flex;flex-direction:column;gap:1rem}.menu-item{background:#2d2d38b8;border:1px solid #696c8a40;border-radius:14px;overflow:hidden;position:relative;transition:border .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease}.menu-item.active,.menu-item:hover{background:#4c4e66c7;border-color:#6366f180;box-shadow:0 12px 24px #0000003d;transform:translateX(2px)}.menu-toggle{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem;text-align:left;width:100%}.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-label{display:flex;flex-direction:column;gap:.35rem}.menu-title{font-size:1rem;font-weight:600;letter-spacing:.01em}.menu-description{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.menu-indicator{border-bottom:2px solid #ffffffbf;border-right:2px solid #ffffffbf;display:inline-flex;height:.75rem;transform:rotate(45deg);transition:transform .2s ease;width:.75rem}.menu-item.active .menu-indicator{transform:rotate(-135deg)}.menu-content{display:flex;flex-direction:column;gap:1rem;padding:0 1.25rem 1.25rem}.menu-item:not(.active) .menu-content{display:none}.sidebar-footer{background:linear-gradient(180deg,#202024f2,#202024fa 60%,#202024);border-top:1px solid #ffffff0d;bottom:0;display:flex;flex-direction:column;gap:1rem;left:0;padding:1rem 1.75rem 1.5rem;position:absolute;position:relative;right:0;z-index:2}.sidebar-footer .primary-action{margin:0;pointer-events:auto;width:100%}.privacy-section{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(0deg,#14141afa,#14141aeb 60%,#14141ad9);border-top:1px solid #6e729133;bottom:0;display:flex;flex-shrink:0;justify-content:center;margin-top:auto;padding:1.5rem 1.5rem 1.75rem;position:sticky;width:100%;z-index:5}.privacy-notice{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0;max-width:min(780px,90vw);opacity:.85;text-align:center}.workspace{box-sizing:border-box;gap:1rem;justify-content:stretch;min-width:0;overflow:auto;overscroll-behavior:contain;padding:1.5rem 0}.diagram-dropzone,.workspace{align-items:stretch;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.diagram-dropzone{justify-content:flex-start;margin:0 auto;max-width:none}.pdf-title{background:linear-gradient(180deg,#1e1e26e6,#1e1e2600);color:var(--text-secondary);font-weight:600;left:0;margin-bottom:-.5rem;padding:0 0 .75rem;position:sticky;right:0;text-align:left;top:0;z-index:2}@supports ((-webkit-backdrop-filter:blur(0)) or (backdrop-filter:blur(0))){.sidebar{background:#202024b3}}@media (max-width:1200px){.sidebar{--sidebar-width:clamp(240px,30vw,320px)}.menu-toggle{padding:.9rem 1.15rem}.menu-content{padding:0 1.15rem 1.15rem}}@media (max-width:992px){.App-header{padding:2rem 1.25rem 1.5rem}.sidebar{--sidebar-width:clamp(220px,34vw,280px);border-radius:0 20px 20px 0}.app-shell{column-gap:1.25rem;padding:0 1.25rem}.sidebar-scroll{padding:1.6rem 1.4rem calc(1.1rem + var(--sidebar-footer-height))}.sidebar-menu{gap:.85rem}.workspace{padding:1.25rem 1.5rem 1.35rem}.diagram-dropzone{max-width:860px}}@media (max-width:768px){.App{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh}.app-shell{grid-template-columns:minmax(0,1fr);padding:0 1.25rem;row-gap:1.25rem}.sidebar{--sidebar-footer-height:0px;border-radius:20px 20px 16px 16px;width:100%}.sidebar-scroll{padding:1.5rem 1.25rem 1rem}.sidebar-footer{background:linear-gradient(180deg,#202024f2,#202024fa 60%,#202024);pointer-events:auto;position:static}.menu-item.active,.menu-item:hover{transform:none}.workspace{padding:1.25rem 1.25rem 1.5rem}}@media (max-width:540px){.App-header{gap:.85rem;padding:1.75rem 1rem 1.25rem}.App-header h1{font-size:1.6rem}.definition{font-size:.9rem}.menu-toggle{padding:.85rem 1rem}.menu-title{font-size:.95rem}.menu-description{font-size:.8rem}.privacy-section{padding:1.25rem 1rem 1.5rem}.privacy-notice{font-size:.78rem}}button{background-color:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;margin:0 auto;max-width:800px;padding:.5rem 1rem;transition:all .2s ease;width:100%}button:disabled{background-color:var(--border);cursor:not-allowed;opacity:.7}button:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px)}.close-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;margin:0;padding:.5rem;position:absolute;right:1rem;top:1rem;width:auto}.close-button:hover{color:var(--text-primary)}.download-button{background-color:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.download-button:disabled{background-color:var(--border);cursor:not-allowed;opacity:.7}.download-button:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-1px)}.donation-button{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.5rem 1.5rem;transition:all .2s ease;width:auto}.donation-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.donation-button.selected{background:var(--accent-hover);box-shadow:0 0 0 2px var(--accent)}.debug-controls button{background-color:var(--bg-secondary);border:1px solid var(--border);font-size:.8rem;font-weight:400;opacity:.8}.debug-controls button:hover:not(:disabled){background-color:var(--border);transform:none}.page-layout-diagram{background:var(--bg-secondary);border-radius:12px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:1.5rem;margin:0;min-height:0;overflow:auto;padding:clamp(1rem,2.4vw,1.5rem);width:100%}.diagram-section{display:flex;flex-direction:column;flex-shrink:0;gap:.75rem}.diagram-section,.diagram-section h3{animation:fadeIn .5s ease forwards;opacity:0}.diagram-section h3{animation-delay:.2s;color:var(--text-primary);margin-bottom:10px}.page-row{flex-wrap:wrap;gap:18px;padding:.5rem;width:100%}.page-card,.page-row{align-items:center;display:flex;justify-content:center}.page-card{background:#f8f8f8d9;border:1px solid #333;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#000;font-size:13px;font-weight:600;height:72px;overflow:hidden;position:relative;width:56px}.page-card.landscape{font-size:13px;height:58px;width:92px}.page-card.blank-page{background:#f8f8f8cc}.thumbnail-layer{align-items:center;display:flex;inset:2px;justify-content:center;position:absolute;z-index:1}.thumbnail-layer.transformed{display:block}.thumbnail-canvas{height:100%;position:relative;width:100%}.thumbnail-placeholder{background:#ffffff80;border:1px dashed #0000001a;border-radius:2px;height:100%;width:100%}.thumbnail-image{border-radius:2px;height:100%;object-fit:contain;width:100%}.thumbnail-split{display:flex;gap:2px;height:100%;width:100%}.thumbnail-half{align-items:center;background:#fffc;border-radius:2px;display:flex;flex:1 1;justify-content:center;overflow:hidden}.thumbnail-half.transformed{flex:none;inset:auto;position:absolute}.thumbnail-half.placeholder{background:#ffffff80;border:1px dashed #0000001a}.thumbnail-half-image{height:100%;object-fit:contain;width:100%}.page-guides{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.fold-line{border-left:1px dotted #000000e6;width:1px}.fold-line,.hole-guides{bottom:10%;left:50%;position:absolute;top:10%}.hole-guides{display:flex;flex-direction:column;justify-content:space-between;transform:translateX(-50%)}.hole{background:#000000e6;border-radius:50%;height:2px;width:2px}.debug-number-overlay{align-items:center;color:#ef4444;display:flex;font-size:11px;font-weight:700;gap:12px;inset:0;justify-content:space-between;padding:0 6px;pointer-events:none;position:absolute;z-index:3}.page-card.no-thumbnails .debug-number-overlay{color:#000}.debug-number-overlay span{display:block;flex:1 1;text-align:center}.page-card.landscape .debug-number-overlay{gap:24px}.page-pair{display:flex;gap:10px;margin:0 12px}.page-layout-diagram.placeholder{background:var(--bg-secondary);border-radius:12px;min-height:180px;padding:1rem;width:100%}.page-layout-diagram.placeholder,.placeholder-content{align-items:center;display:flex;justify-content:center}.placeholder-content{color:var(--text-secondary);flex-direction:column;gap:1.5rem;padding:2rem}.placeholder-content p{font-size:.9rem;margin:0}.placeholder-illustration{align-items:center;display:flex;gap:1.5rem;opacity:.5}.placeholder-page{background:var(--text-secondary);border-radius:3px;height:52px;width:40px}.placeholder-arrow{color:var(--text-secondary);font-size:1.5rem}.placeholder-booklet{height:52px;position:relative;width:60px}.placeholder-sheet{background:var(--text-secondary);border-radius:3px;height:100%;position:absolute;width:100%}.placeholder-sheet:first-child{transform:rotate(-5deg)}.placeholder-sheet:nth-child(2){transform:rotate(5deg)}.interactive-diagram{align-items:stretch;background:#1e1e26b3;border:1px dashed #6366f159;border-radius:20px;box-shadow:inset 0 0 0 1px #ffffff0a;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:1.25rem;justify-content:flex-start;margin:0;min-height:0;padding:1.5rem;position:relative;transition:transform .25s ease,box-shadow .25s ease;width:100%}.interactive-diagram:hover{box-shadow:0 16px 36px #00000073;transform:translateY(-2px)}.interactive-diagram.drag-active{box-shadow:0 0 0 2px var(--accent),0 20px 40px #6366f133;transform:scale(1.01)}.interactive-diagram.drag-active .page-layout-diagram.placeholder{background-color:#6366f114}.hidden-pages-indicator{align-items:center;color:var(--text-secondary);display:flex;height:24px;justify-content:center;margin:4px 0}.ellipsis-icon{opacity:.6}.thumbnail-loading-message{color:var(--text-secondary);font-size:.85rem;font-weight:500;letter-spacing:.02em}.input-group{gap:.25rem;width:100%}.input-group,.input-group label{display:flex;flex-direction:column}.input-group label{align-items:flex-start;gap:.35rem;line-height:1.4;white-space:normal}.input-group label.checkbox-label{align-items:center;flex-direction:row;gap:.5rem}.input-group.horizontal{align-items:center;flex-direction:row;gap:1rem}input[type=number]{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:.9rem;max-width:140px;padding:.2rem;width:100%}input[type=checkbox]{accent-color:var(--accent)}select{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:.2rem}.input-group label:not(.checkbox-label)>input,.input-group label:not(.checkbox-label)>select,select{width:100%}select:hover{border-color:var(--accent)}select option{background-color:var(--bg-primary);color:var(--text-primary)}.custom-paper-size{align-items:center;border-top:none;display:flex;flex-direction:row;gap:.75rem;margin-top:.5rem;padding:0}.custom-paper-size .input-group{align-items:center;flex-direction:row;gap:.5rem;margin:0;padding:.25rem 0}.custom-paper-size input[type=number]{width:60px}.units-toggle{font-size:.9rem}.units-toggle,.units-toggle label{align-items:center;display:flex;gap:.5rem}.units-toggle label{cursor:pointer;white-space:nowrap}.hole-count-label{align-items:center;display:flex;gap:.5rem;margin-left:.5rem}.hole-count-label input[type=number]{cursor:not-allowed;opacity:.5}.hole-count-label input[type=number]:not([disabled]){cursor:auto;opacity:1}.fair-use-section{background:#0003;border-radius:8px;margin:1rem 0;padding:1rem;width:100%}.fair-use-label{align-items:flex-start;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:.75rem;line-height:1.4}.fair-use-label input[type=checkbox]{margin-top:.2rem}.settings-grid{background-color:var(--bg-secondary);border-radius:6px;display:flex;flex-direction:column;font-size:.9rem;gap:.75rem;margin:.5rem auto;max-width:800px;padding:.75rem;position:relative;width:100%;z-index:1}.settings-grid h3{color:var(--text-secondary);font-size:.9rem;grid-column:1/-1;margin:0 0 .5rem}.bookbinding-guides{background-color:var(--bg-secondary);border-radius:6px;margin:.5rem auto;max-width:800px;order:3;padding:.75rem;width:100%}.bookbinding-guides h3{color:var(--text-secondary);font-size:.9rem;margin:0 0 .5rem}.panel-header{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem;transition:background-color .2s ease}.panel-header:hover{background-color:#ffffff0d}.panel-header h3{margin:0}.collapse-arrow,.panel-header h3{-webkit-user-select:none;user-select:none}.collapse-arrow{color:var(--text-secondary);font-size:.8rem;transition:transform .3s ease}.collapse-arrow.expanded{transform:rotate(0deg)}.collapse-arrow:not(.expanded){transform:rotate(-90deg)}.panel-content{animation:slideDown .3s ease;display:flex;flex-direction:column;gap:.85rem;overflow:hidden;width:100%}.debug-section{border-top:1px solid var(--border);color:var(--text-secondary);font-size:.8rem;margin:.5rem auto;max-width:800px;order:4;padding:.5rem;width:100%}.debug-controls{align-items:center;display:flex;gap:1.5rem;justify-content:left}.debug-controls label{align-items:center;display:flex;gap:.5rem}.donation-panel{background:#6366f11a;border-radius:8px;padding:1.5rem;text-align:center;width:100%}.donation-panel p{color:var(--text-primary);font-weight:600;margin:0 0 1rem}.donation-amounts{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.donation-note{color:var(--text-secondary)!important;font-size:.9rem;margin-top:.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.processing-panel-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;min-height:100vh;min-height:100dvh;overflow-y:auto;padding:1.5rem;position:fixed;right:0;top:0;z-index:1000}.processing-panel{background:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-height:90dvh;max-width:500px;padding:2rem;position:relative;width:90%}.download-content,.processing-content{text-align:center}.download-content,.processing-content,.processing-overlay{align-items:center;display:flex;flex-direction:column;gap:1rem}.processing-overlay{background-color:#000000b3;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-left:4px solid var(--accent);border-radius:50%;height:40px;width:40px}.filename{font-size:.9rem;margin:0;word-break:break-all}.file-size-limit,.filename{color:var(--text-secondary)}.file-size-limit{font-size:.8rem;font-style:italic;margin-top:-1rem!important;opacity:.8}.error-message{background-color:#ef44441a;border:1px solid var(--error);border-radius:8px;color:var(--error);margin-top:1rem;padding:1rem}.error,.loading{color:var(--text-secondary);padding:2rem;text-align:center}.tutorial-overlay{background:#00000080;bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.tutorial-highlight{background:#ffffff1a;border:2px solid var(--accent);box-shadow:0 0 0 9999px #00000080;pointer-events:none;z-index:1001}.tutorial-content,.tutorial-highlight{border-radius:8px;position:fixed;transition:all .3s ease}.tutorial-content{background:var(--bg-secondary);max-width:300px;padding:1.5rem;transform:translateX(-50%);z-index:1002}.tutorial-skip-container{position:fixed;right:1rem;top:1rem;z-index:1003}.tutorial-progress{opacity:0;transform:translateY(10px);transition:all .4s ease;transition-delay:.2s}.tutorial-overlay.visible .tutorial-progress{opacity:1;transform:translateY(0)}.tutorial-content p{font-size:.9rem;line-height:1.5;margin:0}.tutorial-content.transitioning{opacity:0;pointer-events:none}.version-indicator{color:var(--text-secondary);font-size:.8rem;left:8px;position:fixed;top:8px;z-index:100}.version-number{border-radius:4px;cursor:help;padding:4px 8px;transition:opacity .2s ease}.version-number:hover{color:var(--text-primary)}.changelog-popup{animation:fadeIn .2s ease;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #000;font-size:.85rem;left:0;margin-top:8px;min-width:240px;padding:1rem;position:absolute;top:100%;z-index:1000}.changelog-entry{margin-bottom:1rem}.changelog-entry:last-child{margin-bottom:0}.changelog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.changelog-version{color:var(--text-primary);font-weight:700}.changelog-date{color:var(--text-secondary);font-size:.8rem}.changelog-changes{color:var(--text-secondary);margin:0;padding-left:1.2rem}.changelog-changes li{margin:.25rem 0}
/*# sourceMappingURL=main.4a5e3c43.css.map*/