@import url('https://fonts.googleapis.com/css2?family=Luckiest+Guy&family=Fredoka:wght@600&family=Bungee&family=Lilita+One&family=Titan+One&family=Russo+One&family=Chewy&family=Baloo+2:wght@700&family=Righteous&family=Archivo+Black&family=Montserrat:wght@700&family=Bebas+Neue&family=Alfa+Slab+One&family=Orbitron:wght@700&family=Press+Start+2P&family=Permanent+Marker&family=Knewave&family=Shrikhand&family=Gluten:wght@700&family=Creepster&display=swap');
:root{--blue:#0078e4;--blue-soft:#eef7fd;--text:#25282a;--muted:#85888b;--border:#e0e2e5;--sans:Arial,Helvetica,sans-serif;--serif:Arial,Helvetica,sans-serif;--green:#0078e4;--green-dark:#006aca;--ink:#25282a;--line:#e0e2e5}*{box-sizing:border-box}body{margin:0;font:13px/1.4 Arial,Helvetica,sans-serif;color:var(--text);background:#eee;overflow:hidden}body:before{content:'';position:fixed;inset:0;background:#0007;z-index:0;pointer-events:none}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button{transition:background .12s,border-color .12s,box-shadow .12s}button:hover:not(:disabled){background-color:#f4f8fb}svg{display:block}button svg{pointer-events:none}button{border:0}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.background-header{height:62px;display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:auto;padding:0 30px}.background-header span{font-size:12px;letter-spacing:1px}.background-brand{font-size:21px;font-weight:700;letter-spacing:-.8px;text-decoration:none;color:#26282a}.configurator-shell{position:fixed;inset:76px 28px 24px;background:white;z-index:1;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;box-shadow:0 22px 80px #0002}.configurator-header{height:74px;min-height:74px;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;background:#fff;z-index:3}.configurator-header h1{font-size:16px;line-height:1.25;font-weight:700}.configurator-header p{font-size:12px;color:#85888b;margin-top:8px}.header-actions{display:flex;align-items:center;gap:8px}.pill,.round-button{background:#fff;border-radius:30px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;min-height:38px;padding:9px 13px;white-space:nowrap;box-shadow:0 2px 8px #0000000a}.pill svg{height:17px;width:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.pill>span{font-size:18px;font-weight:400}.pill.muted,.header-actions .round-button{background:#f0f3f5;box-shadow:none}.round-button{width:38px;padding:0;font-size:19px;font-weight:400}.blue-text{color:var(--blue)}.configurator-body{flex:1;min-height:0;display:grid;grid-template-columns:65% 35%}.preview-panel{position:relative;background:radial-gradient(ellipse at center,#fff 0%,#f7f8fa 65%,#f4f6f8 100%);overflow:hidden;isolation:isolate}.preview-toolbar{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:7px;z-index:3;pointer-events:none}.preview-toolbar>button{pointer-events:auto}.preview-toolbar #redo-btn{margin-left:-4px}.model-viewer{position:absolute;inset:0;cursor:grab;touch-action:none;user-select:none}.model-viewer.dragging{cursor:grabbing}.model-viewer canvas{width:100%;height:100%;display:block}.model-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:13px;color:#9a9da1;pointer-events:none}.preview-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:11px;background:#fffffff0;border-radius:30px;box-shadow:0 2px 10px #00000005;padding:8px 13px;white-space:nowrap;pointer-events:none;color:#666b70}.preview-hint span{font-size:15px;margin-right:4px;vertical-align:middle}.mesh-status{position:absolute;bottom:54px;left:18px;right:18px;text-align:center;color:#838991;font-size:10px;pointer-events:none}.options-panel{border-left:1px solid #dfe2e6;background:#f5f6f8;min-height:0;display:flex;flex-direction:column}.options-scroll{flex:1;min-height:0;overflow:auto;padding:16px 16px 32px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#909396 transparent;scroll-behavior:smooth}.options-card{background:white;border:1px solid #d4d7dc;border-radius:20px;padding:15px 18px 24px;box-shadow:0 3px 14px #00000005}.options-card h2{font-size:16px;font-weight:700}.section-intro{font-size:13px;line-height:1.55;color:#85888b;margin-top:13px;margin-bottom:14px}h3{font-size:13px;font-weight:700;line-height:1.4}h3 span{font-weight:400}.control-section{margin-top:20px}.control-section>h3{margin-bottom:8px}.page-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.page-options button,.choice,.quick-position button,.font-options button{background:#fff;border:1px solid #e2e4e7;border-radius:14px;box-shadow:0 1px 4px #00000003}.page-options button{height:42px;font-size:14px;font-weight:600}.page-options button.active,.choice.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 2px #0078e408}.photo-card,.decoration-card{margin-top:20px;border:1px solid #e9eaec;border-radius:17px;padding:16px}.photo-card>p,.decoration-card>p{font-size:12px;line-height:1.5;color:#888d91;margin-top:9px}.photo-card>p strong{font-weight:400}.photo-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px;margin-bottom:12px}.photo-slot{width:calc((100% - 30px)/6);min-width:36px;position:relative}.photo-button{aspect-ratio:29/35;width:100%;border:1px dashed #ccd1d8;background:#fafbfc;border-radius:9px;position:relative;display:flex;align-items:center;justify-content:center;color:#979da5;font-size:22px;font-weight:400;padding:0;overflow:hidden}.photo-button img{height:100%;width:100%;object-fit:cover}.photo-button.filled{border-style:solid;border-color:#c5d8e9}.photo-button>span{position:absolute;left:5px;bottom:3px;font-size:10px;line-height:14px;min-width:12px;z-index:1}.photo-button.filled>span{background:#fffE;border-radius:2px;padding:0 3px}.photo-slot-actions{display:flex;justify-content:space-between;gap:0}.photo-slot-actions button{height:21px;width:16px;background:transparent;font-size:12px;padding:0;color:#7c8995}.photo-upload-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.photo-upload-row>span{font-size:11px;color:#91969b}.blue-button{display:inline-flex;align-items:center;justify-content:center;border-radius:28px;background:var(--blue);color:white;min-height:44px;padding:11px 18px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid var(--blue);cursor:pointer}.blue-button:hover:not(:disabled){background:#006dce}.blue-button:disabled{opacity:.5}.upload-label{white-space:nowrap}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.micro-copy{font-size:11px!important;color:#8b9096!important;line-height:1.5!important;margin-top:9px!important}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{min-height:72px;padding:14px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.2}.choice strong{font-size:13px;font-weight:700}.choice small{font-size:11px;color:#999fa5;margin-top:5px}.choice.selected small{color:#1688e4}.choice:disabled{background:#f7f7f8;opacity:.4}.bookcase-icon{font-size:22px;margin-top:-5px;margin-bottom:4px;line-height:1}.magnetic-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#7c838b;margin-top:13px}.magnetic-label svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.color-palette{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:1px 0 3px}.swatch{height:34px;width:34px;min-width:34px;border:1px solid #0001;border-radius:50%;background:var(--swatch);padding:0;position:relative}.swatch.active:after{position:absolute;content:'';inset:-5px;border:1px solid var(--blue);border-radius:50%}.swatch:hover:not(:disabled){background-color:var(--swatch);box-shadow:0 0 0 3px #0078e415}.custom-swatch{height:34px;width:34px;position:relative;display:block;border-radius:50%;background:conic-gradient(#e73b57,#ebc739,#44b16d,#22b2cd,#6759bd,#e73b57);cursor:pointer;box-shadow:inset 0 0 0 1px #0001}.custom-swatch:before{content:'+';position:absolute;inset:9px;border-radius:50%;background:white;color:#6d777e;line-height:16px;text-align:center;font-size:12px;font-weight:700}.custom-swatch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.text-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.text-row{display:flex;border:1px solid #e1e6eb;border-radius:14px;background:#f5f7f9;padding:3px;gap:4px;align-items:center}.text-row.selected{border-color:var(--blue);box-shadow:0 0 0 2px #0078e40b}.text-row textarea{min-height:42px;height:42px;flex:1;min-width:0;resize:vertical;border:1px solid transparent;border-radius:11px;background:white;padding:10px 12px;line-height:1.4;font-size:15px;color:#272b2f;outline:none}.text-row textarea:focus{border-color:var(--blue)}.remove-text{width:30px;height:32px;flex-shrink:0;background:none;color:#9da5ac;font-size:18px;border-radius:8px;padding:0}.icon-row-preview{height:38px;width:38px;margin-left:7px;object-fit:contain;padding:6px}.icon-row-label{font-size:12px;flex:1;min-width:0;color:#647280}.add-decoration{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.add-decoration button{height:40px;border:1px dashed #dce4ea;border-radius:9px;background:#fff;color:#0070c8;font-size:13px;font-weight:600}.placement-title{margin-top:26px;margin-bottom:10px}.cover-editor-wrap{border:1px solid #edf0f2;border-radius:13px;background-color:#fff;background-image:linear-gradient(45deg,#f0f1f3 25%,transparent 25%),linear-gradient(-45deg,#f0f1f3 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f1f3 75%),linear-gradient(-45deg,transparent 75%,#f0f1f3 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;padding:12px;overflow:hidden}.cover-editor-wrap svg{width:100%;height:auto;overflow:visible;user-select:none;touch-action:none}.cover-editor-wrap text{user-select:none}.cover-side-labels{display:flex;justify-content:space-between;font-size:9px;color:#a1a6ac;margin-top:7px;gap:10px}.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.transform-grid label{font-size:10px;color:#858b92;font-weight:600;display:block;margin-bottom:5px}.step-control{display:grid;grid-template-columns:42px 1fr 42px;min-height:43px;border:1px solid #e2e5e8;border-radius:13px;overflow:hidden}.step-control button{background:white;font-size:19px;font-weight:400;border:0}.step-control button:first-child{border-right:1px solid #e7e9ec}.step-control button:last-child{border-left:1px solid #e7e9ec}.step-control output{display:flex;justify-content:center;align-items:center;font-weight:700;font-size:12px}.transform-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.transform-actions button{background:white;min-height:40px;border:1px solid #e1e5e9;border-radius:12px;font-size:12px}.transform-actions .danger{color:#d66c71}.quick-title{margin-top:22px;margin-bottom:9px}.quick-position{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.quick-position button{height:42px;font-weight:600;font-size:13px;padding:5px}.quick-position button.active{background:var(--blue-soft);border-color:var(--blue)}#font-controls{margin-top:22px}#font-heading{margin-bottom:10px;overflow-wrap:anywhere}.font-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.font-options button{height:40px;border-radius:12px;font-size:14px;font-weight:600;padding:5px}.font-options button.active{background:var(--blue-soft);border-color:var(--blue)}.link-button{color:#0075cc;background:none;padding:4px 0;font-size:12px;font-weight:600;display:inline-block}.link-button:hover:not(:disabled){background:none;text-decoration:underline}#more-fonts{margin-top:6px;margin-left:5px}.specifications{margin:15px 0 8px}.specifications>div{display:flex;justify-content:space-between;gap:20px;margin:9px 0;line-height:1.4}.specifications dt{color:#9399a0;font-size:12px}.specifications dd{font-size:12px;font-weight:700;text-align:right;margin:0;max-width:65%;overflow-wrap:anywhere}.spec-note{font-size:11px;color:#9ba0a6;line-height:1.5}.submit-panel{border-top:1px solid #e0e3e7;background:white;padding:12px 16px 13px;flex-shrink:0;box-shadow:0 -2px 10px #00000002}.project-name-field{min-height:36px;border:1px solid #d4d8dc;border-radius:12px;display:flex;align-items:center;padding:4px 12px;gap:10px}.project-name-field>span{font-size:9px;color:#7c8389;white-space:nowrap}.project-name-field b{color:#d16b70}.project-name-field input{border:0;background:none;width:100%;min-width:0;outline:none;font-size:12px;text-align:right;color:#2b343a;padding:5px 0}.project-name-field input::placeholder{color:#a4aab0}.project-name-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #0078e40a}.send-configuration{width:100%;margin-top:8px;font-weight:500;font-size:14px;min-height:46px}.submit-panel>strong{display:block;text-align:center;font-size:11px;margin-top:8px;font-weight:600}.submit-panel>p{font-size:10px;color:#a2a7ad;text-align:center;line-height:1.4;margin-top:2px}.privacy-trigger{display:block;margin:3px auto 0;font-size:10px;font-weight:400;padding:0;color:#8d969e}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#0073cd;font-weight:600}.input-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin:15px 0 7px;color:#5c6b77}.input-label span{font-size:10px;color:#a0a8ae;font-weight:400}input:not([type=checkbox]):not([type=color]):not([type=range]):not([type=file]),textarea{border:1px solid #dce2e7;border-radius:9px;padding:11px 12px;width:100%;font-size:13px;line-height:1.45;background:#fcfdfe;color:#2d3c47;outline-color:var(--blue);outline-offset:1px}input::placeholder,textarea::placeholder{color:#aab3ba}.project-name-field input{border:0;padding:3px 0;background:none;font-size:12px;border-radius:0}input[type=range]{accent-color:var(--blue);width:100%;margin:4px 0 10px}.range-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7b8994;margin:17px 0 5px}.range-label>span{font-size:11px}.submit-main{border:1px solid var(--blue);background:var(--blue);color:white;padding:12px 17px;border-radius:25px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;width:100%;margin-top:17px}.submit-main:hover:not(:disabled){background:#006cd0}.submit-main>span{margin-left:auto}.submit-hint{font-size:10px;color:#99a4ad;text-align:center;margin-top:10px}.secondary-button{border:1px solid #e0e5e9;border-radius:23px;background:#f5f8fa;color:#7a8c99;font-size:12px;padding:11px 15px}.icon-library{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}.icon-library button{height:55px;border:1px solid #e1e6ea;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#2b73ae}.icon-library svg{height:26px;width:26px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.icons-dialog,.designs-dialog,.help-dialog{width:470px}.help-dialog p{font-size:13px;color:#84929c;line-height:1.8;margin-top:15px}.saved-item{display:flex;gap:13px;align-items:center;border:1px solid #dfe6ec;border-radius:12px;margin-top:14px;padding:12px}.saved-item img{width:72px;height:54px;object-fit:contain;border-radius:7px;background:#f5f6f8}.saved-item-info{flex:1;min-width:0}.saved-item-info strong{display:block;font-size:13px}.saved-item-info small{display:block;color:#a5afb6;font-size:10px;margin-top:5px}.saved-item button{background:#eff6fb;border-radius:8px;color:#2582c5;font-size:11px;padding:7px}.saved-item .delete-saved{background:none;color:#bc7f83;font-size:17px;padding:3px}.saved-empty{color:#98a4ac;font-size:13px;padding:20px 0}.project-name-field input:invalid{box-shadow:none}.drop-highlight{outline:2px dashed #0078e4;outline-offset:-5px}
dialog{border:1px solid #e4e8da;border-radius:15px;color:var(--ink);background:#fff;box-shadow:0 30px 100px #1f302430;padding:0;max-height:calc(100dvh - 44px);overflow:auto;margin:auto}dialog::backdrop{background:#27372a66;backdrop-filter:blur(5px)}.dialog-inner{padding:35px;position:relative}.dialog-close{position:absolute;right:18px;top:14px;background:#f4f6ee;color:#9da88d;height:28px;width:28px;border-radius:50%;font-size:21px;font-weight:400;line-height:22px}.dialog-close:hover{background:#e6eddc;color:#5b7248}dialog h2{font:400 27px/1.4 var(--serif);letter-spacing:-.7px;margin-top:10px}.dialog-lead{font-size:11px;line-height:1.85;color:#929d86;margin-top:10px}.request-dialog{width:520px}.request-dialog .dialog-inner{padding:32px}.request-snapshot{display:flex;align-items:center;gap:17px;padding:12px 17px;background:#f6f8ef;border-radius:8px;margin-top:18px}.request-snapshot>div:first-child{height:82px;width:76px;flex-shrink:0}.request-snapshot svg{height:100%;width:100%}.request-snapshot strong{font:400 15px var(--serif);color:#60734f}.request-snapshot p{font-size:10px;color:#99a58d;margin-top:7px}.request-snapshot span{display:block;font-size:9px;color:#acb69f;margin-top:4px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consent-label{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:#9aa68d;font-size:9px;line-height:1.8}.consent-label input{margin:3px 0 0;accent-color:#6e835c;flex-shrink:0;width:13px;height:13px}.honey-field{position:absolute!important;left:-10000px!important;height:1px;width:1px;overflow:hidden}.send-status{font-size:10px;line-height:1.8;color:#927657;padding:0;border-radius:6px}.send-status:not(:empty){padding:11px 13px;background:#f7f1e8;border:1px solid #eaddcc;margin-top:14px}.crop-dialog{width:445px}.crop-dialog .dialog-inner{padding:30px}.crop-dialog h2{font-size:24px}.crop-dialog .dialog-lead{font-size:10px}#crop-frame{position:relative;width:232px;height:280px;margin:22px auto 0;overflow:hidden;background:#ebeee3;cursor:move;touch-action:none;user-select:none;border-radius:4px;box-shadow:0 0 0 1px #d4ddc8}#crop-image{position:absolute;max-width:none;pointer-events:none;transform-origin:0 0;image-orientation:from-image}.crop-lines{position:absolute;inset:0;pointer-events:none;border:1px solid #ffffff66;background:linear-gradient(to right,transparent 33%,#ffffff55 33%,#ffffff55 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#ffffff55 66%,#ffffff55 calc(66% + 1px),transparent calc(66% + 1px)),linear-gradient(to bottom,transparent 33%,#ffffff55 33%,#ffffff55 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#ffffff55 66%,#ffffff55 calc(66% + 1px),transparent calc(66% + 1px))}.crop-size{font-size:9px;letter-spacing:1px;text-align:center;color:#a3ae95;margin-top:8px}.crop-actions{display:flex;align-items:center;gap:12px;margin-top:18px}.crop-actions .submit-main{margin:0;font-size:10px}.secondary-button{background:#f1f5e9;border:1px solid #e4eada;border-radius:7px;padding:12px 14px;font-size:10px;white-space:nowrap;color:#8c9b7c}.privacy-dialog{width:530px}.privacy-dialog p{margin-top:17px;font-size:12px;line-height:1.9;color:#8d9980}.privacy-external{font-size:10px;display:block;color:#70875e;margin-top:19px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);color:#fff;background:#354b32f2;box-shadow:0 5px 30px #31432b20;padding:13px 21px;border:1px solid #9cae8c44;border-radius:8px;font-size:11px;opacity:0;pointer-events:none;z-index:10;transition:opacity .2s,transform .2s;max-width:calc(100vw - 40px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
.request-snapshot{background:#f4f8fb!important}.request-snapshot>div:first-child{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:7px}.request-snapshot img{width:100%;height:100%;object-fit:contain}.request-snapshot strong{color:#355b78!important;font-size:14px!important}.request-snapshot p,.request-snapshot span{color:#8a9eac!important}dialog h2{font-size:25px!important;color:#263d4e!important}.dialog-lead{font-size:12px!important;color:#8c9eaa!important}.dialog-close{background:#f1f5f8!important;color:#8398a8!important}.consent-label{color:#8a9aa5!important;font-size:11px!important}.consent-label input{accent-color:var(--blue)!important}.send-status{color:#8f785a!important;font-size:11px!important}.privacy-dialog p{color:#8395a2!important}.privacy-external{color:#0076ca!important}.crop-size{color:#99a8b3!important}.crop-actions .submit-main{font-size:12px!important}#toast{background:#263d4ff2!important;color:#fff!important;font-size:12px!important;letter-spacing:0}.crop-actions .secondary-button{color:#8095a5!important}.photo-image-btn{display:none}.request-thumbnail img{max-height:80px}.dialog-inner .eyebrow{margin-right:20px}
@media(min-width:1700px){.configurator-shell{inset:60px 42px 30px}.configurator-body{grid-template-columns:minmax(0,1fr) 465px}.options-scroll{padding:16px 16px 30px}.preview-toolbar{gap:9px;left:16px;top:13px}}
@media(max-width:1120px){.configurator-shell{inset:66px 20px 20px}.configurator-body{grid-template-columns:minmax(0,1fr) 420px}.pill{gap:6px;padding:9px 11px;font-size:12px}.preview-toolbar{gap:5px}.preview-toolbar #undo-btn{font-size:0;gap:0;width:36px;padding:0}.preview-toolbar #undo-btn span{font-size:20px}.options-scroll{padding:14px 14px 28px}.options-card{padding:16px}.submit-panel{padding:12px 14px}.color-palette{gap:8px}.swatch,.custom-swatch{height:33px;width:33px;min-width:33px}.photo-card,.decoration-card{padding:14px}}
@media(max-width:900px){.configurator-shell{inset:54px 14px 14px;border-radius:20px}.configurator-header{height:68px;min-height:68px;padding:13px 17px}.configurator-body{grid-template-columns:minmax(0,1fr) 390px}.options-card{padding:14px}.options-scroll{padding:12px}.pill{font-size:11px;padding:9px 10px;gap:5px}.pill svg{height:14px;width:14px}.preview-toolbar{gap:3px;left:8px;right:8px}.preview-toolbar #my-designs{font-size:0;width:36px;padding:0}.preview-toolbar #my-designs svg{width:17px;height:17px}.preview-hint{font-size:9px;padding:7px 9px;max-width:90%;text-align:center;white-space:normal}.swatch,.custom-swatch{height:31px;width:31px;min-width:31px}.color-palette{gap:8px}.options-card h2{font-size:15px}.section-intro{font-size:12px}.choice strong{font-size:12px}.page-options{gap:6px}.photo-card,.decoration-card{padding:13px}.photo-slot{min-width:33px}.photo-upload-row{gap:7px}.photo-upload-row .blue-button{font-size:12px;padding:10px 13px}.step-control{grid-template-columns:37px 1fr 37px}.step-control output{font-size:11px}.font-options button{font-size:12px}.quick-position button{font-size:12px}.submit-panel{padding:10px 12px}.submit-panel>p{font-size:9px}}
@media(max-width:700px){body{overflow:auto;background:#f3f4f6}body:before,.background-header{display:none}.configurator-shell{position:relative;inset:auto;margin:0;border-radius:0;overflow:visible;box-shadow:none;min-height:100dvh}.configurator-header{height:67px;min-height:67px;padding:13px 17px;border-bottom:1px solid #e5e8eb}.configurator-header h1{font-size:15px}.configurator-header p{font-size:11px;margin-top:5px}.header-actions .pill{font-size:11px;min-height:34px;padding:7px 10px}.header-actions .round-button{height:34px;width:34px;min-height:34px;font-size:16px}.configurator-body{display:flex;flex-direction:column;min-height:0}.preview-panel{height:340px;flex-shrink:0;border-bottom:1px solid #e2e6eb}.preview-toolbar{top:10px;left:11px;gap:6px}.preview-toolbar .pill{font-size:11px;min-height:34px;padding:8px 10px}.preview-toolbar #undo-btn{font-size:0;width:34px}.preview-toolbar .round-button{height:34px;width:30px;min-height:34px}.preview-toolbar #my-designs{font-size:11px;width:auto;padding:8px 10px}.preview-toolbar #my-designs svg{height:14px;width:14px}.preview-hint{bottom:10px;font-size:9px;white-space:nowrap;max-width:95%}.mesh-status{bottom:43px;font-size:9px}.model-loading{font-size:12px}.options-panel{border:0;display:block;min-height:auto}.options-scroll{padding:15px 13px 24px;overflow:visible;min-height:auto}.options-card{padding:18px;border-radius:19px}.options-card h2{font-size:16px}.section-intro{font-size:13px}.control-section{margin-top:23px}h3{font-size:13px}.page-options{gap:8px}.page-options button{height:42px;font-size:14px}.photo-card,.decoration-card{padding:16px;border-radius:16px}.photo-card>p,.decoration-card>p{font-size:12px}.photo-slot{min-width:35px}.photo-upload-row .blue-button{font-size:12px;min-height:42px;padding:10px 16px}.micro-copy{font-size:11px!important}.choice{min-height:72px}.choice strong{font-size:13px}.choice small{font-size:11px}.color-palette{gap:10px}.swatch,.custom-swatch{height:33px;width:33px;min-width:33px}.text-row textarea{font-size:16px}.font-options button{font-size:14px}.step-control{grid-template-columns:42px 1fr 42px}.step-control output{font-size:12px}.quick-position button{font-size:13px}.specifications dt,.specifications dd{font-size:12px}.submit-panel{position:sticky;bottom:0;z-index:4;padding:10px 14px 11px;box-shadow:0 -4px 15px #00000005;background:#fff}.project-name-field{height:36px}.project-name-field>span{font-size:9px}.project-name-field input{font-size:16px;padding:3px 0}.send-configuration{min-height:44px;margin-top:7px;font-size:14px}.submit-panel>strong{font-size:10px;margin-top:6px}.submit-panel>p{font-size:9px}.privacy-trigger{font-size:9px}.options-scroll{padding-bottom:20px}.request-dialog,.crop-dialog,.privacy-dialog,.icons-dialog,.designs-dialog,.help-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 28px)}.dialog-inner,.request-dialog .dialog-inner{padding:28px 22px}.dialog-close{right:12px!important;top:12px!important}.contact-fields{gap:10px}.contact-fields input{min-width:0}dialog input:not([type=checkbox]):not([type=range]),dialog textarea{font-size:16px}.dialog-lead{font-size:11px!important}.request-snapshot strong{font-size:13px!important}.request-snapshot p{font-size:10px!important}.request-snapshot span{font-size:9px!important}.crop-dialog .dialog-inner{padding:27px 22px}.crop-dialog h2{font-size:23px!important}.crop-actions{gap:8px}.crop-actions .submit-main{padding:11px;font-size:10px!important}.crop-actions .secondary-button{font-size:10px;padding:11px}.privacy-dialog p{font-size:12px!important}#toast{font-size:11px!important;max-width:calc(100vw - 30px);min-width:230px}.icon-library{gap:8px}.icon-library button{height:48px}.saved-item{gap:9px;padding:9px}.saved-item img{width:52px;height:43px}}
@media(max-width:370px){.preview-panel{height:295px}.options-card{padding:15px}.options-scroll{padding:12px 9px 20px}.photo-card,.decoration-card{padding:12px}.color-palette{gap:8px}.swatch,.custom-swatch{height:31px;width:31px;min-width:31px}.photo-slot{min-width:32px}.choice strong{font-size:12px}.step-control{grid-template-columns:35px 1fr 35px}.font-options button{font-size:12px}.icon-library{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

#project-name{border:0;padding:0;background:none;font-size:12px;min-height:24px;border-radius:0;text-align:right;outline:none;box-shadow:none} @media(max-width:700px){#project-name{font-size:16px}}

.admin-entry{font-size:12px;color:#26394b;text-decoration:none}.admin-entry:hover{text-decoration:underline}

.book-actions{position:absolute;top:65px;right:15px;z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.book-actions button{pointer-events:auto;box-shadow:0 4px 18px #0000000d;min-height:38px}.book-actions [aria-pressed=true]{color:var(--blue);background:#eef7fd}.book-view-status{position:absolute;bottom:52px;left:15px;right:15px;text-align:center;color:#627180;font-size:11px;z-index:2;pointer-events:none}@media(max-width:900px){.book-actions{right:10px;top:58px;gap:6px}.book-actions button{font-size:10px;min-height:31px;padding:7px 11px}}@media(max-width:700px){.book-actions{top:55px;right:11px}.book-view-status{bottom:40px;font-size:10px}.preview-panel{height:390px}}

.preview-panel{--shelf-width:clamp(150px,24%,210px)}.preview-panel.has-shelf>.model-viewer{left:var(--shelf-width)}.shelf-preview{position:absolute;left:12px;top:85px;bottom:65px;width:calc(var(--shelf-width) - 24px);border:1px solid #e0e5eb;border-radius:16px;background:linear-gradient(150deg,#fff,#edf1f5);box-shadow:0 8px 24px #263a4e08;display:flex;flex-direction:column;align-items:center;overflow:hidden;z-index:2}.shelf-preview>strong{font-size:11px;font-weight:600;margin:17px 8px 0;text-align:center}.shelf-preview>span{font-size:9px;color:#8a96a2;text-align:center;padding:10px 5px 14px}.shelf-viewer{position:relative;flex:1;min-height:0;width:100%;touch-action:none;cursor:grab;user-select:none}.shelf-viewer.dragging{cursor:grabbing}.shelf-viewer canvas{display:block;width:100%;height:100%}.shelf-preview .model-loading{font-size:10px;white-space:normal;text-align:center;width:90%}.has-shelf .preview-hint{left:calc(var(--shelf-width) + (100% - var(--shelf-width))/2)}.has-shelf .book-view-status,.has-shelf .mesh-status{left:var(--shelf-width)}@media(max-width:900px){.preview-panel{--shelf-width:125px}.shelf-preview{left:8px;width:calc(var(--shelf-width) - 16px);border-radius:12px;top:80px}.shelf-preview>strong{font-size:10px}.shelf-preview>span{font-size:8px}.has-shelf .preview-hint{font-size:8px;white-space:normal;max-width:calc(100% - var(--shelf-width) - 10px)}}@media(max-width:700px){.preview-panel{--shelf-width:105px}.shelf-preview{top:70px;bottom:48px}.shelf-preview>strong{font-size:9px;margin-top:12px}.shelf-preview>span{padding-bottom:10px;font-size:8px}}

/* Dedicated, full-window configurator route. */
body{background:#fff}body:before{display:none}.configurator-shell{inset:0;border-radius:0;box-shadow:none}.configurator-heading{display:flex;align-items:center;gap:22px;min-width:0}.home-back{display:flex;align-items:center;gap:8px;padding:9px 16px 9px 0;border-right:1px solid #e4e8ec;font-size:12px;font-weight:600;color:#5e7386;text-decoration:none;white-space:nowrap}.home-back:hover{color:#0078e4}.home-back>span:first-child{font-size:20px}.back-short{display:none}@media(max-width:700px){.configurator-shell{margin:0;border-radius:0}.configurator-heading{gap:12px}.home-back{font-size:11px;padding-right:12px;gap:5px}.back-long{display:none}.back-short{display:inline}.configurator-header .configurator-heading p{display:none}.configurator-header .configurator-heading h1{font-size:14px}}

.model-viewer,.shelf-viewer{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none}.hint-touch{display:none}.preview-hint .hint-desktop,.preview-hint .hint-touch{font:inherit;margin:0;vertical-align:baseline}@media(pointer:coarse){.preview-hint .hint-desktop,.shelf-hint .hint-desktop{display:none}.preview-hint .hint-touch,.shelf-hint .hint-touch{display:inline}}
