@font-face{font-family:FredokaStudio;src:url('/bubbletag-studio/assets/fonts/fredoka.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f3ee;color:#111;font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ff5a1f;outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}button{border:0}input,textarea,select{min-width:0;max-width:100%}[hidden]{display:none!important}.wordmark{font-size:27px;letter-spacing:-1.4px;font-weight:900;line-height:1}.wordmark span{font-size:11px;vertical-align:top;margin-left:4px;letter-spacing:0}.studio-label{font-size:10px;letter-spacing:1.7px;color:#666}.bag-button{background:#111;color:#f4f3ee;padding:10px 16px;border-radius:30px;display:flex;align-items:center;gap:14px}.bag-button span{background:#f4f3ee;color:#111;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;font-size:11px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;padding:50px 0 36px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;margin-bottom:14px;color:#6a6a63}h1{font-size:clamp(40px,4.6vw,70px);line-height:.99;font-weight:550;letter-spacing:-3px}h1 span{color:#85857d}.intro-note{font-size:13px;color:#6b6b64;text-align:right;padding-bottom:4px}main{max-width:1460px;margin:0 auto;padding:0 5%}.designer{display:grid;grid-template-columns:minmax(300px,410px) minmax(0,1fr);gap:6%;align-items:start}.controls{padding-bottom:32px}.control-block{padding:25px 0;border-top:1px solid #d9d8d0}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.4px;font-weight:600;margin-bottom:18px}.section-label>span+span{color:#777;font-weight:400;letter-spacing:.3px}.name-input{width:100%;background:transparent;border:0;border-bottom:1px solid #b7b7ae;padding:0 0 12px;border-radius:0;color:#111;font-size:36px;font-weight:500;letter-spacing:-1.5px}.name-input::placeholder{color:#999}.helper{font-size:11px;line-height:1.65;color:#6d6d65;margin-top:12px}.font-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.font-option{padding:12px 13px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:76px;border:1px solid #d8d7d0;border-radius:9px;background:transparent;text-align:left}.font-option.selected{border-color:#111;background:#e9e8e0;box-shadow:inset 0 0 0 1px #111}.font-option .font-sample{font-size:23px;line-height:1.2}.font-option small{font-size:10px;color:#666}.range-heading{display:flex;justify-content:space-between;margin-top:24px;margin-bottom:5px;font-size:12px}.range-heading output{font-variant-numeric:tabular-nums;color:#686861}input[type=range]{width:100%;height:22px;accent-color:#111;cursor:ew-resize}.range-labels{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#777}.text-button{padding:4px 10px;background:transparent;text-decoration:underline;font-size:10px;color:#666}.colour-heading{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.colour-heading span{color:#777;font-size:11px}.swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:9px 6px}.swatch{width:100%;aspect-ratio:1;max-width:38px;border-radius:50%;border:1px solid #1112;background:var(--swatch);position:relative;padding:0}.swatch.selected{outline:1.6px solid #111;outline-offset:3px}.swatch.selected:after{content:'✓';font-size:14px;font-weight:800;color:var(--tick);position:absolute;inset:0;display:grid;place-items:center}.second-colour{margin-top:22px}.buy-block{padding-top:25px;border-top:1px solid #d9d8d0}.purchase-options{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cfcec5;padding:4px;gap:4px;border-radius:10px}.purchase-option{background:transparent;padding:12px;text-align:left;border-radius:6px;display:flex;flex-direction:column;gap:2px}.purchase-option b{font-size:13px;font-weight:550}.purchase-option span{font-size:10px;color:#777}.purchase-option.selected{background:#111;color:#fff}.purchase-option.selected span{color:#bdbdb4}.buy-price{display:flex;align-items:center;gap:18px;margin:22px 0 16px}.buy-price strong{font-size:30px;font-weight:550;letter-spacing:-1px;white-space:nowrap}.buy-price>span{font-size:11px;color:#6d6d65}.button{width:100%;padding:16px 20px;font-size:13px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px}.button-dark{background:#111;color:white}.button-dark:hover:not(:disabled){background:#30302c}.button-light{background:#e9e8e1;color:#111}.quantity-line{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;font-size:12px}.quantity-line input{width:70px;padding:7px;background:transparent;border:1px solid #c8c7bd;border-radius:5px}.test-note{font-size:9px;letter-spacing:.7px;color:#76766f;margin-top:17px}.preview-column{position:sticky;top:24px;min-width:0}.preview-card{overflow:hidden;border-radius:15px;background:#e9e8e1;border:1px solid #e2e1d9;position:relative}.preview-top{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#77776d;gap:10px}.preview-top>span:first-child{display:flex;align-items:center;gap:8px;white-space:nowrap}.live-dot{width:5px;height:5px;background:#ff5a1f;border-radius:50%;display:inline-block}.stage{height:clamp(340px,34vw,495px);width:100%;position:relative;overflow:hidden;touch-action:none}.stage canvas{display:block;width:100%;height:100%;touch-action:none}.stage-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#666;z-index:2;pointer-events:none;background:#e9e8e1dd}.preview-toolbar{padding:8px 20px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7b7b71;font-size:10px}.preview-toolbar>div{display:flex;gap:4px}.preview-toolbar button{background:#f4f3ee99;border-radius:4px;min-width:33px;padding:7px;font-size:10px}.dimension-line{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid #d8d7ce;font-size:12px;color:#53534d;letter-spacing:.4px}.dimension-line>span+span{font-size:10px;color:#888}.model-status{padding:0 22px 14px;color:#6c6c61;font-size:10px;min-height:29px}.model-status.error{color:#a33419}.construction{margin-top:22px;border-bottom:1px solid #d8d7d0;padding-bottom:20px}.construction summary{font-size:12px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.construction summary:after{content:'+'}.construction[open] summary:after{content:'−'}.construction dl{margin:18px 0 12px;font-size:11px;color:#666}.construction dl>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.construction dd{margin:0;text-align:right;color:#222}.construction p{font-size:11px;color:#777;line-height:1.65}.studio-signoff{display:flex;justify-content:space-between;margin-top:20px;font-size:8px;letter-spacing:1.5px;color:#7d7d73}.gallery-section{padding:65px 0 55px;border-top:1px solid #d8d7d0;margin-top:38px}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:20px}h2{font-size:34px;line-height:1.12;letter-spacing:-1.4px;font-weight:550}.gallery-heading>span{font-size:9px;letter-spacing:1px;color:#888}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-photo{padding:0;background:transparent;text-align:left}.gallery-photo img{width:100%;aspect-ratio:1.13;object-fit:cover;display:block;border-radius:9px}.gallery-photo:first-child{grid-column:span 2;grid-row:span 2}.gallery-photo:first-child img{aspect-ratio:1.1}.gallery-photo span{font-size:11px;display:block;margin-top:9px;color:#666}.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:8%;padding:55px 0 65px;border-top:1px solid #d8d7d0;margin-top:35px}.how-it-works>div>span{font-size:10px;color:#ff5a1f;letter-spacing:1px}.how-it-works h3{font-size:17px;font-weight:500;letter-spacing:-.4px;margin:14px 0 8px}.how-it-works p{font-size:12px;color:#777;max-width:235px}footer{padding:32px 5%;border-top:1px solid #d8d7d0;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:9px;letter-spacing:1.1px;color:#666}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{border:0;background:#f4f3ee;color:#111;box-shadow:0 25px 100px #0003;border-radius:16px;max-height:90dvh;overflow:auto;padding:30px;width:min(570px,calc(100% - 24px))}dialog::backdrop{background:#1118;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.dialog-heading h2{font-size:30px}.close-button{background:transparent;font-size:27px;line-height:1;width:35px;height:35px;flex-shrink:0}.cart-item{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #d9d8cf}.cart-item img{width:76px;height:64px;object-fit:cover;background:#e9e8e1;border-radius:6px}.cart-item-info{flex:1;min-width:0}.cart-item-info b{display:block;font-size:14px;overflow-wrap:anywhere}.cart-item-info small{display:block;color:#777;font-size:10px;margin:3px 0}.cart-item-info strong{font-size:12px;font-weight:500}.cart-item button{background:transparent;font-size:20px;padding:9px}.cart-totals{padding:22px 0}.cart-totals>div{display:flex;justify-content:space-between;gap:20px;margin:9px 0;font-size:13px}.cart-totals .grand{margin-top:16px;padding-top:15px;border-top:1px solid #d9d8cf;font-size:20px}.cart-totals .discount{color:#507343}dialog>.button+ .button{margin-top:9px}#cartNotice{margin:0 0 15px}.checkout-dialog form>label,.checkout-dialog #deliveryFields>label{display:flex;flex-direction:column;font-size:12px;gap:7px;margin-bottom:17px}.checkout-dialog input:not([type=checkbox]),.checkout-dialog textarea,.admin-form input:not([type=checkbox]),.admin-form textarea{width:100%;padding:11px 12px;border:1px solid #cecdc4;border-radius:6px;background:#fbfaf6;color:#111}.checkout-dialog .check-label{flex-direction:row;align-items:flex-start;gap:9px;font-size:11px;color:#555}.check-label input{margin-top:4px}.error-message{color:#a33419;font-size:12px;margin:12px 0}.download-links{display:grid;gap:9px;margin:20px 0}.success-dialog>p{font-size:13px;color:#666}.success-dialog>.button{margin-top:18px}.photo-dialog{width:min(900px,calc(100% - 24px));padding:16px}.photo-dialog>.close-button{float:right}.photo-dialog>img{display:block;width:100%;max-height:70dvh;object-fit:contain;clear:both}.photo-dialog>p{font-size:12px;color:#666;margin:12px 0 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#111;color:white;padding:13px 22px;border-radius:8px;max-width:90vw;font-size:12px;z-index:50;box-shadow:0 4px 30px #0002}.recent-download{padding:25px;background:#e8e7de;border-radius:10px;margin:0 0 35px}.recent-download h3{font-size:14px;margin-bottom:12px}.recent-download a{display:inline-block;text-decoration:underline;font-size:12px;margin-right:22px}.empty-bag{padding:35px 0;color:#777;font-size:13px}
/* Local admin */
.admin-main{max-width:1150px}.admin-intro{padding:45px 0 30px}.admin-intro h1{font-size:48px}.admin-intro p:last-child{color:#777;font-size:13px;margin-top:15px}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid #d8d7cf;padding-bottom:15px;margin-bottom:28px}.admin-tabs button{padding:10px 18px;background:transparent;border-radius:30px;font-size:12px}.admin-tabs button.active{background:#111;color:#fff}.admin-panel{padding-bottom:45px}.admin-panel h2{font-size:26px;margin-bottom:8px}.admin-panel>.helper{margin-bottom:24px}.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:40px}.admin-form{padding:24px;background:#eae9e2;border-radius:12px;align-self:start}.admin-form label:not(.check-label){display:flex;flex-direction:column;gap:7px;font-size:12px;margin-bottom:16px}.admin-form .check-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;margin-bottom:18px}.admin-form input[type=file]{font-size:11px;padding:10px;width:100%}.admin-form .button{margin-top:16px}.admin-font-row{border-bottom:1px solid #d8d7cf;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.admin-font-row b{display:block;font-size:13px;font-weight:550}.admin-font-row small{font-size:10px;color:#777;display:block;margin-top:4px}.admin-font-row .sample{font-size:26px;margin:6px 0}.admin-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-actions button,.admin-actions a{padding:7px 10px;background:#e8e7df;border-radius:5px;font-size:10px}.admin-actions .danger{color:#a33419}.font-removed{opacity:.6}.admin-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-photo{min-width:0}.admin-photo img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:8px}.admin-photo input{width:100%;padding:7px;margin:7px 0;border:1px solid #ccc;background:transparent;border-radius:4px;font-size:11px}.admin-photo .admin-actions{gap:4px}.admin-order{padding:22px 0;border-bottom:1px solid #d8d7cf}.admin-order-head{display:flex;justify-content:space-between;gap:20px}.admin-order-head b{font-size:13px}.admin-order-head small{display:block;color:#777;font-size:11px}.admin-order p{font-size:12px;color:#777;margin:12px 0}.admin-order .admin-actions{margin-top:10px}.notice-box{padding:18px 22px;background:#eae9e2;border-radius:9px;font-size:12px;color:#666}.admin-empty{color:#777;font-size:13px;padding:30px 0}
@media(min-width:1550px){main{padding:0 65px}}
@media(max-width:1000px){.designer{gap:4%;grid-template-columns:minmax(290px,360px) minmax(0,1fr)}.preview-top{padding:18px 15px}.preview-toolbar{padding:8px 12px 14px;flex-wrap:wrap}.stage{height:340px}.studio-label{display:none}.swatches{gap:10px 7px}.admin-grid{grid-template-columns:300px 1fr;gap:25px}}
@media(max-width:700px){.wordmark{font-size:24px}.bag-button{padding:7px 11px;gap:9px}.page-intro{padding:30px 0 25px}.page-intro h1{font-size:43px;letter-spacing:-2px;line-height:1.02}.intro-note{font-size:10px;max-width:130px}.designer{display:flex;flex-direction:column;gap:0}.preview-column{order:0;position:sticky;top:0;width:100%;z-index:5;background:#f4f3ee;padding-bottom:12px}.preview-card{border-radius:11px}.preview-top{padding:13px 14px;font-size:8px}.stage{height:235px}.preview-toolbar{padding:3px 12px 9px;font-size:9px;flex-wrap:nowrap}.preview-toolbar button{min-width:34px;padding:8px;font-size:10px}.dimension-line{padding:9px 14px;font-size:11px}.model-status{padding:0 14px 9px;min-height:22px;font-size:9px}.construction,.studio-signoff{display:none}.controls{order:1;width:100%;padding-top:5px}.control-block{padding:23px 0}.name-input{font-size:33px}.font-options{grid-template-columns:1fr 1fr}.swatches{grid-template-columns:repeat(8,1fr);gap:13px 9px}.swatch{max-width:38px}.gallery-section{padding:35px 0;margin-top:20px}.gallery-heading{align-items:flex-start}.gallery-heading>span{display:none}.gallery-heading h2{font-size:28px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-photo:first-child{grid-column:span 2;grid-row:auto}.gallery-photo:first-child img{aspect-ratio:1.3}.how-it-works{grid-template-columns:1fr;gap:27px;padding:35px 0 40px;margin-top:20px}.how-it-works>div{display:grid;grid-template-columns:35px 1fr}.how-it-works>div>span{grid-row:span 2;padding-top:4px}.how-it-works h3{margin:0 0 5px;font-size:17px}.how-it-works p{max-width:none}.button{min-height:50px}footer{flex-wrap:wrap;padding:25px 5%;gap:20px}footer>span{font-size:8px}footer>span:last-child{display:none}.dialog-heading h2{font-size:27px}dialog{padding:23px}.close-button{width:36px;height:36px}.admin-intro h1{font-size:39px}.admin-grid{grid-template-columns:1fr;gap:25px}.admin-tabs button{font-size:11px;padding:10px 14px}.admin-main{padding-bottom:35px}.admin-font-row{gap:10px}.admin-font-row .admin-actions{max-width:135px}.admin-actions button,.admin-actions a{min-height:38px;padding:8px 10px}.admin-gallery{gap:18px 12px}.admin-form{padding:20px}.recent-download{padding:20px}}
@media(max-width:380px){.stage{height:205px}.page-intro h1{font-size:38px}.intro-note{display:none}.preview-toolbar>span{font-size:8px}.swatches{gap:12px 8px}.font-option{padding:10px}.font-option .font-sample{font-size:21px}.admin-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
