@font-face{font-family:Designer Noto Sans;src:url(/designer/fonts/noto-sans.woff2) format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:"Designer Noto Serif";src:url(/designer/fonts/noto-serif.woff2) format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Designer Comfortaa;src:url(/designer/fonts/comfortaa.woff2) format("woff2");font-weight:300 700;font-display:block}@font-face{font-family:Designer Caveat;src:url(/designer/fonts/caveat.woff2) format("woff2");font-weight:400 700;font-display:block}@font-face{font-family:Designer Russo One;src:url(/designer/fonts/russo-one.woff2) format("woff2");font-weight:400;font-display:block}@font-face{font-family:Designer Montserrat;src:url(/designer/fonts/montserrat.woff2) format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Designer Roboto;src:url(/designer/fonts/roboto.woff2) format("woff2");font-weight:100 900;font-display:block}@font-face{font-family:Designer Playfair Display;src:url(/designer/fonts/playfair-display.woff2) format("woff2");font-weight:400 900;font-display:block}@font-face{font-family:Designer Pacifico;src:url(/designer/fonts/pacifico.woff2) format("woff2");font-weight:400;font-display:block}@font-face{font-family:Designer Lobster;src:url(/designer/fonts/lobster.woff2) format("woff2");font-weight:400;font-display:block}@font-face{font-family:Designer Rubik Mono One;src:url(/designer/fonts/rubik-mono-one.woff2) format("woff2");font-weight:400;font-display:block}@font-face{font-family:Designer Marck Script;src:url(/designer/fonts/marck-script.woff2) format("woff2");font-weight:400;font-display:block}.project-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.transfer-button{min-height:44px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-weight:700}.transfer-dialog{width:min(720px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 32px));padding:24px;border:0;border-radius:18px;box-shadow:0 18px 60px #0f172a40;overflow:auto}.transfer-dialog::backdrop{background:#0f172a94}.transfer-head{display:flex;gap:16px;align-items:center;justify-content:space-between}.transfer-head h2{margin:0}.transfer-head button{min-width:44px;min-height:44px;border:0;background:transparent;font-size:30px}.transfer-dialog>p{color:#526070}.transfer-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.transfer-card{display:grid;gap:8px;min-width:0;padding:12px;text-align:left;background:#fff;border:2px solid #dce2ea;border-radius:14px;color:#172033}.transfer-card:hover,.transfer-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #17349429}.transfer-card:disabled{opacity:.58}.transfer-media{display:grid;place-items:center;aspect-ratio:4/3;border-radius:10px;background:#f5f7fa;overflow:hidden}.transfer-media img{width:100%;height:100%;object-fit:contain}.transfer-card strong{overflow-wrap:anywhere}.transfer-card>span:last-child{font-weight:700;color:var(--accent)}#transfer-status{min-height:1.5em;font-weight:700;color:#526070}@media(max-width:640px){.editor-foot>.project-actions{width:100%;display:grid}.project-actions .transfer-button,.project-actions .primary{width:100%;min-height:48px}.transfer-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}.transfer-targets{grid-template-columns:1fr}.transfer-card{grid-template-columns:92px 1fr;align-items:center}.transfer-media{grid-row:1/3}.transfer-card>span:last-child{grid-column:2}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18202b;background:#f5f7fa;line-height:1.45;--accent: #ef5b2a;--line: #e5e9ef;--muted: #687386}*{box-sizing:border-box}body{margin:0}button,a,.upload{font:inherit}button{cursor:pointer}.primary{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:13px 20px;font-weight:700;box-shadow:0 8px 20px #ef5b2a2a}.primary:hover{background:#dc4b1d}.brand-link{color:#303946;text-decoration:none;font-weight:650}.landing-shell{max-width:1120px;margin:auto;padding:40px 24px}.landing-shell header{padding:75px 0 40px;max-width:700px}.eyebrow{color:var(--accent);font-weight:750}.landing-shell h1{font-size:clamp(40px,7vw,76px);line-height:1;margin:12px 0}.landing-shell header p{font-size:20px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.product-card,.empty-state{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 14px 45px #26364c0d}.product-card{display:grid;grid-template-rows:190px minmax(0,1fr) auto;height:434px}.product-thumb{height:190px;border-radius:14px;background:#fafafa;overflow:hidden;position:relative}.product-thumb img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;object-position:center;display:block}.product-thumb.base-rotated img{inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(90deg)}.product-copy{min-width:0;display:flex;flex-direction:column}.product-card h2{margin:18px 0 2px;height:2.9em;line-height:1.45;overflow-wrap:anywhere;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.product-card p{color:var(--muted);margin:0 0 8px;max-height:2.9em;overflow:hidden}.product-card strong{font-size:22px;margin-top:auto}.product-card button{width:100%;margin-top:20px}.designer-editor{min-height:100dvh;background:#eef1f5}.surface-controls{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 16px;background:#fff;border-bottom:1px solid var(--line)}.surface-controls button{min-width:120px;min-height:40px;padding:8px 18px;border:1px solid #aeb8c7;border-radius:10px;background:#fff;color:#253043;font-weight:700}.surface-controls button[aria-pressed=true]{color:#fff;background:var(--accent);border-color:var(--accent)}.size-controls{min-height:58px;display:flex;align-items:end;justify-content:center;gap:12px;padding:7px 16px;background:#fff;border-bottom:1px solid var(--line)}.size-controls label,.format-control{display:grid;gap:3px;font-size:12px;font-weight:700}.size-controls select,.format-control select{box-sizing:border-box;min-width:0;min-height:38px;border:1px solid #aeb8c7;border-radius:9px;padding:7px 32px 7px 10px;background:#fff;color:#18202b;font:inherit}.format-control select{width:100%}.size-controls button{min-height:38px;border:1px solid var(--accent);border-radius:9px;padding:7px 14px;background:#fff;color:var(--accent);font-weight:700}.format-control{margin-bottom:16px;color:var(--muted)}.size-guide-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.size-guide-dialog::backdrop{background:#0f172a94}.size-guide-dialog h3{margin:22px 0 8px}.size-table-wrap{overflow-x:auto}.size-guide-dialog table{width:100%;border-collapse:collapse;min-width:480px}.size-guide-dialog th,.size-guide-dialog td{padding:10px;border:1px solid #dce2ea;text-align:center}.size-guide-dialog th{background:#f5f7fa}.size-guide-dialog .size-choice{cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.size-guide-dialog .size-choice:hover{background:#f1f5ff}.size-guide-dialog .size-choice:focus-visible{outline:3px solid rgba(23,52,148,.3);outline-offset:-3px}.size-guide-dialog .size-choice.is-selected{background:#e9efff;box-shadow:inset 4px 0 0 var(--accent)}.size-guide-dialog .size-choice.is-selected th{background:#dfe8ff}.size-guide-dialog .size-choice button{min-height:44px;border:1px solid var(--accent);border-radius:9px;padding:8px 12px;background:#fff;color:var(--accent);font-weight:700;white-space:nowrap}.size-guide-dialog .size-choice.is-selected button{background:var(--accent);color:#fff}.editor-head{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:12px}.editor-head>a,.editor-head>button{width:44px;height:44px;border:0;border-radius:12px;background:#f2f4f7;display:grid;place-items:center;text-decoration:none;color:#1d2734;font-size:22px}.editor-head>div{flex:1}.editor-head b,.editor-head span{display:block}.editor-head span{font-size:12px;color:#4f7c60}.editor-head span.error{color:#bd2c2c}.editor-layout{min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr) 290px}.left-panel,.right-panel{min-width:0;position:relative;z-index:5;background:#fff;padding:24px;border-right:1px solid var(--line)}.right-panel{border:0;border-left:1px solid var(--line)}aside h2{font-size:18px;margin:0 0 20px}.upload{display:block;text-align:center;position:relative}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload:has(input:disabled){opacity:.62;cursor:wait}.upload-status{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin:10px 0 12px;padding:10px 12px;border-radius:10px;background:#eef3ff;color:#173494;font-size:13px;overflow-wrap:anywhere}.upload-status[hidden]{display:none}.upload-spinner{width:16px;height:16px;border:2px solid #aebbe6;border-top-color:#173494;border-radius:50%;animation:upload-spin .75s linear infinite}.upload-status[data-state=success] .upload-spinner,.upload-status[data-state=error] .upload-spinner{display:none}.upload-status[data-state=success]:before{content:"✓";font-weight:800}.upload-status[data-state=error]{background:#fff1f1;color:#9f2424}.upload-status[data-state=error]:before{content:"!";font-weight:800}.upload-status progress{grid-column:1 / -1;width:100%;accent-color:#173494}.upload-status button{grid-column:1 / -1;justify-self:start;border:1px solid currentColor;border-radius:8px;background:#fff;color:inherit;padding:7px 12px}@keyframes upload-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}}.left-panel p{font-size:13px;color:var(--muted);text-align:center}.add-text{width:100%;min-height:46px;margin-top:12px;border:1px solid var(--accent);border-radius:12px;color:var(--accent);background:#fff;font-weight:700;touch-action:manipulation}.workspace{position:relative;isolation:isolate;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:14px}.designer-editor .upload-privacy-notice{width:100%;margin:0 0 12px;font-size:14px;line-height:1.45;color:#526070;overflow-wrap:anywhere}.upload-privacy-notice a{color:#173494;text-decoration:underline}.workspace>.upload-privacy-notice{display:none}@media(max-width:800px){.workspace>.upload-privacy-notice{display:block;max-width:900px;margin:0}.left-panel>.upload-privacy-notice{flex:0 0 100%;margin:0}}.canvas-wrap{position:relative;width:min(100%,900px,calc((100dvh - 250px) * var(--surface-ratio)));aspect-ratio:var(--surface-ratio, auto)}.canvas-wrap>img,.canvas-container{position:absolute!important}.canvas-container{inset:0;width:100%!important;height:100%!important}.canvas-wrap>img{object-fit:contain;pointer-events:none}.surface-base,.lower-canvas{z-index:0}.print-area-guide{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.print-area-guide rect{fill:none;stroke:#173494;stroke-width:2;stroke-dasharray:8 8}.preview-overlay,.checkout-overlay{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none}.preview-overlay{z-index:2;mix-blend-mode:multiply;opacity:.78}.upper-canvas{z-index:3}.canvas-container canvas{width:100%!important;height:100%!important}.selection-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.selection-tools button,.editor-back,.right-panel button{min-height:44px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px}.selection-tools .danger{color:#b62828}.quality{background:#f5f7fa;border-radius:14px;padding:16px}.quality span,.quality small{display:block;color:var(--muted)}.quality strong{font-size:20px}.right-panel label{display:block;margin:14px 0;font-size:13px}.right-panel input[type=range]{display:block;width:100%;margin-top:6px}.text-panel[hidden],.photo-panel[hidden]{display:none!important}.text-panel{min-width:0}.text-panel label{color:var(--muted)}.text-panel textarea,.text-panel select,.text-panel input[type=number]{display:block;width:100%;min-height:44px;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;color:#18202b;background:#fff}.text-panel textarea{resize:vertical;min-height:72px}.font-control{min-width:0;width:100%;margin:14px 0;color:var(--muted);font-size:13px}.font-picker{position:relative;min-width:0;width:100%;margin-top:6px}#font-picker-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid #aeb8c7;border-radius:9px;background:#fff;font-size:16px;text-align:left;min-width:0;max-width:100%}#font-picker-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#font-picker-button b{flex-shrink:0}.font-picker-list{position:relative;z-index:40;width:100%;margin-top:5px;max-height:min(360px,52vh);overflow-y:auto;overscroll-behavior:contain;padding:5px;border:1px solid #aeb8c7;border-radius:10px;background:#fff;box-shadow:0 14px 36px #18202b2b}.font-picker-list[hidden]{display:none}.font-picker-list button{width:100%;min-height:58px;display:block;padding:7px 10px;border:0;border-radius:7px;background:#fff;color:#18202b;text-align:left;touch-action:manipulation}.font-picker-list button:hover,.font-picker-list button:focus-visible{background:#eef3ff;outline:2px solid #173494}.font-picker-list button[aria-selected=true]{background:#e4ebff;color:#173494}.font-picker-list span,.font-picker-list small{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-picker-list span{font-size:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.font-picker-list small{margin-top:2px;font:inherit;font-size:18px}.text-grid{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px;align-items:end}.text-grid label{min-width:0}.text-panel input[type=color]{display:block;width:48px;height:44px;margin-top:5px;padding:3px;border:1px solid #9aa3af;border-radius:9px;background:#fff}.text-toggle-row,.text-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.text-toggle-row button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.text-actions .danger{color:#b62828}.photo-panel[hidden],.text-panel[hidden]{display:none!important}.text-panel{width:100%}.text-panel textarea,.text-panel select,.text-panel input[type=number]{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:8px;font:inherit}.text-panel textarea{resize:vertical}.text-grid{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px;align-items:end}.text-grid label{margin:6px 0}.text-grid input[type=color]{width:48px;height:44px;padding:3px;border:1px solid #9aa3b1;border-radius:9px;background:#fff}.text-toggle-row,.text-actions{display:flex;gap:8px;margin-top:8px;align-items:center}.text-toggle-row>div{display:flex;gap:4px}.text-toggle-row button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.text-actions button{flex:1}.production-app{max-width:920px}.production-result img{display:block;max-width:100%;max-height:70vh;background:#fff;border:1px solid #d8dde5}.editor-foot{min-height:72px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:30px;padding:0 24px}.editor-foot strong{font-size:24px}.editor-foot button{min-width:180px}.loading,.fatal{height:100vh;display:grid;place-content:center;text-align:center;gap:14px}.loading span{width:34px;height:34px;border:3px solid #ddd;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:90px;translate:-50%;background:#253043;color:#fff;padding:12px 18px;border-radius:10px;z-index:30}.toast.error{background:#a82d2d}dialog{border:0;border-radius:18px;padding:28px;box-shadow:0 30px 90px #0003}dialog::backdrop{background:#17203088}button:focus-visible,a:focus-visible,.upload:focus-within{outline:3px solid #4285f4;outline-offset:2px}.orientation-controls{border:0;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.orientation-controls legend{grid-column:1/-1;font-size:13px;color:var(--muted);margin-bottom:6px}.orientation-controls button{min-width:0;min-height:48px;padding:9px 6px;font-size:13px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.orientation-controls button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.scale-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}.scale-controls span{color:var(--muted);font-size:14px}.scale-controls button{width:48px;padding:8px;font-size:22px;font-weight:700}.designer-editor button,.designer-editor .upload{touch-action:manipulation}@media(max-width:800px){.surface-controls{min-height:48px;padding:5px 8px;position:relative;z-index:31}.surface-controls button{min-width:0;flex:1;min-height:38px;padding:7px 10px}.size-controls{min-height:74px;padding:7px 10px;align-items:end;position:relative;z-index:31}.size-controls label{flex:1;min-width:0}.size-controls select{width:100%;min-width:0}.size-controls button{max-width:45%;font-size:13px}.format-control{flex:1 0 100%;width:100%;margin:0}.format-control select{width:100%}.product-card{grid-template-rows:170px minmax(0,1fr) auto;min-height:370px}.product-thumb{height:170px}.editor-head{height:58px;padding:0 8px}.editor-head b{font-size:14px}.editor-layout{display:flex;flex-direction:column}.left-panel{position:static;order:2;width:100%;height:auto;padding:10px 12px;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex:0 0 auto;flex-wrap:wrap}.left-panel h2,.left-panel p{display:none}.left-panel .upload,.left-panel .add-text{min-height:44px;padding:11px 18px;width:100%}.left-panel .upload-status{width:100%;margin:0}.left-panel .add-text{margin:0}.right-panel{position:static;order:1;display:flex;align-items:center;gap:10px;padding:8px 12px;border:0;border-bottom:1px solid var(--line);box-shadow:none;flex:0 0 auto;flex-wrap:wrap}.right-panel .orientation-controls{flex:1 0 100%;width:100%;margin:0}.right-panel .orientation-controls legend{margin-bottom:3px}.right-panel h2{display:none}.right-panel .quality{flex:1;padding:8px 10px;min-width:0}.right-panel .quality span{font-size:11px}.right-panel .quality strong{font-size:15px}.right-panel .quality small{font-size:10px;white-space:nowrap}.right-panel .scale-controls{flex:0 0 auto;margin:0}.right-panel .scale-controls span{font-size:12px}.right-panel .text-panel{flex:1 0 100%;width:100%}.text-panel>label{margin-top:0}.text-grid{grid-template-columns:minmax(0,1fr) 58px}.workspace{order:0;height:auto;min-height:0;padding:10px 8px 16px;justify-content:flex-start;flex:0 0 auto}.canvas-wrap{width:100%;max-height:none}.selection-tools{position:static;width:100%;background:transparent;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:0 0 4px}.selection-tools button{white-space:nowrap;min-height:44px}.editor-foot{position:static;min-height:68px;flex-wrap:wrap;padding:8px 12px;gap:12px;z-index:25}.editor-foot strong{font-size:20px;margin-right:auto}.editor-foot button{min-width:145px}.toast{bottom:78px;max-width:90%;width:max-content}.editor-head>a,.editor-head>button{width:44px;height:44px}}:root{--accent: #173494}.primary{box-shadow:0 8px 20px #1734942a}.primary:hover{background:#10266f}.empty-print-hint{position:absolute;z-index:4;pointer-events:none;display:grid;place-content:center;align-items:center;gap:4px;min-width:0;box-sizing:border-box;padding:10px;overflow-wrap:anywhere;font-size:14px;color:#173494;font-weight:700;text-align:center}.empty-print-hint span{font-size:22px}.empty-print-hint[hidden]{display:none}@media(max-width:500px){.empty-print-hint{font-size:13px}}:root{--emoji-cell-size: 48px}#emoji-panel{width:100%;min-width:0;position:relative;z-index:30;padding:8px;box-sizing:border-box;background:#fff;border:1px solid #dce2ee;border-radius:12px}#emoji-panel[hidden]{display:none}.emoji-categories{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.emoji-categories button{min-height:44px;font-size:12px;padding:6px;flex:1 1 40%}.emoji-categories button[aria-pressed=true]{background:#173494;color:#fff}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--emoji-cell-size),1fr));gap:4px;max-height:280px;overflow-y:auto}.emoji-grid button{min-width:0;min-height:48px;padding:5px;display:flex;align-items:center;justify-content:center}.emoji-grid img{width:36px;height:36px;pointer-events:none}#emoji-panel button{border:1px solid #dce2ee;border-radius:8px;background:#f7f9fc;color:#17243b;cursor:pointer;font-family:inherit}#emoji-panel button:hover{border-color:#173494;background:#eef2ff}#emoji-panel .emoji-categories button[aria-pressed=true]{background:#173494;color:#fff}#emoji-panel a{display:inline-block;font-size:11px;margin-top:8px}#emoji-trigger{width:100%;min-height:44px;margin-top:8px;padding:10px 14px;border:1px solid #173494;border-radius:12px;color:#173494;background:#fff;font:inherit;font-weight:600;cursor:pointer}#emoji-trigger:hover{background:#eef2ff}#emoji-panel button:focus-visible,#emoji-trigger:focus-visible{outline:3px solid #173494;outline-offset:2px}:root{--button-radius:12px}.primary,.add-text,.transfer-button,#emoji-trigger{border-radius:var(--button-radius)}.transfer-button{padding:13px 20px;max-width:100%;white-space:normal}.transfer-button:hover{background:#eef2ff}.transfer-button:active{background:#e0e7fa}.transfer-button:focus-visible{outline:3px solid #173494;outline-offset:2px}.primary:disabled,.add-text:disabled,.transfer-button:disabled{opacity:.6;cursor:not-allowed}#selected-size{font-size:14px;color:#18202b}:root{--cylinder-guide-color: rgba(60,82,130,.35)}.cylindrical-preview{width:100%;min-width:0;margin-top:20px}.cylindrical-preview h2,.flat-layout-title{font-size:16px;margin:0 0 12px}.cylinder-views{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.cylinder-views figure{margin:0;background:#fff;border-radius:12px;overflow:hidden}.cylinder-views canvas{width:100%;height:auto;display:block}.cylinder-views figcaption{text-align:center;padding:8px;font-size:13px}.cylindrical-guides{position:absolute;pointer-events:none;z-index:4;overflow:hidden}.cylindrical-guides i{position:absolute;top:0;bottom:0;border-left:1px dashed var(--cylinder-guide-color);pointer-events:none}.has-cylindrical-preview .workspace{justify-content:flex-start}@media(min-width:801px)and (max-width:1100px){.has-cylindrical-preview .editor-layout{grid-template-columns:200px minmax(0,1fr)}.has-cylindrical-preview .left-panel{padding:16px}.has-cylindrical-preview .right-panel{grid-column:1/-1}}@media(max-width:600px){.cylinder-views{grid-template-columns:minmax(0,1fr)}}.family-options{border:0;padding:0;margin:0 0 18px;min-width:0}.family-options legend{font-weight:700;margin-bottom:8px}.family-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.family-option-grid button{position:relative;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:5px;min-height:48px;padding:6px;text-align:left;font-size:12px;line-height:1.2;overflow-wrap:anywhere;border:1px solid #cbd1dc;border-radius:8px;background:#fff;color:#202735}.family-option-grid button>span:not(.option-check){grid-column:1 / -1;grid-row:2}.family-option-grid .option-check{grid-column:2;grid-row:1;justify-self:end}.family-option-grid button img{flex:0 0 32px;object-fit:contain;border:1px solid #e2e5eb;border-radius:4px}.family-option-grid button[aria-pressed=true]{border:2px solid #173494;background:#eef2ff;font-weight:700}.family-option-grid button:focus-visible{outline:3px solid #173494;outline-offset:2px}.family-option-grid button:hover:not(:disabled){background:#eef2ff}.option-check{margin-left:auto;color:#173494}.option-status{display:block;font-size:12px;margin-top:5px}.mobile-transform{display:none}.family-options-mount:empty{display:none}.photo-limit{display:block;font-size:12px;color:var(--muted);margin:8px 0}.photo-limit:empty{display:none}.upload:has(input:disabled){cursor:not-allowed}@media(max-width:800px){#designer-app>.family-options-mount{padding:16px;background:#fff;border-bottom:1px solid var(--line)}#designer-app>.family-options-mount .family-options{margin:0}.selection-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,44px);gap:6px;width:100%;max-width:430px;flex-wrap:unset;overflow:visible;position:sticky;top:env(safe-area-inset-top,0px);align-self:center;z-index:15;padding:6px;box-sizing:border-box;background:#eef1f5;border-radius:12px}.selection-tools button{min-height:44px;min-width:44px;padding:6px;font-size:13px;white-space:nowrap}.selection-tools .mobile-transform{display:block}.selection-tools [data-action=rotate]{grid-column:1;grid-row:2;font-size:12px}.selection-tools [data-action=delete]{grid-column:2;grid-row:2}.selection-tools [data-action=duplicate-emoji]{grid-column:3;grid-row:2;font-size:12px}.editor-back{min-height:44px;align-self:flex-start}.right-panel .scale-controls{display:none}.photo-limit{width:100%;text-align:center}}@media(max-width:800px){.family-option-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.family-option-grid button{flex-wrap:wrap;font-size:11px}}.checkout-page{background:#f5f7fa;overflow:auto}.checkout-shell{max-width:680px;margin:32px auto;padding:28px;background:#fff;border-radius:20px;color:#18202b}.checkout-shell h1{font-size:28px;line-height:1.25;overflow-wrap:anywhere}.checkout-shell h2{font-size:21px;scroll-margin-top:16px}.checkout-progress{display:flex;gap:8px;padding:0;list-style:none;font-size:13px;color:#687386}.checkout-progress li{flex:1;padding:10px 0;border-bottom:3px solid #e5e9ef}.checkout-progress [aria-current]{color:#173494;border-color:#173494;font-weight:700}.checkout-previews{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.checkout-preview{width:200px;max-width:70%;margin:16px auto;position:relative}.checkout-preview figcaption{position:absolute;left:8px;top:8px;z-index:3;background:#fffdec;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:700}.checkout-preview canvas{width:100%!important;height:auto!important}.checkout-cylinder{grid-column:1 / -1;margin:0;width:100%}.checkout-cylinder .cylinder-views{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.checkout-cylinder .cylinder-views{grid-template-columns:1fr}}.checkout-shell label{display:block;margin:16px 0}.checkout-shell input:not([type=radio]):not([type=checkbox]),.checkout-shell textarea{display:block;width:100%;font:inherit;font-size:16px;min-height:48px;border:1px solid #aeb8c7;border-radius:10px;padding:10px;margin-top:6px}.checkout-shell textarea{resize:vertical;min-height:104px}.checkout-shell label small{display:block;margin-top:5px;color:#687386}.checkout-shell input:focus-visible,.checkout-shell textarea:focus-visible{outline:3px solid #4285f4;outline-offset:2px}.checkout-quantity{display:flex;align-items:center;gap:12px}.checkout-quantity button{min-width:48px;min-height:48px;border:1px solid #aeb8c7;background:#fff;border-radius:10px;font-size:22px}.checkout-quantity #quantity{width:110px;text-align:center;margin:0}.checkout-shell .checkout-consent,.checkout-shell .checkout-branch{display:flex;gap:12px;align-items:center;min-height:48px;line-height:1.5}.checkout-consent input,.checkout-branch input{width:22px;height:22px;flex-shrink:0;accent-color:#173494}.checkout-branch{padding:16px;border:1px solid #aeb8c7;border-radius:12px}.checkout-branch:has(input:checked){border-color:#173494;background:#edf1fc}.checkout-actions{display:flex;gap:12px;justify-content:space-between;margin-top:24px;flex-wrap:wrap}.checkout-actions button,.checkout-actions a{min-height:48px;text-align:center;text-decoration:none}.checkout-secondary{border:1px solid #aeb8c7;border-radius:12px;background:#fff;color:#173494;padding:12px 18px}.checkout-shell .primary{background:#173494;color:#fff}.checkout-shell .primary:hover{background:#10266f}.checkout-shell .primary:active{background:#0b1c54}.checkout-shell button:disabled{opacity:.65;cursor:wait}.checkout-error{color:#a82d2d;overflow-wrap:anywhere}.checkout-shell dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.checkout-shell dt{color:#687386}.checkout-shell dd{margin:0;overflow-wrap:anywhere}.checkout-shell [hidden]{display:none!important}.checkout-options{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkout-options legend{grid-column:1/-1;font-weight:700;margin-bottom:8px}.checkout-options label{margin:0;position:relative}.checkout-options input{position:absolute;opacity:0}.checkout-options span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px;border:1px solid #aeb8c7;border-radius:12px;text-align:center}.checkout-options input:checked+span{border-color:#173494;background:#edf1fc;color:#173494;font-weight:700}.checkout-options input:focus-visible+span{outline:3px solid #4285f4;outline-offset:2px}.checkout-delivery{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-price-lines{display:grid;grid-template-columns:1fr auto;gap:8px 20px;margin:22px 0;padding:16px;background:#f5f7fa;border-radius:12px}.checkout-price-lines strong{text-align:right}.checkout-price-lines span:last-of-type,.checkout-price-lines strong:last-child{font-size:18px;color:#173494}@media(max-width:700px){.checkout-shell{margin:0;padding:20px 16px;border-radius:0;min-height:100dvh}.checkout-progress{font-size:11px;gap:6px}.checkout-preview{width:170px}.checkout-actions .primary{flex:1}.checkout-shell h1{font-size:26px}}@media(max-width:500px){.checkout-options,.checkout-delivery{grid-template-columns:1fr}.checkout-options legend{grid-column:auto}}.checkout-preview{position:relative}.checkout-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.checkout-overlay{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;opacity:.78}.checkout-preview canvas{position:relative;z-index:1}
