/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-font-weight:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}.book-preview-container{margin-bottom:calc(var(--spacing,.25rem) * 8);gap:calc(var(--spacing,.25rem) * 6);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:64rem){.book-preview-container{grid-template-columns:repeat(4,minmax(0,1fr))}}.book-preview-container{min-height:500px}.controls-panel{gap:calc(var(--spacing,.25rem) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing,.25rem) * 4);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-direction:column;display:flex}.upload-section{cursor:pointer;border-radius:var(--radius);border-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-width:2px;border-color:var(--border);padding:calc(var(--spacing,.25rem) * 4);text-align:center;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.upload-section:hover{border-color:var(--color-accent-soft,var(--accent-soft));background-color:var(--color-accent-bg-subtle,var(--accent-bg-subtle))}}.upload-section.dragover{border-color:var(--color-accent-primary,var(--brand-primary));background-color:var(--color-accent-soft,var(--accent-soft))}.upload-icon{margin-inline:auto;margin-bottom:calc(var(--spacing,.25rem) * 2);height:calc(var(--spacing,.25rem) * 24);width:calc(var(--spacing,.25rem) * 24);color:var(--muted-foreground)}.upload-icon svg{height:calc(var(--spacing,.25rem) * 24);width:calc(var(--spacing,.25rem) * 24)}.upload-text{margin-bottom:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--foreground)}.upload-hint{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--muted-foreground)}.control-group{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.control-label{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--foreground)}.dimension-inputs{gap:calc(var(--spacing,.25rem) * 2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.input-group{flex-direction:column;display:flex}.input-group label{margin-bottom:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--muted-foreground)}.input-group input{border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--foreground)}.apply-btn{margin-top:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius);background-color:var(--primary);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--primary-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.apply-btn:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.apply-btn:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}}.perspective-btn{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--secondary);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--secondary-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.perspective-btn:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.perspective-btn:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}}.reset-btn{border-radius:var(--radius);background-color:var(--destructive);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}@media(hover:hover){.reset-btn:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.reset-btn:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}}.canvas-container{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}@media(min-width:64rem){.canvas-container{grid-column:span 3/span 3}}.canvas-container{width:100%;height:600px}#bookCanvas{width:100%;height:100%;display:block}.loading{inset:calc(var(--spacing,.25rem) * 0);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));color:var(--muted-foreground);justify-content:center;align-items:center;display:flex;position:absolute}.instructions{border-radius:var(--radius);background-color:var(--muted);padding:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--muted-foreground)}#bgToggle:checked~.toggle-bg{background-color:var(--color-accent-primary,var(--brand-primary))}#bgToggle:checked~.dot{--tw-translate-x:calc(var(--spacing,.25rem) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}@media(max-width:1024px){.book-preview-container{grid-template-columns:repeat(1,minmax(0,1fr));min-height:400px}.controls-panel{padding:calc(var(--spacing,.25rem) * 3)}.canvas-container{grid-column:span 1/span 1;height:400px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
