.cover-builder-wrap{position:relative;height:calc(100vh - 70px);margin-top:70px;background:var(--dark);display:flex;flex-direction:column;overflow:hidden}.cover-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:.5px solid rgba(184,150,90,.15);background:var(--dark2);flex-shrink:0}.cover-back,.cover-continue{background:transparent;border:.5px solid var(--gold);color:var(--gold);font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:10px 22px;border-radius:30px;cursor:pointer;transition:all .25s}.cover-back:hover{background:rgba(184,150,90,.08)}.cover-continue{background:var(--gold);color:var(--dark);border-color:var(--gold);font-weight:600}.cover-continue:hover{background:var(--gold-light);transform:translateY(-1px)}.cover-step-title{font-family:var(--font-display);font-size:18px;font-weight:400;letter-spacing:4px;color:var(--cream);text-transform:uppercase}.cover-grid{display:grid;grid-template-columns:320px 1fr 320px;flex:1;min-height:0}.cover-preview-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 32px;background:linear-gradient(180deg,var(--dark) 0,var(--dark2) 100%);overflow:hidden;min-height:0}.cover-stage{position:relative;width:100%;max-width:460px;aspect-ratio:12/17;perspective:1600px;perspective-origin:50% 35%;--tx:2deg;--ty:-12deg;--book-depth:12px;cursor:grab;touch-action:none}.cover-stage.is-dragging{cursor:grabbing}.cover-stage.is-open{cursor:default;touch-action:auto}.cover-stage.is-crop-mode{cursor:default}.cover-stage.is-crop-mode .cover-photo-backdrop{cursor:move}.cover-preview-frame{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--tx)) rotateY(var(--ty));transition:transform .45s cubic-bezier(.2,.8,.2,1)}.cover-stage.is-dragging .cover-preview-frame{transition:none}.cover-preview{position:absolute;inset:0;border-radius:2px 6px 6px 2px;overflow:hidden;transform-origin:left center;transform-style:preserve-3d;transform:translateZ(var(--book-depth));transition:transform .7s cubic-bezier(.4,.1,.2,1),background .4s;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 60px 80px -20px rgba(0,0,0,.75),0 30px 40px -15px rgba(0,0,0,.55),inset 4px 0 6px -4px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}.cover-stage.is-open .cover-preview{transform:rotateY(-115deg) translateZ(var(--book-depth))}.cover-backface{position:absolute;inset:0;border-radius:6px 2px 2px 6px;overflow:hidden;transform:translateZ(calc(var(--book-depth) * -1)) rotateY(180deg);transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#1a1610;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),inset 0 0 30px rgba(0,0,0,.55);pointer-events:none}.cover-backface-photo{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:contrast(1.05) saturate(1.05)}.cover-backface.is-fabric,.cover-spine.is-fabric{background:repeating-linear-gradient(0deg,rgba(255,255,255,0),rgba(255,255,255,0) .7px,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1.4px),repeating-linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0) .7px,rgba(0,0,0,.18) 0,rgba(0,0,0,.18) 1.4px),linear-gradient(90deg,rgba(0,0,0,.7),#2a2520 35%,#332b25 65%,rgba(0,0,0,.6))}.cover-back-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;pointer-events:none}.cover-back-title{font-size:18px;letter-spacing:2px;opacity:.85;text-shadow:0 1px 2px rgba(0,0,0,.45);white-space:nowrap}.cover-back-rule{width:32px;height:.5px;background:currentColor;opacity:.45}.cover-spine{position:absolute;top:0;bottom:0;left:0;width:calc(var(--book-depth) * 2);transform-origin:right center;transform:translateX(calc(var(--book-depth) * -2)) rotateY(-90deg) translateZ(var(--book-depth));border-radius:2px 0 0 2px;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(20,18,14,.95) 30%,rgba(40,36,28,.85) 70%,rgba(0,0,0,.7));box-shadow:inset 1px 0 2px rgba(0,0,0,.7),inset -1px 0 2px rgba(0,0,0,.5);pointer-events:none}.cover-page-edge-bottom,.cover-page-edge-right,.cover-page-edge-top{position:absolute;pointer-events:none;box-shadow:inset 0 0 5px rgba(0,0,0,.35)}.cover-page-edge-right{top:var(--book-depth);right:0;bottom:var(--book-depth);width:calc(var(--book-depth) * 2);transform-origin:left center;transform:translateX(100%) rotateY(90deg) translateZ(calc(var(--book-depth) * -1));background:repeating-linear-gradient(0deg,rgba(80,60,35,0) 0,rgba(80,60,35,0) .5px,rgba(140,115,80,.35) .5px,rgba(140,115,80,.35) 1px),linear-gradient(180deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.06) 12%,rgba(0,0,0,.04) 88%,rgba(0,0,0,.3) 100%),linear-gradient(90deg,var(--leather-color,#3a2618) 0,var(--leather-color,#3a2618) 32%,rgba(184,150,90,.55) 33%,#f0e3c5 36%,#e0d2b0 50%,#c8b890 64%,rgba(184,150,90,.55) 67%,var(--leather-color,#3a2618) 68%,var(--leather-color,#3a2618) 100%)}.cover-page-edge-top{top:0;transform-origin:center bottom;transform:translateY(-100%) rotateX(90deg) translateZ(calc(var(--book-depth) * -1))}.cover-page-edge-bottom,.cover-page-edge-top{left:0;right:0;height:calc(var(--book-depth) * 2);background:repeating-linear-gradient(90deg,rgba(80,60,35,0) 0,rgba(80,60,35,0) .5px,rgba(140,115,80,.32) .5px,rgba(140,115,80,.32) 1px),linear-gradient(90deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.04) 30%,rgba(0,0,0,.04) 100%),linear-gradient(180deg,var(--leather-color,#3a2618) 0,var(--leather-color,#3a2618) 32%,rgba(184,150,90,.55) 33%,#f0e3c5 36%,#e0d2b0 50%,#c8b890 64%,rgba(184,150,90,.55) 67%,var(--leather-color,#3a2618) 68%,var(--leather-color,#3a2618) 100%)}.cover-page-edge-bottom{bottom:0;transform-origin:center top;transform:translateY(100%) rotateX(-90deg) translateZ(calc(var(--book-depth) * -1))}.cover-inside{position:absolute;inset:0;border-radius:2px 6px 6px 2px;transform:translateZ(calc(var(--book-depth) - 1px));background:linear-gradient(135deg,#f8f4ee,#ede4d2 60%,#d4cabb);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:32px;color:#8a7a65;font-size:10px;letter-spacing:3px;text-transform:uppercase;pointer-events:none;box-shadow:inset 0 0 40px rgba(139,122,95,.15);opacity:0;transition:opacity .5s ease .15s}.cover-stage.is-open .cover-inside{opacity:1}.cover-inside-title{font-family:var(--font-display);font-style:italic;font-size:22px;letter-spacing:1px;text-transform:none;color:#5a4d38}.cover-ground-shadow{position:absolute;left:5%;bottom:-32px;width:90%;height:26px;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0,rgba(0,0,0,.18) 50%,rgba(0,0,0,0) 80%);filter:blur(4px);pointer-events:none;z-index:0}.cover-open-toggle{margin-top:36px;background:transparent;border:.5px solid rgba(184,150,90,.4);color:var(--gold);font-family:var(--font-body);font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:8px 18px;border-radius:30px;cursor:pointer;transition:all .25s}.cover-open-toggle:hover{background:rgba(184,150,90,.08);border-color:var(--gold);transform:translateY(-1px)}.cover-three-mount{display:flex;align-items:center;justify-content:center;padding:24px 16px;flex:1;width:100%;min-height:0}.cover-three-add-photo{display:block;margin:16px auto 0;background:var(--gold);color:var(--dark);font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:12px 28px;border-radius:30px;border:none;cursor:pointer;transition:background .2s,transform .2s}.cover-three-add-photo:hover{background:var(--gold-light)}.cover-three-add-photo:disabled{opacity:.5;cursor:wait}.cover-leather-grain{background-image:radial-gradient(ellipse at 25% 15%,rgba(255,255,255,.22) 0,transparent 48%),radial-gradient(ellipse at 82% 88%,rgba(0,0,0,.45) 0,transparent 58%),repeating-linear-gradient(35deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 1px,transparent 0,transparent 3px),repeating-linear-gradient(125deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 1px,transparent 0,transparent 4px),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");background-size:100% 100%,100% 100%,100% 100%,100% 100%,140px 140px;background-repeat:no-repeat,no-repeat,repeat,repeat,repeat}.cover-acrylic-sheen,.cover-leather-grain{position:absolute;inset:0;pointer-events:none}.cover-acrylic-sheen{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.04) 30%,rgba(255,255,255,0) 60%,rgba(255,255,255,.06))}.cover-type-acrylic{box-shadow:0 60px 80px -20px rgba(0,0,0,.75),0 30px 40px -15px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.15)}.cover-tactile-overlay{position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 50%,transparent 0,transparent 4px,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 5px);pointer-events:none;mix-blend-mode:overlay}.cover-preview-caption{margin-top:18px;font-size:10px;letter-spacing:2px;color:var(--muted2);text-transform:uppercase;text-align:center}.cover-controls-panel{border-left:.5px solid rgba(184,150,90,.15)}.cover-controls-panel,.cover-controls-panel-left{background:var(--dark2);overflow-y:auto;padding:24px 22px 60px}.cover-controls-panel-left{border-right:.5px solid rgba(184,150,90,.15)}.cover-controls-panel-left::-webkit-scrollbar,.cover-controls-panel::-webkit-scrollbar{width:4px}.cover-controls-panel-left::-webkit-scrollbar-thumb,.cover-controls-panel::-webkit-scrollbar-thumb{background:rgba(184,150,90,.25);border-radius:2px}.cover-section{margin-bottom:28px}.cover-section-title{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-weight:500}.cover-hint{font-size:11px;color:var(--muted2);line-height:1.7;padding:12px 14px;border:.5px dashed rgba(184,150,90,.3);border-radius:6px;background:rgba(184,150,90,.04)}.cover-type-grid{display:grid;grid-template-columns:1fr;gap:6px}.cover-type-btn{background:var(--dark3);border:.5px solid rgba(184,150,90,.15);border-radius:6px;padding:12px 14px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s;display:flex;flex-direction:column;gap:4px}.cover-type-btn:hover{border-color:rgba(184,150,90,.4)}.cover-type-btn.active{border-color:var(--gold);background:rgba(184,150,90,.07)}.cover-type-name{font-family:var(--font-display);font-size:16px;color:var(--cream);letter-spacing:1px}.cover-type-desc{font-size:10px;color:var(--muted2);letter-spacing:.5px;line-height:1.5}.cover-swatch-row{display:flex;flex-wrap:wrap;gap:8px}.cover-swatch{width:60px;height:60px;border-radius:8px;border:1.5px solid transparent;cursor:pointer;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;transition:transform .2s,border-color .2s}.cover-swatch:hover{transform:scale(1.04)}.cover-swatch.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(184,150,90,.2)}.cover-swatch-label{font-size:8px;letter-spacing:1px;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.6);text-transform:uppercase;white-space:nowrap}.cover-add-photo-btn{position:absolute;left:50%;bottom:18%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:auto;min-width:120px;padding:18px 24px;background:rgba(184,150,90,.18);border:1.5px dashed rgba(184,150,90,.7);border-radius:14px;color:#f3e6cf;cursor:pointer;font-family:var(--font-body);z-index:5;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:background .2s,border-color .2s,transform .2s;pointer-events:auto}.cover-add-photo-btn:hover:not(:disabled){background:rgba(184,150,90,.32);border-color:var(--gold);transform:translateX(-50%) scale(1.04)}.cover-add-photo-btn:disabled{cursor:wait;opacity:.7}.cover-add-photo-plus{font-size:36px;font-weight:200;line-height:1;color:var(--gold)}.cover-add-photo-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.85)}@media (max-width:860px){.cover-add-photo-btn{min-width:96px;padding:14px 18px}.cover-add-photo-plus{font-size:28px}.cover-add-photo-label{font-size:8px}}.cover-crop-controls{margin-top:14px;padding-top:14px;border-top:.5px dashed rgba(184,150,90,.2)}.cover-crop-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cover-crop-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);min-width:38px}.cover-crop-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:rgba(184,150,90,.3);border-radius:1px;outline:none;cursor:pointer}.cover-crop-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--gold);border-radius:50%;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cover-crop-slider::-moz-range-thumb{width:14px;height:14px;background:var(--gold);border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cover-crop-val{font-size:11px;color:var(--cream);min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.cover-crop-mode{width:100%;background:transparent;border:.5px solid rgba(184,150,90,.55);color:var(--gold);font-family:var(--font-body);font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:9px 14px;border-radius:30px;cursor:pointer;transition:all .2s;margin-bottom:8px}.cover-crop-mode:hover{background:rgba(184,150,90,.08);border-color:var(--gold)}.cover-crop-mode.is-on{background:var(--gold);color:var(--dark);border-color:var(--gold)}.cover-crop-mode.is-on:hover{background:var(--gold-light)}.cover-crop-reset{width:100%;background:transparent;border:.5px solid rgba(184,150,90,.4);color:var(--gold);font-family:var(--font-body);font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:8px 14px;border-radius:30px;cursor:pointer;transition:all .2s;margin-bottom:8px}.cover-crop-reset:hover:not(:disabled){background:rgba(184,150,90,.08);border-color:var(--gold)}.cover-crop-reset:disabled{opacity:.4;cursor:not-allowed}.cover-crop-hint{font-size:10px;color:var(--muted2);line-height:1.5;margin:0}.cover-photo-backdrop:active{cursor:grabbing!important}.cover-photo-upload-btn{width:100%;background:rgba(184,150,90,.08);border:1px dashed rgba(184,150,90,.5);color:var(--gold);font-family:var(--font-body);font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:14px 16px;border-radius:6px;cursor:pointer;transition:all .2s;margin-bottom:10px}.cover-photo-upload-btn:hover:not(:disabled){background:rgba(184,150,90,.14);border-color:var(--gold)}.cover-photo-upload-btn:disabled{cursor:wait;opacity:.6}.cover-upload-error{font-size:11px;color:#ff6b6b;margin:0 0 10px;padding:8px 12px;border-radius:4px;background:rgba(255,107,107,.08);border:.5px solid rgba(255,107,107,.3)}.cover-stage.is-uploading .cover-preview{opacity:.7;transition:opacity .3s}.cover-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:180px;overflow-y:auto;padding-right:4px}.cover-photo-thumb{aspect-ratio:1;background:var(--dark3);border:1.5px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;padding:0;transition:border-color .2s,transform .2s}.cover-photo-thumb:hover{transform:scale(1.04);border-color:rgba(184,150,90,.5)}.cover-photo-thumb.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(184,150,90,.2)}.cover-photo-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.cover-field{display:block;margin-bottom:12px}.cover-field span{display:block;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);margin-bottom:6px}.cover-field input{width:100%;background:var(--dark3);border:.5px solid rgba(184,150,90,.2);border-radius:6px;padding:11px 14px;font-family:var(--font-body);font-size:13px;color:var(--cream);outline:none;transition:border-color .3s}.cover-field input:focus{border-color:rgba(184,150,90,.6)}.cover-field input::-moz-placeholder{color:var(--muted)}.cover-field input::placeholder{color:var(--muted)}.cover-font-grid{display:grid;grid-template-columns:1fr;gap:6px;max-height:360px;overflow-y:auto;padding-right:4px}.cover-font-grid::-webkit-scrollbar{width:3px}.cover-font-grid::-webkit-scrollbar-thumb{background:rgba(184,150,90,.25);border-radius:2px}.cover-font-btn{background:var(--dark3);border:.5px solid rgba(184,150,90,.15);border-radius:6px;padding:14px 14px 10px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;display:flex;flex-direction:column;gap:6px;overflow:hidden}.cover-font-btn:hover{border-color:rgba(184,150,90,.4)}.cover-font-btn.active{border-color:var(--gold);background:rgba(184,150,90,.07)}.cover-font-sample{font-size:28px;color:var(--cream);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-font-name{font-family:var(--font-body);font-size:9px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}.cover-fontsize-row{display:flex;align-items:center;gap:12px;padding:4px 2px}.cover-fontsize-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:rgba(184,150,90,.3);border-radius:1px;outline:none;cursor:pointer}.cover-fontsize-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--gold);border-radius:50%;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cover-fontsize-slider::-moz-range-thumb{width:14px;height:14px;background:var(--gold);border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.cover-fontsize-val{font-size:11px;color:var(--cream);min-width:42px;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.5px}.cover-position-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.cover-position-btn{background:var(--dark3);border:.5px solid rgba(184,150,90,.15);border-radius:6px;padding:10px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted2);cursor:pointer;transition:all .2s}.cover-position-btn:hover{border-color:rgba(184,150,90,.4);color:var(--cream)}.cover-position-btn.active{border-color:var(--gold);background:rgba(184,150,90,.07);color:var(--gold)}.cover-rgb-input{width:44px;height:32px;padding:0;border:.5px solid rgba(184,150,90,.4);border-radius:6px;background:transparent;cursor:pointer}.cover-rgb-input::-webkit-color-swatch-wrapper{padding:0;border-radius:4px}.cover-rgb-input::-webkit-color-swatch{border:none;border-radius:4px}.cover-rgb-input::-moz-color-swatch{border:none;border-radius:4px}.cover-rgb-text:focus{border-color:rgba(184,150,90,.6)!important}@media (max-width:860px){.cover-grid{grid-template-columns:1fr}.cover-controls-panel-left{border-right:none;border-bottom:.5px solid rgba(184,150,90,.15)}.cover-controls-panel{border-left:none;border-top:.5px solid rgba(184,150,90,.15)}.cover-stage{max-width:320px}.cover-preview-panel{padding:24px 16px}.cover-toolbar{flex-wrap:wrap;gap:10px;padding:12px 16px}.cover-step-title{font-size:14px;letter-spacing:2px}}@media (prefers-reduced-motion:reduce){.cover-preview,.cover-preview-frame{transition:none}}